Я расскажу как по слепку браузера выявлять вредоносный трафик.

Так же дам ссылку по которой можно посмотреть слепок своего браузера и любой другой бот программы: желающие могут "поиграть" на досуге.

Я, Григорий Мельников, основатель онлайн-сервиса по выявления ботов KillBot, продолжаю цикл статей, посвященных проблеме качества трафика.

Стандартные методы фильтрации трафика

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

Распространенные методы борьбы с вредоносным трафиком включают в себя следующие пункты:

  • Анализ фингерпринта визита на соответствие реальным существующим устройствам. Это устаревший метод, так как фингерпринты реальных устройств продаются.

  • Анализ IP адреса на спам. Устаревший метод, так как боты используют мобильные прокси с ротацией IP в 2-10 минут.

  • Поведенческий анализ. Отличный метод, если в качестве поведения использовать факт оплаты реальными деньгами. К сожалению, таргет на "платежеспособную" аудиторию в РСЯ этот очевидный факт игнорирует. Вот кейс: как боты из РСЯ кликают по скрытым ссылкам.

  • ИИ анализ поведения пользователя на сайте. Не будет работать для современных ботов. ИИ капчу решает на которой я туплю: воспроизвести движение мыши над активными элементами сайта, ввод данных и т.п. - плёвое дело.

Боты как братья - их порождает один источник

Поэтому единственный настоящий метод борьбы с ботами - это конструирование (построение) того, что всех этих братьев объединяет. Если найти то, что их объединяет, то вся сетка ботов уйдёт под фильтр.

Интернет ботов объединяет программа, которая их генерирует. Например, пользователей браузера opera можно расценивать как "боты" - все они используют один и тот же браузер, который их и объединяет.

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

Каждый софт в интернет имеет свой слепок - будь это браузер, бот, чекер или какая-либо другая программа доступа на сайт.

Для проверки слепка программы доступа на сайт есть специальный чекер - вот он: https://killbot.ru/snpsht.html

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

Посмотрите видео с демонстрацией слепков реальных браузеров и бот программ:

Алгоритм антифрода с использованием подхода слепка браузера

  • строим слепок браузера

  • смотрим кому принадлежит слепок:
    -- если слепок совпадает со слепком настоящего браузера, то заход обрабатываем как заход от настоящего пользователя;
    -- если слепок не принадлежит системному браузеру, то мы можем его классифицировать самостоятельно (например, если среди слепков есть факты оплаты, то слепок нужно отнести к настоящим пользователям);
    -- если слепка нет в известных браузерах и все визиты данного слепка не содержат живых конверсий, то это боты;
    -- если слепок есть в заранее составленном списке ботов, то это бот;

Таким образом, если нам удалось построить сущность - "слепок", то это дает нам безграничный контроль над трафиком:

  • трафик за слепком я могу проверить вручную (живые конверсии + яндекс вебвизор)

  • слепки за которыми нет оплат для значимой выборки (возможно одинаковое поведение) - это боты.

  • визиты со слепками ботов можно обрабатывать по другому: не учитывать конверсии, блокировать, перенаправлять на другую страницу и т.п.

  • если вдруг за слепком я увижу и пользователей и ботов, то так же этот слепок можно обработать по другому: показать слайдер, капчу, 2FA верификация и т.п. в зависимости от целей.

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

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

Также я приведу кейс по очистке трафика сайта от ботов (крупнейшего провайдера виртуальной АТС) - это будет очень интересный кейс, поэтому подписывайтесь на мой телеграм канал чтобы не пропустить его: https://t.me/KillBotRus

