Представьте: ваш сервис лежит из-за 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%. Закажите внедрение, и ваша инфраструктура получит защиту, которая учится вместе с атаками. Получите консультацию по вашему сценарию — мы гарантируем индивидуальный подход.







