{"id":14289,"url":"\/distributions\/14289\/click?bit=1&hash=892464fe46102746d8d05914a41d0a54b0756f476a912469a2c12e8168d8a933","title":"\u041e\u0434\u0438\u043d \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u043d\u0430 5%, \u0430 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0447\u0435\u043a \u2014 \u043d\u0430 20%","buttonText":"","imageUuid":""}

Как обнаружить скликивающих Яндекс.Директ ботов анализируя движения мышки?

Меня зовут Максим Кульгин, моя компания Clickfraud занимается защитой от скликивания контекстной рекламы в «Яндекс.Директе» и Google.Ads. Задача определения бота в трафике не очень простая, но покажем, как это можно сделать с помощью анализа движения мышки. Вы, кстати, можете это проверить сами, используя, например, Яндекс.Вебвизор.

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

Что такое скликивание контекстной рекламы и как его предотвратить

Меня зовут Максим Кульгин, моя компания Clickfraud занимается защитой от скликивания контекстной рекламы в «Яндекс.Директе» и Google.Ads. Мы подготовили это подробное руководство, которое позволит вам лучше понять проблему кликфрода и сократить размер скликивания вашей контекстной рекламы.

Всё усложнилось с появлением браузеров, работающих в headless-режиме, то есть браузеров, которые управляются при помощи скриптов и могут взаимодействовать с веб-страницей точно так же, как обычный пользователь. Хотя можно легко запрограммировать браузер на взаимодействия с сайтом при помощи мыши, сделать их похожими на действия человека — непростая задача. Таким образом, проблема обнаружения бота изменилась: если раньше нужно было просто проверить, использовалась ли мышь при взаимодействии с сайтом, то теперь нужно пытаться определить, похоже ли поведение пользователя сайта на поведение человека или бота.

Как самостоятельно защитить свою рекламу Google Ads от скликивания?

Меня зовут Максим Кульгин, моя компания Clickfraud занимается защитой от скликивания контекстной рекламы в «Яндекс.Директе» и Google.Ads. Расскажем, как можно самостоятельно минимизировать влияние скликивающих ботов на ваш рекламный бюджет.

Анализ трех вариантов перемещения мыши

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

Первый пример перемещения курсора ботом

Вот наша первая пара примеров, в которой одни движения мыши выполнены человеком, а другие — ботом. Чтобы отследить эти движения мыши, используется внутреннее событие mousemove, которое фиксируется во всех современных браузерах. Каждая точка в траекториях ниже отмечает положение указателя мыши во время наступления события mousemove. Можно ли определить, что траекторию 1A или 1B оставил бот?

Конечно можно, ведь здесь всё очевидно! Если только вы не бот, думаю, вы согласитесь, что траектория 1A выглядит подозрительно. Однако многие простые боты и в самом деле перемещают курсор мыши примерно так, как показано на 1A. Причина формирования подобных траекторий заключается в том, что при программировании поведения бота проще всего перемещать курсор мыши простым указанием координат, в которых он должен побывать. Такой подход приводит к «невозможным для человека» перемещениям указателя мыши, когда он мгновенно перескакивает от одного положения к другому. Тогда как человек перемещает указатель, физически двигая мышь рукой, поэтому образуются относительно плавные траектории, для которых характерно большое количество событий mousemove.

Скликали рекламу на 23 100 рублей за 8 дней. Как это происходит в реальности?

Меня зовут Максим Кульгин, и моя компания clickfraud занимается защитой от скликивания контекстной рекламы в «Яндекс.Директе» и Google Ads. Летом к нам обратился клиент, который захотел перед тем, как подключить защиту, проверить есть ли у него скликивание рекламы. Всегда ведь любопытно разобраться изнутри, что происходит на своем сайте и сколько…

Простой подход к обнаружению ботов, например как в случае 1A, состоит в подсчете количества зафиксированных событий mousemove и маркировке тех взаимодействий пользователя с мышью, в которых это количество до невозможного низкое. Обычно если количество событий не измеряется сотнями, то такое поведение считается подозрительным. На изображенных выше траекториях перемещение курсора мыши человеком привело к появлению 378 событий mousemove, а перемещение курсора ботом — всего четырех.

Второй пример перемещения курсора ботом

Какая из двух представленных ниже траекторий принадлежит боту?

К счастью, здесь тоже всё просто. Но в этот раз бот из примера 2B хотя бы попытался быть похожим на человека. Как вы уже догадались, самый простой способ запрограммировать бота на перемещение курсора мыши — заставить его перемещать курсор по прямым линиям. И хотя прямые линии легко распознать визуально, разработать правило автоматического обнаружения бота — более сложная задача. Прежний подход с подсчетом количества событий mousemove здесь уже не сработает, поскольку и в 1A, и в 1B приблизительно 120 таких событий.

При помощи конструирования признаков можно приблизиться к решению задачи обнаружения бота по траектории курсора мыши. Но сначала полезно будет узнать, что понимается под перемещением курсора мыши по прямой линии. Это вопрос из области не философии, а физики. Перемещение по прямой линии означает перемещение с постоянной скоростью, то есть с нулевым ускорением. На графике ниже показано положение, скорость и ускорение по оси X для траектории человека (2A) и бота (2B).

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

Третий пример перемещения курсора ботом

Последний тест. Какая из траекторий ниже создана ботом?

На этот раз определить будет сложнее! Оба примера включают в себя множество событий mousemove и плавные кривые линии вместо прямых. Может быть, даже слишком плавные?

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

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

0
4 комментария
Vyacheslav Teplyakov

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

Ответить
Развернуть ветку
Максим Кульгин
Автор

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

Ответить
Развернуть ветку
Vyacheslav Teplyakov

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

Ответить
Развернуть ветку
Максим Кульгин
Автор

еще не успели написать про это. Делаем. Нейронку обучаем

Ответить
Развернуть ветку
1 комментарий
Раскрывать всегда