Хотя и в современном мире хакеры научились взламывать даже самые сложные пароли, но чаще всего злоумышленникам даже стараться не нужно: пароль подбирается по данным о вас, ваших социальных сетей и родственников. П данным технического университета Virginia Tech подавляющее большинство людей выбирает очень предсказуемые пароли.
Какие же сейчас пароли считаются самыми популярными и самыми предсказуемыми?
Постепенно уходят в прошлое самые банальные сочетания, вроде qwerty и 12345, хотя последний еще в прошлом году уверенно держал пальму первенства среди самых распространенных паролей. Зато пользователи все еще с удовольствием используют удобно расположенные комбинации клавиш, ошибочно полагая, что сочетая их с цифрами они усиливают пароль. Специалисты из Dashlane назвали самые слабые пароли такого типа (не стоит использовать даже их модифицированные вариации):
1q2w3e4r
1qaz2wsx
1qazxsw2
zaq12wsx
!qaz2wsx
1qaz@wsx
Не менее опрометчиво использовать марки автомобилей, футбольные клубы и эмоции — все это эксперты называют в числе самых распространенных паролей.
Как же действуют специалисты по взлому, и почему пользовательские пароли так легко расшифровать?
Прежде всего, взламываются «простые» пароли, на что уходит меньше всего времени, а затем, как в любой компьютерной игре, хакер переходит на более высокие уровни, требующие значительно большего времени и особых навыков.
Для начала, запускается подбор по принципу «грубой силы», позволяющий расшифровать более половины паролей длиной от одного до шести символов включительно, в число которых входят по 26 латинских букв нижнего и верхнего регистров, 10 цифр и 33 прочих символов, в сумме – 95. В результате мы имеем весьма скромное число комбинаций, которое среднестатистический десктоп способен рассчитать за считанные минуты.
Удлинение пароля всего на один-два символа радикально увеличивает число вариантов, и полный перебор всех комбинаций будет занимать уже несколько дней. Поэтому специалисты обычно выбирают, к примеру, пароли, состоящие только из букв нижнего регистра, длиной до 8 символов, а также пароли из чисел длиной до 12 символов. Метод «грубой силы» с такими параметрами позволяет расшифровать значительный процент длинных паролей.
Использование метода подбора для более сложных паролей нерационально, поскольку оно может затянуться на годы, и здесь взломщик уже переходит к использованию специальным образом составленных словарных списков, которые подготовлены на основе реальных пользовательских паролей, «засветившихся» при различных утечках. К примеру, самую большую базу англоязычных паролей за последние годы «предоставил» в распоряжение хакеров сайт RockYou в декабре 2009 года. В результате банальной SQL-инъекции хакерам удалось завладеть базой данных более 32 миллионов пользователей, включая логины, пароли и прочую информацию в простой текстовой форме. База RockYou немедленно была включена во все хакерские «словари», которые с тех пор неоднократно пополнялись в результате всё новых утечек, в том числе после взлома социальной сети LinkedIn в 2012 году, когда «утекло» ещё 6,5 миллиона парольных кэшей.
Базы, подобные RockYou или LinkedIn, представляют особую ценность, поскольку содержат реальные пользовательские пароли, а не просто произвольные комбинации. Для расчёта вариантов существуют специальные правила замены и подбора, что даёт ещё больше потенциальных паролей. А если проанализировать тематику сайта, интересы и профессии его пользователей, то можно добавить ещё более тонкие алгоритмы расчёта со специфическими шаблонами и масками.
Любопытно, что пользователи крупных общедоступных сайтов, прежде всего, всевозможных социальных сетей, редко утруждают себя придумыванием сложных паролей, наивно полагая, что размещаемая там информация не представляет особого интереса для злоумышленников. Более того, из 32 миллионов паролей RockYou 290 тысяч представляли собой до боли знакомую комбинацию «123456», а ещё несколько десятков тысяч – похожие сочетания с разным количеством цифр. Наконец, многие пользовали используют одинаковые пароли на разных сервисах, а при взломе паролей на одном сайте, далеко не каждый станет менять его и на всех остальных сайтах. Поэтому словарный подбор остаётся одной из самых мощных и эффективных технологий взлома, позволяющий, по разным оценкам, расшифровать до 60-70% пользовательских паролей на любом общедоступном сайте.
Для взлома оставшегося массива паролей используются гибридные атаки, сочетающие элементы «грубой силы» со словарным подбором. Например, при задании паролей некоторые предпочитают добавлять к одному из своих старых паролей длиной 7-8 символов по одной-две цифре в начало или в конец. Понятно, что с точки зрения безопасности, такие пароли уже не выдерживают никакой критики. Подобные «привычные» способы «улучшения» старых паролей отлично известны специалистам, поэтому такие шаблоны нисколько не повышают их устойчивость.
Ещё один тип гибридных атак сочетает «грубую силу» со статистическим методом на основе цепей Маркова, что позволяет использовать уже полученные данные о характерных особенностях расшифрованных паролей для конкретного сайта, чтобы предсказать возможные пароли других пользователей.
Гибридные атаки в разных вариантах, а также «индивидуальные» настройки масок и шаблонов могут занимать существенное время, но в результате они способны раскрыть до всех 100% паролей для отдельно взятого сайта (среднестатистиски – от 60 до 90%). А если учесть, что более двух третей пользовательских паролей взламывается простыми средствами за считанные часы, предоставляя полезную информацию для анализа, то талантливый профессионал может сократить общее время взлома до разумного минимума.
Почему же хакеры так просто и быстро взламывают пользовательские пароли? Прежде всего, из-за того, что их придумывают люди. Обычные шаблоны и привычки хорошо известны профессионалам, а современная техника, в частности, обычные «бытовые» графические ускорители позволяют быстро просчитать все возможные комбинации: к примеру, Radeon HD7970 способен перебрать более 8 миллиардов вариантов в секунду.
Именно поэтому для промышленного использования рекомендуются специализированные генераторы паролей, использующие алгоритмы, не позволяющие выявить стабильные шаблоны и предотвращающие возможность взлома «грубой силой» за разумный отрезок времени, в течение которого расшифровываемые пароли будут уже заменены другими.
Наконец, ещё одна причина заключается в том, что далеко не все общедоступные сайты реально озабочены безопасностью пользовательских паролей, и используют для создания хэшей достаточно простые алгоритмы, которые обеспечивали бы взамен низкую нагрузку на серверы. Даже некоторые крупные сайты до сих пор применяют печально зарекомендовавший себя алгоритм SHA1 – его устойчивость не укрепило даже добавление «соли», то есть уникального набора битов к каждому паролю перед зашифровкой.
После всех этих подробностей специализированный сайт корпорации Intel, «проверяющий» стойкость паролей, вызывает приступы хохота, когда выдаёт 6 лет на взлом пароля BandGeek2014, подбираемого профессионалом, в худшем случае, за час.
Взлом MD5 в режиме турбо
Rainbow tables: «Радужные» таблицы — это особый тип словаря, который содержит цепочки паролей и позволяет подобрать пароль в течение нескольких секунд или минут с вероятностью 85–99%.
Взлом хешей путем полного перебора даже на самом лучшем железе занимает довольно много времени, особенно если пароль больше восьми символов. Самый простой способ увеличить скорость подбора пароля — это создать базу данных всех хешей для определенного набора символов. В 80-х годах прошлого столетия хакеры полагали, что когда у них появится более мощное железо, 640 Кб памяти и жесткий диск размером в 10 Мб, то такая база станет реальностью и подбор любого пароля превратится в минутное дело. Однако железо развивалось, а мечта так и оставалась мечтой. Ситуация изменилась лишь в августе 2003 года, после того, как Филипп Оэшлин, доктор философии в области компьютерных сетей из Швейцарского технологического института в Лозанне, опубликовал свою работу о проблеме выбора оптимального соотношения место-время. В ней описывался метод взлома хеш-функций с помощью «радужных» таблиц.
Суть нового метода заключается в следующем. Сначала необходимо выбрать произвольный пароль, который затем хешируется и подвергается воздействию функции редукции, преобразующей хеш в какой-либо возможный пароль (к примеру, это могут быть первые 64 бита исходного хеша). Далее строится цепочка возможных паролей, из которой выбираются первый и последний элементы. Они записываются в таблицу. Чтобы восстановить пароль, применяем функцию редукции к исходному хешу и ищем полученный возможный пароль в таблице. Если такого пароля в таблице нет, хешируем его и вычисляем следующий возможный пароль. Операция повторяется, пока в «радужной» таблице не будет найден пароль. Этот пароль представляет собой конец одной из цепочек. Чтобы найти исходный пароль, необходимо прогнать всю цепочку заново. Такая операция не занимает много времени, в зависимости от алгоритма построения цепочки это обычно несколько секунд или минут. «Радужные» таблицы позволяют существенно сократить объем используемой памяти по сравнению с обычным поиском. Единственный недостаток описанного метода состоит в том, что на построение таблиц требуется довольно много времени.
Как же себя обезопасить? Лучше всего будет просто воспользоваться генератором случайных чисел, а затем потратить немного времени и твердо запомнить сложный пароль, который не поддастся взлому.