Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИБ.docx
Скачиваний:
20
Добавлен:
15.09.2019
Размер:
79.31 Кб
Скачать

Количество возможных паролей

Итак, мы разобрались с алгоритмом, который используется для взлома пароля. Единственный способ, реализованный во всех программах, которые предназначены для подбора пароля, — это перебор всех возможных комбинаций. Естественно, возникает вопрос, а сколько вообще возможно комбинаций и так ли легко подобрать пароль методом перебора?

Что ж, давайте попробуем сосчитать. В операционных системах Windows 2000, 2003 и XP длина пароля может достигать 127 символов. При этом в качестве парольного символа можно использовать любой из 256 кодов ASCII. В таком случае при длине пароля в n символов количество возможных комбинаций будет равно 256n. Общее количество возможных паролей при этом составит 2561 + 2562 + ... + 256127~~21024 = 1,8·10308. Это число астрономически огромно, и ни один современный компьютер не сможет перебрать все возможные комбинации за разумное время. Предположим, что имеется компьютер, который способен реализовать алгоритм перебора со скоростью 10 млн паролей в секунду. Для перебора всех паролей ему потребуется порядка 10293 лет! Для справки укажем, что возраст планеты Земля оценивается всего-навсего в 4,5 млрд лет (4,5·109). Практически это означает, что взломать пароль методом перебора невозможно! Что ж, «броня крепка, и танки наши быстры», однако не стоит делать поспешных выводов.

Прежде всего, приведенные нами выкладки не совсем корректны. Дело в том, что хотя количество всех возможных паролей и составляет 21024, но число возможных хэш-функций существенно меньше. Действительно, как мы уже отмечали, независимо от длины пароля длина хэш-функции составляет 16 байт, или 128 бит. Соответственно количество возможных вариантов хэш-функций равно 2128. Ну а поскольку для аутентификации применяются не сами пароли, а их хэш-функции, то и ориентироваться нужно именно на это количество возможных комбинаций. Фактически это означает, что одна и та же хэш-функция может соответствовать огромному количеству различных паролей и для успешной аутентификации можно использовать любой из них. Отсюда следует важный вывод: какой бы уникальный пароль вы ни придумали, существует огромное количество других комбинаций символов, которые можно применить в качестве правильного пароля.

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

Теперь давайте попробуем сосчитать, сколько же времени потребуется для последовательного перебора всех наших 2128 хэш-функций. Учитывая, что скорость перебора составляет 107 паролей в секунду, получим, что для перебора всех комбинаций потребуется 1024 лет! Казалось бы, можно спать спокойно, но опять-таки не будем спешить с выводами.

Как мы уже отмечали, основную угрозу представляют не NT-, а LM-хэши. Количество доступных символов в данном случае уже не 256, а всего 197, поскольку все буквенные символы в пароле приводятся к верхнему регистру, следовательно, 26 символов строчных букв латинского алфавита и 33 символа строчных букв русского алфавита надо исключить из 256 вариантов ASCII-символов. Поэтому при длине пароля в 14 символов количество возможных вариантов составляет всего 19714=1,3·1032. Однако и эта цифра явно завышена. Вспомним, что при LM-кодировании пароль разбивается на две 7-символьные части, каждая из которых кодируется независимо. Поэтому в действительности количество возможных комбинаций определяется всего семью символами и составляет 1977=11,5·1016. При скорости перебора 107 паролей в секунду для перебора всех возможных комбинаций потребуется 37 лет. Конечно, и эта цифра достаточно велика и заставляет усомниться в том, что кто-то захочет заниматься подбором пароля. Однако здесь есть одно «но» — так называемый человеческий фактор. Попробуйте найти такого пользователя, который при наборе пароля переключает раскладку клавиатуры! А это значит, что реальное количество символов не 197, а 64. В этом случае число возможных вариантов уменьшается уже до значения 647 (рассматриваются LM-хэши), а для перебора всех паролей потребуется всего 5 дней!

К тому же в подавляющем большинстве случаев пароли представляют собой осмысленные слова или фразы, причем не очень большой длины. Ну а с учетом того, что количество слов исчисляется всего-навсего сотнями тысяч, то перебор по словарю окажется не слишком длительным.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]