В мире цифровых технологий даже самая незначительная деталь может стать определяющей для успеха или неудачи бизнеса. Безупречная и отказоустойчивая работа ИТ-систем — это не только демонстрация стабильности компании, но и условие выживания на рынке.

В этой статье мы расскажем, как разрабатывать и развертывать системы защиты от DDoS-атак и бот-активностей с применением ИИ-инструментов.

Что такое DDoS-атаки и бот-активности

DDoS — распределенная атака, при которой сеть, сервис или сервер подвергаются перегрузке из-за мощного потока нелегитимного трафика, вследствие чего происходит отказ или замедление быстродействия системы и легитимные пользователи теряют доступ к ресурсам. В результате недоступности сервисов происходит простой ИТ-инфраструктуры, что приводит к потере выручки, дополнительно компании сталкиваются с репутационными рисками. Чем дольше продолжается сбой, тем значительнее становятся убытки.

По данным публичных отраслевых отчетов, число таких атак растет. Например, только за 2 квартал 2025 года количество атак на L3-L4 выросло на 43%, а на L7 выросло на 74% по сравнению со 2 кварталом 2024 года — по данным лаборатории Qrator Labs. Наибольшее количество атак по итогам 2024 года пришлось на финтех и электронную коммерцию. Исследования показывают рост убытков от DDoS-атак: за первую половину 2025 года ущерб российского бизнеса утроился по сравнению с 2024 годом по данным лаборатории СБЕРа.

Популярные виды DDoS-атак

SYN-флуд — вид DDoS-атаки, при которой злоумышленник отправляет большое количество SYN-сегментов на сервер и не завершает «трехстороннее рукопожатие». SYN-сегменты — первые пакеты в процессе установления TCP-соединения. Служат для установления «трехэтапного рукопожатия», когда клиент сообщает о намерении установить соединение с сервером. Далее полуоткрытые запросы переполняют очередь ожидания на подключение (SYN backlog), и легитимные пользователи не могут установить соединение с ресурсом.

ICMP-флуд — разновидность DDoS-атаки, при которой злоумышленник отправляет большое количество ICMP-пакетов, чаще всего ping-запросы, на адрес жертвы, чтобы перегрузить канал или само устройство. Трафик зачастую генерируется с помощью сети зараженных компьютеров. Для каждого запроса сервер вынужден выделять ресурсы, что приводит к замедлению или выводу сервера из строя.

HTTP-флуд — вид DDoS-атаки, при которой злоумышленник создает большое количество запросов, например, GET или POST, на сервер, с целью перегрузить его ресурсы. Масштаб достигается за счет ботнетов, а трафик маскируется под легитимный через ротацию браузерных и TLS‑отпечатков, что осложняет выявление нелегитимной активности.

Бот-активности

Бот — специальная программа, которая выполняет определенные действия на сайте или в приложении, имитируя настоящего пользователя. В отличие от DDoS-атак, прямой целью злоумышленника не является создание нагрузки или ограничение доступа к сайту для пользователей, боты эксплуатируют бизнес-логику приложения для создания ущерба компании.

Примеры бот-активностей:

  • массовое бронирование товаров или услуг с целью навредить конкуренту;

  • массовая регистрация аккаунтов для манипуляции отзывами о товарах или компаниях;

  • накручивание положительных или отрицательных отзывов на товары, услуги или компании;

  • сбор информации о конкурентах, через скрейпинг их сайтов или социальных сетей;

  • массовая регистрация пользователей с двухфакторной аутентификацией, и подтверждением через звонок или SMS — каждое из которых оплачивается компанией;

  • захват учетных записей — подбор или использование украденных учетных данных ботом для входа в систему с целью получить доступ к несанкционированной информации.

Перейдем к методам защиты

Многие типы DDoS-атак, такие как SYN-флуд или ICMP-флуд, зачастую можно отражать и без использования инструментов на основе искусственного интеллекта. Достаточно корректно настроить сетевое оборудование, параметры сервера или методы фильтрации трафика. Например, для защиты от SYN-флуд-атаки достаточно ограничить время ожидания подтверждения «рукопожатия», увеличить размер очереди для новых подключений и установить лимит на число одновременных сессий с одного IP-адреса. Для ICMP-флуд-атаки можно ограничить ICMP-пакеты, а также лимитировать их скорость на уровне маршрутизатора или межсетевого экрана.

