TrafficVeil
Технологии 25 мин26 января 2026 г.

Как работает ML Bot Detection в TrafficVeil

Глубокое погружение в технологию машинного обучения, которая обнаруживает ботов с точностью 99.7%.

TV
TrafficVeil Team
Эксперты по защите веб-трафика
Как работает ML Bot Detection в TrafficVeil
Содержание статьи
  1. Как работает ML Bot Detection в TrafficVeil: Полное техническое руководство
  2. Введение
  3. Часть 1: Архитектура системы
  4. 1.1 Общая схема работы
  5. 1.2 Принцип работы в реальном времени
  6. Часть 2: Сбор и анализ признаков
  7. 2.1 HTTP Headers Analysis
  8. 2.2 TLS Fingerprinting (JA3/JA4)
  9. 2.3 JavaScript Fingerprinting
  10. 2.4 Behavioral Analysis
  11. Часть 3: Модели машинного обучения
  12. 3.1 Gradient Boosting Model (XGBoost)
  13. 3.2 Neural Network Ensemble
  14. 3.3 Комбинирование моделей
  15. Часть 4: Принятие решений
  16. 4.1 Scoring System
  17. 4.2 Adaptive Thresholds
  18. 4.3 Challenge Types
DDoS L7

DDoS атака что это простыми словами и как защитить сайт

Разобрали виды атак, признаки DDoS, последствия, уровни защиты, L7 DDoS и схему подключения TrafficVeil через DNS/reverse proxy.

Читать про DDoS

Энциклопедия ботов TrafficVeil

618 ботов с описаниями, паттернами User-Agent и фильтром по категориям — открытый справочник для аудита логов и настройки защиты.

Открыть справочник

Как работает ML Bot Detection в TrafficVeil: Полное техническое руководство

Введение

В современном интернете боты составляют от 30% до 50% всего веб-трафика. Среди них есть полезные — поисковые роботы Google, Yandex, мониторинговые системы. Но большинство ботов вредоносные: парсеры, спамеры, сканеры уязвимостей, инструменты для брутфорса и DDoS-атак.

Традиционные методы защиты — блокировка по IP, User-Agent, rate limiting — уже неэффективны против современных ботов. Они используют ротацию IP через прокси-сети, имитируют реальные браузеры и обходят простые проверки.

ML Bot Detection в TrafficVeil — это система машинного обучения нового поколения, которая анализирует поведение посетителей в реальном времени и с точностью 99.7% определяет, является ли запрос от человека или бота. В этой статье мы подробно разберём, как это работает.


Часть 1: Архитектура системы

1.1 Общая схема работы

Система ML Bot Detection состоит из нескольких ключевых компонентов, работающих в связке:

Feature Extraction Layer — извлекает характеристики из каждого запроса: HTTP-заголовки, TLS fingerprint, JavaScript fingerprint, поведенческие паттерны.

ML Inference Engine — применяет модели машинного обучения для расчёта вероятности того, что запрос от бота. Используются Gradient Boosting и нейросетевой ансамбль.

Decision Engine — на основе ML-скора принимает решение: пропустить запрос, показать challenge или заблокировать. Учитывает адаптивные пороги и режим работы сайта.

1.2 Принцип работы в реальном времени

Каждый HTTP-запрос, проходящий через TrafficVeil, анализируется за миллисекунды. Система работает в три этапа:

  1. Сбор признаков (Feature Extraction) — извлечение более 50 характеристик запроса
  2. Инференс модели (ML Inference) — расчёт вероятности того, что запрос от бота
  3. Принятие решения (Decision) — определение действия: пропустить, проверить или заблокировать

Среднее время обработки: 2-5 мс на запрос, что практически не влияет на скорость загрузки сайта.


Часть 2: Сбор и анализ признаков

2.1 HTTP Headers Analysis

Первый уровень анализа — изучение HTTP-заголовков запроса. Система проверяет обязательные заголовки: User-Agent (идентификатор браузера), Accept (типы контента), Accept-Language (языковые предпочтения), Accept-Encoding (алгоритмы сжатия).

