Как создать слабый пароль или типовые шаблоны в паролях и как с ними бороться

15 июня 2024

Публичные утечки и результаты атак подбора паролей дали достаточный объем данных (сотни миллионов паролей) для построения достоверной статистики об их характеристиках и используемых шаблонах.

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

Все шаблоны, используемые при создании слабых паролей можно разбить на следующие категории:

  • "словарные" пароли.
  • последовательные символы.
  • повтор символов.
  • повтор слов.
  • персональная информация в пароле.
  • шаблонная структура пароля.

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

Словарные пароли

Словарные пароли - это слова, фразы наиболее часто используемые людьми в паролях. На основе паролей из публичных утечек формируются словари - списки наиболее часто используемых слов, последовательностей символов. Эти словари потом используются в атаках подбора паролей. В случае целенаправленной атаки словари формируются злоумышленниками под конкретный объект атаки на основе OSINT.

Источники наполнения словарей:

  • пароли из публичных утечек. Особенный интерес представляют утечки содержащие пароли в открытом виде.
  • украденные пароли с помощью стилеров (malware).
  • успешно подобранные пароли.

Повтор символов

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

  • Pp11111111111111!
  • 4AAAAaaaaAAAA$

Повтор слов

Несмотря на то, такой пароль формально длинный, он может использовать любой шаблон слабого пароля. Например:

  • P@ssw0rd123Passw0rd123

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

Последовательность символов

Шаблон основан, на использовании естественных подсказок при вспоминании пароля. Наиболее часто используют:

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

Примеры таких паролей:

  • 1qaz2wsx!
  • qazxcvb
  • 123456

Персональная информация

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

Данные компании

  • фамилии и имена сотрудников.
  • все варианты названий компании.
  • слова, характерные для конкретной компании или сферы деятельности.

Пример пароля (может использоваться вместе с шаблоной структурой и персональной информацией): Strongpass2024!

Шаблонная структура пароля

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

Примеры:

  • October2024!
  • Strongpass2024%

Как противодействовать использованию шаблонов

Шаблон

Противодействие

"Словарный" пароль

  • используйте встроенную в Strongpass базу паролей из публичных утечек

  • составьте собственный словарь запрещенных слов. Сохраните словарь в файле wordlist.txt

Повтор символов

Укажите в файле wordlist.txt какие символы и какое количество повторов символов вы хотите запретить. Например, "aaa" - запретит использование трех и более повторов символа "а". В файле нужно указать в явном виде все варианты, которые вы хотите запретить.

Последовательные символы

Укажите в файле wordlist.txt какие последовательности вы хотите запретить. Например, "qaz" - запретит использование букв на соседних клавишах одного из вертикальных рядов клавиатуры. В файле нужно указать в явном виде все варианты, которые вы хотите запретить.

Персональная информация в пароле

Составьте собственный словарь запрещенных слов состоящий как минимум из названия компании, фамилий и имен всех сотрудников. Сохраните словарь в файле wordlist.txt

Меры, повышающие надежность пароля

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

Рекомендуется:

  • регулярно проводить обучение сотрудников ( Создание легко запоминаемых и надежных паролей ) методам создания надежных паролей. Идеально провести обучение во время онбординга сотрудника, а далее напоминать рекомендации при каждой регламентной смене пароля, а так же если пароль или данные пользователя были обнаружены в публичных утечках.
  • технически ограничить возможности пользователя по созданию слабых паролей.
  • установить с помощью групповых политик минимальную длина пароля и количество типов символов через групповые политики. В случае использования групповых политик Active Directory дополнительно в Strongpass установить требование Сложность пароля.
  • составить и регулярно обновлять список фамилий, имен сотрудников компании и вносить их в словарь Strongpass.
  • решить какое количество повторяющихся символов вы готовы разрешить в пароле (например три или четыре повторяющихся единицы). Внести в Strongpass количество допустимых повторов символов.
  • решить какие последовательности символов вы готовы разрешить, например, "abc" можно, а "abcd" нельзя. Внести запрещенные последовательности в Strongpass.
  • периодически выгружать хэши паролей и проводить подбор паролей с помощью hashcat.