Чем опасна
- Захват аккаунтов клиентов: бонусы, сохранённые адреса, история заказов, иногда привязанные карты.
- Репутационный ущерб: клиенты считают, что взломали вас, хотя утечка была в другом сервисе.
- Нагрузка: проверка паролей — дорогая операция, особенно с современными алгоритмами хеширования.
Чем отличается от перебора паролей
При переборе паролей бот пробует много паролей к одной учётной записи. При подстановке — по одному-два пароля к тысячам разных учётных записей, причём пароли настоящие, только украдены в другом сервисе. Поэтому лимит попыток на аккаунт почти не срабатывает: на каждый аккаунт приходится одна попытка, и часть из них успешна.
Как распознать
- Доля неудачных входов резко выросла, при этом почти каждая попытка — с новой учётной записью.
- Много попыток с несуществующими логинами: в чужой базе есть адреса, которые у вас не зарегистрированы.
- Попытки идут через резидентные прокси с разных адресов, но с одинаковым отпечатком клиента.
- Запросы приходят прямо на адрес обработчика входа или на метод API, минуя страницу с формой: нет загрузки стилей, скриптов и картинок.
- Успешные входы сразу сопровождаются просмотром бонусного счёта, сохранённых адресов или сменой электронной почты.
Атака или обычный трафик
Всплески входов бывают и легитимными: после рассылки, при запуске акции или когда мобильное приложение после обновления заново авторизует всех пользователей. В этих случаях доля неудачных попыток почти не меняется, а запросы идут от ваших обычных клиентов — браузеров и приложения с ожидаемыми заголовками. При подстановке растёт именно доля ошибок и доля несуществующих логинов.
Защита
- Общий лимит неудачных входов на путь и включение проверки браузера при всплеске.
- Лимиты по отпечатку клиента, а не только по адресу.
- Защита метода входа в API — мобильное приложение часто проверяет пароль через отдельный адрес, который забывают ограничить.
- Уведомление клиента о входе с нового устройства.
- Проверка пароля при регистрации и смене по базам утёкших паролей.
- Двухфакторная аутентификация хотя бы как опция для клиентов.
Как эти меры собираются на уровне фильтра — на странице защиты формы входа. Для разбора уже случившейся атаки нужны журналы с отпечатками клиентов: по ним видно, сколько попыток было с одной программы.
Вопросы и ответы
Как понять, что аккаунты уже захвачены?
Признаки — входы с новых устройств и сетей, смена контактных данных, нетипичные заказы или списание бонусов. При подозрении стоит принудительно сбросить пароли затронутых аккаунтов.
Должны ли мы сообщать клиентам об атаке?
Если аккаунты были захвачены, клиентов стоит предупредить и попросить сменить пароль. Если при этом пострадали персональные данные, оцените с юристом обязанности по уведомлению — см. статью о 152-ФЗ и защите от DDoS.
Почему не помогает блокировка по IP?
Атака распределяется по тысячам адресов, часто домашних, и с каждого приходит лишь несколько попыток. Отличить её помогают отпечаток клиента и общая статистика неудачных входов, а не отдельные адреса.
Читайте также
- ВозможностиЗащита формы входа от перебора паролейОтражение перебора и подстановки паролей из утечек
- АтакиБоты на резидентных проксиБоты с домашних IP-адресов, которые не отсечь по сетям
- АтакиПеребор паролей (brute force)Подбор паролей к админке и личным кабинетам
- ВозможностиПроверка браузера без капчиНевидимая проверка вместо капчи для подозрительных запросов