Как работают антиботы: технологии, методы и принципы фильтрации ботов

Защита сайта от поведенческих ботов

Защита сайта от всех видов поведенческих ботов. Интеграция через изменение DNS записи домена. Защита от скликивания контекстной рекламы Яндекс Директ.
ПОПРОБОВАТЬ БЕСПЛАТНО  =>

Вы когда-нибудь замечали, что некоторые сайты открываются сразу, а другие, наоборот, встречают капчой? За кулисами этого действия стоят антиботы - системы, которые пытаются отличить человека от программы. Они не идеальны, боты часто выигрывают, но битва идёт с переменным успехом. Сегодня я расскажу, как именно работают антиботы, какие технологии используют, где они ошибаются и почему иногда вас просят найти все светофоры или велосипеды (если повезёт) на картинке. Всё может быть намного хуже, вам захочется ругнуться, и сразу закрыть вкладку.

Что такое антибот и зачем он нужен (кроме того, чтобы бесить вас капчой)

Содержание

Антибот - это комплекс программных и аппаратных средств, предназначенных для обнаружения и блокировки автоматизированных скриптов (ботов), которые имитируют действия человека. Боты бывают разные: парсеры, спамеры, брутфорсеры, DDoS-ботнеты, скликивальщики рекламы. Задача антибота - отсечь нежелательный трафик, не задев при этом реальных пользователей.

Антиботы используют многоуровневый подход: от простейших проверок на стороне клиента (скрытые поля, подсчёт времени заполнения формы) до сложнейшего поведенческого анализа и машинного обучения. Они могут стоять как на самом сайте (в виде JavaScript-библиотеки), так и перед ним (облачный WAF или DNS-экран).

Самые известные антибот-системы в России: KillBot, Variti, Cloudflare Bot Management, Antibot Cloud, Botfaqtor, а также решения от Яндекса.

Базовые методы, которые работали в 2000-х (и иногда до сих пор)

Давайте сначала вспомним старые-добрые способы, которые используют даже на современных сайтах. Они не панацея, но дешёвые и простые.

Honeypot (скрытое поле). Вы добавляете в форму поле, которое визуально скрыто (через CSS). Человек его не видит и не заполняет. А бот, который пытается заполнить все поля, часто вписывает туда текст. Если поле заполнено - это бот. Недостаток: умные боты игнорируют поля с display:none, но есть обходные пути (например, оставить поле видимым, но сместить за экран).

Анализ времени заполнения формы. Реальный человек вводит данные не мгновенно: он печатает, двигает мышью, исправляет ошибки. Бот заполняет форму за доли секунды. Простая проверка: если время отправки формы меньше 2-3 секунд - скорее всего, бот. Но боты научились делать паузы.

Проверка заголовков User-Agent и Referer. Многие примитивные боты используют стандартные User-Agent (python-requests, curl) или не передают Referer. Их легко заблокировать через .htaccess или конфиг Nginx. Но любой уважающий себя бот подделывает заголовки, поэтому метод малоэффективен.

Капча (CAPTCHA). Классическая "введите цифры с картинки" или "отметьте все автобусы". Отсеивает 90% простых ботов, но бесит людей. К тому же, существуют сервисы распознавания капчи (2captcha, AntiCaptcha) по цене 0,5-2 доллара за 1000 решений. Боты их используют. Поэтому капча сегодня - лишь дополнение к более сложным методам.

Google reCAPTCHA v2 (с галочкой) и v3 (невидимая) - более продвинуты, но и их обходят. reCAPTCHA v3 возвращает оценку от 0 до 1, и вы сами решаете, какой порог считать ботом. Это лучше, но не панацея.

Поведенческий анализ: как система наблюдает за мышкой и клавиатурой

Современные антиботы не просто смотрят на заголовки, а анализируют, как пользователь взаимодействует со страницей. Это называется поведенческий анализ. Для этого на сайте запускается JavaScript-код, который собирает телеметрию.

Движения мыши. Трекер записывает координаты курсора каждые 30-50 мс. Реальный человек двигает мышь не по прямой, а с ускорениями, остановками, мелкими зигзагами. Бот часто эмулирует движение по прямой или по очень простой кривой. Алгоритмы машинного обучения обучены на миллионах реальных записей и легко отличают скрипт от человека.

