Лекции ЗИ_Э. Самарский государственный архитектурностроительный университет
Скачать 1.6 Mb.
|
Защита баз данных аутентификации в ОС Windows NT и UNIXБаза данных аутентификации в ОС, построенных на технологии NT, имеет название SAM (Security Accounts Manager) и располагается в каталоге Winnt\System32\Config\. Информация в этой базе данных хранится в служебном формате, а доступ к ней ограничен со стороны ОС. Любое обращение к этой базе со стороны пользователя (копирование, чтение, запись и т.д.) блокируется. Кроме этого, данная база данных при загрузке ОС копируется в реестр. Существующие средства в Windows NT, ограничивающие доступ к базе данных SAM, не работают корректно, и злоумышленник обходными путями может получить доступ к этой базе данных, в том числе и скопировать ее для последующего анализа. Рассмотрим реализованный Microsoft способ защиты баз данных аутентификации SAM он несанкционированного изучения. В базе данных аутентификации SAM для каждой учетной записи пользователя хранится два вида хэшей пароля – хэш LANMAN, используемый для аутентификации сетевых служб и совместимости с ранее разработанными ОС Windows 9x, и хэш NTLM, используемый при локальной аутентификации пользователя. Алгоритм хэширования LANMAN Рис. 6.1.Схема алгоритма хэширования LANMAN Шаг 1. Пользовательский пароль преобразуется путем замены всех малых символов, входящих в него, большими. Шаг 2. Результат преобразуется в 14-символьную цепочку. Если пароль длиннее 14 символов, то лишние символы урезаются; если короче, то недостающие позиции заполняются нулями. Шаг 3. Полученная цепочка из 14 символов делится на два блока по 7 символов, каждый из которых в дальнейшем обрабатывается независимо. Шаг 4. Каждый из сформированных блоков используется в качестве ключа шифрования алгоритма DES. На выходе формируются два блока по 8 байт. Шаг 5. Конкатенация двух 8-байтных блока является хэшем LANMAN (16 байт). В алгоритме LANMAN используется свойство стойкости к атакам по открытому тексту алгоритма DES для формирования закрытых паролей. Даже зная 8-байтную последовательность, которая шифруется по данному алгоритму, восстановление ключа шифрования возможно только полным перебором. Алгоритм хэширования NTLM В алгоритме NTLM символы не преобразуются к верхнему регистру и могут быть любыми. Разбивка на два блока здесь также не используется. В качестве алгоритма хэширования использован алгоритм MD4. Рис. 6.2. Схема алгоритма хэширования NTLM Следует отметить, что для совмещения с прошлыми версиями Windows, в базе данных SAM хранятся оба хэша – LANMAN и NTLM (за исключением паролей длины, большей 14). Поэтому, наличие хэша NTLM в SAM никак не усиливает защиту, взломать ее злоумышленник может также быстро, подобрав вначале хэш LANMAN и определив пароль с приближением к верхнему регистру, затем найти истинный пароль, подобрав хэш NTLM путем перекомбинации больших и малых букв. Другой подход, достаточно часто используемый для хранения ключевой информации, состоит в шифровании ключей и хранении их в зашифрованном виде. Кроме этого, данный подход часто используют для распределения ключевой информации в криптографических сетях. Необходимость в хранении и передаче ключевой информации, зашифрованной с помощью других ключей, привела к развитию концепции иерархии ключей. Иерархия ключевой информации может включать множество уровней, однако, наиболее часто выделяют:
Сеансовые ключи находятся на самом нижнем уровне и используются для шифрования данных. Когда эти ключи необходимо безопасным образом передать между узлами сети или безопасно хранить, их шифруют с помощью ключей следующего уровня – ключей шифрования ключей. На верхнем уровне иерархии ключей располагается мастер-ключ. Этот ключ применяют для шифрования ключей шифрования, когда требуется безопасно хранить их на диске. Обычно в каждом компьютере используется только один мастер ключ, который содержится на внешнем носителе, как правило, защищенном от несанкционированного доступа. Значение мастер- ключа фиксируется на длительное время (до нескольких недель или месяцев). Сеансовые ключи меняются намного чаще, например, при построении криптозащищенных туннелей их можно менять каждые 10-15 минут, либо по результатам шифрования заданного объема трафика (например, 1 Мб). |