На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Угрозы, позволяющие обойти установленные разграничения прав доступа

К третьей группе угроз можно отнести примеры, основывающиеся на
недоработках (ошибках) в ядре и системных утилитах ОС, позволяющих
программными методами обходить установленные разграничения досту­па к объектам системы.
Примеры ошибок, составляющих эту группу, немногочисленны, т.к. тре­буют детального анализа работы механизмов (функций API) ОС и соот­ветствующей квалификации нарушителя. При этом нужно учитывать, что
при рассмотрении коммерческих ОС (не имеющих общедоступных ис­ходных текстов) данный анализ сильно затруднен, поскольку произво­дители, по понятным причинам, крайне неохотно документируют внут­реннюю архитектуру систем.
В качестве примера для данной группы можно привести известную про­грамму «GetAdmin», реализующую получение администраторских прав, используя некорректную работу функции NTAddAtom, позволяющую записывать значения в любую область адресного пространства.
В системе Windows NT есть некий глобальный флаг NtGlobalFlag, име­ющий адрес примерно 0х801ХХХХХ. Изменением одного из битов этого
флага существует возможность превратить Windows NT в Windows NT
Checked Build. В результате право <<SeDebugPnvilege>> не будет необходи­мо для внедрения в системные процессы. Далее, внедряя свой исполня­емый код (для чего нужна была привилегия «SeDebugPrivilege») в сис­темные процессы, можно обойти любые ограничения, связанные с политикой безопасности (в данном случае создавался пользователь с ад­министраторскими правами).
Угрозы, приводящие к отказу в обслуживании (Denial of Service — системный сбой)
К этой группе можно отнести угрозы, приводящие к отказу в обслужи­вании (системный сбой). Большую часть этой группы составляют при­меры, основанные на недостаточной надежности реализации стека сете­вых протоколов ОС. Сбои в работе ОС достигаются посылкой групп
пакетов с некорректными заголовками, параметрами и т.п. Примерами подобных программ служат:
teardrop
* jolt/jolt2
* lornuke
* winnuke
» winfreez
« win95ping и др.
Другую часть этой группы составляют угрозы, не использующие напря­мую (или совсем не использующие) детали реализации стека сетевых
протоколов конкретной ОС. Они провоцируют отказ в обслуживании
путем чрезмерной загрузки канала. Простейшим примером может слу­жить посылка большого количества пакетов из источника, обладающего более скоростным каналом, приемнику, обладающему менее скоростным каналом. Таким образом полностью исчерпывается ресурс приемника, приводя к его полному или частичному отказу в обслуживания.
Более сложным примером является так называемый флудер-множитель. При отправке на удаленный хост сообщения, состоящего из 20-и байт
IP-заголовка, в поле Protocol которого содержится значение 00 (что соответствует IPPROTORAW), удаленная система (или ближайший к провоцируемой системе маршрутизатор), получив такое сообщение, от­ветит сообщением ICMP-Destination Unreachable-Protocol Unreachable,
длиной от 68 до 84 байт. Очевидно, что, заменяя Source Address на адрес
атакуемого, провоцируется поток с коэффициентом умножения 4 (если рассчитывать динамическое сжатие, то много больше).
Следует отметить, что программы, представляющие данную группу, не нарушают напрямую безопасность атакуемой системы, а просто выводят ее из строя. Но можно представить себе пример более сложных атак, где угрозами, приводящими к отказу от обслуживания, можно устранять, например, реально действующие в системе узлы, а затем от их имени по-лучатъ несанкционированный доступ к защищенным данным.
Угрозы, использующие встроенные недокументированные возможности (закладки)
К пятой группе можно отнести методы, использующие встроенные не­документированные возможности (закладки). К таким закладкам относятся:
* встроенные инженерные пароли для входа в систему;
« специальные возможности (последовательность действий) для недо­кументированных действий (например, в одном из хранителей экрана фирмы Microsoft присутствует сетевой код);
* закладки в разнообразных прикладных приложениях и т.п.
Примером использования встроенного инженерного пароля может слу­жить широко известный пароль фирмы Award «AWARD_SW», позволя­ющий получить весь спектр прав для работы с BIOS.
Угрозы, использующие недостатки системы хранения или выбора (недостаточная длина) данных об аутентификации (пароли)
К шестой группе можно отнести угрозы, использующие недостатки сис­темы хранения или выбора (недостаточная длина) данных об аутентифи­кации (пароли) и позволяющие путем реверсирования, подбора или пол­ного перебора всех вариантов получить эти данные. Эти программы основываются на недостатках алгоритмов кодирования (хеширования) па­ролей на защищаемые ресурсы или на вход в ОС.
Примером может служить реализация защиты разделяемых ресурсов в Windows 9Х, где при разграничении доступа на уровне ресурса (по паро­лю), пароль для доступа хранится в реестре (HKLM\Software\Microsoft\ Windows\CurrentVersion\Network\LanMan\<MIVW КАТАЛОГА>, в ключе
ParmlEnc), зашифрованный с помощью алгоритма, который легко под­дается расшифровке, поэтому легко получить исходный пароль.
Также неудачен сам алгоритм аутентификации в Windows 9X через NETBIOS. Если клиент посылает вместо полного пароля открытым тек­стом только его первый символ (байт), то при совпадении этого символа пароль считается правильным.
Следует отметить, что существует большое количество программ (не толь­ко для ОС семейства MS Windows), предназначенных для перебора па­ролей по различным алгоритмам, учитывающим слабость реализации си­стем аутентификации и выбора паролей. К таким программам относятся:
lOphtcrack; pwlhack; pwlview; John the Ripper и др.
«Троянские» программы
Это программы, которые прописываются в автозагрузку ОС или подме­няют собой системные компоненты (утилиты) ОС и выполняют несанк­ционированные действия. Для того, чтобы такая программа появилась в системе, пользователь должен сам (преднамеренно, либо нет) первона­чально выполнить ее.
Обычно «троянские» программы распространяются под видом полезных утилит (в том числе они могут присутствовать и в некоммерческих сред­ствах добавочной защиты информации), посылаются по почте в виде присоединяемых замаскированных исполняемых файлов, скриптов, ус­танавливаются злоумышленником на защищаемом компьютере вручную и т.п. После первого запуска программа заменяет собой часть системных файлов или просто добавляет себя в список загрузки и предоставляет нарушителю доступ к системе или защищаемым ресурсам.
Примером подменяющей программы может служить динамическая биб­лиотека клиента Novell NetWare для ОС Windows NT «FPNWCLNT.DLL», перехватывающая и хранящая передаваемые пароли в открытом виде. Другие программы из этой группы: Back Orifice; Net Bus; Priority и др.
Прочие угрозы
К последней группе отнесем все остальные угрозы и программные реа­лизации, влияющие на функционирование и безопасность компьютерной
системы. В частности, большую часть угроз данной группы составляют всевозможные программы-сниферы, позволяющие в пассивном режиме «прослушивать» каналы ввода/вывода, передачи и обработки данных.
Например, сюда можно отнести сниферы клавиатуры — программы, уста­навливаемые злоумышленником на защищаемый объект, с целью «прослу­шивания» канала ввода пароля (пароль с клавиатуры вводится в открытом виде, соответственно, в открытом виде снимается снифером). Отдельно от­метим сниферы канала — программы, устанавливаемые на какой-либо ком­пьютер в ЛВС и «прослушивающие» весь трафик в канале (особенно это критично для ЛВС, не реализующих физической сегментации канала связи).
Выводы из анализа существующей статистики угроз
Из приведенного анализа можем сделать следующий важный вывод: уг­розы, описанные в большинстве групп, напрямую используют различные недостатки ОС и системных приложений и позволяют при полностью скон­фигурированных и работающих встроенных в ОС механизмах защиты осу­ществлять НСД, что подтверждает необходимость усиления встроенных механизмов защиты.
Кроме того, анализируя представленную статистику угроз, можем сделать вывод, что большая их часть связана именно с недостатками средств за­щиты ОС, отмеченными выше, т.е. недостатками, связанными с невы­полнением (полным, либо частичным) формализованных требований к защите, среди которых, в первую очередь, могут быть выделены:
1. Некорректная реализация механизма управления доступом, прежде всего при разграничении доступа к защищаемым объектам систем­ных процессов и пользователей, имеющих права администратора.
2. Отсутствие обеспечения замкнутости (целостности) программной среды. Как мы видим, большинство атак осуществлялось либо с использованием некоторых прикладных программ, либо с примене­нием встроенных в виртуальные машины средств программирова­ния. То есть, возможность большинства атак напрямую связана с возможностью запуска злоумышленником соответствующей програм­мы. При этом запуск может быть осуществлен как явно, так и скрыто, в рамках возможностей встроенных в приложения интер­претаторов команд.
Далее, можем сделать еще один вывод: проведенный анализ известных угроз современным универсальным ОС полностью подтверждает, что боль­шая их часть обусловлена именно реализуемым в ОС концептуальным под­ходом, состоящим в реализации схемы распределенного администрирования механизмов защиты. В рамках этой схемы пользователь рассматривается как доверенное лицо, являющееся элементом схемы администрирования и имеющее возможность назначать/изменять ПРД. При этом он не вос­принимается как потенциальный злоумышленник, который может созна­тельно или несознательно осуществить НСД к информации. Отсюда
можем сделать и вывод об основном назначении механизмов добавоч­ной защиты ОС реализация централизованной схемы администриро­вания механизмов защиты, в рамках которой будет осуществляться про­тиводействие НСД пользователя к информации.
По понятным соображениям в качестве примеров в книге приводятся те | ошибки, которые известны и разработчиками устранены (патчами и т.п.). Однако данные примеры иллюстрируют общие тенденции и позволяют ввес­ти обобщенную классификацию угроз.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика