Факторы, снижающие надёжность пароля¶
Ненадёжный пароль — это пароль, который с высокой вероятностью может быть подобран или взломан автоматизированными средствами. Надёжность пароля определяется энтропией (запасом неопределённости) секретной строки: чем больше возможных комбинаций и чем равномернее они распределены, тем сложнее подбор. Ниже перечислены элементы и свойства пароля, которые снижают его стойкость к атакам.
¶Основные слабости пароля
¶Короткая длина
Длина — фактор, сильнее всего влияющий на стойкость. Каждый дополнительный символ линейно увеличивает пространство перебора, а при использовании алфавита из 95 печатных символов каждый лишний символ множит число комбинаций примерно на 95. Практическое правило, рекомендуемое NIST (Национальный институт стандартов и технологий США), — не менее 8 символов, а для важных аккаунтов — 12 и более. Пароли длиной до 6–7 символов перебираются брутфорсом за секунды даже на бытовом оборудовании.
¶Словарные слова и известные фразы
Пароли, состоящие из слов русского или английского языка, фильмов, песен, имён или девизов спортивных команд, подбираются словарными атаками. Атакующий перебирает не все возможные строки, а только слова из готовых словарей (например, RockYou, содержащего миллионы реальных паролей, утёкших из интернета). Пароль «футбол1998» или «любовь» перебирается за доли секунды.
¶Простые шаблоны и последовательности
Распространённые шаблоны, которые алгоритмы подбора проверяют в первую очередь:
- последовательности клавиш на клавиатуре:
qwerty,йцукен,123456,asdfgh; - арифметические прогрессии:
abc,cba,1111,2222; - повторяющиеся символы:
aaaaaa,ababab; - палиндромы и зеркальные конструкции:
madam,12321; - распространённые слова с заменой:
p@ssw0rd,l0gin,пароль123.
Замена букв на похожие символы (@ вместо a, 0 вместо o, ! вместо l) давно учитывается словарями атакующих и почти не повышает стойкость.
¶Личная информация
Даты рождения, имена родственников, клички животных, номера телефонов, адреса, названия городов и любимых брендов — всё это атакующий может собрать из открытых источников, социальных сетей или утечек персональных данных. Пароль, построенный на такой информации, подбирается персонализированной атакой (targeted attack) за считанные минуты.
¶Малый алфавит
Пароль той же длины, но из ограниченного набора символов, имеет экспоненциально меньше комбинаций. Например, пароль из 8 цифр имеет лишь 10⁸ = 100 млн вариантов, тогда как пароль из 8 символов на полном наборе — около 6,6×10¹⁵. Пароли, состоящие только из цифр (PIN-коды) или только из строчных букв, считаются заведомо слабыми.
¶Использование одного пароля в нескольких сервисах
Повторное использование пароля — не свойство самой строки, а поведенческий фактор, резко снижающий безопасность. При утечке базы данных одного сервиса атакующий проверяет утёкшие пароли на других сайтах (атака credential stuffing). По данным исследований, значительная доля пользователей использует один и тот же пароль для нескольких аккаунтов.
¶Количественная оценка
Примерное время перебора пароля зависит от длины и алфавита. Для офлайн-атаки по утёкшей хеш-базе на современном GPU (порядка 10¹⁰ хешей в секунду для медленных функций типа bcrypt с высоким cost-фактором):
| Пароль | Алфавит | Время перебора |
|---|---|---|
| 6 цифр | 10 | доли секунды |
| 8 строчных букв | 26 | секунды |
| 8 символов (полный набор) | 95 | часы |
| 12 символов (полный набор) | 95 | десятки лет |
| 4 случайных слова (24 знака) | словарь | практически не поддаётся |
¶Рекомендации по повышению надёжности
- использовать пароли длиной 12 и более символов;
- сочетать разные классы символов, но не как замену длине;
- формировать пароль из 4–5 случайных слов (методика passphrase), например «китовый-мост-жёлтый-снег-7»;
- использовать менеджер паролей для генерации и хранения уникальных паролей;
- включать двухфакторную аутентификацию, которая снижает последствия утечки пароля;
- проверять пароли по базам утечек (сервисы типа Have I Been Pwned).
¶Источники
- NIST Special Publication 800-63B, Digital Identity Guidelines
- RockYou password leak analysis (Imperva, 2010)
- ГОСТ Р 57580.1-2017 «Безопасность финансовых (банковских) операций»
- Verizon Data Breach Investigations Report (ежегодные выпуски)
