Защита информации в Интернет

         

Строгие правила выбора пароля



Строгие правила выбора пароля

Никакие технические средства не смогут обеспечить гарантированную защиту от взлома пароля. Они необходимы для создания эффективной защиты, но одних лишь технических средств недостаточно. Самым эффективным и вместе с тем трудно реализуемым средством был и остается правильный выбор пароля. Пользователи, выбирающие легко угадываемые пароли или записывающие их на обратной стороне клавиатуры, по-видимому, еще долго будут оставаться источником головной боли администраторов. Надеемся, что приведенное ниже описание некоторых скрытых недостатков, имеющихся в алгоритмах защиты паролей NT, сможет помочь вам в разъяснении пользователям необходимости строгого соблюдения ваших требований.
Как мы уже неоднократно упоминали, в системе NT применяется два разных алгоритма шифрования пользовательских паролей: совместимый с LanManager (LMH — LanManager Hash) и созданный специально для NT (NTH — NT Hash) . Оба представления зашифрованного с помощью этих алгоритмов пароля хранятся в базе данных SAM. Как уже упоминалось, значение LMH вычисляется с помощью алгоритма, имеющего внутренние недостатки (в данном случае не стоит ругать Microsoft — алгоритм LanManager изначально был разработан компанией IBM).
Самым большим недостатком алгоритма LMH является разделение пароля на две части, каждая из которых состоит из семи символов. Другими словами, пароль, имеющий длину 8 символов разделяется на два пароля, первый из которых состоит из 7 символов, а второй — из 1 символа. Подобные утилите L0phtcrack средства используют этот недостаток, проверяя одновременно обе половины пароля именно так, как если бы они были независимыми друг от друга паролями. Рассмотрим, например, 12-символьный пароль, который полностью соответствует требованиям библиотеки Passfilt — l23456Qwerty. Во-первых, когда пароль шифруется по алгоритму LM, его символы преобразуются в верхний регистр— 123456QWERTY. Затем к паролю добавляются нулевые символы (т.е. символы с кодом 0, чтобы получить строку, состоящую из 14 символов): 123456QWERTY_. Перед шифрованием эта строка делится на две части — 123456Q и WERTY_. После этого каждая строка шифруется независимо от другой, а полученные результаты объединяются. Зашифрованное значение ДЛЯ 123456Q — 6BF11E04AFAB197F, а ДЛЯ WERTY_— 1E9FFDCC75-575В15. Таким образом, полученный в результате хэш-код будет иметь следующее значение: 6BF11E04AFAB197F1E9FFDCC75575B15.
Поскольку первая половина пароля, представленного хэш-кодом, содержит и буквы, и цифры, то на ее взлом путем перебора всех возможных вариантов с помощью утилиты L0phtcrack уйдут сутки или около того, в зависимости от вычислительной мощности используемого компьютера. Однако вторая половина пароля содержит только символы, поэтому на ее взлом понадобится всего лишь 60 секунд при использовании компьютера с процессором Pentium. На Рисунок 5.7 показано, как за считанные секунды с использованием утилиты L0phtcrack была взломана вторая половина пароля пользователя waldo (полный пароль —строка 123456qwerty).
Каждая взломанная половина пароля отображается в соответствующей строке окна утилиты LOphtcrack. В рассматриваемом примере была идентифицирована вторая половина пароля пользователя waldo. Теперь можно сделать некоторые предположения о том, какой может быть первая половина пароля. Строка WERTY говорит о том, что в качестве пароля пользователь выбрал символы из верхнего ряда клавиш клавиатуры. Следовательно, имеет смысл проверить такие пароли, как QWERTYQWERTY, POIUYTQWERTY, ASDFGHQWERTY, YTREWQQWERTY И, наконец, 123456QWERTY. Эти варианты можно добавить в словарь, подготовленный для утилиты LOphtcrack, а затем приступить к очередному штурму. Менее чем через 5 секунд в окне LOphtcrack появляются и пароль LanMan, и пароль NT, как показано на Рисунок 5.8.



Содержание раздела