Обнаружение ботов и антифрод-логика
Краткое резюме
Эффективная защита от ботов и мошенничества — это комбинация слоев: сбор сигналов (клиент, сеть, устройство, поведение), скоринг риска в реальном времени, правила (deterministic) + ML-модели (probabilistic), графовый анализ связей и строгие процессы эскалации. Цель — блокировать вред и при этом сохранять UX и конверсию.
Угрозы и векторы
Боты и скрейперы: регистрация, логин-перебор, фарм промокодов, раскрутка балансов, автосоздание заявок/ставок.
Account Takeover (ATO): credential stuffing, фишинг, сессионные кражи.
Payment fraud: краденые карты, тестирование лимитов, chargeback-фарминг.
Bonus abuse: мультиаккаунтинг, «семьи» устройств/адресов, прокси/эмуляторы.
Affiliate/CPA-злоупотребления: поддельные регистрации/депозиты, клик-фрод.
Архитектура антибот/антифрод-стека
Слои и компоненты:1. Сенсоры и телеметрия: фронт-JS/SDK (human signals), мобильный SDK, сетевые/HTTP-метрики, бэкенд-события.
2. Feature Store (онлайн/офлайн): нормализация, агрегаты за окна T+N (1 мин, 1 ч, 24 ч).
3. Реал-тайм движок: правила + ML inference (низкая задержка), оркестрация челленджей.
4. Граф-движок: связи пользователей по устройствам, платежам, IP/ASN, cookies, адресам.
5. Хранилище инцидентов и разметка: активное обучение моделей, RCA.
6. Оркестратор ответов: блок/челлендж/заморозка/лимит/ручная проверка.
7. Наблюдаемость/SLO: метрики качества (TP/FP/FN), время решения, влияние на конверсию.
Сигналы и «отпечатки»
Клиент и устройство
Device fingerprint: User-Agent-деривации, платформа/CPU/GPU, рендеринг Canvas/WebGL, шрифты, timezone, язык, сенсоры; устойчивость к ротации.
Браузерная динамика: события мыши/тач, скорость/ритм ввода, фокус/blur, скролл, последовательности переходов, idle-паттерны.
Мобильные метрики: джейлбрейк/рут, эмуляторные признаки, дебаг-флаги, SDK-сигналы.
Сетевые: IP/ASN/гео, прокси/VPN/хостинг-ASN, частота IP-смен, стабильность RTT, JA3/TLS-отпечатки.
Поведение и бизнес-контекст
Velocity-метрики (регистрации/логины/депозиты/ставки за окно).
Аномалии временных зон/локали/валюты, несоответствие устройства гео.
Повторяющиеся паттерны путей/запросов, последовательности форм (типичные для скриптов).
Экономика действий: LTV-несоответствие, неестественные комбинации промо/выводов.
Графовый анализ (семейства и кластеры)
Вершины: пользователи, устройства, IP/ASN, платежные инструменты, адреса, cookies.
Ребра: «логинился с», «платил через», «делил устройство», «совпал фингерпринт».
- `k-core ≥ 3` пользователей на один платежный инструмент → ручная проверка.
- Компонент связности с размером > X, созданный за < 24 ч → заморозка промо и KYC-ревью.
- Высокая централизация по IP-узлу (Gini-индекс) в районе регистрации → антибот-челлендж.
Правила (детерминированные) и скоринг (ML)
Характеристики гибридного подхода
Правила: быстрые и объяснимые (KYC/комплаенс, блок «в лоб»).
ML: ловит «серые зоны» и новые паттерны; работать в shadow-режиме перед включением действий.
Типовые правила (пример псевдокода)
yaml
- id: ATO_LoginBurst when:
path: "/login"
failures_last_10m_by_ip > 20 distinct_accounts_last_10m_by_ip > 5 action: challenge_mfa
- id: Bonus_MultiAccount when:
promo_code = "WELCOME100"
devices_shared_with_accounts >= 2 first_deposit_time_delta < 10m action: freeze_bonus_and_review
- id: Payment_CardTesting when:
card_decline_rate_30m_by_ip > 0. 6 unique_cards_attempted_30m_by_ip > 5 action: block_24h_and_notify
ML-фичи (с примерами)
Временные: частоты/интервалы, сезонность по часам/дням.
Категориальные: ASN, страна, устройство, браузер.
Графовые: node degree, clustering coefficient, pagerank узла IP/устройства.
Технические: длина сессии, энтропия вводимых данных, редкость последовательностей кликов.
Финансовые: средний чек, дисперсия, time-to-withdraw, доля отказов платежей.
Челленджи и ответы (response orchestration)
Soft: JS-челлендж, proof-of-work, повторная валидация e-mail/телефон, ограничение скорости/квоты.
Strong: MFA/JIT-KYC, временная заморозка средств/бонусов, временный бан.
Adaptive: рост порога при high-risk (TOR/хостинг ASN), grace-листы для VIP/партнеров.
UX-принципы: невидимые проверки по умолчанию; явные челленджи — только по риску.
Антифрод для промо и гейминга
Промо-интегритет: лимиты на промо per-device/per-payment-instrument; связка промо с KYC-статусом.
Мультиаккаунтинг: device/IP графы, схожесть поведенческих траекторий; «семья» → лимит наград/заморозка.
Бустинг выигрышей: аномальная корреляция ставок между связанными аккаунтами → расследование.
iGaming KPI: защита конверсии (регистрация→депозит), Time-to-Wallet; не «душить» легит-игроков.
Платежный антифрод (вкратце)
3-D Secure/многофактор: динамически по риску.
mTLS/подпись вебхуков PSP: обязательна.
Идемпотентность: ключ на операции вывода/депозита.
Сигналы платежей: BIN/issuer, AVS/CVV-результаты, скорость отказов, гео-несоответствие.
Данные, фичестор, окна агрегации
Онлайн-агрегаты (low-latency): 1/5/15 минут для velocity, уникальности, отказов.
Near-real-time: 1–24 часа для промо и бонус-логики.
Офлайн-фичи: 7–90 дней для обучения моделей.
Качество данных: дедупликация событий, защита от повторной доставки, схемы валидации.
Наблюдаемость, SLO и метрики качества
Технические SLI/SLO:- p95 принятия решения (антифрод) ≤ 50 мс на критичных путях (логин, депозиты).
- Доступность движка скоринга ≥ 99.95%/мес.
- Доля «инкогнито» событий без фич ≤ 0.1%.
- TP/FP/FN по сценариям ATO/промо/платежи; business-cost FP.
- Conversion impact (Δ регистрации→депозит, Δ checkout success).
- Hit-rate челленджей (сколько челленджей подтверждают риск).
- Drift-мониторинг (фичи/оценки/латентность).
Приватность и соответствие
Минимизация данных: хранить ровно необходимое; PII — токенизировать/шифровать.
Прозрачность: объяснимость решений (особенно при отказах и ограничениях).
GDPR/PCI DSS: сегментация доменов данных, доступ только по ролям; логирование доступа и изменений правил.
Этика и bias: регулярный аудит фич/порогов на дискриминацию.
Операции и инциденты
Runbooks: ATO-спайк, card-testing, промо-штурм, деградация SDK.
Feature flags: быстрое ослабление/усиление правил, переключение моделей, «kill-switch» челленджей.
Учения: реплей исторических атак, «серые» кампании, внезапный дрифт признаков.
RCA/разметка: пограничные кейсы размечать и возвращать в training-датасет (active learning).
Примеры артефактов
1) SQL-агрегаты для скоринга (понятие)
sql
-- velocity of logins by IP in 10 minutes
SELECT COUNT() AS logins_10m
FROM auth_events
WHERE ip =:ip AND ts > now() - interval '10 minutes';
-- unique accounts by device_id in 24 hours
SELECT COUNT(DISTINCT user_id) AS accounts_24h
FROM sessions
WHERE device_id =:device_id AND ts > now() - interval '24 hours';
2) Правило в OPA/Rego (упрощенно)
rego package antifraud. login
default action:= "allow"
high_risk_ip {
input. ip. asn in {"AS9009, ""AS14061,"" AS16509"} # example input. metrics. failures_10m_by_ip > 20 input. metrics. distinct_accounts_10m_by_ip > 5
}
action:= "challenge_mfa" { high_risk_ip }
3) Псевдокод оркестрации челленджа
python risk = score(features) # 0..1 if risk >= 0. 9: block()
elif risk >= 0. 7: challenge("MFA")
elif risk >= 0. 5: throttle(rate="low")
else: allow()
Типичные ошибки
Ставка только на капчу: боты ее обходят; нужен многофакторный стек сигналов.
Длинные задержки скоринга: разрывает UX, растет отказ.
Глобальные баны IP/ASN навсегда: режет легит-трафик; используйте TTL и пересмотр.
Нет графа: мультиаккаунты остаются «невидимыми».
Жесткие правила без канареек/shadow: всплеск FP в проде.
Нулевой фидбек-цикл: модели не переобучаются, правила не обновляются.
Дорожная карта внедрения
1. Инвентаризация путей риска: регистрация, логин, промо, депозиты/выводы.
2. Сбор сигналов и SDK: фронт-JS/мобайл, сеть, серверные события; единая схема.
3. Онлайн-фичестор: окна 1/5/15/60 минут; дедупликация и SLA фич.
4. Базовый профиль правил: velocity + аномалии + простые графовые эвристики.
5. ML в теневом режиме: сравнить ROC/PR, оценить бизнес-эффект, включить частично.
6. Граф-анализ: кластеризация семейств, авто-маркировка при ручном подтверждении.
7. Оркестрация ответов: матрица (риск×сценарий→действие), A/B-контроль на UX.
8. Наблюдаемость и SLO: дашборды качества и техники, алертинг, пост-инцидентные тест-кейс-пулы.
9. Приватность/комплаенс: минимизация PII, токенизация, доступ по ролям, отчетность.
Итог
Сильная антифрод-система — это многослойный и адаптивный контур, где сенсоры и поведение превращаются в фичи, решения принимаются гибридом правил и ML, а граф связей выявляет семейства злоупотреблений. Добавьте реал-тайм оркестрацию ответов, наблюдаемость с SLO и приватность — и вы обеспечите баланс между безопасностью, UX и бизнес-метриками даже под давлением хорошо организованных ботов и фрод-сетей.