Пишу 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
Посоветуйте, что не может эмулировать бот в отличии от реального браузера или отдаёт ошибочные параметры, любые идеи приветствуются