Сравнение методов защиты от скликивания: от CAPTCHA до сетевого анализа

Рынок защиты от рекламного фрода переживает бурный рост. По оценкам аналитиков, к 2028 году его объём превысит $50 млрд — и это неудивительно, учитывая масштаб проблемы. Рекламодатели ежегодно теряют десятки миллиардов долларов из-за скликивания, бот-трафика и других форм мошенничества. В ответ индустрия предлагает множество подходов к защите — от простейших CAPTCHA до продвинутого анализа сетевых протоколов.

Но как выбрать подходящее решение? Какой метод действительно работает против современных ботов, а какой остался в прошлом десятилетии? В этой статье мы разберём шесть основных подходов к защите от скликивания, сравним их по ключевым параметрам и объясним, почему только комбинация методов обеспечивает надёжную защиту.

Метод 1. CAPTCHA и reCAPTCHA

Как работает

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) — исторически первый массовый метод защиты от ботов. Пользователю предлагается решить задачу, которую легко выполняет человек, но сложно — машина: распознать текст на изображении, выбрать картинки с определённым объектом, поставить галочку в чекбоксе reCAPTCHA.

Google reCAPTCHA v3 пошла дальше — она работает в фоновом режиме, оценивая поведение пользователя по шкале от 0.0 до 1.0, без явного взаимодействия. Но даже в этом варианте есть фундаментальные ограничения.

Почему не работает для защиты от скликивания

Главная проблема CAPTCHA применительно к скликиванию — она решает не ту задачу. CAPTCHA проверяет, человек ли посетитель, уже после того, как произошёл клик по рекламе и бюджет списан. В контекстной рекламе деньги снимаются в момент клика, а CAPTCHA может стоять только на лендинге. К моменту, когда бот (или человек-кликер) сталкивается с CAPTCHA, рекламодатель уже заплатил за клик.

Кроме того, современные боты давно научились обходить CAPTCHA. Существует целая экосистема сервисов (2Captcha, Anti-Captcha, CapSolver), которые решают любые типы проверок за доли секунды. Стоимость решения одной CAPTCHA — от $0.001 до $0.005, что ничтожно на фоне стоимости рекламного клика.

Для reCAPTCHA v3 разработаны специализированные обходы: боты эмулируют человеческое поведение, накапливая высокий рейтинг доверия перед совершением целевого действия.

Влияние на пользователей

CAPTCHA существенно ухудшает пользовательский опыт. Исследования показывают, что видимая CAPTCHA снижает конверсию лендинга на 10-40% в зависимости от сложности задачи. Пользователи раздражаются, уходят к конкурентам, а рекламодатель теряет дважды: и на фроде, и на потерянных конверсиях.

Метод 2. Блокировка по IP-адресам

Как работает

Один из самых распространённых подходов — ведение чёрных списков IP-адресов. Системы защиты собирают базы IP, замеченных в подозрительной активности: дата-центры, известные прокси-серверы, VPN-провайдеры, адреса из предыдущих атак. При поступлении клика IP-адрес проверяется по базе, и если он в списке — клик блокируется или помечается как подозрительный.

Некоторые решения идут дальше, анализируя частоту кликов с одного IP (rate limiting), географию, принадлежность к AS (автономной системе) и репутацию подсети.

Почему недостаточно

Блокировка по IP была эффективна в эпоху, когда боты работали с фиксированных адресов дата-центров. Сегодня ситуация кардинально изменилась.

Во-первых, резидентные прокси. Сервисы вроде Bright Data, Oxylabs, IPRoyal предоставляют доступ к миллионам реальных домашних IP-адресов по всему миру. Бот, использующий резидентный прокси, неотличим от обычного домашнего пользователя по IP-адресу. Стоимость резидентного трафика — от $1 за гигабайт, что делает массовое скликивание через такие прокси экономически оправданным.

Во-вторых, мобильные прокси. Мобильные операторы используют NAT (CGNAT), из-за чего тысячи реальных пользователей делят один IP-адрес. Блокировка мобильного IP приводит к массовым ложным срабатываниям — вы отсекаете реальных клиентов.

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

