Проверка подлинности в операционной системе Windows NT

Проверка подлинности
в операционной системе Windows NT
Для функционирования системы защиты информации в операционной системе Windows NT существует процесс входа в систему под названием logon. Для того чтобы зарегистрироваться в системе, пользователю необходимо ввести информацию о себе, т.е. имя пользователя и пароль. После этого, если идентификация прошла успешно, пользователю предоставляют доступ к ресурсам, которые находятся как в самом домене, где зарегистрирован пользователь, так и в других доменах.

Однако для пользователя остается незаметным тот факт, что как только он захочет получить доступ к каким-либо ресурсам, его регистрационная информация еще раз подвергается проверке на подлинность, а не запрашивается ее ввод заново, дабы не усложнять работу в сети. После того, как проверка подлинности закончена, пользователю присваивается уникальный идентификатор безопасности — SID. Этот идентификатор операционная система хранит в специальной базе данных. Для осуществления этих операций на компьютере с Windows NT запущена служба NetLogon, в обязанности которой входит проверка подлинности пользователей и передача регистрационной информации пользователей на контроллер домена, где и находится его учетная запись. Кроме этого, служба NetLogon обеспечивает синхронизацию базы данных каталога домена.
Для того чтобы активизировать диалоговое окно Logon Information, куда пользователь и будет вводить свои данные, необходимо нажать комбинацию клавиш Ctrl+Alt+Del. После того, как пользователь ввел свои данные, компьютер пытается обнаружить в сети контроллер домена. Далее, когда контроллер обнаружен, устанавливается безопасный канал. Для установления безопасного канала компьютерам, которые пытаются это сделать, необходимо проверить подлинность друг друга. Затем по этому каналу передается регистрационная информация пользователя. Если же компьютер не смог идентифицировать пользователя, используя свою базу данных учетных записей, происходит сквозная проверка подлинности (pass-through authentication). Она заключается в том, что контроллер проверяет имя введенного домена. Если введенный домен не совпадает с собственным именем контроллера, то введенный домен проверяется на принадлежность его к доверяемому домену. Если они совпадают, то устанавливается безопасный канал и проверяется информация пользователя. Если она неверна, то попытка входа завершается неудачей.
Если пользователь впервые входит в домен с какого-нибудь компьютера, то при удачной идентификации информация о пользователе кэшируется в разделе реестра HKEY_LOCAL_MACHI-NE\SECURITY\Policy\Secrets локального компьютера. После этого, даже если выключить контроллер домена, последние несколько человек, входившие в домен на данном компьютере, смогут войти в него при помощи кэшированных данных.
При входе пользователей службы удаленного доступа (Remote Access Service — RAS) в домен происходит шифрование информации. Для максимальной безопасности в RAS используется протокол CHAP (Challenge Handshake Authentication Protocol). Он построен на механизме "вызов" — "ответ" с односторонним шифрованием "ответа". В CHAP возможны различные алгоритмы шифрования и хеширования, такие как DES и MD5. Если клиент или сервер удаленного доступа принадлежит независимым поставщикам, то служба RAS в этом случае работает по протоколу SPAP (Shiva Password Authentication Protocol), если шифрование не поддерживается, то информация передается незашифрованной. RAS-сервер Windows NT не поддерживает хеширование по алгоритму MD5.
После того, как Вы представили себе процесс входа в систему, я хочу рассмотреть возможные атаки при регистрации в системе. Одной из самых распространенных ошибок пользователей операционной системы Windows NT является то, что при входе в систему они не нажимают сочетание клавиш Ctrl+Alt+Del, которое активизирует службу регистрации в Windows NT. Поэтому можно загрузиться с дискеты и запустить программу, которая будет эмулировать диалоговое окно Logon Information. После этого пользователь, забывший нажать приведенную выше комбинацию клавиш, сразу же начинает вводить свои данные и подтверждает ее нажатием клавиши ввод. Это приведет к тому, что программа-эмулятор сохранит свои данные на локальном диске либо же перешлет их по сети на удаленную машину и завершит свои действия выводом какой-либо системной ошибки, либо, на худой конец, перезагрузится. Если в домене находятся компьютеры с операционными системами отличными от Windows NT, то при взаимодействии компьютеров по сети пароли шифруются. Вы спросите: "Что тут плохого?". Отвечаю. В памяти компьютера, с которого клиенты входят в сеть, пароли хранятся незашифрованными, поэтому для программиста, знающего внутреннюю структуру этой операционной системы, не составит большого труда написать программу, которая извлечет пароль пользователя прямо из памяти компьютера. В операционной системе Windows 95 пароль входа в эту ОС преобразуется в ключ шифрования PWL-файла этого пользователя по алгоритму RC4, причем этот пароль преобразуется в 32-разрядный ключ, который не очень-то хорошо защищен. Кроме атак, которые были описаны выше, может применятся перехват пакетов NetrServerReqChallenge и NetrLogonSamLogon, в которых большая часть передаваемой информации таким образом не шифруется, что приведет к возможной утечке информации пользователей.
"Как же от этого всего защититься?" — спросите Вы. Отвечаю. Для начала Вам нужно постараться отказаться от использования в сети клиентских рабочих станций под управлением операционных систем, отличных от Windows NT. Далее при каждом входе в систему Вам необходимо нажимать сочетание клавиш Ctrl+Alt+Del, дабы вызвать службу регистрации в Windows NT. При этом, если в системе была запущена программа, эмулирующая диалоговое окно Logon Information, то ее работа будет прервана и запустится оригинальное окно регистрации. Если же система была загружена с дискеты и запущена программа-эмулятор входа в систему, то произойдет перезагрузка компьютера, и Вы тем самым можете заподозрить что-то неладное и сообщить об этому системному администратору. Если у Вас все же существует необходимость в использовании операционных систем, отличных от Windows NT, то вот Вам несколько советов. Во-первых, нельзя оставлять компьютер без присмотра, когда Вы вошли в сеть. Если же Вам необходимо покинуть компьютер на длительное время, то советую выйти из системы либо же запустить заставку с паролем. Кроме того, советую отключить кэширование, дабы не сохранять пароли пользователей в соответствующих PWL-файлах, а также установить пакеты обновления для обеспечения шифрования паролей пользователей Windows NT в памяти клиентских компьютеров с Windows 95.
И напоследок хочу посоветовать читателям нормально сконфигурировать процесс входа в систему, используя специальные средства системной политики. Применив все вышесказанное, Вы сможете значительно повысить уровень безопасности сети на базе домена Windows NT. Поэтому не стоит пренебрегать моими советами, касающимися безопасности, может, это сохранит в целостности и сохранности Ваши нервы, которые, как говорят, не восстанавливаются:).
Евгений Сечко, safeman@mail.ru

(c) компьютерная газета




Компьютерная газета. Статья была опубликована в номере 10 за 2001 год в рубрике soft :: ос

©1997-2024 Компьютерная газета