Пароль Windows можно взломать за 13 секунд

24.07.2003, 13:15

Во вторник швейцарский специалист опубликовал документ, в котором приведен способ ускорения взлома шифра алфавитно-цифровых паролей, хранящихся в Windows. Он сокращает время расшифровки таких кодов с 1 мин 41 с в среднем до 13,6 с.

Метод предполагает использование крупных справочных таблиц для совмещения зашифрованных паролей с оригинальным текстом, введенным пользователем, что ускоряет вычисления, необходимые для взлома шифра. Возникает ситуация размена времени на память: злоумышленник, в изобилии располагающий памятью, может сократить время вскрытия секретного кода.

Эти результаты говорят о том же, о чем предупреждали многие специалисты по защите данных: способ шифрования паролей Microsoft имеет слабые места, что делает подобные методы взлома особенно эффективными, пишет в e-mail в CNET News.com Филипп Эшлин, старший научный сотрудник и преподаватель лаборатории криптографии и защиты данных Швейцарского федерального института технологии в Лозанне (EPFL). "Пароли Windows не очень надежны, - пишет он. - Проблема в том, что они не содержат никакой случайной информации".

В опубликованной во вторник работе Эшлин предложил способ практического использования этого недостатка. Он опирается на предшествующий труд, в котором было показано, что алгоритмы дешифрования можно ускорить с помощью больших справочных таблиц. Чем больше размер таблиц, тем меньше среднее время поиска пароля. Для демонстрации процесса в он-лайне он использовал справочную таблицу размером 1,4 Гбайт и компьютер с процессором AMD 2500+ и 1,5 Гбайт оперативной памяти.

Эшлин не стал ставить Microsoft в известность о проблеме до публикации своей работы. Он говорит, что его исследование относится не столько к взлому паролей Microsoft, сколько к достижению эффективного размена времени и памяти: "Это не новая уязвимость. Просто она впервые проработана так досконально. Пароли Microsoft - это всего лишь хороший пример для демонстрации теоретических результатов".

Для шифрования паролей Microsoft реализует две схемы, называемые функциями хеширования. Первая, LANManager или LANMan, использовалась в Windows 3.1, 95, 98, Me и ранних системах NT для защиты паролей, применяемых в сочетании с ранними Windows-сетями. Схема LANMan имеет ряд недостатков, включая перевод всех символов в верхний регистр, разбиение паролей на 7-байтные фрагменты и отсутствие дополнительного случайного элемента, называемого "солью". Последние поправки NTHash устранили два первых недостатка, но случайные числа для придания хешам большей уникальности так и не применяются.

В результате один и тот же пароль, зашифрованный на двух машинах Windows, выглядит одинаково. Это означает, что взломщик может создать большую справочную таблицу и взламывать пароли на любом компьютере Windows. В операционных системах Unix, Linux и Mac OS X в вычисления добавляется 12- битная соль, что делает любую попытку взломать шифр с применением грубой силы в 4096 раз дольше по времени или требует применения в 4096 раз большего объема памяти.

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

Например, Эшлин создал новую версию своей программы с использованием 20- Гбайт справочной таблицы, которая способна взламывать пароли, состоящие из цифр, букв и 16 других символов, в среднем за 30 с для крупных файлов паролей. "Усложнив задачу, можно было сформировать набор данных вполовину этой величины (10 Гбайт), который взламывал бы те же пароли быстрее, но для этого нам пришлось бы потратить гораздо больше времени на вычисление этих данных, - пишет он. - Так что здесь получается еще один размен: времени предварительных вычислений на объем памяти или время взлома", сообщает "ZDNet".

Читайте також