Уровень ложных срабатываний при агрессивной IP-фильтрации достигает 15-25%, что делает этот метод опасным для бизнеса при использовании в качестве основного.

Метод 3. JavaScript-фингерпринтинг

Как работает

JavaScript-фингерпринтинг собирает характеристики браузера и устройства на стороне клиента, формируя уникальный идентификатор (отпечаток). Типичные параметры: разрешение экрана, установленные шрифты, параметры Canvas и WebGL, версия браузера, часовой пояс, язык системы, список плагинов, количество ядер CPU, объём оперативной памяти.

Библиотеки вроде FingerprintJS (ныне Fingerprint) собирают десятки таких сигналов и генерируют стабильный хеш, который сохраняется даже при очистке cookies. Это позволяет идентифицировать повторные визиты и обнаруживать ботов, чьи параметры браузера выглядят неестественно.

Ограничения

JavaScript-фингерпринтинг хорошо работает против примитивных ботов, но бессилен перед современными инструментами обхода.

Антидетект-браузеры (Multilogin, GoLogin, Dolphin Anty, AdsPower) специально спроектированы для подмены всех параметров, собираемых JS-фингерпринтингом. Они генерируют согласованные профили, в которых Canvas, WebGL, шрифты и другие характеристики выглядят как реальное устройство. Более того, антидетект-браузеры эмулируют реальные аппаратные параметры — количество ядер, объём RAM, размер экрана — создавая правдоподобные отпечатки.

Puppeteer с плагинами stealth (puppeteer-extra-plugin-stealth) и Playwright с аналогичными настройками маскируют автоматизацию браузера. Они подменяют navigator.webdriver, эмулируют пользовательские движения мыши и обходят стандартные проверки на автоматизацию.

Фундаментальная уязвимость JS-фингерпринтинга: он полностью выполняется на стороне клиента. Атакующий контролирует среду исполнения и может подменить любой параметр. Это архитектурный недостаток, который невозможно исправить в рамках данного подхода.

Кроме того, JS-фингерпринтинг требует загрузки и выполнения скрипта на странице, что добавляет задержку и создаёт дополнительную точку отказа. Если скрипт заблокирован (AdBlock, NoScript), защита не работает.

Метод 4. Поведенческий анализ

Как работает

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

Продвинутые системы строят поведенческие модели для каждого пользователя и обнаруживают аномалии в реальном времени. Если «пользователь» демонстрирует нехарактерное поведение, он помечается как подозрительный.

Ограничения

Поведенческий анализ — мощный инструмент, но у него есть серьёзные слабости.

Первое: для работы нужны данные. Система должна наблюдать за поведением пользователя достаточно долго, чтобы сделать вывод. В контексте скликивания бот может кликнуть по объявлению, попасть на лендинг и закрыть страницу за 1-2 секунды — этого времени недостаточно для полноценного поведенческого анализа.

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

Третье: инструменты обхода. Библиотеки вроде ghost-cursor генерируют реалистичные кривые Безье для движения мыши. Playwright и Puppeteer поддерживают эмуляцию человекоподобного ввода с настраиваемыми задержками. Продвинутые ботнеты записывают и воспроизводят поведение реальных пользователей, делая поведенческий анализ неэффективным.

Наконец, поведенческий анализ, как и JS-фингерпринтинг, работает на стороне клиента. Атакующий может модифицировать скрипты аналитики, заблокировать отправку данных или подменить telemetry.

Метод 5. Машинное обучение на аналитических данных

Как работает

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

Такие системы обучаются на исторических данных и постоянно адаптируются к новым схемам фрода. Чем больше данных — тем точнее модель.

Ограничения

Критический недостаток ML-подхода — он работает постфактум. Модели обучаются на уже произошедших событиях. Чтобы обнаружить новую схему фрода, система должна сначала пропустить достаточно мошеннических кликов для статистической значимости. На практике это означает потерю бюджета в период адаптации.