Аномалии в заголовках, которые выявляет система:

  • Отсутствие стандартных заголовков (боты часто их пропускают)
  • Неправильный порядок заголовков (у каждого браузера свой характерный порядок)
  • Несоответствие User-Agent и других заголовков
  • Устаревшие или несуществующие версии браузеров
  • Необычные комбинации заголовков

Например, если запрос приходит с User-Agent, указывающим на Chrome 120, но при этом отсутствуют заголовки Accept-Language и Accept-Encoding — это явный признак бота, так как реальный Chrome всегда отправляет эти заголовки.

2.2 TLS Fingerprinting (JA3/JA4)

TLS fingerprinting — один из самых мощных методов обнаружения ботов. При установке HTTPS-соединения клиент отправляет «Client Hello» с информацией о поддерживаемых шифрах, расширениях и версиях протокола.

Что анализируется:

  • Список поддерживаемых cipher suites
  • Порядок TLS-расширений
  • Поддерживаемые elliptic curves
  • Signature algorithms
  • ALPN protocols

JA3 Fingerprint — это MD5-хеш комбинации этих параметров. У каждого браузера и версии уникальный JA3. Chrome 120 на Windows имеет один fingerprint, Firefox 121 на Linux — совершенно другой, а Python requests — третий.

Ключевой момент: если запрос приходит с User-Agent, заявляющим Chrome, но JA3 fingerprint соответствует Python библиотеке requests — это 100% бот. Подделать JA3 гораздо сложнее, чем User-Agent.

2.3 JavaScript Fingerprinting

Для более глубокого анализа TrafficVeil может внедрять JavaScript-код, который собирает информацию о браузере клиента.

Canvas Fingerprint — браузер рисует текст или графику на невидимом canvas-элементе. Каждый браузер рендерит немного по-разному из-за различий в графических драйверах, шрифтах и настройках сглаживания. Это создаёт уникальный «отпечаток».

WebGL Fingerprint — информация о видеокарте, поддерживаемых расширениях, параметрах рендеринга. Практически невозможно подделать без специального железа.

Audio Fingerprint — особенности аудио-стека браузера, латентность обработки звука. Ещё один слой уникальности.

Дополнительные параметры:

  • Разрешение экрана и глубина цвета
  • Часовой пояс и языковые настройки
  • Установленные плагины и шрифты
  • Количество ядер CPU (hardware concurrency)
  • Объём оперативной памяти устройства
  • Поддержка сенсорного ввода
  • WebRTC локальные IP-адреса

2.4 Behavioral Analysis

Поведенческий анализ — ключевое преимущество ML-подхода перед статическими правилами. Система анализирует, как посетитель взаимодействует с сайтом.

Паттерны движения мыши:

Человек никогда не двигает мышь по идеально прямой линии от точки A к точке B. У людей есть микродвижения, тремор, корректировки траектории. Боты же часто двигают курсор по кратчайшему пути с постоянной скоростью — это сразу заметно.

Система анализирует траекторию движения, скорость и ускорение, микродвижения и тремор, время между кликами.

Паттерны скроллинга:

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

Паттерны набора текста:

Скорость печати у человека варьируется, есть паузы на раздумья, опечатки и их исправления. Бот вводит текст мгновенно или с идеально равными интервалами.

Навигационные паттерны:

Последовательность посещения страниц, время на каждой странице, наличие осмысленного Referer — всё это даёт понимание, живой это пользователь или автоматизированный скрипт.


Часть 3: Модели машинного обучения

3.1 Gradient Boosting Model (XGBoost)

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

Преимущества XGBoost для bot detection:

  • Высокая скорость инференса (менее 1 мс на запрос)
  • Отличная работа с табличными данными и категориальными признаками
  • Устойчивость к выбросам и аномалиям в данных
  • Интерпретируемость результатов — можно понять, какие признаки повлияли на решение

Архитектура модели:

  • 500 решающих деревьев глубиной 6
  • Learning rate: 0.1
  • Subsample: 0.8 (используется 80% данных для каждого дерева)
  • Colsample_bytree: 0.8 (используется 80% признаков)

Входные признаки (более 50):

