Словарные атаки – одни из наиболее эффективных. Одним из ключевых элементов таких атак являются словари – списки слов, из которых по заданным правилам будут формироваться возможные пароли. Как выбор, так и качество исходного словаря – важнейшие факторы, влияющие на эффективность атаки. В большинстве руководств темы словарей поднимаются вскользь; упоминается необходимость использования качественных словарей. Но что из себя представляет «качественный» словарь, чем он отличается от «некачественного» и можно ли увеличить эффективность работы словаря? В этой статьй в форме вопросов и ответов мы даём конкретные рекомендации по использованию и составлению словарей для максимально эффективных словарных атак.
Самой простой, самой полной, самой быстрой по скорости перебора — но и с огромным отрывом самой длительной атакой из всех является атака методом полного перебора, также известная как «атака методом грубой силы» (калька с английского «brute force attack»). Несмотря на возросшую мощь современных компьютеров, несмотря на использование графических ускорителей и кластерных технологий, взломать методом полного перебора можно лишь некоторые слабо защищённые форматы, и даже их — при условии достаточно коротких паролей. Восстановление пароля средней длины и сложности может занять месяцы и годы при полной загрузке вычислительного комплекса. Более сложные пароли и более безопасные форматы накладывают свои ограничения, и оценочное время перебора начинает измеряться в тысячах, а то и миллионах лет.
В то же время обычные пользователи очень редко используют действительно случайные пароли. Чаще всего пароли базируются на одном или нескольких слов. Причина этого понятна: десятки и сотни ресурсов, требующие установки и запоминания паролей, не оставляют выбора: запомнить даже одну случайную комбинацию букв, цифр и специальных символов непросто, а десятки и сотни — попросту невозможно. На этой психологической особенности человека и построен принцип атак по словарю.
Изначально словарные атаки работали в виде простой подстановки слов из списка — например, слов английского языка. Производители средств защиты отреагировали требованием для пользователей устанавливать такие пароли, в которых использовались бы и буквы в разных регистрах, и цифры, а в ряде случаев — и хотя бы один специальный символ (в допустимые символы входят знаки препинания, символы валют и другие). Теперь для подбора правильного пароля недостаточно просто подставлять слова из списка; необходимо подставлять варианты с различными комбинациями строчных и прописных букв, с добавлением цифр и специальных символов. Такие комбинации, которые производятся в Elcomsoft Distributed Password Recovery в автоматическом режиме, мы назвали словом «мутации».
В процессе настройки атаки по словарю можно настроить самые разные трансформации (мутации) слов из словаря. Например, из слова «password» в автоматическом режиме получаются такие варианты Password, password1, Password1, password1967 или pa$$w0rd. Какие именно варианты будут опробованы, зависит от настроек мутаций. Вот так, например, выглядят возможные варианты паролей при включении всего одной мутации «year», которая добавляет четырёхзначное число (год) в конец слова:
Разумеется, единственной мутацией ограничиваться необязательно: мы рекомендуем использовать словарные атаки с мутациями case, digit и year одновременно. Для стандартных словарей мы рекомендуем использовать эти мутации в минимальной настройке («minimal» на скриншоте).
Существуют и другие мутации, подробнее о которых можно узнать в документации Elcomsoft Distributed Password Recovery. Доступны и другие методы атак — например, атака по шаблону, гибридная атака с использованием двух словарей и некоторые другие. О них можно узнать из статьи Руководство по взлому паролей здорового человека.
Нет, словарные атаки нужны не всегда, а в тех случаях, когда они нужны — не всегда должны идти в первую очередь. Для каждой конкретной ситуации в первую очередь необходимо выбрать стратегию.
Подробнее о стратегиях и о порядке атак рассказывается в статье Руководство по взлому паролей здорового человека.
Производитель ПО, как правило, поставляет словари, оптимизированные для его программного обеспечения. Строки в таких словарях, как правило, отсортированы в порядке, максимально эффективном для каждого конкретного словаря с точки зрения производителя. Так, поставляемые нашей компанией словари общего назначения оптимизированы с точки зрения производительности перебора: вхождения упорядочены по длине слова. Такой способ сортировки связан с нашей реализацией механизма мутаций, и обеспечивает максимальную производительность словарных атак с мутациями именно с Elcomsoft Distributed Password Recovery. В то же время словари, в которых используются утечки паролей, отсортированы по частоте встречаемости перечисленных в них паролей.
Да, но не все. Сортировка по частоте имеет смысл в словарях “Top-100”, “Top-10000” и им подобных, в которых используются реальные пароли пользователей (из утечек, извлечённые из компьютера пользователя и т.п.) В словарях естественных слов (например, общий словарь английского языка) такая сортировка большого смысла не имеет в силу использования механизма мутаций, и более эффективной является сортировка по длине слова (более короткие – сверху).
Существует несколько типов словарей, которые можно разбить на следующие группы.
Мутации с разными словарями нужны не всегда. В частности, мутации несут весьма небольшую дополнительную пользу, если их использовать при атаке по часто используемым паролям из top-100, top-10000 и так далее. В то же время мутации более чем полезны при использовании тематических (специализированных) словарей и словарей общеупотребимых слов (например, словарь английского языка).
Мы различаем два типа мутаций.
Первый тип мутаций: основные. Их используют практически все пользователи. Например, регистр, добавить цифру в конец пароля, и так далее. Именно этот тип мутаций рекомендуется для «холодных» атак, когда о пользователе ничего не известно.
Второй тип мутаций: специализированные. Используются специфическими группами пользователей. Специализированные мутации не имеет смысла использовать, если нет исходных данных о пользователе. Используются в атаках, если анализ паролей пользователя показывает, что он опирается на словарь соответствующего сегмента.
Конечно же, можно! Однако перед подключением словаря к Elcomsoft Distributed Password Recovery необходимо убедиться, что файл сохранён в поддерживаемом формате, вхождения отсортированы в корректном порядке, приведены к нижнему регистру и очищены от дубликатов. Рекомендуем следующие варианты.
Для словарей общего назначения (словари естественных языков), а также для специализированных словарей (например, словари со списком имён, названий географических пунктов и т.п.):
Для словарей, составленных из утечек реальных паролей (особенно это касается паролей пользователя, на данные которого проводится атака), действуют другие правила.
Что должно быть в собственном словаре? Имена собственные, фамилии (относящиеся к пользователю); даты в различных видах отображения; номера телефонов; номера документов (паспорта, водительское удостоверение и т.п.); пин-коды от любых карт, устройств; любые другие персональные данные; корневые (осмысленные или повторяющиеся, приведённые к нижнему регистру) фрагменты найденных паролей; клички домашних животных.
Сортировать такие словари следует по длине слова (короткие слова – сверху).
Все слова, которые заносятся в словарь, нормализуются (переводятся в нижний регистр). Это делается для более эффективной работы мутаций.
Оптимальный размер собственного словаря – порядка 10,000 вхождений, однако размер словаря имеет смысл коррелировать с объёмом мутаций и скоростью перебора для конкретного файла или формата: чрезмерно большой словарь и сильные мутации нерационально увеличат время атаки.
В Elcomsoft Distributed Password Recovery предусмотрена возможность комбинирования слова из двух словарей: пароли будут составляться из комбинации двух слов, каждое из которых берётся из собственного словаря. В качестве двух словарей можно использовать разные словари или один и тот же словарь; в этом случае слова будут комбинироваться из него. Общее количество комбинаций растёт в геометрической прогрессии, и вычисляется как произведение количества слов в первом словаре на количество слов во втором.
Словари для Elcomsoft Distributed Password Recovery должны сохраняться в текстовом формате с расширением .dic; формат – Unicode LE (little-endian). Сортировать словари следует по длине слова (короткие слова – сверху); это делается для более эффективной работы механизма мутаций. Дубликаты следует удалить, а слова привести к нижнему регистру. Кодировки UTF-8 и ANSI не поддерживаются.
Для словарей, составленных из паролей самого пользователя, делается исключение: в них предлагается сохранять пароли пользователя в оригинальном виде, не приведённом к нижнему регистру. Можно создать дополнительный словарь, в котором будет список паролей в нижнем регистре — для атаки с мутациями; однако лучше потратить время на вычленение корней — осмысленных или повторяющихся фрагментов паролей.
Производительное решение для восстановление паролей к десяткам форматов файлов, документов, ключей и сертификатов. Аппаратное ускорение с использованием потребительских видеокарт и лёгкое масштабирование до 10,000 рабочих станций делают решение Элкомсофт оптимальным для исследовательских лабораторий и государственных агентств.
Официальная страница Elcomsoft Distributed Password Recovery »