Стоит отметить, что не все DDoS-атаки можно эффективно отразить с помощью только ручных правил и «классических» методов. Например, правила на межсетевом экране могут не сработать при сложных, многовекторных атаках — так как злоумышленники постоянно меняют тактику и источники вредоносного трафика. Дополнительно в современных атаках используются боты, которые имитируют разные браузеры, действия человека. Например, заходят на страницы, открывают формы, оставляют заказы и комментарии, стараясь быть максимально похожим на реального пользователя.

Чтобы обнаружить такие атаки, уже недостаточно стандартных способов защиты, необходимо иметь аналитику поведения пользователей, например, скорость перемещения мыши, время и последовательность действий, устройство, с которого пользователь подключается к ресурсу и так далее. Для анализа таких параметров хорошо подходят ИИ-инструменты. Далее будут показаны этапы разработки и развертывания подобных систем.

Стек технологий:

  • для анализа и подготовки данных используем NumPy и pandas;

  • для визуализации — Matplotlib;

  • обучение моделей выполняем с помощью TensorFlow, Keras, PyTorch и scikit‑learn;

  • потоковую обработку реализуем на Apache Kafka;

  • для хранения и аналитики логов используем ClickHouse и Elasticsearch;

  • в роли брокеров очередей используем Redis и RabbitMQ;

  • API‑обвязку выполняем на FastAPI;

  • мониторинг и визуализацию реализуем на Prometheus и Grafana.

Разработка и внедрение ИИ для защиты от бот-активностей содержит несколько основных этапов, далее подробно расскажем про каждый из них.

Подготовка данных

Отбираем максимально полную информацию о пользовательских сессиях: идентификатор пользователя, время визита, конфигурацию браузера, браузерный или сетевой отпечаток, ошибки и исключения, метаданные TLS‑рукопожатия, cookie‑файлы, разрешение экрана, тип устройства, геолокацию, IP‑адрес клиента и подсеть, длительность пребывания на страницах, последовательность действий, метрики нагрузки на backend и другое.

Пример структуры датасета на рисунке ниже включает идентификатор пользователя, время подключения, идентификатор сессии, движок браузера, бренд устройства, разрешение экрана, последовательность действий и местоположение.

Выполняем проверку данных на выбросы и возможные атаки

На примере длины сессий на рисунке ниже видно, что 75‑й квантиль соответствует 4 действиям, однако максимум превышает 800. Такие экстремальные значения помечаем как подозрительные и выносим на дополнительную проверку. После верификации подтвержденные случаи классифицируем как бот‑активность и исключаем из обучающей выборки, сохраняя их отдельно для валидации и настройки порогов детектора.

Обработка данных на примере длин сессий
Обработка данных на примере длин сессий

Формируем типы входа

Создаем два типа входов — табличные признаки, включая контент сессии, и последовательность событий внутри сессии. Табличные признаки обрабатываем многослойным персептроном с полносвязными слоями MLP, подходящим для задач классификации и регрессии. В полносвязных слоях каждый нейрон слоя соединен со всеми нейронами следующего.

Последовательности обрабатываем LSTM (Long Short-Term Memory), которая учитывает порядок и временные зависимости и смягчает проблему исчезающего градиента благодаря ячейкам памяти и гейтам по сравнению с SimpleRNN. Выходы веток объединяем и подаем на финальные слои.

Оценка качества модели

Качество работы модели оцениваем с помощью метрик: Precision, Recall, F1-score. Выбираем модель с наилучшим F1- score — таким образом мы находим и сохраняем лучшие параметры и веса модели.

Проверка качества эмбеддингов

Эмбеддинги — векторные представления объектов в пространстве. Предположим, что вектор пользователя — это усреднение по векторам его сессий. Мы исходим из предположения, что эмбеддинги сессий, принадлежащих одному пользователю, располагаются в близких областях векторного пространства, тогда как эмбеддинги различных пользователей должны быть существенно разделены. Пользователь должен быть похож сам на себя и не похож на других.

Среднее расстояние между одним и тем же пользователем (в разных сессиях) получилось 0.0065, между разными — 0.243, как видно на гистограмме, на рисунке выше, распределения почти не пересекаются, расстояние между разными пользователями отличаются примерно в 37 раз, что говорит о том, что модель выбрана правильно и результаты хорошие. Пример построенных эмбеддингов и пример кластеризации сессий (цветами выделены похожие сессии) на рисунках ниже.

