Виявлення ботів і антифрод-логіка
Коротке резюме
Ефективний захист від ботів і шахрайства - це комбінація шарів: збір сигналів (клієнт, мережа, пристрій, поведінка), скоринг ризику в реальному часі, правила (deterministic) + ML-моделі (probabilistic), графовий аналіз зв'язків і строгі процеси ескалації. Мета - блокувати шкоду і при цьому зберігати UX і конверсію.
Загрози і вектори
Боти і скрейпери: реєстрація, логін-перебір, фарм промокодів, розкрутка балансів, автосоздание заявок/ставок.
Account Takeover (ATO): credential stuffing, фішинг, сесійні крадіжки.
Payment fraud: крадені карти, тестування лімітів, chargeback-фармінг.
Bonus abuse: мультиаккаунтинг, «сім'ї» пристроїв/адрес, проксі/емулятори.
Affiliate/CPA-зловживання: підроблені реєстрації/депозити, клік-фрод.
Архітектура антибот/антифрод-стека
Шари та компоненти:1. Сенсори і телеметрія: фронт-JS/SDK (human signals), мобільний SDK, мережеві/НТТР-метрики, бекенд-події.
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)
Характеристики гібридного підходу
Правила: швидкі і зрозумілі (КУС/комплаєнс, блок «в лоб»).
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: захист конверсії (registratsiya→depozit), 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 за сценаріями АТО/промо/платежі; business-cost FP.
- Conversion impact (Δ registratsii→depozit, Δ 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. Оркестрація відповідей: матриця (risk×stsenary→deystviye), A/B-контроль на UX.
8. Спостережуваність і SLO: дашборди якості і техніки, алертинг, пост-інцидентні тест-кейс-пули.
9. Приватність/комплаєнс: мінімізація PII, токенізація, доступ за ролями, звітність.
Підсумок
Сильна антифрод-система - це багатошаровий і адаптивний контур, де сенсори і поведінка перетворюються на фічі, рішення приймаються гібридом правил і ML, а граф зв'язків виявляє сімейства зловживань. Додайте реал-тайм оркестрацію відповідей, спостережуваність з SLO і приватність - і ви забезпечите баланс між безпекою, UX і бізнес-метриками навіть під тиском добре організованих ботів і фрод-мереж.