На главную/Технологии/Brute Force и перебор паролей: как работают атаки и как защититься
Технологии

Brute Force и перебор паролей: как работают атаки и как защититься

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

30 сент. 2026 г.
12 мин
Brute Force и перебор паролей: как работают атаки и как защититься

Brute Force - один из самых простых способов подбора пароля: программа автоматически проверяет множество вариантов, пока не найдёт правильный. Такой подход называют перебором паролей, потому что никаких сложных уязвимостей для него не требуется - достаточно иметь возможность многократно проверять разные комбинации.

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

Что такое Brute Force и почему его называют перебором паролей

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

Главное преимущество такого подхода для атакующего - простота. Алгоритму не обязательно знать структуру пароля или использовать уязвимость системы. Если существует конечное количество вариантов и есть возможность достаточно долго их проверять, теоретически правильная комбинация рано или поздно будет найдена.

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

Как работает полный перебор

Представим пароль из четырёх цифр. Для каждой позиции можно выбрать одну из десяти цифр от 0 до 9, поэтому существует 10 000 комбинаций - от 0000 до 9999. Компьютер может последовательно проверить их все.

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

Именно поэтому длина пароля играет столь важную роль. Добавление каждого нового символа не просто немного увеличивает количество вариантов, а умножает его на размер используемого набора символов.

Например, если для каждой позиции доступно 62 символа - латинские буквы верхнего и нижнего регистра вместе с цифрами, - пароль длиной 8 символов имеет уже более 218 триллионов возможных комбинаций.

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

Brute Force, словарная атака и подбор популярных паролей

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

Словарная атака проверяет заранее подготовленный список слов и паролей. В него могут входить распространённые комбинации вроде password, qwerty, последовательности цифр и другие часто используемые варианты.

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

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

Как происходит Brute Force-атака на практике

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

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

Онлайн-перебор через форму входа

Онлайн Brute Force происходит непосредственно через страницу авторизации сайта, приложения или другого сервиса. Для каждой попытки система получает логин и предполагаемый пароль, сравнивает их с сохранёнными данными и возвращает результат.

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

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

Дополнительно современные системы анализируют источник запросов. Если с одного IP-адреса или для одного аккаунта постоянно поступают неправильные пароли, такая активность заметно отличается от поведения обычного пользователя.

Поэтому классический полный перебор через форму авторизации сегодня редко оказывается эффективным против нормально настроенного сервиса. Основной риск возникает у систем без ограничения попыток или с очень слабыми паролями пользователей.

Офлайн-перебор хешей паролей

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

Когда пользователь вводит пароль, система вычисляет его хеш и сравнивает полученное значение с сохранённым. Если они совпадают, пароль считается правильным.

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

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

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

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

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

От чего зависит скорость перебора пароля

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

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

Длина пароля и количество возможных комбинаций

Главный фактор - длина пароля. Если для каждой позиции можно использовать N различных символов, а длина составляет L символов, количество возможных комбинаций можно представить как N^L.

Например, для пароля только из десятичных цифр существует 10 вариантов на каждую позицию. Четырёхзначный код даёт 10 000 комбинаций, шестизначный - уже 1 миллион, а восьмизначный - 100 миллионов.

При использовании букв и цифр пространство поиска растёт ещё быстрее. Если доступно 62 символа, то для восьми позиций существует более 218 триллионов комбинаций.

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

Алфавит, цифры и специальные символы

Расширение набора допустимых символов тоже увеличивает количество комбинаций. Если пароль состоит только из строчных латинских букв, на каждой позиции может находиться один из 26 символов. При добавлении заглавных букв количество вариантов возрастает до 52, а с цифрами - до 62.

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

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

Почему хеширование замедляет перебор

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

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

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

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

Таким образом, стойкость к перебору формируется сразу из двух компонентов: пользователь выбирает достаточно длинный и непредсказуемый пароль, а система делает проверку каждой комбинации вычислительно дорогой. Чем сильнее оба уровня, тем менее практичным становится Brute Force.

Почему современные системы защищены от Brute Force

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

Главная задача таких механизмов - лишить Brute Force его основного преимущества: возможности быстро проверить огромное количество вариантов.

Ограничение числа попыток и задержки

Самый очевидный способ защиты - ограничить количество попыток входа. Если после нескольких неправильных паролей сервис вводит паузу, скорость перебора резко падает.

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

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

Другой вариант - временная блокировка аккаунта, IP-адреса или конкретного источника запросов. Однако жёсткая блокировка используется осторожно: иначе злоумышленник мог бы намеренно вводить неправильные пароли и тем самым блокировать чужие аккаунты.

Поэтому современные системы часто объединяют сразу несколько признаков: количество попыток, частоту запросов, IP-адрес, характеристики устройства и историю предыдущих входов.

CAPTCHA и анализ поведения

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

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

Более современные системы могут вообще не показывать пользователю явную CAPTCHA. Вместо этого сервис анализирует поведение: частоту запросов, движения между страницами, параметры браузера, устройство и другие признаки.

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

Двухфакторная аутентификация

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

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

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

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

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

Как защититься от перебора паролей

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

Использовать длинные и уникальные пароли

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

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

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

Подключить второй фактор

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

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

При наличии выбора предпочтительнее использовать приложение-аутентификатор, аппаратный ключ безопасности или подтверждение на доверенном устройстве. SMS-коды тоже создают дополнительный барьер, но имеют собственные ограничения и риски.

Почему Passkeys практически убирают проблему перебора

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

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

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

Подробнее устройство такого входа мы разбирали в статье "Системы безопасности без паролей: что такое passwordless-аутентификация и как работают Passkeys, FIDO2 и WebAuthn".

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

Заключение

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

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

Теги:

brute force
подбор паролей
безопасность
хеширование
двухфакторная аутентификация
passkeys
защита аккаунта
онлайн безопасность

Похожие статьи