Комментарии (25)


  1. MesDes
    26.07.2024 09:35
    +3

    Вроде не глупо написано и вопрос важный затронут, но на выходе пустота. Всё ради ссылки?


    1. grigoriy-melnikov Автор
      26.07.2024 09:35

      В конце ссылка на телеграм канал - там ответы на все вопросы которые у вас возникают.


      1. Krypt
        26.07.2024 09:35
        +7

        То есть таки ради ссылки, ха.


    1. Clickk
      26.07.2024 09:35
      +2

      На самом деле, очень грамотно написана эта статья и на те, что ссылается автор. Не вижу ничего плохого в ссылках.


      1. Kenya-West
        26.07.2024 09:35

        Хотите узнать, как я отреагировал на ваш комментарий? Заходите на мой Телеграм-анал!


  1. Nunter
    26.07.2024 09:35
    +1

    Ну получили слепок а дальше что? Как на практике применить?


    1. grigoriy-melnikov Автор
      26.07.2024 09:35

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


      1. Nunter
        26.07.2024 09:35
        +1

        Это понятно, а на практике как применять?
        Для примера - бот кликнул по рекламе в ЯД, яндекс денег уже списал, а что там будет делать бот на сайте уже не имеет для меня как для рекламодателя значения. Если бы вашу идею (методы) внедрили на самом директе - тогда да, но это утопия, яндекс на это никогда не пойдет ;)


        1. grigoriy-melnikov Автор
          26.07.2024 09:35

          Для Директа отдельный подход. Визиты ботов собираются в сегмент аудитории. На основании этого сегмента строится looke-like аудитория и для неё делается корректировка ставок в "-100%". Так же визитам ботов ограничивается доступ на сайт - что не позволяет делать конверсии и Директ на конверсиях бота не обучается. Работает очень хорошо - есть реальные кейсы.


          1. Nunter
            26.07.2024 09:35

            Ну... в том скудном выборе что нам дает ЯД имхо невозможно сделать какой то сегмент и ему что то показывать.. Есть конкретные примеры? или все на уровне идей?
            PS секретов не надо выдавать, но тем не менее вопросов к вам больше чем ответов.

            Спасибо


            1. grigoriy-melnikov Автор
              26.07.2024 09:35

              Рабочие кейсы есть в телеграм канале и на самом моем сайте. Всё работает стабильно.


      1. Maxim_Q
        26.07.2024 09:35

        А если ботовод подствавит в строку User Agent реальное значение браузера от хрома, что тогда? Ваш скрипт покажет что он реальный пользователь? Какие еще параметры нужно анализировать чтобы отсеивать таких хитрых ботов?


        1. grigoriy-melnikov Автор
          26.07.2024 09:35

          На значение Юзер Агент смотреть бессмысленно, так как его элементарно подменить. Анализ параметров - это устаревший метод, любые параметры легко подменяются. В основе построения слепка лежит математический аппарат, который выявляет факт подмены параметра и на основании этого строит слепок бот-програмы. Сами значения параметров роли не играют.


          1. Maxim_Q
            26.07.2024 09:35

            Что значит "В основе построения слепка лежит математический аппарат"?

            По вашему описанию вообще ничего не понятно, можно подробнее пояснить как вы там и что считаете? А то все эти крутые слова просто как вилами по воде.


            1. Dolios
              26.07.2024 09:35

              Надо перейти в телегу и купить там платный вебинар, не иначе :)


              1. grigoriy-melnikov Автор
                26.07.2024 09:35

                Тренинги это не мое) Там платного ничего нет)


                1. Maxim_Q
                  26.07.2024 09:35

                  У вас же доступ к вашему скрипту платный 999 руб в месяц, но правда есть еще бесплатный вариант но с урезанным функционалом.


                  1. grigoriy-melnikov Автор
                    26.07.2024 09:35
                    +1

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


            1. grigoriy-melnikov Автор
              26.07.2024 09:35

              По вашему описанию вообще ничего не понятно, можно подробнее пояснить как вы там и что считаете? 

              Как именно рассчитывается слепок - это тема для отдельной очень большой статьи. А тут вы можете посмотреть только результат работы этого "Математического аппарата".


              1. Maxim_Q
                26.07.2024 09:35

                Еще одна статья будет или нет? Покажете как вы отсеиваете ботов от реальных людей?


                1. grigoriy-melnikov Автор
                  26.07.2024 09:35

                  Статей от меня будет много. Математический аппарат будет опубликован в ВАК - но без примеров исходного кода - идея будет передана. Возможно и здесь упрощенный вариант размещу.


                  1. Maxim_Q
                    26.07.2024 09:35

                    Что такое ВАК? Для меня ВАК (Высшая Аттестационная Комиссия) – это орган государственного значения, работающий при Министерстве науки и образования Российской Федерации. Вы куда статью хотите писать?


                    1. grigoriy-melnikov Автор
                      26.07.2024 09:35

                      Не в саму комиссию, в ВАКовский журнал.


                      1. Maxim_Q
                        26.07.2024 09:35

                        Чтобы вам не писать две статьи, пиши одинаковые в журнал и сюда на хабр. Когда кстати ждать статью, через сколько дней?


                      1. grigoriy-melnikov Автор
                        26.07.2024 09:35

                        Написание статьи в рецензируемый журнал растягивается на месяцы, а не на дни. У меня очень много работы, и не только статейной. В приоритете статьи по цифровой идентификации личности, уникальном ID устройства и кейсы. Идея мат аппарата будет опубликована не ранее чем через пол года.