Взлом пароля

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

В криптоанализе и компьютерной безопасности, взлом пароля представляет собой процесс восстановления паролей из данных, которые были сохранены или переданы с помощью компьютерной системы. Общий подход состоит в том, чтобы подбором угадать пароль. Другой распространенный подход заключается в том, чтобы сказать, что вы «забыли» пароль, а затем изменить его.

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

Время, необходимое для подбора пароля[править | править исходный текст]

Время взлома пароля связано с битовой прочностью (прочностью пароля), которая является мерой информационной энтропии пароля. Большинство методов взлома пароля требуют компьютерно произвести много пробных паролей, каждый из которых должен быть проверен. Одним из примеров является метод грубой силы (brute-force), при котором компьютер подбирает всевозможные ключи или пароли, пока один из них не подойдет. Более распространенные методы взлома паролей, такие, как атака словарем, проверка по шаблону, замена списка слов и т. д. пытаются уменьшить количество необходимых попыток и, как правило, применяются до метода грубой силы. С повышением прочности пароля экспоненциально увеличивается количество возможных паролей для перебора при восстановлении пароля и уменьшается вероятность того, что пароль будет найден в каком-либо словаре для взлома.

Возможность взлома паролей с использованием компьютерных программ так же зависит от количества проверяемых паролей в секунду. Если хеш целевого пароля известен атакующему, это число может быть достаточно большим. Если нет, скорость зависит от того, установлен ли лимит скорости аутентификации (как часто может вводиться пароль), либо от временных задержек, капчи, или принудительной блокировки после некоторого числа неудачных попыток. Другая ситуация, когда возможно быстрое угадывание, — если пароль используется для формирования криптографического ключа. В таких случаях злоумышленник может быстро проверить, успешно ли проверяемый пароль декодирует зашифрованные данные. Например, один коммерческий продукт может проверить 103,000 WPA-PSK паролей в секунду.

Индивидуальные настольные компьютеры могут проверить более ста миллионов паролей в секунду, используя утилиты для взлома паролей, запущенных на CPU и миллиарды паролей в секунду при использовании утилит, использующих GPU. Рассмотрим John the Ripper. Выбранный пользователем пароль из восьми знаков с числами, в смешанном регистре, и с символами, по оценкам, достигает 30-битной надежности, в соответствии с NIST. 2^30 — это один миллиард перестановок и потребуется в среднем 16 минут, чтобы взломать его. Когда обычные настольные компьютеры объединяются для взлома, как это может быть сделано при ботнетах, возможности взлома пароля значительно расширяются. В 2002, distributed.net успешно подобрало 64-битный ключ RC5 за 4 года, используя более 300000 различных компьютеров в разное время, и генерируя в среднем более 12 миллиардов ключей в секунду. Графические процессоры могут ускорить взлом паролей на коэффициент с 50 до 100 и более для компьютеров общего назначения. С 2011 коммерческие продукты имеют возможность тестирования до 2,800,000,000 паролей в секунду на стандартном настольном компьютере с использованием мощного графического процессора. Такое устройство может взломать 10-символьный пароль в одном регистре за один день. Следует отметить, что работа может быть распределена на несколько компьютеров для дополнительного ускорения пропорционально числу доступных компьютеров с сопоставимыми GPU.

Несмотря на свои возможности, настольные процессоры медленнее во взломе паролей, чем специально построенные машины, предназначенные для взлома пароля. В 1998 the Electronic Frontier Foundation (EFF) собрали выделенный взломщик паролей, использующий FPGA, в отличие от CPU. Их машина, Deep Crack, сломала 56-битный ключ DES за 56 часов, тестируя около 90 млрд ключей в секунду. В 2010, the Georgia Tech Research Institute разработали метод использования GPGPU для взлома паролей, придумывая минимально безопасную длину пароля в 12 символов.

Легко запомнить, трудно отгадать[править | править исходный текст]

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

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

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

Вместе с тем, просьба к пользователям запомнить пароль, состоящий из смешанных строчных и прописных символов похожа на просьбу запомнить последовательность бит: трудно запомнить, и лишь немного сложнее взломать (напр., если пользователь поменяет регистр одного символа в 7-символьном пароле, взломать будет всего в 128 раз сложнее). Просьба же к пользователям использовать и буквы, и цифры, часто приводит к простым заменам, как 'E' → '3' и 'I' → '1', хорошо известных взломщикам. Аналогично, ввод пароля на одну строку выше на клавиатуре также известный атакующим прием.

