Как устроена двухфакторная аутентификация

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

Даже если пароль утёк, у атакующего нет ключа. А значит, взломать аккаунт в лоб становится гораздо сложнее. Но у любого инструмента есть слабые места, и 2FA — не исключение.

Как работают разные типы 2FA Смс-коды — самый распространённый тип. Понятен пользователям, не требует никаких приложений. Но у него есть уязвимость: код передаётся через канал, который можно перехватить. Самый известный — SIM Swapping, когда атакующий убеждает оператора перевыпустить симку на его данные. После этого все смс жертвы идут к нему.

Приложения-генераторы кодов (например, Google Authenticator, Microsoft Authenticator) работают иначе. Они генерируют код локально на устройстве, не через сеть. Это надёжнее, потому что перехватить нечего. Но человек всё равно уязвим для фишинга: если он вводит код на поддельной странице, атакующий получает и код, и пароль.

Аппаратные ключи (FIDO2, YubiKey) — самый надёжный вариант. Ключ физически привязан к домену и не отдаст данные поддельному сайту. Но такой формат требует отдельного устройства и пока редко используется в потребительских продуктах.

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

Как атакуют двухфакторную аутентификацию Фишинговые прокси

Атакующий создаёт поддельную страницу, которая в реальном времени проксирует ввод пользователя на настоящий сайт. Пользователь вводит логин и 2FA-код, атакующий передаёт их вперёд и получает активную сессию. Всё происходит за секунды, пока код ещё действителен.

MFA fatigue

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

SIM Swapping

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

Обход логики приложения

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

2FA — это не гарантия, а существенное усложнение атаки. Слабое место чаще не в технологии, а в реализации или в поведении самого пользователя.

Что повышает безопасность

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

Для компании важно ещё и обучение пользователей.

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