AI-система защиты от DDoS-атак
Современные DDoS-атаки делятся на два типа с разными методами нейтрализации. Объёмные атаки (volumetric) — сотни гигабит/секунду трафика — нейтрализуются scrubbing center'ами на уровне провайдера. Умные Layer 7 атаки — HTTP flood с реальными браузерными fingerprint'ами, медленные Slowloris, имитация легитимного API-трафика — здесь нужен ML.
Классификация DDoS-векторов
Volumetric (L3/L4): UDP flood, SYN flood, DNS amplification. Защита: upstream scrubbing (Cloudflare, Qrator, Rostelecom). ML здесь — для быстрого определения типа атаки и выбора mitigation стратегии.
Protocol attacks (L4): SYN flood, TCP connection exhaustion. BGP Flowspec для автоматического null-routing по IP-блокам при детекции.
Application Layer (L7): HTTP flood, Slowloris, slow POST, API abuse. Это домен ML — сигнатурные методы не работают, если ботнет имитирует реальные браузеры.
DNS-based: DNS query flood, NXDOMAIN flood, DNS amplification reflected. Аномалии в DNS query паттернах.
ML для L7 защиты
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'] # coefficient of variation
]
score = self.model.run(None, {"features": [features]})[0][0]
return float(score)
Адаптивная защита
Атака меняется в реальном времени при встрече с mitigation. Статичные правила отстают. Адаптивная система:
- Детекция начала атаки (аномалия в traffic patterns)
- Классификация типа атаки
- Выбор mitigation стратегии (rate limit / challenge / block)
- Мониторинг эффективности mitigation
- Автоматическая корректировка при обходе
Reinforcement learning для оптимизации mitigation стратегий — перспективный подход, но требует симулятора для безопасного обучения.
Интеграция с инфраструктурой
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.
Практический кейс
Онлайн-игра, 50 000 активных игроков. HTTP flood атака: 280 000 req/sec (нормальный трафик: 12 000 req/sec). Атака мимикрировала под реальных пользователей: случайные URL, разнообразные User-Agent.
Rate limiting по IP не помогал — ботнет из 14 000 IP (residential proxies). IP blacklist обновлялся медленно.
ML-детектор за 90 секунд:
- Идентифицировал атаку по паттерну URL-распределения (атака сфокусирована на /api/leaderboard)
- Выявил behavioral fingerprint: интервал запросов у бота CV=0.04 (почти равномерный), у игрока CV=0.8+
- Активировал challenge (proof-of-work) для suspicious sessions
- Легитимные игроки прошли challenge автоматически через JS, боты — нет
Время с начала атаки до нейтрализации: 3 минуты. Процент легитимного трафика, затронутого mitigation: 2.1%.
Мониторинг и история атак
Каждая атака — данные для улучшения модели. Логируем: тип, векторы, длительность, эффективность mitigation. Quarterly retraining на новых атаках. Threat intelligence sharing — участие в индустриальных фидах (Shadowserver, Team Cymru) обогащает IP reputation данные.
Сроки: 2–4 недели для L7 ML-детектора с интеграцией в существующий WAF, 8–14 недель для адаптивной системы с автоматическим mitigation и BGP интеграцией.







