Уязвимость WINDOWS NT
Согласно маркетинговым данным, операционная система компании Microsoft Windows NT занимает значительную долю рынка сетевых операционных систем как в государственном, так и в частном секторе экономики. При этом Windows NT стала "мальчиком для битья" в хакерской среде. Что послужило причиной, то ли ее широкая распространенность, то ли раздражение от маркетинговой политики Microsoft, то ли стойкая нелюбовь в профессиональной среде к ее простому в использовании графическому интерфейсу, который воспринимается как профанация самого понятия сетевой операционной системы, сказать трудно, однако факт остается фактом. Впервые о проблемах безопасности в NT заговорили в начале 1997 года после опубликования хакером Хоббитом (Hobbit) из группы Avian Research статьи о двух фундаментальных архитектурных решениях Windows NT – Common Internet File System (CIFS) и Server Message Block (SMB). (Co статьей можно ознакомиться по адресу http://www.insecure.org/stf/cifs.txt) С тех пор работа над выискиванием методов проникновения в систему NT не прекращается ни на один день.
Компания Microsoft терпеливо устраняет все недостатки по мере их обнаружения. Поэтому на сегодняшний день мы считаем, что расхожее мнение о том, что Windows NT является абсолютно незащищенной системой, справедливо не более, чем на 1%. При грамотном подходе NT обеспечивает безопасность не ниже, чем любая система UNIX. Более того, мы возьмем на себя смелость заявить, что по некоторым причинам система защиты NT может превосходить средства безопасности UNIX, в пользу чего говорят следующие доводы.
- NT не предоставляет встроенных средств, обеспечивающих удаленный запуск кода в процессорном пространстве сервера. Любые выполняемые программы, запускаемые клиентом, загружаются в память клиентского ПК и выполняются его процессором. Исключением из этого правила является терминальный вариант системы NT Terminal Server Edition, обеспечивающий многопользовательский графический интерфейс для удаленных клиентов (данная возможность встроена в следующую версию NT – Windows 2000, см. главу 6).
- Право интерактивной регистрации в сети с консоли NT Server (на рабочие станции это ограничение не распространяется) по умолчанию предоставляется лишь нескольким пользователям, обладающим правами администратора. Так что, если злоумышленнику не удастся раздобыть пароль администратора, он ничего не сможет сделать даже имея физический доступ к консоли сервера. Существуют некоторые методы, позволяющие обойти эти препятствия, однако они требуют совпадения чрезвычайно маловероятных событий.
Итак, если все это правда, тогда почему мы не утверждаем, что NT безопасна на все 100%? На то есть две причины: поддержка старых программ (так называемая совместимость сверху вниз) и простота использования. Как мы покажем ниже в этой главе, приверженность к старым клиентским программам может сделать NT менее безопасной, чем она могла бы быть. Два основных примера – это обеспечиваемая в NT поддержка сетевых протоколов NetBIOS, CIFS и SMB, а также старый алгоритм шифрования пользовательских паролей, доставшийся NT в наследство от Lan Manager. Именно благодаря этим нюансам задача хакера по инвентаризации системной информации NT и расшифровке файлов с паролями является более легкой, чем она могла бы быть.
Во-вторых, простота интерфейса NT очень привлекает начинающих администраторов, которые, как правило, мало задумываются о таких вещах, как обеспечение безопасности. Судя по нашему опыту, строгие правила выбора паролей и хорошая настройка параметров безопасности – довольно редкое явление даже в среде опытных системных администраторов. Таким образом, у взломщика, натолкнувшегося на сеть NT, всегда есть шанс обнаружить по крайней мере на одном компьютере, будь то сервер или рабочая станция, учетную запись Administrator с пустым паролем. Кроме того, простота установки системы NT "на скорую руку" еще больше усиливает данную проблему.
Итак, взглянув на вопросы безопасности NT "с птичьего полета", давайте опустимся на землю и приступим к рассмотрению деталей.