ML-модели требуют значительного объёма данных для обучения. Небольшие рекламодатели с бюджетом в несколько десятков тысяч рублей в месяц не генерируют достаточно трафика для эффективной работы моделей.

Кроме того, ML отлично подходит для отчётности и анализа, но не для блокировки в реальном времени. Типичная задержка от клика до классификации — от нескольких минут до нескольких часов. Это полезно для возврата средств через рекламные платформы, но не для предотвращения потерь.

Ещё одна проблема — adversarial attacks. Зная, по каким метрикам работает ML-модель, злоумышленник может адаптировать своё поведение, чтобы оставаться ниже порога детекции: имитировать просмотр страниц, ограничивать частоту кликов, распределять активность по времени.

Метод 6. Серверный сетевой фингерпринтинг (TCP/TLS/HTTP2)

Как работает

Сетевой фингерпринтинг — принципиально иной подход. Вместо анализа того, что происходит в браузере, он исследует то, как клиент устанавливает сетевое соединение на уровне TCP, TLS и HTTP/2.

При установке TCP-соединения клиент отправляет SYN-пакет, параметры которого (размер окна, TTL, опции TCP, MSS) определяются операционной системой и сетевым стеком. При TLS-handshake клиент передаёт ClientHello с набором поддерживаемых шифров, расширений, кривых — это формирует JA3/JA4-отпечаток. При согласовании HTTP/2 передаются параметры фреймов SETTINGS и WINDOW_UPDATE, формирующие HTTP/2-фингерпринт (Akamai fingerprint).

Совокупность этих параметров создаёт уникальный профиль клиентского стека, который практически невозможно подделать с клиентской стороны.

Почему это самый надёжный метод

Ключевое преимущество сетевого анализа — пассивность и невозможность обхода клиентскими средствами.

Антидетект-браузеры подменяют JavaScript-параметры (Canvas, WebGL, navigator), но не контролируют сетевой стек операционной системы. Браузер может врать о своём User-Agent, но TCP-параметры, TLS ClientHello и HTTP/2 SETTINGS определяются реализацией в ядре ОС и криптографической библиотеке. Multilogin может представляться Safari на macOS, но если TCP-стек выдаёт характеристики Windows, а JA3-отпечаток соответствует Chrome — подмена обнаруживается.

Headless-браузеры (Puppeteer, Playwright) используют Chromium с характерными TLS-отпечатками, отличающимися от обычных пользовательских инсталляций Chrome. Даже при использовании puppeteer-extra-plugin-stealth сетевые параметры остаются неизменными, потому что они определяются библиотекой BoringSSL, скомпилированной в бинарник Chromium.

Сетевой анализ работает до загрузки страницы. Решение о подозрительности соединения принимается на уровне reverse proxy, ещё до того, как клиент получит хотя бы один байт HTML. Это позволяет блокировать ботов превентивно, экономя ресурсы сервера и предотвращая списание средств.

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

Сравнительная таблица методов защиты

Параметр CAPTCHA IP-блокировка JS-фингерпринтинг Поведенческий анализ ML на аналитике Сетевой анализ TCP/TLS
Уровень детекции Низкий (30-50%) Средний (40-60%) Средний (50-70%) Высокий (60-80%) Средний (50-75%) Очень высокий (85-95%)
Ложные срабатывания Высокие (10-40%) Высокие (15-25%) Средние (5-15%) Низкие (3-8%) Низкие (3-10%) Очень низкие (1-3%)
Задержка детекции После клика В момент клика После загрузки JS После накопления данных Минуты-часы До загрузки страницы
Обход антидетект-браузерами Легко Легко Легко Средне Средне Крайне сложно
Обход Puppeteer/Playwright Средне Легко Средне Средне Средне Сложно
Обход резидентными прокси Не влияет Полный обход Не влияет Не влияет Не влияет Частичное обнаружение
Влияние на пользователя Сильное негативное Блокировка легитимных IP Минимальное Минимальное Отсутствует Отсутствует
Сложность внедрения Низкая Низкая Средняя Высокая Очень высокая Высокая
Работа без JavaScript Нет Да Нет Нет Частично Да
Защита в реальном времени Нет Да Частично Частично Нет Да

