Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МиСЗКИ(учебное пособие).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.02 Mб
Скачать
    1. 6.2. Защита баз данных аутентификации в ос Windows nt и unix

Защита баз данных аутентификации в ОС, построенных на технологии Windows NT

База данных аутентификации в ОС, построенных на технологии NT, имеет название SAM (Security Accounts Manager) и располагается в каталоге Winnt\System32\Config\ [18].

Информация в этой базе данных хранится в служебном формате, а доступ к ней ограничен со стороны ОС. Любое обращение к этой базе со стороны пользователя (копирование, чтение, запись и т.д.) блокируется. Кроме этого, данная база данных при загрузке ОС копируется в реестр.

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

Рассмотрим реализованный Microsoft способ защиты баз данных аутентификации SAM он несанкционированного изучения [18,25].

В базе данных аутентификации SAM для каждой учетной записи пользователя хранится два вида хэшей пароля – хэш LANMAN, используемый для аутентификации сетевых служб и совместимости с ранее разработанными ОС Windows 9x, и хэш NTLM, используемый при локальной аутентификации пользователя.

Алгоритм хэширования LANMAN

Схема данного алгоритма представлена на рис . 6.1.

Рис. 6.1.Схема алгоритма хэширования LANMAN

Шаг 1. Пользовательский пароль преобразуется путем замены всех малых символов, входящих в него, большими.

Шаг 2. Результат преобразуется в 14-символьную цепочку. Если пароль длиннее 14 символов, то лишние символы урезаются; если короче, то недостающие позиции заполняются нулями.

Шаг 3. Полученная цепочка из 14 символов делится на два блока по 7 символов, каждый из которых в дальнейшем обрабатывается независимо.

Шаг 4. Каждый из сформированных блоков используется в качестве ключа шифрования алгоритма DES известной 64-битовой последовательности (4B, 47, 53, 21, 40, 23, 24, 25). На выходе формируются два блока по 8 байт.

Шаг 5. Конкатенация двух 8-байтных блока является хэшем LANMAN (16 байт).

В алгоритме LANMAN используется свойство стойкости к атакам по открытому тексту алгоритма DES для формирования закрытых паролей. Даже зная 8-байтную последовательность, которая шифруется по данному алгоритму, восстановление ключа шифрования возможно только полным перебором.

Алгоритм LANMAN обладает рядом недостатков, которые значительно снижают его криптостойкость. Перечислим их.

1. Преобразование всех символов в заглавные значительно снижает объем ключевого пространства, которое нужно перебрать злоумышленнику. Данное преобразование уменьшает энтропию паролей.

2. Разбивка пароля на два фрагмента, обрабатываемых независимо, также приводит к значительному снижению объема ключевого пространства.

Предположим, что пароли составляются только из малых и больших английских букв (мощность алфавита равна 52). Так как все символы пароля преобразуются в большие, то мощность алфавита уменьшается до 26. Кроме этого, независимость обработки блоков из 7 символов приводит к тому, что для взлома хэша LANMAN приходится осуществлять перебор не 2614 вариантов ключей, а 2*267, так как левая и правая части хэша LANMAN подбираются независимо. Таким образом, в силу двух приведенных недостатков, для рассмотренного примера пространство перебора ключей содержит не 5214 паролей, а 2*267. Перебрать такое количество ключей не трудно для современной вычислительной техники.

Алгоритм хэширования NTLM

Алгоритм хэширования NTLM свободен от недостатков, свойственных хэшу LANMAN. Схема данного алгоритма представлена на рис. 6.2.

В NTLM символы не преобразуются к верхнему регистру и могут быть любыми. Разбивка на два блока здесь также не используется. В качестве алгоритма хэширования использован MD4.

Рис. 6.2. Схема алгоритма хэширования NTLM

Следует отметить, что для совмещения с прошлыми версиями Windows, в базе данных SAM хранятся оба хэша – LANMAN и NTLM (за исключением паролей длины, большей 14). Поэтому, наличие хэша NTLM в SAM никак не усиливает защиту, взломать ее злоумышленник может так же быстро, подобрав вначале хэш LANMAN и определив пароль с приближением к верхнему регистру, затем найти истинный пароль, подобрав хэш NTLM путем перекомбинации больших и малых букв.