Взлом паролей: методы и защита¶
Взлом пароля — это процесс получения несанкционированного доступа к защищённой учётной записи или системе путём подбора, перехвата или обхода механизма аутентификации. Методы взлома паролей изучаются в рамках информационной безопасности и криптографии; знание атакующих техник необходимо администраторам и разработчикам для построения устойчивых систем защиты.
¶Классификация атак на пароли
Атаки на пароли делятся на две большие категории: активные (offline), проводимые на копию хеша пароля, и пассивные (online), выполняемые непосредственно на сервисе аутентификации.
¶Словарная атака
Словарная атака (dictionary attack) основана на переборе заранее подготовленного списка наиболее распространённых паролей и вариаций слов из словаря. Атакующий применяет к каждому кандидату ту же функцию хеширования, что и сервер, и сравнивает результат с сохранённым хешем. Эффективность метода резко возрастает, если пользователь использует бытовые слова, имена, даты или простые замены символов (например, «пароль123» вместо «пароль»).
¶Перебор (брутфорк)
Брутфорк-атака заключается в последовательной проверке всех возможных комбинаций заданного алфавита и длины. Полный перебор растёт экспоненциально: для пароля длиной 8 символов из набора из 62 символов (латинские буквы в двух регистрах плюс цифры) пространство составляет около 2,18×10¹⁴ вариантов. На практике брутфорк по сети почти всегда неосуществим из-за ограничений скорости соединения и защитных механизмов сервера, однако на копии хеша при отсутствии адаптивных алгоритмов он может быть выполнен на графическом процессоре за считанные часы.
¶Атака по маскам
Атака по маскам (mask attack) — разновидность перебора, при которой атакующий задаёт шаблон пароля: длину, позиции цифр, спецсимволов и заглавных букв. Метод эффективен, если известны привычки пользователя или корпоративная политика требует определённого формата (например, «Буква + 6 цифр + знак !»).
¶Атака на основе радужных таблиц
Радужные таблицы — это предвычисленные таблицы соответствий между хешами и исходными паролями. Использование таблиц позволяет находить пароль за время, близкое к константному, независимо от сложности пароля. Для защиты от радужных таблиц применяется соль — уникальный случайный фрагмент, добавляемый к паролю перед хешированием.
¶Перехват и фишинг
Помимо перебора хешей, распространены атаки на канал передачи: перехват пароля в открытом виде при отсутствии TLS, подмена страницы аутентификации (фишинг), вредоносные клавиатурные шпионы (keylogger) и перехват одноразовых кодов. Эти методы не требуют взлома криптографии и часто оказываются успешнее криптоанализа.
¶Криптографическая стойкость хеширования
Скорость взлома определяется в первую очередь алгоритмом хеширования, используемым для хранения паролей.
| Алгоритм | Особенности | Уязвимость |
|---|---|---|
| MD5 | Быстрый, 128-битный выход | Практически взломан, высокая скорость перебора |
| SHA-1 | 168-битная стойкость | Рекомендуется отказаться от использования для паролей |
| bcrypt | Намеренно медленный, настраиваемый cost-фактор | Стойкий к аппаратному перебору |
| PBKDF2 | Итеративный, с настраиваемым числом раундов | Стойкий при корректных параметрах |
| Argon2 | Победитель конкурса Password Hashing Competition (2015) | Устойчив к GPU- и ASIC-атакам |
Использование быстрых хешей (MD5, SHA-1, SHA-256 без итераций) без соли делает хранение паролей критически уязвимым: при утечке базы данных злоумышленник может проверить миллиарды кандидатов в секунду на одном видеокарте.
¶Средства автоматизации
Для тестирования стойкости паролей используются специализированные инструменты: John the Ripper, Hashcat, Hydra, Ophcrack. Первые два работают с хешами в офлайн-режиме, остальные — с сетевыми сервисами. Инструменты поддерживают различные режимы: словарные атаки, перебор, комбинированные атаки, а также джентльменские атаки с учётом правил мутации (правила Хашиката). Использование подобных инструментов допустимо только на собственных системах или с явного разрешения владельца (пентест).
¶Методы защиты
Основные меры, затрудняющие взлом пароля:
- Длина пароля. Длина 12 и более символов экспоненциально увеличивает пространство перебора.
- Сложность и энтропия. Случайно сгенерированный пароль из 4 классов символов значительно устойчивее осмысленной фразы, хотя длинные парольные фразы (passphrases) из 5–7 случайных слов также обладают высокой энтропией.
- Адаптивное хеширование. bcrypt, Argon2 и PBKDF2 с высоким числом итераций замедляют офлайн-перебор в тысячи раз.
- Соль. Уникальная соль для каждого пользователя предотвращает использование радужных таблиц и массовое взламывание одинаковых хешей.
- Ограничение попыток и блокировка. Серверное ограничение числа попыток входа, CAPTCHA и экспоненциальная задержка нейтрализуют онлайн-перебор.
- Многофакторная аутентификация. Даже при утечке пароля второй фактор (SMS, аппаратный ключ, приложение-аутентификатор) блокирует доступ.
- Менеджеры паролей. Генерация и хранение уникальных случайных паролей для каждого сервиса исключает переиспользование.
¶Правовые аспекты в России
Несанкционированный доступ к компьютерной информации, включая взлом паролей, квалифицируется по статье 272 Уголовного кодекса Российской Федерации и наказывается штрафом, обязательными работами или лишением свободы до семи лет (до десяти лет при совершении группой лиц). Инструменты взлома паролей не запрещены к распространению, но их применение вне рамок легального тестирования на безопасность образует состав преступления.
¶Применение в легитимной практике
Проверка стойкости паролей проводится в рамках аудита безопасности: специалисты получают хеш-дамп (обычно с разрешения заказчика) и оценивают, сколько паролей будут скомпрометированы при реальной утечке. Результаты используются для корректировки политики паролей, внедрения адаптивных алгоритмов и обучения пользователей.
Источники:
- Нист-специализация SP 800-63B «Digital Identity Guidelines» (NIST)
- Оуэнс Дж., Мате М., Меркель Д. «Password Storage Cheat Sheet», OWASP
- Пёрсин Дж. «Serious Cryptography», No Starch Press, 2017
- Проект Hashcat: документация и технические статьи
- Уголовный кодекс Российской Федерации, статья 272
