Уявіть: ваш сервіс лежить через DDoS-атаку, а WAF блокує і легітимних користувачів. Ми будуємо ML-системи, які адаптуються до атакуючих у реальному часі. У цій статті розберемо, як відрізняємо ботів від людей за поведінкою, і покажемо код детектора, який розрізняє HTTP flood і нормальний трафік. Ми використовуємо машинне навчання для класифікації трафіку — це дозволяє виявляти навіть складні L7 атаки, що мімікрують під реальних користувачів. За 5 років ми реалізували 12+ проєктів у fintech, e-commerce та gaming; кожен трафік унікальний, і кожна система підлаштовується під його особливості. Наші сертифіковані інженери гарантують зниження хибних спрацювань до 2% та надійний захист на основі багаторічного досвіду.
Як ML-класифікація розрізняє ботів і людей?
L7 атака від легітимного трафіку відрізняється поведінкою. ML-ознаки діляться на три групи:
Request-level
- Request rate (req/s per IP/subnet)
- URL distribution (атака б'є в один endpoint, користувачі — різні)
- User-Agent diversity (в атаки — кінцевий набір, у людей — різноманіття)
- Referer patterns
- HTTP method distribution
Session-level
- Session duration (боти короткі або навмисно довгі для Slowloris)
- Page flow (боти не слідують нормальній навігації)
- JavaScript execution (headless браузери детектуються через Canvas fingerprint)
IP-level
- ASN distribution (атаки з датацентрів vs. residential)
- Geographic distribution vs. typical traffic
- New vs. known IPs
- Request timing distribution
class L7DDoSDetector: def __init__(self, window_seconds=60): self.window = window_seconds self.model = ort.InferenceSession("ddos_detector.onnx") def score_ip(self, ip: str, traffic_stats: dict) -> float: features = [ traffic_stats['req_per_sec'], traffic_stats['unique_urls_ratio'], traffic_stats['user_agent_entropy'], traffic_stats['session_duration_avg'], traffic_stats['asn_risk_score'], traffic_stats['is_new_ip'], traffic_stats['req_timing_cv'] ] score = self.model.run(None, {"features": [features]})[0][0] return float(score) Чому адаптивний захист ефективніший за статичні правила?
Атака змінюється в реальному часі при зустрічі з mitigation. Статичні правила відстають. Адаптивна система працює циклічно:
- Детекція початку атаки (аномалія в traffic patterns)
- Класифікація типу атаки
- Вибір mitigation стратегії (rate limit / challenge / block)
- Моніторинг ефективності mitigation
- Автоматичне коригування при обході
Для перспективних сценаріїв використовуємо reinforcement learning — але потрібен симулятор трафіку для безпечного навчання політик.
Інтеграція з інфраструктурою
WAF (Web Application Firewall). ModSecurity + Nginx: динамічне додавання правил через API при детекції атаки. Оновлення IP blocklists через nftables за <100ms.
CDN. Cloudflare Workers / Akamai EdgeWorkers: ML-скоринг на edge, без трафіку на origin.
BGP Flowspec. Для volumetric атак: автоматичне оголошення Flowspec rules через BIRD або ExaBGP для null-routing атакуючого трафіку на рівні AS. BGP Flowspec дозволяє гнучко фільтрувати трафік без зміни конфігурації роутерів.
Scrubbing center. Можлива інтеграція з центрами очищення трафіку для фільтрації на мережевому рівні.
Практичний кейс: HTTP flood на ігровий проєкт
Деталі атаки
Онлайн-гра з 50 000 активних гравців. HTTP flood: 280 000 req/sec при нормі 12 000 req/sec. Ботнет з 14 000 residential IP. Мімікрія під реальних користувачів: випадкові URL, різноманітні User-Agent.| Параметр | Значення |
|---|---|
| Атака | HTTP flood 280 000 req/sec |
| Ботнет | 14 000 residential IP |
| Час детекції | 90 секунд |
| Час нейтралізації | 3 хвилини |
| Зачеплено легітимних | 2.1% |
ML-детектор:
- Ідентифікував атаку за паттерном URL-розподілу (фокус на /api/leaderboard)
- Виявив behavioral fingerprint: інтервал запитів у бота CV=0.04 (рівномірний), у гравця CV=0.8+
- Активував challenge (proof-of-work) для suspicious sessions
- Легітимні гравці пройшли challenge через JS, боти — ні
Порівняння стратегій mitigation
| Стратегія | Час реакції | Вплив на користувачів | Застосовність |
|---|---|---|---|
| Rate limiting | <1 хв | 5–10% хибні спрацювання | Всі L7 атаки |
| Challenge (proof-of-work) | 2–3 хв | <1% хибні спрацювання | HTTP flood, slow attacks |
| BGP Flowspec | 1–2 хв | 0% (на рівні мережі) | Volumetric атаки > 100 Gbps |
Що входить у роботу
Ми надаємо під ключ:
- Аналіз нормального трафіку вашого проєкту та виділення репрезентативної вибірки
- Розробку ML-детектора з вибором архітектури (XGBoost, LightGBM або нейромережа)
- Інтеграцію з WAF (ModSecurity, nginx, Cloudflare) та CDN через API
- Навантажувальне тестування та калібрування порогів спрацювання
- Документацію з експлуатації та навчання команди
Моніторинг та історія атак
Кожна атака — дані для покращення моделі. Логуємо: тип, вектори, тривалість, ефективність mitigation. Quarterly retraining на нових атаках. Беремо участь у індустріальних фідах (Shadowserver, Team Cymru) для збагачення IP reputation.
Строки: 2–4 тижні для L7 ML-детектора з інтеграцією в існуючий WAF, 8–14 тижнів для адаптивної системи з автоматичним mitigation та BGP інтеграцією. Оцінимо ваш сценарій — зв'яжіться з нами для консультації. Зниження витрат на хмарні ресурси після впровадження сягає 40%. Замовте впровадження, і ваша інфраструктура отримає захист, який вчиться разом з атаками. Отримайте консультацію щодо вашого сценарію — ми гарантуємо індивідуальний підхід.







