Восстановление паролей: какие бывают словари

1 марта, 2022, Oleg Afonin
Рубрика: «Разное»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Словарные атаки – одни из наиболее эффективных. Одним из ключевых элементов таких атак являются словари – списки слов, из которых по заданным правилам будут формироваться возможные пароли. Как выбор, так и качество исходного словаря – важнейшие факторы, влияющие на эффективность атаки. В большинстве руководств темы словарей поднимаются вскользь; упоминается необходимость использования качественных словарей. Но что из себя представляет «качественный» словарь, чем он отличается от «некачественного» и можно ли увеличить эффективность работы словаря? В этой статьй в форме вопросов и ответов мы даём конкретные рекомендации по использованию и составлению словарей для максимально эффективных словарных атак.

Что такое и для чего нужны словарные атаки?

Самой простой, самой полной, самой быстрой по скорости перебора — но и с огромным отрывом самой длительной атакой из всех является атака методом полного перебора, также известная как «атака методом грубой силы» (калька с английского «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” и им подобные, в которых используются реальные пароли пользователей (из утечек, извлечённые из компьютера пользователя и т.п.) Эти словари имеет смысл использовать для всех видов атак, включая «холодные».«Холодной» является такая атака, в которой эксперту ничего не известно о человеке, который установил пароль. Классический пример такой атаки — набор зашифрованных файлов, о которых не известно даже то, принадлежат ли они одному или нескольким разным пользователям. Подробнее о том, что такое «холодная» атака — читайте в статье Холодная атака: какой пароль взломать первым?
  • Словари, разбитые по группам применения (узкосегментированные, например – словари «хакерских» терминов, список названия географических пунктов или словари имён из какого-либо языка). Такие словари нельзя использовать для «холодных» атак, если нет исходных данных о пользователе. Используются в атаках, если анализ паролей пользователя показывает, что он опирается на словарь соответствующего сегмента.
  • Общеупотребимые словари для различных языков. Например, сюда входят списки слов английского и русского языков, причём последний представлен как в написании символами кириллицы, так и в транслитерации на латиницу. Имеет смысл и использование национальных словарей. Общеупотребимые словари имеет смысл использовать для всех видов атак.

Всегда ли нужны мутации?

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

Мы различаем два типа мутаций.

Первый тип мутаций: основные. Их используют практически все пользователи. Например, регистр, добавить цифру в конец пароля, и так далее. Именно этот тип мутаций рекомендуется для «холодных» атак, когда о пользователе ничего не известно.

Второй тип мутаций: специализированные. Используются специфическими группами пользователей. Специализированные мутации не имеет смысла использовать, если нет исходных данных о пользователе. Используются в атаках, если анализ паролей пользователя показывает, что он опирается на словарь соответствующего сегмента.

Так всё-таки, можно ли использовать словари из интернета?

Конечно же, можно! Однако перед подключением словаря к Elcomsoft Distributed Password Recovery необходимо убедиться, что файл сохранён в поддерживаемом формате, вхождения отсортированы в корректном порядке, приведены к нижнему регистру и очищены от дубликатов. Рекомендуем следующие варианты.

Для словарей общего назначения (словари естественных языков), а также для специализированных словарей (например, словари со списком имён, названий географических пунктов и т.п.):

  • Сохранить файл словаря в текстовом формате с расширением .dic; формат – Unicode LE (little-endian)
  • Все вхождения привести к нижнему регистру
  • Отсортировать словарь по длине слов: вверху — самые короткие слова (из одного символа, двух и т.д.), ниже — более длинные
  • Удалить дубликаты

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

  • Сохранить файл словаря в текстовом формате с расширением .dic; формат – Unicode LE (little-endian)
  • Регистр слов оставляется оригинальным (допустимо создать копию словаря, в котором все вхождения приведены к нижнему регистру)
  • Отсортировать словарь по частоте: чем чаще встречается тот или иной пароль (повторимся, это относится к словарям, составленным из утечек реальных паролей), тем выше он должен быть в словаре
  • Удалить дубликаты

Как сформировать собственный словарь?

Что должно быть в собственном словаре? Имена собственные, фамилии (относящиеся к пользователю); даты в различных видах отображения; номера телефонов; номера документов (паспорта, водительское удостоверение и т.п.); пин-коды от любых карт, устройств; любые другие персональные данные; корневые (осмысленные или повторяющиеся, приведённые к нижнему регистру) фрагменты найденных паролей; клички домашних животных.

Сортировать такие словари следует по длине слова (короткие слова – сверху).

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

Оптимальный размер собственного словаря – порядка 10,000 вхождений, однако размер словаря имеет смысл коррелировать с объёмом мутаций и скоростью перебора для конкретного файла или формата: чрезмерно большой словарь и сильные мутации нерационально увеличат время атаки.

В Elcomsoft Distributed Password Recovery предусмотрена возможность комбинирования слова из двух словарей: пароли будут составляться из комбинации двух слов, каждое из которых берётся из собственного словаря. В качестве двух словарей можно использовать разные словари или один и тот же словарь; в этом случае слова будут комбинироваться из него. Общее количество комбинаций растёт в геометрической прогрессии, и вычисляется как произведение количества слов в первом словаре на количество слов во втором.

Технические особенности

Словари для Elcomsoft Distributed Password Recovery должны сохраняться в текстовом формате с расширением .dic; формат – Unicode LE (little-endian). Сортировать словари следует по длине слова (короткие слова – сверху); это делается для более эффективной работы механизма мутаций. Дубликаты следует удалить, а слова привести к нижнему регистру. Кодировки UTF-8 и ANSI не поддерживаются.

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


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft Distributed Password Recovery

Производительное решение для восстановление паролей к десяткам форматов файлов, документов, ключей и сертификатов. Аппаратное ускорение с использованием потребительских видеокарт и лёгкое масштабирование до 10,000 рабочих станций делают решение Элкомсофт оптимальным для исследовательских лабораторий и государственных агентств.

Официальная страница Elcomsoft Distributed Password Recovery »

НАШИ НОВОСТИ