История одного взлома
Вкратце расскажем о том, как проводил взлом базы хешированных паролей один из хакеров. Он воспользовался стареньким компьютером с процессором Core 2 Duo и программой Ultimate Distributed Cracker со скоростью перебора 5 млн паролей в секунду. В результате было вскрыто 31 790 паролей из 41 037 MD5-хешей. Первым делом хакер провел поиск цифровых комбинаций длиной до 11 символов и за 5 минут нашел 15 759 паролей. После этого запустил перебор пар с помощью конкатенации (склейки) слов из этого словаря (такой метод часто называют «гибридная атака»), в результате за считаные минуты легко подбирались пароли вида 1111111111123123. В результате найдено еще 358 паролей. Затем за несколько минут он вскрыл 5767 паролей короче 7 символов. Далее он искал слова из словарей на разных языках и подстановки: убирал из слов все гласные, случайно менял регистр одной-двух букв в любом месте, случайно нажимал CAPS LOCK в любом месте слова, добавлял в конец слова до трех случайных цифр плюс легко запоминающиеся сочетания (2010, 2011 и пр.), добавлял в начало слова до двух случайных цифр плюс легко запоминающиеся сочетания (123, 1111 и пр.), добавлял случайный символ в любое место слова, добавлял знаки препинания в начало и/или в конец слова, использовал «хакерские» замены («один» = «1», «s» = «$», «a» = «@» и т. п.), имитировал ошибки переключения раскладки (русское слово в английской раскладке, и наоборот). За 30 минут удалось взломать еще 5213 паролей. Далее хакер применил частотный анализ для длинных паролей, состоящих из букв разных регистров и цифр (из найденных паролей извлекаются подстроки (фрагменты строк по заданному шаблону), сортируются по частоте, и создается словарь из 10 000 самых частых сочетаний, добавляются все одно- и двухсимвольные комбинации). Затем он произвел перебор с конкатенацией двух-трех слов из такого словаря. Операция заняла почти 7 часов, и было найдено 4693 длинных и сложных пароля[42].
Нельзя включать в пароли любые данные, характеризующие вас, будь то имя, дата рождения, номер телефона, фамилия прабабушки, название любимого музыкального коллектива или кличка кошки. Всю эту информацию злоумышленник может выяснить и упростить себе процесс взлома. Кроме того, крайне не рекомендуется использовать в паролях словарные слова, так как первым делом злоумышленники проводят «быструю» атаку по словарю. Проверить устойчивость своего пароля к взлому можно с помощью специальных онлайн-сервисов[43],[44].
Не следует использовать русские слова в английской раскладке. У злоумышленников есть специальные словари с такими комбинациями, поэтому этот метод не сработает. Кроме того, такие пароли очень трудно вводить на устройствах, где кириллица не отображается на клавишах одновременно с латиницей.
Примечание. В 2019 г. компания DeviceLock проанализировала 4 млрд утекших учетных записей на предмет наличия наиболее популярных паролей, в том числе кириллических. «Безумную десятку» составляют пароли (в порядке убывания популярности): я; пароль; йцукен; любовь; привет; люблю; наташа; максим; андрей; солнышко[45].
Разумеется, никому не следует сообщать не только пароли, но и принцип, по которому вы составляете свои кодовые фразы. Узнав, что вы используете в пароле слова из любимой песни, злоумышленники могут просканировать ваш плейлист в социальной сети и сформировать список возможных комбинаций.
Также не стоит составлять пароли по схеме типа ключ + название сайта и использовать для разных сайтов/систем одинаковые пароли, отличающиеся одной или двумя цифрами или буквами. Выяснив пароль к одному вашему аккаунту, злоумышленник легко подберет пароли и ко всем остальным.