Как ботнеты маскируются под живого пользователя через fingerprint и WebGL
Давайте поднимем логи и посмотрим правде в глаза: современный фрод редко палится одним признаком. Скрипт подменяет canvas, шумит в WebGL, рандомизирует navigator, но делает это не как человек, а как генератор правдоподобных, но несвязанных значений.
Смотрите на связность отпечатка:
— UA, platform, language, timezone и screen должны жить в одной географии;
— WebGL vendor/renderer обязан совпадать с классом устройства;
— шрифты, touch, hardwareConcurrency и deviceMemory не должны прыгать между сессиями без причины.
Если отпечаток каждый раз новый, но поведение одинаковое — перед вами не браузер, а маска.
В WebGL фрод часто выдают мелочи: одинаковые массивы поддерживаемых расширений, пустые или слишком “чистые” параметры, повторяемые хэши canvas при разных входных данных. Нормальный пользователь оставляет следы среды, а ботнет любит стерильность и серийную сборку. Ботнеты эволюционируют, но паттерны их поведения остаются прежними.
Рабочая фильтрация строится на корреляции, а не на одном флаге: сравнивайте fingerprint с историей IP, cookie, поведенческими таймингами и графом переходов. Если новый отпечаток приходит с тем же ритмом кликов, теми же паузами и тем же набором рефереров — это уже не “пользователь”, а повторяемый сценарий.
Финал простой: ловите не WebGL сам по себе, а несостыковки между слоями. Вот технический разбор того, как именно уплывает ваш рекламный бюджет.
Защита от фрода в рекламе
@ad_fraud_shield_arb
Как ботнеты маскируются под живого пользователя через fingerprint и WebGL
Этот пост опубликован в Telegram-канале Защита от фрода в рекламе. Подписаться можно по ссылке: @ad_fraud_shield_arb.