Модель получает на вход широкий набор признаков: количество HTTP-заголовков, хеш порядка заголовков, соответствие User-Agent реальному браузеру, известность JA3 fingerprint, соответствие JA3 заявленному браузеру, распространённость canvas fingerprint, частота запросов за минуту и час, количество уникальных посещённых страниц, среднее время на странице, глубина скроллинга, энтропия движений мыши, вариация скорости печати, и ещё 30+ признаков.

3.2 Neural Network Ensemble

Для сложных случаев используется нейросетевой ансамбль, который дополняет XGBoost.

Архитектура нейросети:

Входной слой принимает 50 признаков. Далее идут три полносвязных слоя: 128 нейронов, 64 нейрона, 32 нейрона — все с активацией ReLU. Между слоями применяется Dropout 0.3 для предотвращения переобучения. Выходной слой с одним нейроном и сигмоидной активацией выдаёт вероятность от 0 до 1.

Обучение:

  • Датасет: более 10 миллионов размеченных запросов
  • Соотношение ботов/людей в обучающей выборке: 40/60
  • 100 эпох обучения с early stopping
  • Оптимизатор Adam с learning rate 0.001
  • Loss функция: Binary Cross-Entropy

3.3 Комбинирование моделей

Финальный скор рассчитывается как взвешенная комбинация результатов двух моделей:

final_score = 0.6 × xgboost_score + 0.4 × neural_network_score

XGBoost получает больший вес, так как показывает более стабильные результаты на типичных случаях. Нейросеть помогает в сложных ситуациях с нетипичными паттернами.

Если модели сильно расходятся во мнении (разница более 0.3), запрос помечается для дополнительной проверки и может быть отправлен на ручной анализ.


Часть 4: Принятие решений

4.1 Scoring System

Каждый запрос получает Bot Score от 0 до 100:

  • 0-15: Точно человек — запрос пропускается без проверок
  • 15-40: Вероятно человек — запрос пропускается
  • 40-60: Неопределённо — показывается JavaScript Challenge
  • 60-80: Вероятно бот — требуется CAPTCHA
  • 80-100: Точно бот — запрос блокируется

4.2 Adaptive Thresholds

Пороги не фиксированы — они адаптируются в зависимости от контекста.

Режим сайта:

В обычном режиме используются стандартные пороги. При обнаружении атаки система переходит в Attack Mode — пороги снижаются на 15-20 пунктов. Для особо критичных ситуаций есть Paranoid Mode, где пропускаются только запросы с score ниже 30.

Тип страницы:

Публичные страницы защищаются мягче — важно не мешать обычным посетителям. Формы регистрации и логина защищаются строже — это любимые цели ботов. API endpoints получают очень строгую защиту. Административные страницы — максимальный уровень защиты.

Время суток:

Ночью по часовому поясу сайта боты активнее, а живых пользователей меньше — пороги ужесточаются. В рабочее время пороги мягче, чтобы не мешать реальным посетителям.

4.3 Challenge Types

JavaScript Challenge — лёгкая проверка, при которой браузер должен выполнить JavaScript-код и отправить результат. Занимает менее 1 секунды и полностью незаметна для пользователя. Собирает fingerprint браузера, решает небольшую proof-of-work задачу.

CAPTCHA — показывается при высоком bot score. TrafficVeil поддерживает интеграцию с hCaptcha, reCAPTCHA v2 и v3, Cloudflare Turnstile, а также собственный image CAPTCHA.

Block — полная блокировка запроса с HTTP-кодом 403 или перенаправление на кастомную страницу с объяснением.


Часть 5: Работа с известными ботами

5.1 Good Bots Whitelist

Не все боты вредоносные. TrafficVeil автоматически распознаёт и пропускает полезных ботов.

Поисковые роботы:

Googlebot, Yandexbot, Bingbot, DuckDuckBot, Baiduspider — все они верифицируются через обратный DNS lookup. Мы проверяем, что IP действительно принадлежит Google, Yandex или другой поисковой системе.

Мониторинговые системы:

UptimeRobot, Pingdom, StatusCake, New Relic — эти сервисы проверяют доступность сайта, и их не нужно блокировать.

