Битлента
Словарь терминов3 мин чтения·

Brute force: как работает подбор паролей и чем от него защититься

Что такое brute force, чем полный перебор отличается от подбора по словарю, почему длина пароля важнее сложности и какие меры останавливают такие попытки.

Перебор как арифметика

Brute force, «грубая сила», это способ угадывания пароля перебором вариантов, пока не найдётся подходящий. В самом чистом виде программа пробует все комбинации подряд: сначала короткие, потом длиннее. Никакой хитрости здесь нет, и весь вопрос сводится к арифметике: сколько вариантов нужно перебрать и как быстро это можно делать.

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

Онлайн и офлайн: две разные ситуации

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

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

Словари и маски: перебор с умом

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

Отсюда следует вывод, который многие упускают: пароль «Sunshine2024!» формально содержит все типы символов, но угадывается быстро, потому что описывается шаблоном. Стойкость даёт не формальная сложность, а непредсказуемость и длина. Об этом подробнее рассказывает страница про парольную фразу и про энтропию пароля.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Что останавливает перебор

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

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

Как заметить подбор у себя

Если вы администрируете собственный сервер, журналы входа покажут признаки: сотни неудачных попыток с одного адреса или с множества адресов подряд, часто на стандартные имена вроде admin. Для SSH такие записи обычно лежат в журнале аутентификации, и их наличие само по себе нормально: интернет-сканеры проверяют доступные серверы постоянно.

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

Что учитывают при хранении паролей

Стойкость к офлайн-переборам зависит и от того, как сервис хранит пароли. Правильная схема не записывает пароль как есть и не ограничивается быстрой хэш-функцией. Используются специальные алгоритмы, намеренно требующие времени и памяти, например bcrypt, scrypt или Argon2, а к каждому паролю добавляется уникальная случайная соль. Соль делает бесполезными заранее подготовленные таблицы и заставляет перебирать каждый пароль отдельно.

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

На практике полезно включить уведомления о неудачных попытках входа и о входах с новых устройств. Если письма о подозрительной активности приходят регулярно, это повод проверить, не повторяется ли пароль где-то ещё, и усилить его.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
паролиbrute forceаутентификациякибербезопасность

Часто задаваемые вопросы

Читайте также