Что используют существующие решения на рынке

Рассмотрим, какие методы применяют популярные коммерческие решения для защиты от скликивания.

ClickCease — одно из самых известных решений. Основной механизм работы — анализ IP-адресов и базовая поведенческая аналитика. Система ведёт чёрные списки IP, отслеживает частоту кликов и блокирует подозрительные источники через правила исключения в Google Ads и Facebook Ads. Подход простой и понятный, но уязвимый перед резидентными прокси и продвинутыми ботами. Фактически ClickCease сочетает методы 2 и 4 из нашего обзора с акцентом на IP-фильтрацию.

CHEQ (ранее ClickGuard) — позиционируется как более продвинутое решение. Использует комбинацию JavaScript-фингерпринтинга, поведенческого анализа и ML-моделей. CHEQ анализирует десятки клиентских параметров и применяет машинное обучение для классификации трафика. Это сочетание методов 3, 4 и 5 — более надёжное, чем чистая IP-блокировка, но по-прежнему зависящее от клиентского JavaScript.

TrafficGuard — решение с фокусом на аналитику и ML. Собирает данные из нескольких источников (рекламные платформы, веб-аналитика, собственные SDK) и строит ML-модели для обнаружения аномалий. Сильная сторона — качество аналитики и отчётности, слабая — постфактумный характер работы. Преимущественно метод 5 с элементами метода 4.

Заметим: ни одно из массовых коммерческих решений не использует глубокий сетевой анализ TCP/TLS/HTTP2 в качестве основного метода детекции. Это связано с технической сложностью — для серверного сетевого фингерпринтинга требуется доступ к сырым пакетам на уровне ядра ОС, что невозможно реализовать простым подключением JavaScript-тега.

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

Ни один метод в отдельности не обеспечивает полноценной защиты. CAPTCHA бесполезна для скликивания. IP-блокировка обходится прокси. JS-фингерпринтинг бессилен перед антидетект-браузерами. Поведенческий анализ требует времени. ML работает постфактум.

Оптимальная архитектура защиты строится послойно, где сетевой анализ TCP/TLS выступает фундаментом.

Первый уровень — сетевой анализ. На уровне reverse proxy, ещё до загрузки страницы, анализируются TCP, TLS и HTTP/2 параметры соединения. Это отсекает headless-браузеры, Puppeteer-ботов, несоответствия User-Agent/TLS-стека и трафик из дата-центров. Этот уровень работает мгновенно, пассивно и с минимальными ложными срабатываниями.

Второй уровень — JS-фингерпринтинг и поведенческий анализ. Для соединений, прошедших сетевой фильтр, на странице собираются дополнительные параметры: Canvas, WebGL, характеристики устройства, поведение пользователя. Эти данные обогащают профиль и помогают обнаруживать сложные атаки, прошедшие первый уровень.

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

Такая послойная архитектура обеспечивает уровень детекции свыше 95% при минимальных ложных срабатываниях (менее 1%) и нулевом влиянии на пользовательский опыт.

Выводы и рекомендации

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

Если вы CTO или продакт-менеджер, задайте поставщику три вопроса:

  1. Работает ли ваша защита до загрузки страницы? Если нет — вы платите за каждый мошеннический клик до момента его обнаружения.
  2. Как вы обнаруживаете антидетект-браузеры и headless-автоматизацию? Если ответ сводится к JS-проверкам — защита обходится за несколько минут.
  3. Какой уровень ложных срабатываний и как вы его измеряете? Агрессивная блокировка с 20% false positive rate обходится дороже, чем сам фрод.
  4. Сетевой анализ TCP/TLS/HTTP2 — единственный метод, который отвечает на все три вопроса положительно: работает до загрузки страницы, обнаруживает антидетект-браузеры на уровне сетевого стека и демонстрирует минимальный уровень ложных срабатываний.

Scroll to Top