Также прочтите:  Глобальный сбой Cloudflare 18.11.2025

Скроллинг (прокрутка). Люди прокручивают страницу неравномерно: быстро пролистывают неинтересные куски, задерживаются на картинках. Бот скроллит равномерно, с постоянной скоростью. Антиботы анализируют распределение скоростей скролла.

Нажатия клавиш и тайминги. В полях ввода (например, email) бот вставляет текст мгновенно. Человек печатает с разной скоростью, делает паузы между символами, иногда использует Ctrl+V. Если поле заполнено за 0,1 секунды - это бот. Более того, человек редко набирает текст без ошибок, а бот - всегда правильно.

Клик по элементам. Наведение мыши на кнопку, задержка перед кликом, небольшое дрожание курсора - всё это признаки человека. Бот кликает точно в центр элемента без колебаний.

Все эти данные собираются и отправляются на сервер, где специальная модель (обычно случайный лес или нейронная сеть) вычисляет вероятность "ботовости". Если порог превышен, запрос либо блокируется, либо отправляется на капчу.

Эти методы очень эффективны против headless-браузеров (Puppeteer, Playwright), которые не эмулируют мышь или делают это примитивно. Однако против специализированных антидетект-браузеров (Indigo, Dolphin) они могут не сработать, потому что те эмулируют поведение очень качественно.

Fingerprinting (цифровой отпечаток): уникальный идентификатор устройства

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

Fingerprinting (сбор отпечатка) - это сбор сотен характеристик, которые в совокупности создают почти уникальный идентификатор устройства.

Примеры параметров:

  • Разрешение экрана, глубина цвета, размер окна браузера
  • Установленные шрифты (настоящий браузер имеет длинный список шрифтов, headless - урезанный)
  • Поддержка WebGL и особенности рендеринга (разные видеокарты по-разному отрисовывают сцену)
  • Canvas-отпечаток: браузер рисует невидимую картинку, и по пикселям можно получить уникальный хеш
  • Аудио-отпечаток (OscillatorNode): как браузер генерирует звук
  • Список плагинов и MIME-типов
  • Язык браузера и часовой пояс
  • Стек протоколов TLS (JA3/JA4) - о них ниже

Сервисы вроде FingerprintJS (opensource) собирают эти данные и вычисляют хеш. Если один и тот же fingerprint стучится с десятка разных IP, но при этом атакует форму - однозначно бот. Антиботы могут сохранять fingerprint в чёрный список.

Canvas-отпечаток - особенно мощный метод. Веб-страница рисует на скрытом canvas (HTML-элементе) текст или фигуру, а затем считывает получившиеся пиксели. Разные браузеры и ОС рисуют с небольшими различиями из-за растеризации шрифтов, субпиксельного рендеринга. Headless-браузеры часто дают другой результат (например, упрощённый рендеринг).

Fingerprinting легко обходится антидетект-браузерами, которые подменяют практически все параметры, кроме разве что WebGL (там сложно). Но для массовых ботнетов это серьёзный барьер.

TLS fingerprinting (JA3/JA4): секретный ключ к сердцу шифрования

Вы знали, что даже при зашифрованном HTTPS-соединении можно понять, какая программа его установила? Метод JA3 анализирует параметры TLS-рукопожатия (версия TLS, список шифров, расширения). Разные библиотеки (OpenSSL, BoringSSL, NSS) имеют свои характерные наборы. Бот, написанный на Python с использованием requests, будет иметь один JA3-отпечаток, а браузер Chrome - другой.

Более современный JA4 добавляет анализ потока данных после установки соединения и менее подвержен рандомизации. Антибот-системы (особенно на уровне WAF) могут блокировать соединения с подозрительными JA3-отпечатками, даже не глядя на содержимое запроса.

Например, ботнет AISURU/Kimwolf использовал библиотеку curl с характерным отпечатком, и многие антиботы научились его выявлять.

Правда, современные антидетект-браузеры могут подменять TLS-отпечатки (например, с помощью патча OpenSSL), но это уже высший пилотаж.