Инциденты[править | править исходный текст]

16 июля 1998 CERT сообщил об инциденте, при котором злоумышленник нашел 186.126 зашифрованных паролей. К тому времени, как это обнаружили, он уже взломал 47,642 из них.

В декабре 2009 был отмечен случай взлома сайта Rockyou.com, что привело к освобождению 32 миллионов паролей. Злоумышленник затем выложил пароли (без какой-либо другой идентификационной информации) в интернет. Пароли хранились в открытом виде в базе данных и были извлечены через уязвимость с помощью SQL-инъекции. The Imperva Application Defense Center (ADC) сделала анализ паролей на прочность. В июне 2011, NATO(North Atlantic Treaty Organization, Организация Североатлантического договора) была взломана, что привело к обнародованию имен и фамилий, имен пользователей и паролей более чем 11,000 пользователей их электронного книжного магазина. Эти данные были извлечены в рамках операции AntiSec, движения, которое включает в себя Anonymous, LulzSec, а также другие группы взлома и отдельные лица.

11 июля 2011 серверы Booz Allen Hamilton, большой американской консалтинговой фирмы, выполняющей существенный объем работ для Пентагона, были взломаны Anonymous`ом и подверглись утечке в один день. «Утечка, названная 'Военный Кризисный Понедельник' включает 90,000 логинов военнослужащих, в том числе сотрудников Центрального командования США, командования специальных операций США, морской пехоты, различных объектов ВВС, Национальной безопасности, Государственного департамента по персоналу, и, похоже, частных подрядчиков сектора». Эти пароли были захешированы с помощью Sha1, и позже были расшифрованы и проанализированы командой ADC в Imperva, подтверждая, что даже военнослужащие используют ярлыки и способы обойти требования к паролям.

18 июля 2011 Microsoft Hotmail запретила пароль «123456».

Предотвращение взлома[править | править исходный текст]

Лучшим способом предотвращения взлома паролей является обеспечение того, чтобы злоумышленники не могли получить доступа даже к хешированному паролю. Например, в операционной системе Unix, хеши паролей первоначально хранились в общедоступном файле /etc/passwd. На современных Unix (и подобных) системах, с другой стороны, они хранятся в файле /etc/shadow, которая доступна только для программ, работающих с повышенными привилегиями (например, «системными» привилегиями). Это создает дополнительные сложности злоумышленнику, который, в первую очередь, должен получить хеши паролей. К сожалению, многие распространенные сетевые протоколы передают пароли в открытом виде или используют слабые схемы запросов/ответов.

В современных Unix системах заменили традиционную функцию хеширования crypt() на основе DES на более сложные методы, такие как bcrypt и scrypt. Другие системы также стали внедрять эти методы. Например, в Cisco IOS первоначально использовался обратимый шифр Виженера для шифрования паролей, теперь же используется шифрование md5 с 24 битовой солью, когда используется команда «enable secret» (включить секрет). Эти новые методы используют большие значения соли, которые предотвращают от массового нападения на несколько учетных записей одновременно. Алгоритмы также гораздо медленнее исполняются, что резко увеличивает время, требуемое для проведения успешной автономной атаки.

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

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

В 2013 году был объявлен долгосрочный конкурс для выбора нового стандартного алгоритма хэширования паролей.

Программное обеспечение[править | править исходный текст]

Есть много утилит для взлома паролей, наиболее популярные из них: Cain and Abel, John the Ripper, Hashcat, Hydra, DaveGrohl и ElcomSoft. Многие пакеты для программно-технической экспертизы также включают функциональность для взлома паролей. Большинство этих пакетов используют смесь стратегий взлома, с методом грубой силы и атаками по словарю, оказавшимися наиболее продуктивными, однако наиболее успешные пакеты программного обеспечения являются частными и не публикуются. Увеличение доступности компьютерной мощности и новое автоматизированное ПО с дружественным интерфейсом для взлома пароля для многих систем защиты приводит к использованию их скрипт-кидди.

Ссылки[править | править исходный текст]