Глава 2. Анализ защищенности современных операционных систем
Наибольшее распространение получили реализации данных методов для
ОС семейства MS Windows. В основном ошибки встречаются в стандарт-
ных включенных в состав операционных систем
Internet/Intranet-прило-
жениях, которые включены в состав ОС, таких как IIS (Internet
Information Server), почтовые клиенты (MS Mail, Exchange) и др.
Достаточно большое количество ошибок данного рода можно встретить
в системных утилитах, реализующих взаимодействие по сетевым прото-
колам прикладного уровня (NETBIOS и др.).
Например, ошибка в IIS заключается в следующем.
ITS,
обрабатывая зап-
росы в формате UNICODE, может неправильно интерпретировать сим-
волы
'Y
, '/' и т.п.
(%cO%af
,
%cl%9c
и т.п.), что приводит в дальней-
шем к генерации некорректных команд (недоступных в нормальной
ситуации) и получению несанкционированного доступа к объектам.
Большое количество ошибок встречается в реализации Java-апплетов, VB-
скриптов и т.д. в браузерах фирм Microsoft и Netscape. Через них с помощью
соответствующих апплетов можно получить несанкционированный доступ к
файловым объекта. А поскольку обе фирмы выпускают
свои
браузеры не
только для ОС семейства MS Windows, но и для ОС семейства UNIX, то
ошибки в большинстве случаев дублируются в версиях ПО для разных плат-
форм. Здесь же стоит отметить, что проблема апплетов относится собствен-
но не к языку Java, а к его реализации, например, Microsoft Java VM.
Угрозы, позволяющие обойти
установленные разграничения прав доступа
К третьей группе угроз можно отнести примеры, основывающиеся на
недоработках (ошибках) в ядре и системных утилитах ОС, позволяющих
программными методами обходить установленные разграничения досту-
па к объектам системы.
Примеры ошибок, составляющих эту группу, немногочисленны, т.к. тре-
буют детального анализа работы механизмов (функций API) ОС и соот-
ветствующей квалификации нарушителя. При этом нужно учитывать, что
при рассмотрении коммерческих ОС (не имеющих общедоступных ис-
ходных текстов) данный анализ сильно затруднен, поскольку произво-
дители, по понятным причинам, крайне неохотно документируют внут-
реннюю архитектуру систем.
В качестве примера для данной группы можно привести известную про-
грамму
«GetAdmin»,
реализующую получение администраторских прав,
используя
некорректную работу функции NTAddAtom, позволяющую
записывать значения в любую область адресного пространства.
В системе Windows NT есть некий глобальный флаг NtGlobalFlag, име-
ющий адрес примерно
OxSOlXXXXX.
Изменением одного из битов этого
флага существует возможность превратить Windows NT в Windows NT
43