Облачные антибот-API: проверка по базам данных и поведению в реальном времени

Многие антибот-системы работают как облачный сервис (SaaS). Вы подключаете их через API: отправляете данные о запросе (IP, User-Agent, fingerprint, поведенческие метрики), а сервис возвращает решение: "бот" или "человек". Примеры: Cloudflare Bot Management, Datadome, PerimeterX, российские KillBot и Variti.

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

Например, KillBot использует технологию "слепка программы" (software snapshot), которая идентифицирует бота по уникальному отпечатку самой вредоносной программы, а не по IP или User-Agent. Это позволяет детектировать даже тех, кто использует резидентские прокси.

Есть также антиботы на уровне DNS (экран KillBot): вы меняете A-запись домена на IP фильтрующего сервера. Бот даже не добирается до вашего сайта - его запрос обрубается на подлёте. Это лучший метод против парсинга и скликивания.

Также прочтите:  Как внести сайт в белый список РКН: инструкция, подводные камни и альтернативы

Доказательство работы (Proof-of-Work): заставьте бота решать задачку

Вместо того чтобы мучить человека капчой, можно заставить браузер клиента выполнить небольшую вычислительную задачу. Например, вычислить хеш от строки. Для человека это незаметно (браузер делает это за доли секунды), а для бота, который не имеет полноценного движка JavaScript, это препятствие. Такой подход используют, например, системы Cloudflare (I'm Under Attack Mode) и некоторые специализированные антиботы.

Proof-of-work (PoW) эффективен против дешёвых ботнетов на слабых устройствах. Но мощные бот-фермы на хороших серверах тоже могут решать эти задачи, поэтому метод сам по себе не панацея.

Комбинация методов: почему один инструмент не работает

Золотое правило: ни один метод сам по себе не даёт 100% защиты. Поэтому антиботы комбинируют десятки проверок и выносят вердикт на основе взвешенной оценки. Вот как выглядит типичная "диагностическая карта" для одного запроса:

  • Капча решена? (да/нет) - вес 5
  • Время заполнения формы >2 сек? - вес 3
  • Fingerprint совпадает с ранее заблокированным? - вес 10
  • Движение мыши: скор >0,7 - вес 8
  • JA3-отпечаток подозрительный? - вес 7

Система суммирует баллы, и если порог превышен, бот блокируется. Пороги часто настраиваются администратором сайта (чувствительность).

Самые эффективные современные антиботы используют машинное обучение: они не прописывают веса вручную, а обучаются на размеченных данных (реальные боты vs реальные люди). Это позволяет выявлять сложные нелинейные зависимости.

KillBot: новый подход к фильтрации ботов через "слепок программы"

Пока одни антиботы пытаются вычислить злоумышленника по IP или поведению, KillBot пошёл другим путём. Вместо анализа внешних параметров система создаёт "слепок программы" (software snapshot) - уникальный цифровой отпечаток, который идентифицирует не посетителя, а саму программу, которая генерирует бот-трафик. Если бот изменит User-Agent, IP через прокси или подменит заголовки - слепок программы останется неизменным, и KillBot всё равно его узнает.

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

Два режима работы: аналитика и полная защита

KillBot предлагает два способа интеграции, и от выбора зависит, будете ли вы просто видеть ботов или полностью блокировать их доступ к сайту.

JS-интеграция (аналитический режим, без защиты). Скрипт KillBot размещается на сайте, система помечает визиты ботов в Яндекс.Метрике и Google Analytics, но боты продолжают заходить и грузить сервер. Этот режим подходит для сбора данных и создания аудиторий ботов для рекламных кабинетов, но не даёт реальной защиты.

DNS-экран (рекомендуемый режим). Вы меняете A-запись домена на IP-адрес защитного сервера KillBot. Весь трафик фильтруется до того, как достигнет вашего сайта. Бот даже не успевает загрузить страницу - его запрос обрывается на подходе, клик не фиксируется в рекламной аналитике, бюджет не списывается. Это единственный вариант, который реально защищает от спам-заявок, парсинга и скликивания.

Что можно делать с ботами: от капчи до "зацикливания"

KillBot не просто блокирует ботов - для каждого слепка можно настроить индивидуальное действие:

  • Блокировать - полностью запретить доступ для конкретного слепка (если вы уверены, что это 100% бот).
  • Показать капчу - если вы сомневаетесь. Капча может быть разных типов: слайдер, Alert капча KillBot.
  • "Зациклить" бота - отличный метод активной защиты. Бот отправляется в бесконечный редирект, тратит CPU и RAM своей фермы, и администратор ботнета сам исключит ваш сайт из ротации.
  • Скрыть коды аналитики - бот не попадает в Яндекс.Метрику. Для него это как чёрная дыра: он не видит своих визитов и может просто прекратить атаку.

Интеграция с рекламными сетями: экономия бюджета

Одна из самых болезненных проблем для бизнеса - скликивание рекламы. Боты кликают по объявлениям, бюджет уходит впустую, а продажи не растут. KillBot помогает и здесь. После подключения DNS-экрана система создаёт аудиторию ботов и передаёт её в Яндекс.Директ через API. Вы задаёте корректировку ставок "-100%" - и боты просто не видят вашу рекламу.

Кроме того, KillBot можно настроить так, чтобы скрыть коды аналитики от ботов, и тогда их визиты не попадают в Метрику. Ваша статистика становится чистой, а алгоритмы Директа не обучаются на "плохом" трафике.

Также прочтите:  Ботнет AISURU: как миллион Android-телевизоров устроили цифровой апокалипсис

Что такое "слепок программы" простыми словами

Представьте, что каждый бот - это автомобиль. Традиционные антиботы пытаются опознать его по номеру (IP) или марке (User-Agent). Но вор легко сменит номер и перекрасит машину.

KillBot идёт дальше: он снимает отпечаток двигателя, который у конкретной программы остаётся уникальным, сколько её ни перекрашивай.

Бот может менять IP, подменять заголовки, использовать прокси - слепок его программы остаётся неизменным, и KillBot его узнает.

Более того, KillBot различает даже эмуляцию - когда бот притворяется браузером Chrome, но на самом деле управляется скриптом. Слепок программы-автоматизатора будет отличаться от слепка реального браузера. Именно поэтому система эффективна против самых продвинутых поведенческих ботов, включая Resident Proxies и антидетект-браузеры.

Почему DNS-экран эффективнее JS-интеграции

Принципиальная разница в точке фильтрации. JS-интеграция работает на стороне клиента, когда скрипт уже загрузился в браузер бота.

DNS-экран фильтрует трафик до того, как бот загрузил хоть один байт контента.

Это даёт несколько преимуществ:

  • Бот не загружает страницу - значит, не создаёт нагрузку на ваш сервер.
  • Рекламные клики не фиксируются - бюджет не списывается.
  • Даже если бот использует Resident Proxy, он всё равно будет заблокирован на подходе.
  • При этом поисковые роботы (Googlebot, Яндекс Краулер) продолжают индексировать сайт без проблем.

Настройка и управление: от простого к сложному

KillBot предлагает гибкие настройки для администраторов любого уровня. Начать можно с настроек по умолчанию, которые обеспечивают 90-95% качества фильтрации. Для более точной настройки доступны группы правил WAF на основе параметров браузера, данных KillBot и IP-адреса - можно задать нужное действие (блокировка, капча, зацикливание, скрытие аналитики). При желании можно развернуть KillBot на своём сервере по инструкции.

При обнаружении ошибки (бот классифицирован как человек или наоборот) администратор может вручную скорректировать тип слепка - в следующий раз система не повторит эту ошибку. ИИ-помощник также автоматически обучается на вашем трафике и корректирует правила фильтрации без участия человека.

При выборе антибота стоит обратить внимание на KillBot, если ваш бюджет ограничен (от 999 ₽/мес), но нужна надёжная защита от парсинга и скликивания. Технология "слепка программы" даёт преимущество в борьбе с самыми хитрыми ботами, а DNS-экран гарантирует защиту до загрузки сайта. JS-интеграция подойдёт, если ваша задача - только аналитика и сбор аудитории ботов для рекламных сетей.

Человеческий фактор и ложные срабатывания (как не заблокировать бабушку)

Самое страшное для бизнеса - заблокировать реального клиента. Антиботы иногда ошибаются. Например, у пожилых людей может быть очень медленное движение мыши, или они используют старый браузер с нестандартными настройками. Также блокировать могут пользователей VPN (особенно если IP в дата-центре).

Поэтому хорошие антибот-системы дают администратору возможность:

  • Смотреть логи и отмечать ложные срабатывания
  • Вручную добавлять IP или отпечатки в белый список
  • Настраивать "режим песочницы" (только логировать, не блокировать)
  • Использовать "почётную капчу" для подозрительных, но не уверенных.

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

Заключение: кто побеждает - боты или антиботы?

Гонка вооружений продолжается. Боты становятся умнее, антиботы - сложнее. Пока что антиботы выигрывают в защите от массовых парсингов и спам-атак, но против целевых, хорошо замаскированных ботов (например, antidetect-браузеры с резидентскими прокси) - исход неоднозначен. Лучшая стратегия - многоуровневая защита: рейт-лимитинг, капча, поведенческий анализ, fingerprinting и облачный антибот-сервис.

И главное - не забывайте про человечность. Если вы заставите проходить капчу каждого посетителя - вреда будет больше. Настройте антибот с умом и периодически тестируйте его на себе (желательно не с рабочего IP).

А пока вы читали эту статью, какой-нибудь бот уже решил капчу за 2 цента и продолжил парсить конкурентов. Но вы теперь знаете, как ему противостоять. Удачи!

Российская альтернатива Cloudflare

Cloudflare окончательно заблокирован в РФ ещё летом 2025 года.
Функцию фильтрации ботов Cloudflare взял на себя российский антибот Killbot.
Принцип работы отличается от привычного, отслеживаются не знакомые всем при настройке других антибот решений параметры (входящие IP адреса, AS подсети ботов, User Agent и прочее, всё это легко подделывается), а уникальные для каждого набора браузеров слепки.
По отличию оригинального браузера от модифицированного, тот или иной заход определяется либо как заход реального посетителя, либо как заход бота.

Чтобы не повторяться - расписывал более подробно в статьях:

Попробовать бесплатно. При регистрации в Killbot введите промокод
promo13
и получите месяц тестирования платного тарифа Killbot (фильтрация трафика, 1000 руб) и Ads (отключение показа рекламы поведенческим ботам, 1000 руб) в качестве бонуса. Этого вам хватит на то, чтобы понять, подходит вам данное решение, или нет. На данный момент - в Рунете нет более достойной альтернативы, по соотношению цена-качество. Срок действия промокода ограничен по времени, куда-то записывать его нет смысла. В следующий раз промокод уже будет другой, поэтому использовать его нужно сейчас, когда вы читаете этот текст. Промокод действует только в форме регистрации. Если аккаунт уже создан - создайте новый, на другой почте, и при регистрации в последнем поле введите промокод.

Подпишитесь на Telegram канал / MAX для того, чтобы всегда быть в курсе последних новостей и обновленных настроек для защиты от ботов, а также оперативно получать новые материалы, выходящие на antibot24.ru

Автор: Сергей AntiDdos

Автор статей: Сергей (AntiBot24). Эксперт в области фильтрации поведенческого трафика, настройки антибот систем. Высший рейтинг на Kwork, более 680 отзывов, 100% заказов успешно сдано, 56% повторных заказов. Пишу подробные статьи, инструкции по фильтрации ботов в своем блоге antibot24.ru

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

Услуги

База знаний

Блог

Портфолио

AntiBot24

АнтиБОТ, поведенческие факторы, защита от ботов, настройка КиллБот.
Быстрее всего отвечаю в Telegram или MAX.

Telegram

MAX messenger

Более 900 выполненных работ на Кворк, положительные отзывы, профессионально занимаюсь фильтрацией бот трафика.
Ссылка на кворк
Свяжитесь со мной, для согласования перечня работ и условий оплаты.
Контакты
Copyright © 2026, AntiBOT24. Копирование материалов сайта запрещено.
Политика конфиденциальности
menu-circlecross-circle