Антибот-защита: как работает каскадная классификация
Устройство антибот-системы: профиль, эвристики, fingerprint, IP-репутация, ML-скор и решение. Почему каскад лучше одного классификатора.
Антибот-защита: как работает каскадная классификация
Современная антибот-система — это не один фильтр, а каскад независимых этапов, каждый из которых отвечает за свой класс сигналов. Разберём, как это устроено и почему такая архитектура устойчивее монолитного классификатора.
Этапы каскада
1. Профиль устройства
Первый этап проверяет, что заявивший о себе браузер — настоящий. Поддельные заголовки, признаки автоматизации (webdriver, CDP, headless), несоответствия между заявленным и фактическим поведением — всё это сигналы для этого этапа.
2. Поведенческие эвристики
Анализ событий мыши, касаний, кликов и прокрутки. Телепортация курсора, мгновенные клики, отсутствие микродвижений, скрытые ловушки (honeypot) — каждый сигнал добавляет свой вес.
3. Fingerprint браузера
Устойчивый отпечаток устройства: canvas, WebGL, шрифты, разрешение, тач-поддержка. Один и тот же fingerprint с разными IP — признак фермы или ботнета.
4. IP-репутация
Проверка адреса по базам дата-центров, прокси и анонимайзеров. Свой кэш и быстрый DNS-запрос вместо медленного HTTP-API: повторные проверки одного IP — мгновенные.
5. ML-скор
Все сигналы сходятся в модель, которая выдаёт единую оценку — вероятность того, что сессия автоматизирована. Модель обучается на размеченных данных и переобучается по мере появления новых схем.
6. Решение
По скору и порогам принимается решение: allow (пропустить), captcha (подтвердить человека), block (заблокировать). Пороги настраиваются под цену ошибки конкретного бизнеса.
Почему каскад, а не один классификатор
- Объяснимость: каждый этап виден в логе — можно показать, почему сессия заблокирована, и проверить справедливость решения.
- Отказоустойчивость: если один источник недоступен (база IP упала, модель не ответила), каскад продолжает работать на остальных этапах.
- Модульность: новые сигналы добавляются отдельным этапом, не ломая остальные.
Цена ошибки в обе стороны
Антибот-защита — это всегда баланс. Слишком агрессивная система блокирует настоящих покупателей и режет выручку. Слишком мягкая — пропускает ботов и теряет бюджет на клики. Поэтому в решении заложен принцип fail-open: при неопределённости система скорее пропустит, чем заблокирует, а подозрительные сессии помечает для ручного анализа.
Итог
Каскадная классификация — это способ соединить разнородные сигналы (поведение, устройство, сеть, машинное обучение) в одно объяснимое решение, которое можно настраивать и отлаживать по мере роста трафика.