Secure Shell как средство замены уязвимых сервисов TCP/IP 3 глава
Ключевым компонентом в реализации взаимодействий клиент/сервер в среде DCE является сервис безопасности. Основные функции, предоставляемые этим сервисом, - аутентификация, реализуемая средствами Kerberos, авторизация (проверка полномочий) и шифрование. Informix-DCE/Net использует все средства обеспечения безопасности, имеющиеся в DCE. Например, для каждого приложения клиент/сервер администратор может задать один из пяти уровней защиты: • защита пересылаемый данных только при установлении соединения клиента с сервером; • защита данных только на начальном этапе выполнения удаленного вызова процедуры, когда сервер впервые получает запрос; • подтверждение подлинности источника данных - проверяется, все ли поступающие на сервер данные получены от определенного клиента; • подтверждение подлинности источника и целостности данных - проверяется, что отправленные данные не были изменены; • подтверждение подлинности источника, целостности и конфиденциальности данных - выполняются проверки, предусмотренные на предыдущем уровне, и осуществляется шифрование всех пересылаемых данных. Сервис аутентификации DCE существенно улучшает характеристики безопасности распределенной среды, упрощая в то же время деятельность как пользователей, так и администраторов. Достаточно иметь единое входное имя и пароль для DCE, чтобы обращаться к любой погруженной в эту среду базе данных. При запуске приложения Informix-DCE/Net запрашивает аутентификационную информацию пользователя у ОСЕ и подключает его к требуемой базе. Наличие единой точки администрирования входных имен и прав доступа к базам данных и приложениям способствует упорядочению общей ситуации с безопасностью. Например, если уничтожается входное имя ОСЕ, то администратор может быть уверен, что данный пользователь уже не сможет получить доступ ни к одному из системных ресурсов.
Для поддержки безопасности баз данных разрабатывается множество продуктов. Среди них известны продукты фирм DBSecure и BrainTree Security Software. SQL Auditor DBSecure оценивает риски в базе данных Microsoft SQL Server, выявляет слабые пароли, нарушения режимов эксплуатации, загрузочные атаки и другие формы НСД. В пакете SQL Secure фирмы BrainTree управление безопасностью сосредоточено на единой консоли. Компонент Password Manager анализирует пароли на слабость, управляет процессом присвоения паролей и сроками их действия. Компонент Policy Manager помогает пользователям оценивать свои базы данных на соответствие корпоративным стандартам безопасности. 5.2. Защита в сетевых операционных системах Внутренняя структура современных ОС чрезвычайно сложна, поэтому проводить адекватную политику безопасности гораздо труднее, чем в случае СУБД. Успех реализации того или иного алгоритма атаки на практике в значительной степени зависит от архитектуры и конфигурации конкретной ОС – объекта атаки. Перечислим типы атак, которым может быть подвергнута практически любая ОС. 1). Кража пароля; • подглядывание за легальным пользователем, когда тот вводит пароль (даже если во время ввода пароль не высвечивается на экране, его можно легко узнать, следя за перемещением пальцев пользователя по клавиатуре); • получение пароля из файла, в котором он был сохранен "ленивым" пользователем, не желающем каждый раз затруднять себя вводом пароля при сетевом подключении (как правило, такой пароль хранится в незашифрованном виде); • поиск пароля, записанного на календаре, в записной книжке или на оборотной стороне компьютерной клавиатуры (особенно часто подобная ситуация встречается, когда администратор заставляет пользователей применять длинные, труднозапоминаемые пароли);
• кража внешнего носителя парольной информации (дискеты или электронного ключа, на которых хранится пароль пользователя для входа в ОС). 2). Подбор пароля: • полный перебор всех возможных вариантов пароля; • оптимизированный перебор вариантов пароля: по частоте встречаемости символов и биграмм, с помощью словарей наиболее часто встречающихся паролей, с привлечением знаний о конкретном пользователе, с использованием сведений о существовании эквивалентных паролей – тогда из каждого класса эквивалентности опробуется всего один пароль, что значительно сокращает время перебора. 3). Сканирование "жестких" дисков компьютера: злоумышленник последовательно пытается обратиться к каждому файлу, хранимому на "жестких" дисках интрасети (если объем дискового пространства достаточно велик, можно быть вполне уверенным, что при описании доступа к файлам и каталогам администратор допустил хотя бы одну ошибку, в результате чего все такие каталоги и файлы будут прочитаны взломщиком); чтобы скрыть следы, злоумышленник может выступать под чужим именем – например, под именем легального пользователя, чей пароль ему известен. 4). Сбор "мусора": если средства ОС позволяют восстанавливать ранее удаленные объекты, злоумышленник может получить доступ к объектам, удаленным другими пользователями, просмотрев содержимое их "мусорных" корзин. 5). Превышение полномочий, т.е. используя ошибки в ПО или в администрировании ОС, злоумышленник получает полномочия, превышающие те, которые предоставлены ему согласно действующей политике безопасности: • запуск программы от имени пользователя, имеющего необходимые полномочия, или в качестве системной (драйвера, сервиса, демона и так далее); • подмена динамически загружаемой библиотеки, используемой системными программами, или изменение переменных среды, описывающих путь к таким библиотекам; • модификация кода или данных подсистемы защиты ОС. 6). Отказ в обслуживании (целью этой атаки является частичный или полный вывод ОС из строя): • захват ресурсов, т.е. программа злоумышленника производит захват всех имеющихся в ОС ресурсов, а затем входит в бесконечный цикл;
• бомбардировка запросами – программа злоумышленника постоянно направляет ОС запросы, реакция на которые требует привлечения значительных ресурсов интрасети; • использование ошибок в ПО или администрировании. Если ПО интрасети не содержит ошибок и если ее администратор строго соблюдает адекватную политику безопасности, рекомендованную разработчиками ОС, то все перечисленные виды атак являются малоэффективными. Дополнительные меры, которые следует предпринять для повышения степени безопасности функционирования интрасети, в значительной степени зависят от конкретной ОС, под управлением которой работает данная интрасеть. Однако приходится признать, что, независимо от принятых мер, полностью устранить угрозу взлома интрасети на уровне ОС невозможно. Поэтому политику безопасности нужно строить так, чтобы преодоление рубежа защиты, создаваемого средствами ОС, не позволило злоумышленнику нанести серьезный ущерб интрасети. Средства защиты, встроенные в ОС, занимают особое место. Их основной задачей является защита информации, определяющей конфигурацию системы. Так как эти ресурсы находятся на системном уровне, то здесь и будут собраны основные встроенные средства защиты информации. В случае некоторых ОС, например, Unix и ее варианта Solaris [58] встроенные средства защиты продвинуты на сетевой уровень, а в общем наборе решений, предоставляемых для корпоративных информационных сетей, присутствуют также инструменты безопасности внешнего уровня. Кроме того, некоторые компоненты в составе ОС, не являясь средствами защиты в классическом смысле, тем не менее существенны. С точки зрения защиты ресурсов самой ОС, Solaris предоставляет полный набор средств, решающих задачи защиты. Отличительная особенность ОС Solaris - наличие встроенных средств контроля системных ресурсов (ASCI) и средств системного аудита. Кроме этого, некоторые сетевые ресурсы, управляемые ОС Solaris, наряду с функционально полезными сервисами, также имеют встроенные средства защиты. В то же время при построении реальной информационной системы встроенных средств может оказаться недостаточно, вследствие, например, неоднородности конфигурации или использования небезопасных сервисов, особенно сетевых.
Для защиты информационных ресурсов ОС предусмотрено использование следующих основных средств: • механизмы аутентификации/авторизации; • механизмы разграничения доступа; • механизмы мониторинга и аудита; • криптографические компоненты. При сравнение этих средств защиты, например, с СУБД, видно, что первые три одинаковы для этих систем и лишь четвертый механизм характерен только для ОС, так как он предназначен для шифрования особо важной системной информации о ее конфигурации. Специфические риски для ОС можно подразделить на две группы: 1) риски, связанные с неправильной конфигурацией системы и чаще всего возникающие вследствие ошибок или недостаточных навыков ее администратора; 2) риски, связанные с ошибками в ПО (особенно характерно при установке в систему несколько устаревших версий ПО, в которых уже были обнаружены определенные ошибки и о которых публично сообщалось в различных специализированных компьютерных изданиях и на хакерских узлах). Далее подробнее рассмотрим три самые часто встречаемые ОС для осуществления доступа в Internet. Это Unix, Windows NT и Netware. 5.2.1. Несколько примеров использования слабостей ОС Unix ОС Unix играет исключительное значение в становлении и эксплуатации сети Internet - до сих пор 90 % мощных Internet-узлов работают под управлением различных ее диалектов. Поэтому проблема безопасности информации в Internet и проблема безопасности информации в ОС Unix тесно связаны. Рассмотрим четыре наиболее характерных примера взлома интрасети через Unix [68]. 1). Взлом через электронную почту. Для пересылки электронной почты по сетям ТСР/IР на подавляющем большинстве систем используется программа sendmail, разработанная в университете Беркли. Задуманная как чисто служебная утилита, эта программа приобрела огромную популярность и вошла в состав дистрибутива многих Unix-систем. Однако она содержала в себе серьезную ошибку, благодаря которой любой желающий имел возможность выполнить на удаленном ПК команды с привилегиями суперпользователя. Обычно взломщики пытались отправить себе файл passwd для подбора паролей, либо помещали свою информацию в файлы, использующиеся программами rlogin, rsh для запуска shell без запроса пароля (пример 1): Эта ошибка присутствует в нескольких десятках различных вариантов ОС Unix разных, фирм. 2). Кроме того, существуют и более простые способы при благоприятных условиях: удаленный ПК Sun, система SunOS 4, NIS не запущен, система поставлена, и ничего не исправлялось (пример 2):
3). Кроме электронной почты, в TCP/IP сетях очень широко применяются различные виды распределенных файловых систем, самой популярной из которых является Network File System (NFS). В случае неаккуратного заполнения файла /etc/exports или использования дистрибутива с ошибкой (SunOS 4.1) может возникнуть следующая ситуация (пример 3): % cd /etc ! и далее, как в примере 1. 4). Если на ПК работает NIS-сервер и не принято дополнительных мер, то с помощью специальной программы можно «утащить» по сети файл passwd, общий для некоторого числа ПК. В случае несоблюдения правил при создании паролей есть довольно приличная вероятность, что программа crack подберет несколько. Дальнейшие события могут разворачиваться по одному из сценариев для получения полномочий суперпользователя (пример 4) (после того, как Вы зашли на удаленный ПК как пользователь): В системе Unix также в качестве еще одной лазейки для передачи фальшивых управляющих сообщений (типа newgroup и rmgroup) в начале 1997 г. злоумышленниками часто выбиралась серверная программа, отвечающая за передачу новостей UseNet по протоколу NNTP, называемая InterNet News (Inn вплоть до версии 1.5 включительно). Естественно, что если известны способы преодоления защиты, то должны быть разработаны и средства защиты. Для минимизации возможных попыток проникновения в сеть очень эффективен МЭ (см. п.2.4.1), умеющий анализировать поток проходящей через него информации и осуществляющий фильтрацию пакетов. Эта возможность реализована практически во всех аппаратных маршрутизаторах (cisco, welifleet...) и в виде специального ПО для Unix-машин (Sun, DEC, BSDI, FreeBSD). Такие маршрутизаторы позволяют осуществлять работу в сети строго по определенным правилам. Например, не пропускать из/в интрасеть некоторые протоколы. Очень рекомендуется запрещать rlogin, rsh, RFC, а также пакеты, направленные на порты 2048 и 2049, - это порты данных для NFS. Также рекомендуется четко определить компьютеры, принимающие почту, и открыть порт 25 только для них. При необходимости возможна конфигурация, которая вообще запрещает какие-либо заходы по сети в интрасеть, при этом разрешая изнутри использовать любые TCP-сервисы Internet. Для установления полного контроля за всеми соединениями можно использовать так называемый "программный МЭ" (software firewall). Он представляет собой своеобразный маршрутизатор, который осуществляет контроль за соединениями не на уровне IP-пакетов, а на уровне собственно контролируемых протоколов. В этом случае режим прозрачной пересылки пакетов выключен, но вместо программ, обеспечивающих работу с необходимыми протоколами (telnet, ftp...), запускаются программы, которые транслируют эти протоколы в сеть по другую сторону ПК, обычно сверившись по базе данных на предмет правомерности такого соединения и после идентификации пользователя. Для пользователя такой МЭ выглядит единственным окном во внешний мир. Например, если в сети для того, чтобы зайти по ftp на ПК arch.kiae.su, надо набрать: то в случае программного МЭ надо набирать: Аналогично работают telnet, rlogin, XI1 и т.д. Все рассмотренные выше примеры относятся к так называемым "активным" методам атаки. Аккуратное администрирование системы легко справляется с ними, но совершенно бессильно в случае применения "пассивной" атаки. Это самый распространенный, простой в исполнении способ - анализ информации, передаваемой по каналам связи, преимущественно в среде Ethernet. Основан он на свойстве этой среды, благодаря которому каждый передаваемый пакет может быть проанализирован любым ПК, подключенным в этот сегмент сети. При наличии достаточно быстрого ПК с адаптером, разрешающим работу в режиме приема всех пакетов, можно легко извлекать такую информацию, как пароли пакетов NFS. Если на этом сегменте расположено несколько маршрутизаторов, то в фильтр попадут не только пароли сети, но и те, которыми обмениваются маршрутизаторы. Таким образом, за сравнительно короткое время можно собрать коллекцию паролей на нескольких сотнях ПК. В заключение данного раздела рассмотрим еще несколько методов взлома Unix. 1). Отделённые бюджеты (accounts). Это большая "дыра" в защите многих Unix-систем. В общем случае, если пользователь отсоединяется, предварительно не предупредив систему об окончании работы (LogOff), его Account может остаться на линии и, тихо присоединившись к этой линии, можно получить доступ к системе напрямую. Теперь если кто-то" вызывает систему и присоединяется к этому tty, он автоматически оказывается внутри системы, и получает Account от предыдущего пользователя. Имеются некоторые интересные способы использования этого недостатка. Для примера можно сделать и установить программу ловушку, эмулирующую login этой системы, и отсоединиться. Затем какой-то пользователь подсоединяется к этому каналу, и в ответ на запрос программы вводит свои username и password, программа-ловушка запоминает полученные данные на диске, выдает сообщение "Login incorrect", убивает shell, и пользователь получает реальный запрос "login:". 2). UID shells. Когда бит "UID"' поставлен у программы-оболочки (shell), ее выполнение изменяет любой user id на user id владельца этой программы, и можно будет использовать полученный бюджет до выхода из этой вторичной оболочки. Это дает возможность исполнять любые команды под user id полученного бюджета. Это лучше, чем знание пароля для бюджета – можно пользоваться account, пока существует этот файл в системе, даже если владелец сменит пароль. Обычно, когда получают доступ к бюджету, делают копию shell в какой-то директории, и ставят UID и GID биты. Теперь, если доступ к этому бюджету потерян, можно из другого запустить UID-shell и получить необходимый доступ. UID и GID биты ставятся программой chmod. Например: 3). Изменение UID программ. Если злоумышленник имеет доступ по записи к UID-файлу, то он может легко превратить его в оболочку. Копируется файл, затем пишется: Это заменит его содержимое на содержимое shell, но UID останется прежним. Теперь запускается замененная программа, делается скрытый UID-shell, и UID-файл возвращается в прежнее состояние из копии. Найти файлы с suid можно так: find / -user root -perm -6000 -print. 4). Срыв стека после переполнения буфера – это самая современная методика взлома Unix. 3 программах, написанных на языке Си, под массивы отводится место в стеке программы. Если при работе с таким массивом происходит запись в массив за его границей, это приводит к разрушению стека программы и непредсказуемым результатам. Например, при выходе из модуля происходит переход по случайному адресу. Переполнение стека приводит к изменению адреса возврата из функции и может быть использовано для изменения нормального хода выполнения программы. Можно было бы заставить программу выполнить какие-то незапланированные действия, например, запустить shell. Но если в программе не содержится необходимого кода? Как поместить необходимый код в адресное пространство инструкций? Необходимо поместить код для выполнения в переполняемый буфер и переписать адрес возврата на точку внутри этого буфера. Код, при выполнении которого происходит запуск shell, получил название "Shell Code". Если программа, из которой происходит запуск shell, проинсталлирована как suid root, то получается root shell. 5.2.2. ОС Windows NT 4.0 Рассмотрим обеспечение безопасности в широко распространенной в настоящее время ОС фирмы Microsoft Windows NT 4.0. (При написании данного раздела была использована информация из следующих источников: Bill Stout "Known NT Exploits"; Microsoft Technical Support; The Unofficial NT Hack FAQ; публикации Центра защиты информации СПбГТУ; http://www.iss.net/vd/ntfaq.html; http://ntsecurity.com/News/bugs/alert.html.) Тот факт, что она может использоваться не только как клиентская, но и сетевая ОС (в том числе и в глобальных сетях) в сочетании с отсутствием исходных текстов и претензией на защищенность, вызвал повышенный интерес к ней со стороны злоумышленников. Этот интерес усугубляется тем, что сертификация Windows NT в соответствии с классом С2 носила довольно формальный характер. При этом можно отметить не только явное несоответствие некоторых требований к системе класса С2 с истинной реализацией данной ОС, но и то, что спроектированная как сетевая ОС, она оценивалась в соответствии с требованиями к локальным системам (без сетевого окружения). Напомним, что класс С2 подразумевает полный контроль за доступом к информации на локальном ПК, осуществляемом как непосредственно с консоли, так и по сети. При этом обеспечивается возможность определения различных прав на доступ и регистрации любых видов доступа (или попыток доступа) к защищенной информации или ресурсам компьютера. Этот уровень безопасности, однако, не подразумевает защиту информации, передаваемой по сети, и не гарантирует защищенности информации от физического доступа. Это означает, что информация - как хранящаяся на диске, так и передаваемая по сети - не кодируется. Оценка системы также проводилась в конфигурации без дисковода. Эти причины и приводят к росту обнаружения числа уязвимостей Windows NT, который в 1997 г. можно было назвать обвальным. Институт SANS (http://www.sans.org), проводящий регулярные курсы повышения квалификации по вопросам компьютерной безопасности, весной 1998 г. [69] выпустил подробное 36-страничное пособие "Безопасность систем Windows NT: шаг за шагом" (Windows NT Security: Step-by-step). В отчете института подробно описано, как сумел проникнуть в сеть специалист по вопросам безопасности. Пособие SANS дает интеграторам советы, как закрыть общие для многих предпринимательских сетей бреши в системе безопасности. Исследование, по словам официальных представителей SANS, проводилось с помощью специалистов по безопасности из 77 крупных организаций пользователей. Пособие представляет собой сборник из 93 советов, соблюдение которых, по общему мнению специалистов, затруднит работу хакерам. В пособии излагаются пошаговые рекомендации, включая 85 отдельных процедур, охватывающих 8 этапов – по всем вопросам, начиная от установки оборудования и кончая текущим наблюдением за состоянием средств защиты. Рассмотрение уязвимостей ОС Windows NT начнем с уязвимостей парольной системы. Информация о всех пользователях Windows NT и их паролях хранится в базе данных системы (registry), а физически расположена в базе данных безопасности системы – файле %SystemRoot%\SYSTEM32\CONFIG\SAM. Данный файл является по умолчанию читаемым, но "запертым", так как используется прочими компонентами системы. Копия файла содержится в директории %SystemRoot%\REPAIR\ после создания администратором восстановительного (repair) диска и может быть скопирована оттуда. После инсталляции ОС база данных безопасности системы содержит только пользователей Administrator и Guest. Сами пароли в открытом виде не содержатся в данном файле. Пароль пользователя (в кодировке UNICODE) с использованием хэш-алгоритма MD4 превращается в 16-байтное значение, которое и находится в файле SAM. Таким образом, для того, чтобы сломать пароль в Windows NT, злоумышленнику необходимо выделить из SAM имя пользователя и соответствующее ему хэш-значение. Эту процедуру можно выполнить с использованием программы PWDUMP, разработанной Jeremy Allison и свободно распространяемой. Использование данной программы требует привилегий Administrator (для того, чтобы иметь доступ по чтению к соответствующим значениям registry), но она может использоваться в том случае, если с атакуемой системы удалось получить копию базы данных безопасности системы. После выделения паролей и соответствующих им хэш-значений может быть использована одна из многих программ взлома пароля методом перебора или атаки по словарю – скорость перебора составляет примерно 2500 паролей/с на компьютере класса Pentium. При этом, в отличие от Unix, в Windows NT отсутствует понятие salt, вследствие чего словарь может быть предварительно схэширован и скорость тем самым может быть поднята на несколько порядков. В Service Pack 3 хэш-значения зашифрованы алгоритмом DES, причем ключом является значение, легко выводимое из атрибута пользователя RID. Для борьбы с подбором пароля обычно устанавливают блокировку учетной записи пользователя после определенного числа неудачных попыток входа. Исключением является учетная запись администратора. И если он имеет право доступа на вход через сеть, это открывает лазейку для угадывания пароля. Для защиты рекомендуется переименовать пользователя Administrator, установить блокировку учетных записей, запретить администратору вход в систему через сеть, запретить передачу 8MB пакетов через ТСРЛР (порты 137,138,139), установить протоколирование неудачных входов. Подробности см. http://somarsoft.com/ntcrack.htm. Злоумышленник также может создать на своем хосте специальную HTML-страницу "капкан" со ссылкой file://\\sеrvег\share\имя_файла на ресурсы в формате Common Internet File System, находящиеся на его хосте. Подобная атака может быть предпринята в отношении следующих уязвимых систем для удаленного получения имени и пароля пользователя: Windows 97 Beta (memphis); Windows NT 3.51 Workstation; Windows NT 4.0 Server вплоть до Service Pack 2; Windows NT 4.0 Workstation вплоть до Service Pack 2; Windows 95, включая Service Pack 1 и OSR2. Программ для вскрытия NT-пароля злоумышленниками написано уже не один десяток. Все они базируются на том, что NT-пароль шифруется на основе RC4 DES. К таким программам относятся, например: • NTCrack - программа автономного вскрытия NT-паролей, требующая PWDUMP-программы (подробности см. http://www.secnet.com/ntinfo/ntcrack.html); • программа Crack 5.0 Алека Маффетта (http://www.sun.rhbnc.ac.uk/~phacl07/c50a-nt-0.10.tgz); • программа L0phtcrack, которая работает с LANMAN и/или NT Dialect MD4 текстовым паролем, полученным из файла регистрации SAM (http://www.10pht.com/advisories.html; http://www.techweb.com/wire/hews/apr/0416hack.html). Дополнительную информацию по данному вопросу можно найти по адресу http://www.osp.nl/infobase/ntpass.html. Еще один способ – перехват проходящей по сети информации. Это можно сделать shiffer-программами IP-Watcher (http://www.engarde.com/software/ipwatcher/watcher.html) и MS SMS Netmon (http://www.microsoft.com/smsmgmt/). В начале уже отмечалось, что Windows NT оценивалась в конфигурации "без дисковода". Существуют нарушения безопасности системы, связанные с получением злоумышленником доступа к консоли, если дисковод все же есть. Может быть получен доступ к любым файлам в системе при загрузке с дискеты ОС MS DOS, если используется файловая система VFAT. При использовании файловой системы NTFS возможен беспрепятственный доступ по чтению с помощью утилиты NTFSDOS (драйвер ntfsdos.exe также позволяет читать ее и из Windows 95). Аналогично, загрузка с дискеты ОС Linux с последующим монтированием раздела NTFS обеспечивает доступ к нему по чтению и записи. Использование ОС Windows NT, подключенной к сетям TCP/IP, автоматически приводит к успеху типовых удаленных атак: подмене IP-адреса (IP-spoofing), внедрению ложных объектов через протоколы ARP, DNS и ICMP, предсказанию TCP-идентификатора (TCP number prediction) и т.п. Windows NT также подвержена атаке, связанной с IP-фрагментацией. Эта атака предназначена для проникновения через МЭ, путем разбиения IP-пакета на пакеты меньшей длины и последующим его восстановлением на атакуемом хосте. Из-за ошибки в ОС, которая не отслеживает накладывающиеся друг на друга фрагменты, может быть получен такой пакет, который иначе был бы не пропущен МЭ. Существуют также удаленные атаки, специфичные только для Windows NT. В результате атаки, называемой Red Button ("красная кнопка"), база данных registry становится доступной для незарегистрированного пользователя. При этом может быть получен список пользователей системы и список разделяемых объектов системы. Это происходит из-за того, что в системе имеется встроенный пользователь anonymous, обычно используемый при связи между двумя ПК. Данный пользователь является членом группы Everyone. Следовательно: • любой, разделяемый группой Everyone объект является уязвимостью; • файл аудита системы и приложений может быть прочитан; • все элементы базы данных системы, к которым Everyone имеет соответствующий доступ, могут быть записаны и прочитаны; • с использованием Lan Manager может быть получен список всех пользователей и разделяемых объектов. Если группа Everyone имеет доступ к приложениям, в систему может быть встроен "троянский конь". Все выше рассмотренные уязвимости системы были связаны с ошибками в проектировании. Существует и уязвимость, связанная с ошибкой в реализации системы. Эта уязвимость приводит к возможности атаки, называемой GetAdmin. Уязвимым является системный сервис NtAddAtom, не проверяющий параметры, переданные ему, и устанавливающий бит 0 по адресу NtGlobalFlag+2. Для этого необходимо открыть файл ntoskrnl.exe и найти точку входа в NtAddAtom. Установкой данного бита отключается проверка привилегий отладчика в NtOpenProcess и NtOpenThread. Таким образом, любой пользователь имеет право открыть любой процесс в системе. Атака открывает процесс Winlogon и встраивает dll к нему. Так как данный сервис имеет привилегии SYSTEM, он может добавить пользователя к группе Administrator или удалить его из данной группы. Перечислим еще некоторые проблемы, с которыми можно встретиться в ОС Windows NT. 1). "Троянская конница". Дистрибутивы NTWS4.0 и NTS4.0 включают утилиту rollback.exe, предназначенную для настройки пользователями предустановленной системы. Ее запуск приводит к очистке реестра (без предупреждения) и возврату к концу Character Based Setup (часть установки до появления GUI). Запуск ее из-под рабочей системы приводит к последствиям типа потери бюджетов (accounts), настроек протоколов, пользовательских настроек и т.п. Найти ее можно на CD-ROM с NT в каталоге Support\Deptools\<system>\. Подробности см. http://support.microsoft.com/support/kb/articles/Q 149/2/83.asp.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|