Задаем пороги аномалий

Опираясь на полученные распределения, задаем пороги аномалий. Если расстояние для текущей сессии заметно выходит за типичный диапазон, помечаем событие как подозрительное и либо разрываем соединение, либо запрашиваем дополнительную проверку для пользователя — например, captcha.

Вспомогательные сервисы

Мы используем RabbitMQ как брокер очередей событий, он обеспечивает устойчивость при повышенной нагрузке, распределение нагрузки и повторную доставку. Redis используем как быстрое хранилище состояний. Logstash, Elasticsearch для хранения, обработки и нормализации логов. Kibana, Grafana обеспечат визуализацию, интерактивный поиск по данным, визуализацию метрик.

Схема размещения L7 AI-агента в инфраструктуре
Схема размещения L7 AI-агента в инфраструктуре

Теперь поговорим о разработке и внедрении ИИ для защиты от DDoS-атак.

Подготавливаем параметры сбора данных

Аналогично защите от бот‑активности подготавливаем параметры сбора данных. Собираем телеметрию из NetFlow, IPFIX, sFlow и других источников и формируем признаки: IP‑адрес источника и назначения, протокол и порты, частота и общее количество пакетов, объем трафика, временные метки, TTL и другие. После первичной очистки нормализуем данные, взятые из нескольких источников, — удаляем дубликаты, синхронизируем время. Важно не только количество данных, но и их разнообразие — это повышает качество обучения модели.

Определение структуры нейронной се��и

Выбираем архитектуру модели — для таких задач хорошо подходят автоэнкодеры, LSTM и TCN. Если применяется дообучение предобученной модели, учитываем риск отравления данных, при котором злоумышленник может дообучить модель на нелегитимном трафике. Необходимо предусмотреть строгую валидацию и фильтрацию обучающего трафика, чтобы предотвратить влияние нелегитимных данных на дообучение.

Проверяем качество эмбеддингов

После обучения получаем эмбеддинги объектов трафика. На валидации проверяем качество детектора с помощью F1 (гармоническое среднее precision и recall, метрика, измеряющая точность и полноту модели), ROC‑AUC (метрика, позволяющая понять, насколько хорошо модель разделяет норму и аномалии). Это показывает надежность модели и ее способность работать на новых данных.

Анализируем признаки, которые сильнее всего влияют на обнаружение аномалий, и проводим дополнительную аналитику по этим признакам.

Механизмы реагирования

Проектируем и реализовываем механизмы автоматического реагирования. Реализуем поэтапные меры: мягкое ограничение скорости, tarpitting (временные задержки обработки пакетов), временную блокировку. Настраиваем пороги для определения нелегитимных событий.

Дообучение и мониторинг модели

Важно реализовать мониторинг производительности модели в реальном времени, необходимо оценивать такие метрики, как PR‑AUC, ROC‑AUC, F1, а также долю положительных и отрицательных прогнозов и другие показатели устойчивости модели. Нужно собирать срезы метрик: трафик и сущности, временные срезы. Если будут обнаружены новые виды трафика или атак, модель придется дообучить.

Тестирование системы

Тестирование системы проводим в условиях, близких к боевым. Осуществляем генерацию трафика, имитацию атак, а также проверяем устойчивость модели к противодействию, включая попытки обхода и отравления данных.

Схема размещения L3 AI-агента в инфраструктуре представлена на рисунке ниже. Описание вспомогательных сервисов AI-агента рассказывали ранее.

Подведем итоги

По мере усложнения цифровой инфраструктуры DDoS‑атаки и бот‑активности становятся многообразнее и изощреннее, в этих условиях традиционных средств защиты уже недостаточно. Для своевременного выявления и подавления многовекторных атак нужна связка сетевых мер и аналитики поведения на основе ИИ. Практика показывает: максимальную устойчивость обеспечивает многоуровневая архитектура, корректная настройка сетевого оборудования и серверной инфраструктуры, фильтрация и очистка трафика, а также поведенческие модели, выявляющие аномалии на уровне пользователей и приложений с помощью ИИ.


Автор:

Никита Пономаренко, инженер направления автоматизации ИБ

Комментарии (0)