Социальные сети:

Facebook crawler, Twitter card fetcher, LinkedIn bot, Telegram link preview — они создают превью ссылок, и их блокировка ухудшит распространение контента.

Верификация:

Каждый «хороший» бот проверяется через три этапа: Reverse DNS lookup (получаем hostname по IP), Forward DNS lookup (проверяем, что hostname указывает обратно на тот же IP), проверка IP в официальных диапазонах компании.

5.2 Bad Bots Database

TrafficVeil поддерживает обширную базу вредоносных ботов.

IP-базы:

  • IPsum — агрегатор более 15 публичных списков вредоносных IP
  • Bitwire Inbound — более 3 миллионов IP спамеров и злоумышленников
  • Собственная база TrafficVeil — обновляется ежечасно на основе атак на всех клиентов

User-Agent базы:

Более 7000 паттернов вредоносных User-Agent, включая известные парсеры, скрейперы, инструменты автоматизации (Selenium, Puppeteer signatures).

JA3 базы:

Fingerprints известных ботов: Python requests, curl, wget, headless Chrome и Firefox — все они имеют характерные отпечатки, отличающиеся от обычных браузеров.


Часть 6: Обучение и улучшение модели

6.1 Сбор данных

TrafficVeil постоянно собирает данные для улучшения модели.

Положительные примеры (люди):

  • Сессии, успешно прошедшие CAPTCHA
  • Сессии с характерным поведением человека (движения мыши, скроллинг)
  • Авторизованные пользователи с историей

Отрицательные примеры (боты):

  • Запросы от известных ботов из баз данных
  • Запросы, заблокированные правилами WAF
  • Сессии с аномальным поведением
  • Атаки, выявленные AI Traffic Analyzer

6.2 Переобучение модели

Модель переобучается еженедельно по следующему процессу:

  1. Сбор новых размеченных данных за неделю
  2. Валидация качества разметки
  3. Обучение новой версии модели
  4. A/B тестирование на 10% трафика
  5. Мониторинг метрик (precision, recall, false positive rate)
  6. Полный rollout при улучшении метрик

6.3 Метрики качества

Основные метрики:

  • Precision — доля реальных ботов среди всех заблокированных запросов
  • Recall — доля заблокированных ботов среди всех ботов
  • False Positive Rate — доля ошибочно заблокированных живых пользователей

Целевые показатели TrafficVeil:

  • Precision: более 99%
  • Recall: более 95%
  • False Positive Rate: менее 0.1%

Часть 7: Интеграция с AI Traffic Analyzer

7.1 Двухуровневая защита

ML Bot Detection работает совместно с AI Traffic Analyzer на базе Anthropic Claude.

Уровень 1: ML Bot Detection (real-time)

Анализирует каждый запрос за миллисекунды. Использует статистические модели и fingerprint matching. Работает 24/7 без задержек.

Уровень 2: AI Traffic Analyzer (периодический)

Проводит глубокий анализ логов 2 раза в сутки. Выявляет новые паттерны атак, которые не распознаёт ML-модель. Генерирует новые правила блокировки. Обновляет базы данных вредоносных IP и User-Agent.

7.2 Feedback Loop

Результаты AI-анализа используются для улучшения ML-модели. AI находит новые типы атак в логах, размечает данные, и эти данные используются при следующем обучении ML-модели.


Часть 8: Производительность и масштабирование

8.1 Latency

Среднее время обработки запроса:

  • Feature extraction: 1-2 мс
  • ML inference: 1-2 мс
  • Decision: менее 1 мс
  • Итого: 3-5 мс

99-й перцентиль (для 99% запросов время меньше): менее 10 мс

8.2 Throughput

Производительность на один сервер: более 50,000 запросов в секунду. Система поддерживает горизонтальное масштабирование — можно добавлять серверы по мере роста нагрузки. Географическое распределение точек присутствия обеспечивает низкую задержку для пользователей по всему миру.

8.3 Отказоустойчивость

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


Часть 9: Настройка и конфигурация

9.1 Уровни защиты

TrafficVeil предлагает три уровня ML Bot Detection:

Low — только очевидные боты блокируются, минимум false positives. Подходит для медиа-сайтов с большим количеством уникальных посетителей.

Medium (рекомендуется) — баланс защиты и пользовательского опыта. Подходит для большинства сайтов. JavaScript Challenge для подозрительных запросов.

High — максимальная защита. CAPTCHA для сомнительных случаев. Подходит для e-commerce, финансовых сервисов, сайтов с конфиденциальными данными.

9.2 Настройка исключений

Вы можете настроить исключения:

  • По IP-адресам (whitelist для партнёров, офиса)
  • По URL-паттернам (например, /api/webhook для вебхуков)
  • По User-Agent (например, ваши собственные мониторинговые системы)
  • По странам (GeoIP whitelist/blacklist)

9.3 Интеграция с WAF

ML Bot Detection интегрирован с WAF TrafficVeil. Используется общая система скоринга — ML-скор суммируется с WAF-скором. Единая система логирования позволяет видеть полную картину. Возможны комбинированные правила: например, блокировать только ботов из определённых стран.


Часть 10: Практические примеры

10.1 Защита от парсинга

Проблема: Конкуренты парсят каталог интернет-магазина для мониторинга цен.

Как ML Bot Detection решает:

  1. Система обнаруживает аномальный паттерн навигации — обход всех товаров по порядку, без просмотра деталей
  2. Фиксирует отсутствие JavaScript fingerprint — парсер не выполняет JS
  3. Выявляет несоответствие JA3 fingerprint и User-Agent — заявлен Chrome, но TLS-отпечаток от Python
  4. Запрос получает score 85 и блокируется

10.2 Защита от credential stuffing

Проблема: Злоумышленники перебирают украденные пароли на странице логина.

Как ML Bot Detection решает:

  1. Детектирует высокую частоту запросов к /login — 100+ в минуту
  2. Фиксирует отсутствие поведенческих паттернов — нет движений мыши
  3. Обнаруживает ротацию IP, но одинаковый browser fingerprint — один бот через прокси-сеть
  4. Включает CAPTCHA для всех запросов с score более 60
  5. Блокирует источники атаки при score более 80

10.3 Защита от DDoS L7

Проблема: HTTP flood атака — тысячи запросов в секунду перегружают сервер.

Как ML Bot Detection решает:

  1. Система переходит в Attack Mode — пороги автоматически снижаются
  2. Выявляет паттерн атаки: одинаковые fingerprints, отсутствие JS
  3. JavaScript Challenge для всех подозрительных запросов — боты не могут пройти
  4. CAPTCHA для запросов с score более 40
  5. Rate limiting на уровне IP дополнительно ограничивает атаку

Заключение

ML Bot Detection в TrafficVeil — это комплексная система защиты, объединяющая:

  • Более 50 признаков для анализа каждого запроса
  • Ансамбль моделей (XGBoost + Neural Network) для максимальной точности
  • Real-time обработку за 3-5 мс без влияния на производительность сайта
  • Точность 99.7% с минимумом ложных срабатываний (менее 0.1%)
  • Постоянное обучение на новых данных каждую неделю
  • Интеграцию с AI для выявления новых угроз и паттернов

Система работает автоматически и не требует ручной настройки правил. Вы защищены от ботов с первой минуты подключения домена к TrafficVeil.


Начните использовать ML Bot Detection

  1. Зарегистрируйтесь на trafficveil.com
  2. Добавьте домен в панели управления
  3. Включите ML Bot Detection в настройках защиты
  4. Выберите уровень защиты (рекомендуем Medium)
  5. Мониторьте результаты в дашборде

Бесплатный 14-дневный триал включает полный функционал ML Bot Detection без ограничений.


Статья обновлена: Январь 2026 Автор: Команда TrafficVeil

#ml#боты#технологии#безопасность
TV
TrafficVeil Team

Команда TrafficVeil разрабатывает инструменты защиты сайтов от ботов, DDoS и веб-атак.

Проверьте защиту своего сайта

Подключение занимает несколько минут. Начните с анализа трафика и включайте блокировки после проверки логов.