Кому надо переходить на SSD? Хакерам, однозначно!

18 март, 2010 - 00:37Арсен Бандурян

Современные SSD достаточно противоречивы в параметрах производительности (с чтением всё хорошо, а вот с записью - не очень). Однако, нашлась задача, где переход на SSD увеличил производительность в 100 раз. Это ...взлом паролей.

На сайте Fudzilla появилась любопытная заметка о работе группы швейцарских товарищей, которые сумели подобрать 14-значный пароль Windows ХР за 5.3 секунды (на далеко не самом экстремальном процессоре AMD Athlon X2 4400+).

Ключом к победе стала специально оптимизированная Rainbow Table. Вкратце, Rainbow Table - это таблица предварительно рассчитанных хешей пароля. Таким образом, задача взлома пароля сводится к поиску по этой гигантской таблице хеша, совпадающего с нашим. После чего мы знаем, из какого пароля был рассчитан этот хеш. Вуаля.

Для 14-значного пароля рамер таблицы составил, ни много ни мало, 80GB. Очевидно, что основная нагрузка в этой задаче ложится не на процессор, а на дисковую подсистему. И тут уж SSD (в режиме случайного и линейного чтения) показали всю свою прыть :)

Источник здесь: http://www.fudzilla.com/content/view/18074/38/ , а мы переходим на более длинные пароли (напомню, для той же Win2K/XP они могут быть до 127 символов) , отказываемся от совместимости с NT4.x NTLM (в котором длина была ограничена 14 символами) и ...становимся в очередь для SSD (для тестирования на прочность собственной инфраструктуры, конечно).

UPD: Во избежание кривотолков, читаем ниже.

Почему пароль в Windows должен быть больше 14 знаков? Windows кеширует пароли для сетевого доступа (особенно, когда перманентно подключается сетевой диск), чтобы не злить пользователя постоянными их запросами. Пароли хранятся в хешированном виде в registry. Однако, у этого удобства есть одно ограничение - невозможно использовать salt, что и делает его уязвимым к атакам Rainbow Table. Плюс, механизм аутентификации NTLM (NT LAN Manager) - достаточно старый, и ограничивает длину пароля 14 символами (которые для совместимости с Win95/98 вообще хранились изначально как 2 склееных хеша, каждый от 7 символов пароля, что делало подбор ещё более простым). Если же длина пароля больше 14 символов (Win2K+), то вместо хеша пароля сохраняется определенная константа, указывающая Windows на то, что хеша нет. А нет хеша - нет проблемы :)

Начиная с Vista протокол NTLM отключен по умолчанию, дабы неповадно было. Так что там этой проблемы нет (хотя его можно включить). Отсюда - ссылка на XP. Пожалуйста, прочитайте ссылки перед тем как обсуждать.