Слепок Браузера: альтернативный подход для борьбы с вредоносным трафиком
![158665e8c1822cb1f0cedaf9e9193739.png](https://habrastorage.org/getpro/habr/upload_files/158/665/e8c/158665e8c1822cb1f0cedaf9e9193739.png)
Я расскажу как по слепку браузера выявлять вредоносный трафик.
Так же дам ссылку по которой можно посмотреть слепок своего браузера и любой другой бот программы: желающие могут «поиграть» на досуге.
Я, Григорий Мельников, основатель онлайн-сервиса по выявления ботов KillBot, продолжаю цикл статей, посвященных проблеме качества трафика.
Стандартные методы фильтрации трафика
Чёрный ящик с набором правил и цифрой вероятности — фильтровать трафик на таких парадигмах сложно. Прозрачность, гибкость, возможность исправлять ошибки — именно на этом должен быть основан антифрод, который легко применять практически.
Распространенные методы борьбы с вредоносным трафиком включают в себя следующие пункты:
Анализ фингерпринта визита на соответствие реальным существующим устройствам. Это устаревший метод, так как фингерпринты реальных устройств продаются.
Анализ IP адреса на спам. Устаревший метод, так как боты используют мобильные прокси с ротацией IP в 2–10 минут.
Поведенческий анализ. Отличный метод, если в качестве поведения использовать факт оплаты реальными деньгами. К сожалению, таргет на «платежеспособную» аудиторию в РСЯ этот очевидный факт игнорирует. Вот кейс: как боты из РСЯ кликают по скрытым ссылкам.
ИИ анализ поведения пользователя на сайте. Не будет работать для современных ботов. ИИ капчу решает на которой я туплю: воспроизвести движение мыши над активными элементами сайта, ввод данных и т.п. — плёвое дело.
Боты как братья — их порождает один источник
Поэтому единственный настоящий метод борьбы с ботами — это конструирование (построение) того, что всех этих братьев объединяет. Если найти то, что их объединяет, то вся сетка ботов уйдёт под фильтр.
Интернет ботов объединяет программа, которая их генерирует. Например, пользователей браузера opera можно расценивать как «боты» — все они используют один и тот же браузер, который их и объединяет.
Прочитайте мою другую статью: кто генерирует ботов, каким софтом и зачем.
Каждый софт в интернет имеет свой слепок — будь это браузер, бот, чекер или какая-либо другая программа доступа на сайт.
Для проверки слепка программы доступа на сайт есть специальный чекер — вот он: https://killbot.ru/snpsht.html
Если перейти по ссылке, то вы увидите число — это слепок вашего браузера. При этом, слепок бот программы, которая автоматизирует действия браузера хром, будет отличаться несмотря на то, что бот может подменить фингерпринт и внести другие де-идентифицирующие шумы.
Посмотрите видео с демонстрацией слепков реальных браузеров и бот программ:
Алгоритм антифрода с использованием подхода слепка браузера
строим слепок браузера
смотрим кому принадлежит слепок:
-- если слепок совпадает со слепком настоящего браузера, то заход обрабатываем как заход от настоящего пользователя;
-- если слепок не принадлежит системному браузеру, то мы можем его классифицировать самостоятельно (например, если среди слепков есть факты оплаты, то слепок нужно отнести к настоящим пользователям);
-- если слепка нет в известных браузерах и все визиты данного слепка не содержат живых конверсий, то это боты;
-- если слепок есть в заранее составленном списке ботов, то это бот;
Таким образом, если нам удалось построить сущность — «слепок», то это дает нам безграничный контроль над трафиком:
трафик за слепком я могу проверить вручную (живые конверсии + яндекс вебвизор)
слепки за которыми нет оплат для значимой выборки (возможно одинаковое поведение) — это боты.
визиты со слепками ботов можно обрабатывать по другому: не учитывать конверсии, блокировать, перенаправлять на другую страницу и т.п.
если вдруг за слепком я увижу и пользователей и ботов, то так же этот слепок можно обработать по другому: показать слайдер, капчу, 2FA верификация и т.п. в зависимости от целей.
Понятно, что слепка нигде в коде бота и браузера мы не найдем — это математика. Параметры браузера сворачиваются хеш функицей и получается число. Эта хеш функция устойчива к изменению параметров, подмене фингерпринта, шумам и т.п. Т.е. мы получаем идентификатор программы, генерирующей ботов. И это очень хороший инструмент для фильтрации трафика в рамках сайта: я вижу слепки, я вижу визиты, я вижу конверсии — выделить ботовские визиты по слепкам с таким подходом — элементарно.
В одном из следующих постов я расскажу про построение DEVICE_ID — уникального идентификатора устройства — он будет одним для рабочей станции, вне зависимости от того, через какой браузер осуществлен заход на сайт: т.е. боты, порожденные одним сервером так же будут иметь один идентификатор DEVICE_ID. Возможно, исключением будет ТОР браузер.
Также я приведу кейс по очистке трафика сайта от ботов (крупнейшего провайдера виртуальной АТС) — это будет очень интересный кейс, поэтому подписывайтесь на мой телеграм канал чтобы не пропустить его: https://t.me/KillBotRus