Retox
Пишу AntiBot модуль. Нужна помощь силы master-x
Сразу отбрасываем ботнет кликботов, их не отловить, только через скрытые линки, фэкст_клики, плюс отслеживанием повторяющихся IP, так как крупных ботнетов с over 10k машин онлайн мало.
Отсекать / выявлять хочу серверных ботов. Особенно сложные ,не CURL + proxy, а Ex. python+эмулятор браузера.
Теоретически, есть то что не может выполнить эмулятор.
Когда я писал asm вирусы в 90тых (не выпуская в природу), можно было хитро обходить, виртуальный эмулятор DrWeb, передавай ключ декриптору, не через регистры, а через порты, DrWeb не мог эмулировать железо, в результате секунд десять долбил infected файл, и ставил OK.
Так же хочу и с ботом. Есть вероятность скормить боту то то, он не сможет сэмулировать.
Пока мысли такие.
1) cookie - бот теоретически поддерживает (но можно отдавать куку и истёкшим сроком), браузер поидее должен её удалять, но FF к примеру, не удаляет и могут быть ложные срабатывания.
2) flash - вариант, но он может быть отключен в браузерах, но вроде боты флешь пока не эмулируют, но могут отдавать, флаг что flash есть. Но можно делать flash редирект, с другой стороны у многих сёрферов отключён flash.
3)images - боты могут отдавать, флаг, что картинки включены
4)получать данные об установленных плагинах - вариант ok
5)выявлять прокси (не элитные) по HTTP_FORWARED_FOR, но maxmind может вроде показывать и элитные анонимные прокси (A1,"Anonymous Proxy")- ok
6)скрипт редиректа подвергать полиморфоной обфускации или шифровать
7) md5 (рендомного_ключа) - в надежде, что бот не вычислит md5, или другую сложную mat задачу - ok.
8)Выявлять провайдера, через maxmind - ok
9)Анализ User Agent - не вариант, бот может его подменять.
10) Движение мышью/скролл / координаты мыши / параметры окна - бот может эмулировать.
11)JS выводить во внешний файл
12)вместо JS использовать jQuery
Посоветуйте, что не может эмулировать бот в отличии от реального браузера или отдаёт ошибочные параметры, любые идеи приветствуются
benzole
покумекал тут, может пригодится:
1.юнити, экспорченый в webgl с событием онмаусовер (допустим, полоска-детектор шириной во весь экран, которая 100% попадает под маусовер при скроллинге). вебджиэл как вариант, конечно, есть браузеры без поддержки.
2.генерация тревожащего человека события (допустим попап, юзер начинает неестественно грести мышой реагируя на него, попап пропадает юзер думает что это был глюк и серфит дальше). короче провокация реакции. ну там слегка дольше разумного замедленный сплэшскрин, прелоадер или там карусель какая. юзер ждет пока элемент раскуклится и мышой тыркает в стороны меньше. бот не понимает, что в активности должна появится пауза. ну короче схема "спровоцировать активность или отсутствие таковой и посмотреть на ответную реакцию"
3.индивидуальная для страницы карта мышыных хотспотов и проверка на соответствие им хотспотов юзера.