Почему пароли взламывают

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

Перебор (брутфорс) — это автоматическая попытка подставить тысячи и миллионы вариантов пароля, пока один не подойдёт.

Главное заблуждение

Многие думают: «Мой пароль никому не нужен, я же не банк». Но взломщику не нужен лично ты. Программы атакуют сразу миллионы аккаунтов автоматически. Если твой пароль слабый, ты просто попадёшь в общую сеть — как рыба, которую выловили вместе с косяком.

Четыре способа, которыми ломают пароли

1. Прямой перебор

Компьютер пробует все комбинации подряд: aaaa, aaab, aaac и так далее. Короткий пароль из цифр перебирается за секунды. Чем длиннее пароль и чем больше в нём разных символов, тем больше времени нужно — буквально на миллиарды лет.

2. Словарная атака

Вместо всех комбинаций программа берёт готовый список популярных паролей и слов: 123456, qwerty, password, iloveyou, имена, даты. Такие пароли подбираются мгновенно, даже если они длинные.

3. Утечки баз данных

Сайты иногда взламывают, и тогда в руки злоумышленников попадают пароли миллионов людей сразу. Об этом — отдельный урок в конце раздела.

4. Переиспользование

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

Что делает перебор бессмысленным

Стойкость пароля растёт с каждым добавленным символом не линейно, а как снежный ком. Сравним примерное время перебора:

ПарольПримерное время взлома
1234мгновенно
qwertyмгновенно (в словаре)
Tr0ub4dorчасы
правильный-конь-батарейка-скрепкастолетия

Парадокс: длинная фраза из обычных слов часто надёжнее короткого «сложного» пароля с символами. Потому что длина важнее экзотики.

Маленькое демо: сколько вариантов нужно перебрать

Запусти этот код, чтобы увидеть, как растёт число комбинаций с длиной пароля. Это и есть причина, по которой длина так важна.

def combos(alphabet_size, length):
    return alphabet_size ** length

# 26 строчных букв + 26 заглавных + 10 цифр = 62 символа
alphabet = 62

for length in [4, 8, 12, 16]:
    total = combos(alphabet, length)
    print(f"Длина {length:>2}: {total:,} комбинаций")

Вывод:

Длина  4: 14,776,336 комбинаций
Длина  8: 218,340,105,584,896 комбинаций
Длина 12: 3,226,266,762,397,899,821,056 комбинаций
Длина 16: 47,672,401,706,823,533,450,263,330,816 комбинаций

Видишь? Каждый добавленный символ умножает число вариантов в десятки раз. Пароль из 16 символов перебрать практически невозможно.

Запомни

  • Тебя атакуют автоматически, заодно с миллионами других — это не про «кому я нужен».
  • Длина важнее «сложности». Длинная фраза побеждает короткий ребус.
  • Один пароль на все сайты — самая опасная привычка.
Проверьте себя
1. Почему длинная фраза из обычных слов часто надёжнее короткого пароля с символами?
AПотому что фразы легче запомнить
BПотому что число комбинаций растёт с длиной как степень, и перебор становится невозможным
CПотому что обычные слова не содержат цифр
DПотому что сайты любят длинные пароли
2. Какая привычка делает утечку даже на мелком форуме опасной для всех твоих аккаунтов?
AИспользование заглавных букв
BСлишком частая смена пароля
CПереиспользование одного пароля на разных сайтах
DХранение пароля в голове
Поддержать проект