- Регистрация
- 04.09.2014
- Сообщения
- 459
- Благодарностей
- 642
- Баллы
- 93
В общем я подумал, что я задолбался рассылать эту статью всем в личку. Странно, но текст уникален. Юзвери зенолаба чтят законы об авторском праве
А еще за этот год зарелизился злобный графический API в хроме, но тут ройте сами.
Прошел год, мое видение немного поменялось, но в целом инфа актуальна по сей день. Юзайте.
Но поскольку теперь меня ничто не обязывает отвечать на вопросы, спрашивайте разрабов.
Темы анонимности и утечек поднимаются на этом форуме с завидной периодичностью. Как правило, все заканчивается требованиям к разработчикам по допиливанию JS движка и устранения оных этим путем. С чем они худо-бедно справляются. Между тем, этим а)она не заканчивается и б)заходить в анонимность можно и через железо. И это проще для рядового юзера. Но дороже.
Дисклаймер: прошу ко всему нижеизложенному относиться с позиции - мое ИМХО. С которым, кстати, много кто и не согласен. Местами. Так как есть люди, которые утверждают, что я вообще не мыслю в этом вопросе нифига, просто на основании того, что их решение работает, а я его критикую и считаю ересью, так как вижу дыры и понимаю, как его задетектить. По моей версии, оно работает только потому, что руки почикать еще не дошли. И каждый при своем в итоге. Поэтому настоятельно рекомендую прокачиваться самостоятельно технически, и развивать критическое мышление. Все материалы, к которым вы получаете доступ, должны у вас формировать собственную точку зрения. И только так придет успех. Копирование в лоб чужих решений – такой себе путь. А вот свое на основе полученной инфы зарелизить что-то свое – совсем другая история.
Многие юзеры не понимают, или понимают очень эфемерно, что за функционал им дают. Эта статья будет про то, как сами любители автоматизации, иногда при поддержке нового функционала, выражаясь программным сленгом, отстреливают себе ноги. По своей инициативе. Ну и орут «не работает»! Сделайте так, что бы на галочки потыкал, и все заработало из коробки! А еще сейчас стало модным – просить разработчиков бросить все силы на новую версию! Не хочу расстраивать, но выход этой версии сильно жизнь не облегчит, и ничего принципиально не поменяет. Так, дружище, не будет. Это утопия. С таким подходом, легче не будет вообще никогда. Я это гарантирую! Необходимо самому понимать, что именно ты делаешь, и не надеяться на доброго дядю.
Сразу обозначу таргет, чем я занимаюсь: я прицеливаюсь на крупные интрепрайзные антиспам/антибот ру системы. Яндекс, Мейл… К одной из таких, правда немного смежной к основному профилю применения Зеннопостера/BASa, сам отношение имею. Остальных же окучиваю на досуге больше из спортивного интереса. Правда по этой теме дошел уже до уровня, что задаю себе вопрос, а не свалить ли мне поработать куда в более интересное место… При этом не трогаю сервисы Гугла и Майкрософта, и вам не советую до них докапываться. Вы их софту даете админские права. Они о вас знают больше, чем вы сами о себе. А вот то, что видят о вас с той стороны только через ваш браузер (в том числе и я, когда представляю интересы Большого Брата) – вот это суть разговора.
Ну что, начинаем обряд экзорцизма. Изгоним несколько пагубных стереотипов о GPU.
Часть 1. Графические отпечатки сanavas и webGL.
Но прежде, чем мы коснемся самих отпечатков, полезно вспомнить, что сайты могут дернуть через JS о вашем железке. Самый интересный кусок – это ваша видеокарта. Потому что не надо гадать, ответ предельно конкретный. И ее можно попинать, об этом ниже. Вот так эти данные выглядят на creep.js, если ничего не прятать:
Т.е. каждому сайту заведомо известна модель вашей видюхи. И да, у меня стоит 480-й Радеон, 11 DirectX (12-й вроде как уже только на Вин 11, что тоже доп детект). Дальше возникает несколько напрашивающихся вопросов:
1. Что видят сайты из-под браузера Зеннопостера?
Ответ: если ты ничего не делал, то ту же самую видюху твоей системы. Она будет одна на все твои боты. Уже не очень хорошо, особенно если ты юзаешь что-то не очень популярное. Но еще и не очень критично.
2. Что видят сайты, если Зеннопостер/BAS (или просто Хром) запущен на виртуальном хосте?
Ответ: более интересную картину, примерно следующее (вариант из виртуал бокса, без дополнительного стучания в бубен в виде пробросов видеокарты в виртуалку и других извращений):
А вот это уже очень подозрительно. Софтверный графический адаптер. Кто так будет делать? В особо запущенных случаях тут можно увидеть и название среды виртуализации, что вообще треш, и можно, в общем-то, сразу банить с красным флагом. Я бот, я бот!
Напомню, у рядового юзера Васи галка «юзать GPU» включена по умолчанию. И ожидаешь встретить NVIDIA, AMD, на худой конец Intel. А тут…
Впрочем, это «лечится» Зеннопостер относительно просто следующим кодом:
И ссылочка вам посмотреть статистику полезную прилагаю, вкурить на досуге интересные циферки, и подумать: https://store.steampowered.com/hwsurvey/videocard/
Едем дальше. Собственно отпечатки.
Для тех, кто не в курсе (а есть такие вообще?): Canvas – это 2D картинка, нарисованная на скрытом (не обязательно) холсте средствами JS, а отпечаток WebGL – примерно то же самое, но 3D картинка. А еще это запросто могут быть и несколько разных картинок на одной странице, не постоянных, специально что бы отсечь ранее заготовленные. И отловить твой бот на этом. Но этот вопрос мы пока опустим.
3. От чего они зависят?
Ответ: зависят они в первую очередь только от софта: драйверов видеокарты, ОС, и движка браузера. И оценивается только результат работы. Т.е. например, на разных редакциях Винды 10 отпечатки одного адаптера при условиях одного набора остального софта будут плюс-минус одинаковыми. Логично? Думаю, да. А в случае 3D, эта картинка будет вообще одинаковой в любом браузере в пределах системы. Потому что 3д создается средствами видеокарты при соответствующих разрешениях (та самая галочка «юзать GPU»). А она одна для всех браузеров. Ну, обычно. Системами с двумя и более графическими адаптерами предлагаю пренебречь ввиду их редкости.
4. Могут ли эти значения быть точно одинаковыми для разных машин?
Ответ нам известен (если вы почитываете хотя бы этот форум): да, могут. Например, интеловская графическая встройка в пределах модели даже на разных поколениях ЦП на одном софте отдает один и тот же канавас. Логично? Вроде тоже да. Если мы используем одну и ту же модель GPU, ОС, дрова, браузер – то более чем.
И вот мы и доходим до вопроса, ответ на который оказывается для многих откровением:
5. Могут ли эти отпечатки быть одинаковыми на РАЗНЫХ видеоадаптерах?
Напрашивается ответ «нет», но правильный ответ… держи грабли для стрельбы по ногам, дружище… да, могут! Но зависит от некоторых условий, эти карты должны быть на одной архитектуре. Вот тут надо разъяснить. Этот момент для многих становится большой новостью.
Ставим практический опыт: Сравниваем отпечаток упомянутого RX 480 ( i7 10700k win 10 pro, Хром, разрешены обновы) на браузерликс:
И RX 550 с другой машины (Xeon 1271 v3 win 10, вообще обрезанная LTS пиратка какая-то, Хром, обновы включены).
В общем, второй раз тот же скрин я постить не буду. Они идентичны. Такие дела. Удивительно, правда? Я тоже сначала удивился. Но почесав репу… Подумав, а как так-то? И разложил по полочкам инфу, и все стало понятно.
6. Почему? Как топ линейки дает то же самое, что и самая бюджетная карта этой серии?
А вот так. Драйвера-то одни и те же. Софт тот же. Архитектура одна. Отличается производительность, но не результат. Вот примерно таким же образом все RX 4хх и 5хх дают одни и те же отпечатки. Все Нвидиа 10хх и 11хх туда же, но у них он свой, ессно. Про Интел уже упоминал. Остальные поколения карт лично не тестил, но там тема та же. Инфа 146%. Никто не будет на каждую отдельную карту писать свой драйвер. А разница в ЦП ГПУ очень относительна – так, например, чип в 550-й мог запросто быть отбраковкой чипов от 480-й. Который просто не смог взять дефолтные значения производительности 480-й, но не бесполезен совсем. И из него слепили более простую карту.
Но и это еще не все.
Пусть вас не смущает цифра в 0.24% совпадений из 100%. Вроде это очень мало. Но главное, что не уникально. Это то, что сидит в головах на уровне мейнстрима. И создает еще один стереотип.
Браузерлинкс собирал базу явно долго и печально. Все подчитывал и учитывал. Она не отображает реальное, оперативное положение дел здесь и сейчас, в котором у рядового пользователя Васи Хром и Винда с дровами обновляются автоматически. И тот же Вася после обновы дров пришел уже с другим отпечатком. И его посчитали заново. Многие данные уже ушли в прошлое, и никогда не вернутся, но осталось в БД. Плюс мобилы и планшеты, которые со своим Андроидом нам только мешают, потому что нам растворяться надо ТОЛЬКО среди десктопов (если речь про серьезную маскировку, и классический постер). Вот и получается, что реальное «оперативное» значение здесь и сейчас, в конкретный момент времени, в своей группе устройств (десктопы + win 10), например, за последние 24 часа, для всех упомянутых Радеонов, внезапно, оказывается несколько процентов. А для всех НВидео 10хх и 11хх – десяток процентов! С хорошим таким хвостиком.
Для тех, кто не понял. На пальцах. Каждый десятый десктоп (грубо округлил) будет с одинаковыми отпечатками канаваса. Вот теперь в любителей менять отпечаток ради того, что бы менять, можно уже и кинуть чем-нить тяжелым. Можно. Действительно пора.
Если что, то я это все подсмотрел у Большого Брата, когда и сильно призадумался, в свое время, от увиденной картины. И заподозрил атаку. Но нет, это тут не при чем. Все так и есть. Реальность.
Подумайте теперь, стоит ли совать в свои блоки примитивные графические затычки. Мохнатых поколений.
Посмотрите еще раз ссылку популярности карт. Сложите проценты у поколений. Вывод крайне прост: основная масса отпечатков (если в общей массе их >1%) в конкретный момент времени в пределах одной ОС составляет около 10-ти основных комплектов канавас+вебГЛ. И все, больше нет! Отдельно стоят мобилки с планшетами. Остальное – шум от древних карт, от новых у мажоров, и от любителей, внезапно, анонимности. Т.е. от нас, но про это ниже. Скорее всего, на 7-ке и 8-ке, отпечатки будут другими (не всегда, восьмерка иногда дает то же самое, но этот вопрос я глубоко не рыл). Но мы привязаны к одной ОС. Логично, что самой популярной, что бы не светиться лишний раз. Поэтому, когда вы уникализируете отпечатки, вы в большинстве случаев как раз и уходите в сторону от нормы. А зачем?
Интересный вывод, правда?
И да, будьте осторожны, когда в настройках профиля тычите получать готовый юзерагент. От семерки-восьмерки прилетит, а отпечаток получен на десятке. Несостыковочка, и привет! Все в копилочку про вас!
И да 2: речь идет про десктопную анонимность. Если вы в классическом Зеннопостере изображаете из себя мобильное устройство – например планшет на Андроиде, и сайт-донор это ест, то эта статья для вас лишена особого смысла. Но это не на долго)
Часть 2. Стрельба «боевыми» по своим ногам.
7. Что такое «добавить шум»?
Ответ: на картинке добавляется, собственно, шум. Например, рандомная линия. Или точки. Что делает изображение уникальным. Следовательно, и хеш будет уникальным. У данного действа есть два последствия:
Ответ: спасибо, но опять мимо. Функционал дает неизвестно что, поэтому слив не защитан. Почему? Потому что вам запросто прилетит канавас с другой реальной карты, но и другого вендора. Или поколения. Или с другой ОС. И да, их не много. Думаю, теперь понимаете, почему они часто повторяются?
И еще один момент, ответ на который, при желании, спросите у авторов сервиса суперэмуляции BASa/Зеннопостера. А что будет, если я буду рисовать семь разных изображений на канавасах, в зависимости, например, от дня недели? Вы мне вчерашний пришлете? Ась?
Вполне допускаю, что дофига сайтов сожрут их нормально. Пока сожрут. Но те, кто спалит, раздадут тебе дюлей, особенно за попытку откровенно на#;%ть, что очень критически понизит тот самый Trust Rank, лучше вообще ничего не делать, чем так спалиться, очень часто это означает сразу красный флаг. Это касается вообще всех моментов антидетекта. Если антиботовая система начинает догадываться, что там не школьник начитался статей Сноудена, а кто-то более хитрожопый сидит, то…
И лично я руководствуюсь принципом: красть – так миллион. Иметь – так … А в таких случаях смотрят ой как глубоко… Поэтому, целесообразность суперэмуляции вообще - лично у меня вызывает вопросы. Много вопросов. Но я не настаиваю. Заходит – юзайте.
9. А может стоит вообще не эмулировать эти отпечатки, и поставить популярную карту и все?
Вот о чем я и вещаю. В целом, если совсем упростить, да. Зайдет. Порандомить модели в пределах поколения видюх. Но… Это уже не совсем про многопоток. Ниже описана еще одна, главная проблема такого подхода. Правда других серьезных подходов, как по мне, вообще не осталось… Ну, то есть еще есть реверсинг JS, который в теории позволяет все эти проверки поставить раком на программном уровне. Но с этим не ко мне, пинайте ногами Ежика. Я по JS только книжку для общего развития вдумчиво прочитал. А с железом с детства подружился. И речь при JS идет только про высокий программный уровень. Браузерный. А есть еще и низкий, системный.
И железо как ни рассматривай под лупой, не докопаешься. Хренушки) Оно настоящее! И так действовать проще и понятней рядовым челам.
Часть 3. За пределами браузера.
Еще одна интересная тема – отпечаток производительности. С кем беседовал – мнения полярные, стоит ли ее вообще детектить. Эту часть предлагаю вкурить для общего развития. Описываю общие принципы. Да и тема такая, которая вам конкретный фингерпринт пощупать не даст. Решения все – кастомные, и не особо публичные. То конкретное, которое я пинал, показать не могу. Коммерческая, сцуко, тайна. Хоть и говнокод редкостный. Но суть расскажу.
В общем, явасрипт оценивает производительность процессора. Разумеется, сделать это можно очень относительно, просто ввиду кучи параллельных задач, идущих на ЦП в конкретный момент времени, и их неравномерности. Но тот же creep.js на 10700k, при только одном окне браузера в системе в Хроме отрабатывает за примерно 400 ms (правый верхний угол), если грузить страницу с нуля:
Упомянутый уже Xeon 1271 v3 (кто не в курсе, ближайший дешевый аналог i7 4770к) – уже за примерно 750 ms, а моя мобильная труба – более секунды. Под этот анализ можно заточить и более точные специализированные скрипты (и таки что бы вы думали? Да!). Что это даст? Ведь нагрузка на ЦП не равномерна? На дистанции (а иногда и прямо сходу) – пиковые значения все же можно отловить. Распараллелить потоки, которые ваш двухголовый Зион, собранный по моему мануалу, с удовольствием пожрет, не поперхнувшись, на уровне современных i9, а вы будете утверждать, что у вас всего 4 ядра. И кивать. С честной физиономией. Ага. Так вам и поверят.
И привет! Точно не поверят. Т.е. паливо на экстремальных значениях – запросто. Видеть мощную машину, прикидывающуюся I3 – как красная тряпка для быка. Обратно, кстати, более лояльно оценивается. Вернее, никак не оценивается вообще. Вероятно потому, что слабые VPS палятся по системам виртуализации на ура, и там этот метод не столь критичен, да и нагрузить машину можно так, что она еле крякает сама по себе.
И бороться с этим х.з. как, потому что в теории можно нарезать ограниченных по ресурсам виртуалок, но тогда спалится виртуалка! Т.е. поднять анонимную виртуалку, наверное, возможно. Но это очень не просто, с кучей граблей. Именно эта ситуация заставляет меня отказываться от мощных старых систем в сторону бытовых, или даже офисных. Это, и еще один интересный момент:
Отпечаток производительности GPU.
А вот это уже совсем не приятная штука. Но тоже, пока теоретическая, утверждать не могу, мнения опять разные, инфе еще года даже нет, как что-то в информационном поле замелькало, но лично я «крыться» уже готовлюсь. В чем суть: если стоит галка использовать GPU, то через WEBGL и более новые графические API (уже завезенные в версии хрома, начиная с 94-й) можно грузануть и видюху напрямую, прямо из браузера, ибо графические API встраиваются очень активно, эта тенденция только усиливается, 3д графика лезет в браузер… Короче. Берем и суем туда бенчмарк. И определяем, что это за устройство. С уникальным отпечатком производительности. Вот так вот в лоб.
В общем, я приаттачил публичную презентацию (пока доступна только на английском, так что либо учите язык Шекспира, либо верьте мне на слово), где группабританских ученых написала либу под это дело и, что характерно, однозначно задетектила 2.5к графических девайсов через браузер, включая одни модели одного вендора. По отпечатку производительности. Но не просто задетектили, а получили отпечатки конкретных физических карт. Поскольку создать два чипа абсолютно идентичных – почти невозможно, не спасает даже перестановка, конкретные карты палятся на разных ПК. И палятся однозначно, без вариантов. Вот так страшно стало жить. На больших цифрах повторения будут изредка возможны, но сильно это картину не меняет. Мизерные доли процента. Очень точная метрика.
Т.е., если это внедрить в антиботы, то помимо того, что можно чекнуть все то, о чем я написал выше, еще и можно проверить это на практике по производительности. И сопоставить с эталонными шаблонами. Мол, а соответствует ваша заявленная 1090TI параметрам производительности (те самые экстремальные значения), или нет. Видеокарта-то при вебсерфинге практически всегда отдыхает… Можно прикрутить вам уникальный (почти) «железный» id. Одинаковый в каждый бот, ессно, машина-то одна. C которым ваши 100500 ботов в конкретный момент времени его и отдадут, сдав весь ботнет, даже еще не засветившиеся экземпляры. Как раз под общий бан. Вот так вот страшно стало жить.
В общем, пока это, скорее всего, будущее. Но не такое уж и далекое, опытные разработки я даже попинал чуток. Пока сыро. То, к чему я не долго прикоснулся от отечественных разработчиков, однозначно палит (и фингерпринтит более-менее уникально, ага) только карты AMD, и завязано это, как я понял, на их поддержку Вулкана. Ничего другого специально обученные люди мне пока не предложили потестить.
Но… Может у кого-то уже очень даже сухо, моя контора в этом плане далеко не впереди планеты всей, и уже больше думает о корпоративах новогодних, чем о работе.
В принципе, бороться можно тонкой настройкой производительности GPU под конкретное выполнение шаблона. В один поток. Гуглить MSI Afterburner. Или аналоги. Или напрямую обращаться к драйверам. В общем, выводы про то, что с этим делать и как дальше жить, думаю, осилите. Есть версия, что этого вообще долго нигде не будет. Каждому выводы делать самостоятельно.
За сим про видеокарты – все. Далее, просто еще пару плюшек, немного облегчающих жизнь.
Бонус 1. Аудиофингерпринт.
Короче эта та штука, которую не умеет нормально эмулировать Зеннопостер (в отличие от BASa, ага). Что имеем: наложение шума из коробки палится, а других решений тю-тю. Хотя вот сюда суперэмуляция зашла бы на ура. Но ее нет. А иметь один и тот же отпечаток на все боты – как-то не сильно хочется, хотя в случае с аудио это не так критично. Но все же, способ для фанатов Зеннопостера есть. Железный, ага.
Как его можно поменять через железо? Например, изменив битрейт и частоту:
На выходе будет другой отпечаток. Корректный, поскольку идет от железа. Галку в профиле постера про аудиошум, ессно, не ставить, что бы отдавался системный.
Если вы юзаете виртуальный сервак, то… Все плохо, отпечаток один, и без вариантов софтверный. Если антиботы ведут учет базы не хороших отпечатков (еще как ведут!), то все понятно сразу, виртуалка моментом себя выдает. «Шуметь» - спалится шум. В общем, глухо, как в танке. Либо звука нет вообще. Это получше. Но уже выглядит странно. Хотя системы, где юзвери сами отключают звук в Винде, мне попадались. Но это нифига не норма.
На вашей физической машине, скорее всего, две звуковухи. Одна на материнке интегрированная, вторая в видеокарте по HDMI/DVI-D звук отдает. Соответственно, десяток разных отпечатков можно отдать. Если мало - то на Али хренова туча USB звуковух по 200-300 рублей.
А вот и ссылка на софтину, которая из командной строки позволяет поставить активными нужные параметры + конкретную звуковуху: https://www.nirsoft.net/utils/sound_volume_view.html
Кому надо, дальше разберетесь. В один поток, ага. Ну а что делать, мне так кажется, что новые реалии таки подкатили.
Бонус 2. TLS JA3 Fingerprint. Ликбез.
Напоследок. Это уже из рубрики: «Убери свои шаловливые ручонки». Что ты делаешь? Окстись!
Для тех, кто в теме – нет, я не поднял SSL проксик для Post-Get. Мне не к чему. Просто однажды я предложил за 3к решение замены этого отпечатка в браузере, и все заверте…
Денег ни с кого не взял. Уж не знаю, чем данный отпечаток так всем приглянулся. Как говаривал Портос, «Я дерусь, потому что дерусь!». Вот и народ хочет его менять, ради того, что бы менять. Не понимая особо, что делает. Некоторые сходства с канавасом присутствуют. Но тут это более фатально в виде последствий. Сразу красный флаг)
Что это вообще такое: это список набора шифров, необходимых для установки https соединения. Т.е. ваш Хром кидает запрос на сервер, мол знаю такие шифры. Сервер, как правило, из своего набора выбирает максимально сильный совпавший (не всегда), и дает ответ, общаемся через него. Соединение устанавливается, процесс пошел. Все.
Так вот, во всех Хромах и его клонах этот набор один и тот же. И изменение этого отпечатка делает вас белой вороной. Но все в ваших руках. Вот список доступных браузеру шифров, можно посмотреть на браузерлинкс:
Далее, просто запускаете инстанс (или просто Хром) с параметрами:
И любуетесь на браузерлинксе измененному JA3 отпечатку.
Что делает эта строчка? Запрещает использовать конкретные шифры. Ессно после этого меняется список доступных, и меняется итоговый отпечаток. Можно запрещать один, можно несколько через запятую (в примере – два), что дает вам дохрена вариантов для творчества. Главное не увлечься, а то можно локнуть вообще все шифры и остаться без коннекта с сообщением «Невозможно установить защищенное соединение».
Зачем вообще менять? Что бы обратить на себя внимание. Надо, так надо. Спрашивали – я ответил). Вперед!
Шум, поднятый тут, на форуме (речь про форум Зенолаба), касался только Post-Get. Дело в том, что встроенный в постер https пост-гет клиент как раз и отличается этим набором от стандартного Хрома, и это выделяет его на фоне нативного браузера. По отпечатку и палят ботов. Некоторые, особо продвинутые. Не все. А к браузеру все это относится чуть меньше, чем никак.
Кстати, граждане, кто миксует браузер и Post-Get. Если сравнивать JA3 отпечаток у каждого вашего запроса… Что совсем не сложно… Тем более, что типовые проблемы Зеннопостера и BASa изучаются и с другой стороны… Ну вы поняли.
Итого:
Каждая из описанных мной фич не отправит вас сразу в бан, или накидает вам кучу плюсов в Карму. Но все вместе это дает накопительный эффект, который может быть как положительным, так и отрицательным. И это только вершки. Подводных камней еще чуть больше, чем дохрена. Просто я так, немного хайпанул по трендам. Полфорума (зенофорум)явно не понимает, как использовать то, что им дали. Возможно теперь просветление и благодать снизойдет. Хотя бы в этой области. Очень часто вы своими руками… Не надо это делать.
А так есть еще куча других отпечатков (например), у других способов детекта таких редисок, как ты. Но если ты послушаешь меня, и пойдешь в сторону бытового компа, ты автоматически обойдешь ¾ из них. Пошаманишь хотя бы с тем, про что я написал выше. Поставишь типовой софт. WIN 10, офис (любой, или даже аналоги), а можно и без него даже, и достаточно. Воткнешь прямо в этот блок свисток… Это минус вообще все проблемы с детектом на уровне сети… Выбор за тобой. Я вот как-то сразу понимаю, что ловить такую машину «с той стороны» на порядок сложней.
Вот, в общем-то, все, что я хотел вам рассказать. Выводы делать вам, и только вам.
А лично мои, предельно простые: мы стоим в конце эры массового ботоводства, если у тебя в роли цели выступает не личная страничка Василия Пупкина. Дальше за каждый бот придется бороться, холить его, и лелеять. Ввиду возникающих новых методик детекта, лично я реально не понимаю, почему тот же Яндекс тупо не побанит всех любителей покрутить ПФ, не отличающихся технологической продвинутостью, к такой-то матери. Т.е. на данный момент Яндекс учитывает влияние ботов из оранжевой зоны. Это примерно все решения, что представлены в паблике услуг на базе Зеннопостера, и у соседа (BAS).
Часто видишь, что такие методы работают только на НЧ. Вероятно потому, что там других факторов просто нет. Поэтому даже «оранжевые» боты влияют. Иного объяснения я не вижу. Вероятно, ситуация, как когда-то со ссылками – они делали выдачу более релевантной, хотя все всё понимали про их происхождение. Но там, где достаточно других факторов, в ВЧ – Trust Rank явно задран, и вся эта мелкая шушера просто бесполезна и отпадает.
Я вот бы не был таким добрым. И грохнул бы даже ее. Но я (пока) работаю не в Яндексе. А сеошка под Яндекс – просто мое хобби.
Впрочем, сюрпризом это нам всем, рано или поздно, все равно будет. Я гарантирую это.
Спасибо за внимание, надеюсь чтиво получилось годным. При желании перетереть что-то еще, спрашивайте. Не обещаю жесткого палева, но потрындеть (может разжевать что-то непонятное из написанного выше) по делу готов.
P.S. Если сравнивать два самых популярных решения, Зеннопостер и БАС, то заходя от железа, вы на выходе получите примерно одно и то же. Впрочем, есть мнение, что у BASa браузер поближе к реальному Хрому. Но Зеннопостер в плане разработки – более юзерфрендли. А BAS, в таком подходе, тупо бесплатный. Вообще, т.е. совсем. Плюс у BASa более оперативно накатываются новые версии Хрома, что приводит к более реальной картине.
В общем, для меня, суть одна и та же.
А так, выбор за вами.
А еще за этот год зарелизился злобный графический API в хроме, но тут ройте сами.
Прошел год, мое видение немного поменялось, но в целом инфа актуальна по сей день. Юзайте.
Но поскольку теперь меня ничто не обязывает отвечать на вопросы, спрашивайте разрабов.
Темы анонимности и утечек поднимаются на этом форуме с завидной периодичностью. Как правило, все заканчивается требованиям к разработчикам по допиливанию JS движка и устранения оных этим путем. С чем они худо-бедно справляются. Между тем, этим а)она не заканчивается и б)заходить в анонимность можно и через железо. И это проще для рядового юзера. Но дороже.
Дисклаймер: прошу ко всему нижеизложенному относиться с позиции - мое ИМХО. С которым, кстати, много кто и не согласен. Местами. Так как есть люди, которые утверждают, что я вообще не мыслю в этом вопросе нифига, просто на основании того, что их решение работает, а я его критикую и считаю ересью, так как вижу дыры и понимаю, как его задетектить. По моей версии, оно работает только потому, что руки почикать еще не дошли. И каждый при своем в итоге. Поэтому настоятельно рекомендую прокачиваться самостоятельно технически, и развивать критическое мышление. Все материалы, к которым вы получаете доступ, должны у вас формировать собственную точку зрения. И только так придет успех. Копирование в лоб чужих решений – такой себе путь. А вот свое на основе полученной инфы зарелизить что-то свое – совсем другая история.
Многие юзеры не понимают, или понимают очень эфемерно, что за функционал им дают. Эта статья будет про то, как сами любители автоматизации, иногда при поддержке нового функционала, выражаясь программным сленгом, отстреливают себе ноги. По своей инициативе. Ну и орут «не работает»! Сделайте так, что бы на галочки потыкал, и все заработало из коробки! А еще сейчас стало модным – просить разработчиков бросить все силы на новую версию! Не хочу расстраивать, но выход этой версии сильно жизнь не облегчит, и ничего принципиально не поменяет. Так, дружище, не будет. Это утопия. С таким подходом, легче не будет вообще никогда. Я это гарантирую! Необходимо самому понимать, что именно ты делаешь, и не надеяться на доброго дядю.
Сразу обозначу таргет, чем я занимаюсь: я прицеливаюсь на крупные интрепрайзные антиспам/антибот ру системы. Яндекс, Мейл… К одной из таких, правда немного смежной к основному профилю применения Зеннопостера/BASa, сам отношение имею. Остальных же окучиваю на досуге больше из спортивного интереса. Правда по этой теме дошел уже до уровня, что задаю себе вопрос, а не свалить ли мне поработать куда в более интересное место… При этом не трогаю сервисы Гугла и Майкрософта, и вам не советую до них докапываться. Вы их софту даете админские права. Они о вас знают больше, чем вы сами о себе. А вот то, что видят о вас с той стороны только через ваш браузер (в том числе и я, когда представляю интересы Большого Брата) – вот это суть разговора.
На пальцах, для общего развития.
Времена, когда боты определялись в лоб по принципу бот/не бот – ушли в прошлое. Сейчас на основании различных параметров, имеющих свой вес, рассчитывается Rank Range, Trust Rank – в разных системах он называется по-разному, но суть одна. На основании которого и определяется, тварь ты разумная, или машина бездушная. Ну или тварь бездушная, так тоже бывает, это обычно с сеоспринта набеги. Разумеется, встречаются и такие параметры, которые однозначно позволяют вас трактовать, как бота. Однако в большинстве случаев, если копнуть, причина этому - ваши кривые руки. Прости, братан, если обидел. Ничего личного. Сказать сходу, что ты бот, при прочих равных и отсутствии явного палева, достаточно сложно. Просто потому, что свой браузер ты сам можешь изуродовать до неузнаваемости. И это не повод тебя банить.
Обратная крайность: тут же, на форуме, часто можно видеть фразы типа «таких-то настроек анонимности достаточно для регистрации». А дальше что, вы не думали?
А еще есть и вовсе не технические факторы. Например, ты привязал к профилю карту, и оплатил с нее чего-нить. Как сам думаешь, сильно после этого дыры в эмуляциях браузера будут влиять на уровень доверия к этому профилю? Но в эту сторону подумай сам на досуге.
Клиентоориентированность всегда важней!
Например, по роду службы имею я некоторое отношение к карточным банковским антифродам. И операциям в Интернете. Совсем уж точно все рассказать, как оно работает и настроено – по понятным причинам не могу, но могу рассказать общий принцип, как, например, банки экономят бабло на СМС, так как это не такая уж большая тайна. То есть, когда клиент оплачивает что-то в Интернете, ему приходит код подтверждения. Если банковская приложуха на трубе принимает пуши, то это не проблема, отсылается код и ожидается ввод. Но приложуха может быть выключена, или пуши заблочены, или ее вообще нет. Соответственно, если нет отбивки о прочтении пуша, код отправляется обычным СМС. А СМС стоит денег, что в масштабах среднестатистического банка в месяц выливается в эквивалент нескольких новеньких авто. И из-за отсутствия желания дарить за просто так пусть и хотя бы даже один Тазик-Весту в месяц операторам сотовой связи, рождаются системы анализа инициатора операции.
Так-то гораздо проще было бы использовать коммерческие аки вацапа и/или телеграмма. Но Вацап не православный, Дуров – мутный, и это не по Фен Шую. Поэтому четверка операторов радостно потирает ручки, а Олежин банк их иногда гоняет исками про антимонопольность, при этом всем глобально похрен на происходящее. Но это другая история, нас же интересует только технический заход.
То есть, если ты каждый месяц платишь на одном и том же сайте, из одного браузера, одной и той же картой за ЖКХ утилиты, такая операция выглядит очень трастовой. Нужно лишь убедиться, что это все еще ты, и сверить твои идентификаторы устройств и отпечатки. Можно сэкономить на СМС, и прогнать оплату без нее. Наверняка ты на своем примере сталкивался с таким. В чем плюс: банк сэкономил на СМС. А в чем минус – банк взял ответственность за операцию на себя. Правила игры простые. Если ты ввел код и накосячил – то олень ты. Если поставил галку, что согласен на подписку со списанием без акцепта – олень тоже ты. А тут не так, если ты согласия не выражал, код не вводил, то ответственность не на тебе, и ты можешь, в принципе, оспорить операцию, выразив свое несогласие, мол платил хакер Вася, и оплату вы прогнали без моего согласия... И банк вернет бабло, потому что формально ты прав.
Тут мы, кстати, встречаем еще один не технический идентификатор, влияющий на уровень доверия. На этот раз из прикладной области. МСС – экономический идентификатор направления деятельности торговца. В общем, суть простая, за свою хату «левой» картой услуги ЖКХ будет оплачивать только очень альтернативно одаренный человек. Соответственно траст к операции – крайне высок. Про свои прикладные области подумай тоже на досуге, что там может влиять за пределами техчасти машины.
Но скорее всего, ты данный факт и не заметишь, мол оплатил и хорошо, что и происходит в большинстве случаев, и уйдешь довольным дальше по своим делам, хотя дотошные люди попадаются, мол какого хyz, вы обязаны код отправить! Не обязаны, читай договор. Ну а дальше, на балансе рисков, выстраивается общий антифрод, жесткость коэффициента одобрения. Как сэкономить больше бабла. Т.е. сумма сэкономленного минус сумма оплаченных претензий. Коэффициент этот правится постоянно, например, что бы показать здесь и сейчас хорошие цифры по экономии на СМС. Абузы-то полетят с некоторой задержкой, а месяц закрыть красиво надо, а то премию зажмут. А в декабре будет рост объемов покупок, вот и фрода стало больше. Логично? Для менеджера над тобой, для которого Хром - синоним Интернета, да. И пофиг, что он ваще не в теме. Мы боремся. Дайте премию. Станем бороться еще лучше.
И так без конца. Поэтому твои решения запросто сегодня работают, а завтра – фсе. А послезавтра – опять норм. Хотя ты ничего не делал от слова «совсем».
Т.е., в итоге: конкретному плательщику рассчитывается рейтинг, на основе группы параметров. Который, в контексте для данной темы, бывает зеленым – без СМС (ранк >80%), оранжевым – с СМС (ранк >20%), и красным (ранк <20%) – пошел вообще вон отсюда, служба поддержки – вперед вызванивать клиента, ибо дичь творится с его картой. Ладно, это уже детали внутренней кухни. Но кухню немного объясняет.
Так вот граждане, в условном Яндексе все примерно то же самое. Ваша задача накрутить на профиль максимальный коэффициент доверия. А не убивать его своими руками, и не довольствоваться нижней планкой, когда ак еще не забанен, но уже под пристальным вниманием, и функционал ему уже подрезан, или доступен очень ограничено. Если у них, условно, план на Маркете дать максимальный в предновогодний объем продаж – сейчас ваши боты выживут. А в январе их порежут. Там все равно гиблый месяц, ваще пофиг на цифры.
Так и живем.
Времена, когда боты определялись в лоб по принципу бот/не бот – ушли в прошлое. Сейчас на основании различных параметров, имеющих свой вес, рассчитывается Rank Range, Trust Rank – в разных системах он называется по-разному, но суть одна. На основании которого и определяется, тварь ты разумная, или машина бездушная. Ну или тварь бездушная, так тоже бывает, это обычно с сеоспринта набеги. Разумеется, встречаются и такие параметры, которые однозначно позволяют вас трактовать, как бота. Однако в большинстве случаев, если копнуть, причина этому - ваши кривые руки. Прости, братан, если обидел. Ничего личного. Сказать сходу, что ты бот, при прочих равных и отсутствии явного палева, достаточно сложно. Просто потому, что свой браузер ты сам можешь изуродовать до неузнаваемости. И это не повод тебя банить.
Обратная крайность: тут же, на форуме, часто можно видеть фразы типа «таких-то настроек анонимности достаточно для регистрации». А дальше что, вы не думали?
А еще есть и вовсе не технические факторы. Например, ты привязал к профилю карту, и оплатил с нее чего-нить. Как сам думаешь, сильно после этого дыры в эмуляциях браузера будут влиять на уровень доверия к этому профилю? Но в эту сторону подумай сам на досуге.
Клиентоориентированность всегда важней!
Например, по роду службы имею я некоторое отношение к карточным банковским антифродам. И операциям в Интернете. Совсем уж точно все рассказать, как оно работает и настроено – по понятным причинам не могу, но могу рассказать общий принцип, как, например, банки экономят бабло на СМС, так как это не такая уж большая тайна. То есть, когда клиент оплачивает что-то в Интернете, ему приходит код подтверждения. Если банковская приложуха на трубе принимает пуши, то это не проблема, отсылается код и ожидается ввод. Но приложуха может быть выключена, или пуши заблочены, или ее вообще нет. Соответственно, если нет отбивки о прочтении пуша, код отправляется обычным СМС. А СМС стоит денег, что в масштабах среднестатистического банка в месяц выливается в эквивалент нескольких новеньких авто. И из-за отсутствия желания дарить за просто так пусть и хотя бы даже один Тазик-Весту в месяц операторам сотовой связи, рождаются системы анализа инициатора операции.
Так-то гораздо проще было бы использовать коммерческие аки вацапа и/или телеграмма. Но Вацап не православный, Дуров – мутный, и это не по Фен Шую. Поэтому четверка операторов радостно потирает ручки, а Олежин банк их иногда гоняет исками про антимонопольность, при этом всем глобально похрен на происходящее. Но это другая история, нас же интересует только технический заход.
То есть, если ты каждый месяц платишь на одном и том же сайте, из одного браузера, одной и той же картой за ЖКХ утилиты, такая операция выглядит очень трастовой. Нужно лишь убедиться, что это все еще ты, и сверить твои идентификаторы устройств и отпечатки. Можно сэкономить на СМС, и прогнать оплату без нее. Наверняка ты на своем примере сталкивался с таким. В чем плюс: банк сэкономил на СМС. А в чем минус – банк взял ответственность за операцию на себя. Правила игры простые. Если ты ввел код и накосячил – то олень ты. Если поставил галку, что согласен на подписку со списанием без акцепта – олень тоже ты. А тут не так, если ты согласия не выражал, код не вводил, то ответственность не на тебе, и ты можешь, в принципе, оспорить операцию, выразив свое несогласие, мол платил хакер Вася, и оплату вы прогнали без моего согласия... И банк вернет бабло, потому что формально ты прав.
Тут мы, кстати, встречаем еще один не технический идентификатор, влияющий на уровень доверия. На этот раз из прикладной области. МСС – экономический идентификатор направления деятельности торговца. В общем, суть простая, за свою хату «левой» картой услуги ЖКХ будет оплачивать только очень альтернативно одаренный человек. Соответственно траст к операции – крайне высок. Про свои прикладные области подумай тоже на досуге, что там может влиять за пределами техчасти машины.
Но скорее всего, ты данный факт и не заметишь, мол оплатил и хорошо, что и происходит в большинстве случаев, и уйдешь довольным дальше по своим делам, хотя дотошные люди попадаются, мол какого хyz, вы обязаны код отправить! Не обязаны, читай договор. Ну а дальше, на балансе рисков, выстраивается общий антифрод, жесткость коэффициента одобрения. Как сэкономить больше бабла. Т.е. сумма сэкономленного минус сумма оплаченных претензий. Коэффициент этот правится постоянно, например, что бы показать здесь и сейчас хорошие цифры по экономии на СМС. Абузы-то полетят с некоторой задержкой, а месяц закрыть красиво надо, а то премию зажмут. А в декабре будет рост объемов покупок, вот и фрода стало больше. Логично? Для менеджера над тобой, для которого Хром - синоним Интернета, да. И пофиг, что он ваще не в теме. Мы боремся. Дайте премию. Станем бороться еще лучше.
И так без конца. Поэтому твои решения запросто сегодня работают, а завтра – фсе. А послезавтра – опять норм. Хотя ты ничего не делал от слова «совсем».
Т.е., в итоге: конкретному плательщику рассчитывается рейтинг, на основе группы параметров. Который, в контексте для данной темы, бывает зеленым – без СМС (ранк >80%), оранжевым – с СМС (ранк >20%), и красным (ранк <20%) – пошел вообще вон отсюда, служба поддержки – вперед вызванивать клиента, ибо дичь творится с его картой. Ладно, это уже детали внутренней кухни. Но кухню немного объясняет.
Так вот граждане, в условном Яндексе все примерно то же самое. Ваша задача накрутить на профиль максимальный коэффициент доверия. А не убивать его своими руками, и не довольствоваться нижней планкой, когда ак еще не забанен, но уже под пристальным вниманием, и функционал ему уже подрезан, или доступен очень ограничено. Если у них, условно, план на Маркете дать максимальный в предновогодний объем продаж – сейчас ваши боты выживут. А в январе их порежут. Там все равно гиблый месяц, ваще пофиг на цифры.
Так и живем.
А еще, там работают люди, выросшие в среде офисного планктона. Часто из поколения в поколение. В очень тепличных условиях. Короче в детстве – это, очень грубо говоря, батаны в очках, отличники, но вечно прессуемые физически более сильными, но менее успешными одноклассниками. Эдакие офисные хомячки, со своеобразным (и очень однобоким) взглядом на жизнь. В целом, норм ребята, неплохие спецы, но очень узко заточенные. И никто не хочет брать на себя больше ответственности, чем надо. А то вломят, это с детства отпечаталось, и пошло по всему жизненному пути. Что дает некоторую свободу на стыках зон этой самой ответственности. Ведь однозначно сказать, что ты бот, даже с дырами в браузере из коробки по дефолту, со всеми галками эмуляций, как уже отмечалось выше, нельзя. Даже если в твоем секторе технического анализа он очень похож на бота. Но вот в соседнем отделе, который анализирует логику и поведение юзверя, показатели прикладной области, решили – нет, точно человек. Бабла конторе принесет. Режь его сам, под свою ответственность. А вот мне эта ответственность нужна, когда это реально может оказаться недовольный чел, который начнет писать недовольные письма во всякие «надзоры» из-за моего решения? Когда я был молодым и горячим, я мог до усеру доказывать свою правоту. А теперь мне пришло понимание, что при работе на дядю, этому дяде на тебя, в общем-то, похрен. Моя инициатива на оклад не влияет. А на взаимоотношение с коллегами, которых я публично унизил – очень даже. На потенциальные приключения и отрезание премии – тоже. И у соседей там к тебе ровно такое же отношение, не лезь к нам, и все будет Ок. Так что… Да и пачка потенциальных ботов вроде не большая… Пусть живет. Оранжевые флаги, я свою работу сделал, дальше думайте сами, что с этим делать, и как учитывать. Без меня.
Выше простым не техническим языком описано то, почему сейчас даже CEF Зеннопостера позволяет крутить ПФ в Яндексе. Да, плохо. Но позволяет. Хотя его давно пора пристрелить. И такая картина характерна для всех сервисов на просторах бывшего Союза, где сейчас остались одни монополии без конкуренции. И где основная масса бабла – госкапитал.
А значит, право на жизнь твои боты имеют. На этом и надо играть. Потому что когда пойдет промышленное тиражирование твоего решения, и когда ты уже представил себя на Мальдивах с мулатками – вот только тогда тобой займутся уже пристально. А пока доход минус расход укладывается в допуски, гуляй, рванина. От рубля и выше.
Направление, которое я показываю, не промышленное, и масштабируется со скрипом, и достаточно дорого. Но конкретно тебе – хватит на бутерброд с икрой. Если у тя голова на плечах, а не тыква. Тут только несколько вершков, остальное копать тебе. И это, скорее, про будущее. Но не такое далекое, как многие думают.
Выше простым не техническим языком описано то, почему сейчас даже CEF Зеннопостера позволяет крутить ПФ в Яндексе. Да, плохо. Но позволяет. Хотя его давно пора пристрелить. И такая картина характерна для всех сервисов на просторах бывшего Союза, где сейчас остались одни монополии без конкуренции. И где основная масса бабла – госкапитал.
А значит, право на жизнь твои боты имеют. На этом и надо играть. Потому что когда пойдет промышленное тиражирование твоего решения, и когда ты уже представил себя на Мальдивах с мулатками – вот только тогда тобой займутся уже пристально. А пока доход минус расход укладывается в допуски, гуляй, рванина. От рубля и выше.
Направление, которое я показываю, не промышленное, и масштабируется со скрипом, и достаточно дорого. Но конкретно тебе – хватит на бутерброд с икрой. Если у тя голова на плечах, а не тыква. Тут только несколько вершков, остальное копать тебе. И это, скорее, про будущее. Но не такое далекое, как многие думают.
Ну что, начинаем обряд экзорцизма. Изгоним несколько пагубных стереотипов о GPU.
Часть 1. Графические отпечатки сanavas и webGL.
Но прежде, чем мы коснемся самих отпечатков, полезно вспомнить, что сайты могут дернуть через JS о вашем железке. Самый интересный кусок – это ваша видеокарта. Потому что не надо гадать, ответ предельно конкретный. И ее можно попинать, об этом ниже. Вот так эти данные выглядят на creep.js, если ничего не прятать:
Т.е. каждому сайту заведомо известна модель вашей видюхи. И да, у меня стоит 480-й Радеон, 11 DirectX (12-й вроде как уже только на Вин 11, что тоже доп детект). Дальше возникает несколько напрашивающихся вопросов:
1. Что видят сайты из-под браузера Зеннопостера?
Ответ: если ты ничего не делал, то ту же самую видюху твоей системы. Она будет одна на все твои боты. Уже не очень хорошо, особенно если ты юзаешь что-то не очень популярное. Но еще и не очень критично.
2. Что видят сайты, если Зеннопостер/BAS (или просто Хром) запущен на виртуальном хосте?
Ответ: более интересную картину, примерно следующее (вариант из виртуал бокса, без дополнительного стучания в бубен в виде пробросов видеокарты в виртуалку и других извращений):
А вот это уже очень подозрительно. Софтверный графический адаптер. Кто так будет делать? В особо запущенных случаях тут можно увидеть и название среды виртуализации, что вообще треш, и можно, в общем-то, сразу банить с красным флагом. Я бот, я бот!
Напомню, у рядового юзера Васи галка «юзать GPU» включена по умолчанию. И ожидаешь встретить NVIDIA, AMD, на худой конец Intel. А тут…
Впрочем, это «лечится» Зеннопостер относительно просто следующим кодом:
C#:
instance.WebGLPreferences.Set(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLPreference.UnmaskedRenderer, "Google Inc.");
instance.WebGLPreferences.Set(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLPreference.UnmaskedVendor, "ANGLE (NVIDIA GeForce GT 630 Direct3D11 vs_5_0 ps_5_0)");
И ссылочка вам посмотреть статистику полезную прилагаю, вкурить на досуге интересные циферки, и подумать: https://store.steampowered.com/hwsurvey/videocard/
Едем дальше. Собственно отпечатки.
Для тех, кто не в курсе (а есть такие вообще?): Canvas – это 2D картинка, нарисованная на скрытом (не обязательно) холсте средствами JS, а отпечаток WebGL – примерно то же самое, но 3D картинка. А еще это запросто могут быть и несколько разных картинок на одной странице, не постоянных, специально что бы отсечь ранее заготовленные. И отловить твой бот на этом. Но этот вопрос мы пока опустим.
3. От чего они зависят?
Ответ: зависят они в первую очередь только от софта: драйверов видеокарты, ОС, и движка браузера. И оценивается только результат работы. Т.е. например, на разных редакциях Винды 10 отпечатки одного адаптера при условиях одного набора остального софта будут плюс-минус одинаковыми. Логично? Думаю, да. А в случае 3D, эта картинка будет вообще одинаковой в любом браузере в пределах системы. Потому что 3д создается средствами видеокарты при соответствующих разрешениях (та самая галочка «юзать GPU»). А она одна для всех браузеров. Ну, обычно. Системами с двумя и более графическими адаптерами предлагаю пренебречь ввиду их редкости.
Интересно, а что будет, если на разные адаптеры подключены два монитора, и вы перетаскиваете окно браузера из одного на другой и тыкаете «обновить»? Отпечатки изменятся? И какие?
Вопрос с позиций общего любопытства, на который можете поискать ответ сами. Мне, честно говоря, проверять все эти ответы, и заодно свои мысли, лень. Просто в силу нетипичности и редкости такой картины.
Вопрос с позиций общего любопытства, на который можете поискать ответ сами. Мне, честно говоря, проверять все эти ответы, и заодно свои мысли, лень. Просто в силу нетипичности и редкости такой картины.
4. Могут ли эти значения быть точно одинаковыми для разных машин?
Ответ нам известен (если вы почитываете хотя бы этот форум): да, могут. Например, интеловская графическая встройка в пределах модели даже на разных поколениях ЦП на одном софте отдает один и тот же канавас. Логично? Вроде тоже да. Если мы используем одну и ту же модель GPU, ОС, дрова, браузер – то более чем.
И вот мы и доходим до вопроса, ответ на который оказывается для многих откровением:
5. Могут ли эти отпечатки быть одинаковыми на РАЗНЫХ видеоадаптерах?
Напрашивается ответ «нет», но правильный ответ… держи грабли для стрельбы по ногам, дружище… да, могут! Но зависит от некоторых условий, эти карты должны быть на одной архитектуре. Вот тут надо разъяснить. Этот момент для многих становится большой новостью.
Ставим практический опыт: Сравниваем отпечаток упомянутого RX 480 ( i7 10700k win 10 pro, Хром, разрешены обновы) на браузерликс:
И RX 550 с другой машины (Xeon 1271 v3 win 10, вообще обрезанная LTS пиратка какая-то, Хром, обновы включены).
В общем, второй раз тот же скрин я постить не буду. Они идентичны. Такие дела. Удивительно, правда? Я тоже сначала удивился. Но почесав репу… Подумав, а как так-то? И разложил по полочкам инфу, и все стало понятно.
6. Почему? Как топ линейки дает то же самое, что и самая бюджетная карта этой серии?
А вот так. Драйвера-то одни и те же. Софт тот же. Архитектура одна. Отличается производительность, но не результат. Вот примерно таким же образом все RX 4хх и 5хх дают одни и те же отпечатки. Все Нвидиа 10хх и 11хх туда же, но у них он свой, ессно. Про Интел уже упоминал. Остальные поколения карт лично не тестил, но там тема та же. Инфа 146%. Никто не будет на каждую отдельную карту писать свой драйвер. А разница в ЦП ГПУ очень относительна – так, например, чип в 550-й мог запросто быть отбраковкой чипов от 480-й. Который просто не смог взять дефолтные значения производительности 480-й, но не бесполезен совсем. И из него слепили более простую карту.
Но и это еще не все.
Пусть вас не смущает цифра в 0.24% совпадений из 100%. Вроде это очень мало. Но главное, что не уникально. Это то, что сидит в головах на уровне мейнстрима. И создает еще один стереотип.
Браузерлинкс собирал базу явно долго и печально. Все подчитывал и учитывал. Она не отображает реальное, оперативное положение дел здесь и сейчас, в котором у рядового пользователя Васи Хром и Винда с дровами обновляются автоматически. И тот же Вася после обновы дров пришел уже с другим отпечатком. И его посчитали заново. Многие данные уже ушли в прошлое, и никогда не вернутся, но осталось в БД. Плюс мобилы и планшеты, которые со своим Андроидом нам только мешают, потому что нам растворяться надо ТОЛЬКО среди десктопов (если речь про серьезную маскировку, и классический постер). Вот и получается, что реальное «оперативное» значение здесь и сейчас, в конкретный момент времени, в своей группе устройств (десктопы + win 10), например, за последние 24 часа, для всех упомянутых Радеонов, внезапно, оказывается несколько процентов. А для всех НВидео 10хх и 11хх – десяток процентов! С хорошим таким хвостиком.
Для тех, кто не понял. На пальцах. Каждый десятый десктоп (грубо округлил) будет с одинаковыми отпечатками канаваса. Вот теперь в любителей менять отпечаток ради того, что бы менять, можно уже и кинуть чем-нить тяжелым. Можно. Действительно пора.
Если что, то я это все подсмотрел у Большого Брата, когда и сильно призадумался, в свое время, от увиденной картины. И заподозрил атаку. Но нет, это тут не при чем. Все так и есть. Реальность.
Подумайте теперь, стоит ли совать в свои блоки примитивные графические затычки. Мохнатых поколений.
Посмотрите еще раз ссылку популярности карт. Сложите проценты у поколений. Вывод крайне прост: основная масса отпечатков (если в общей массе их >1%) в конкретный момент времени в пределах одной ОС составляет около 10-ти основных комплектов канавас+вебГЛ. И все, больше нет! Отдельно стоят мобилки с планшетами. Остальное – шум от древних карт, от новых у мажоров, и от любителей, внезапно, анонимности. Т.е. от нас, но про это ниже. Скорее всего, на 7-ке и 8-ке, отпечатки будут другими (не всегда, восьмерка иногда дает то же самое, но этот вопрос я глубоко не рыл). Но мы привязаны к одной ОС. Логично, что самой популярной, что бы не светиться лишний раз. Поэтому, когда вы уникализируете отпечатки, вы в большинстве случаев как раз и уходите в сторону от нормы. А зачем?
Интересный вывод, правда?
И да, будьте осторожны, когда в настройках профиля тычите получать готовый юзерагент. От семерки-восьмерки прилетит, а отпечаток получен на десятке. Несостыковочка, и привет! Все в копилочку про вас!
И да 2: речь идет про десктопную анонимность. Если вы в классическом Зеннопостере изображаете из себя мобильное устройство – например планшет на Андроиде, и сайт-донор это ест, то эта статья для вас лишена особого смысла. Но это не на долго)
Часть 2. Стрельба «боевыми» по своим ногам.
7. Что такое «добавить шум»?
Ответ: на картинке добавляется, собственно, шум. Например, рандомная линия. Или точки. Что делает изображение уникальным. Следовательно, и хеш будет уникальным. У данного действа есть два последствия:
- Антиботы твой отпечаток не знают. Но при этом, ты отдал название своей видюхи. И в юзерагенте (как вариант) указал версию винды и хрома. Согласно этим данным, у тебя должен быть конкретный отпечаток, ну максимум – несколько вариантов. Вопрос, а почему он не такой?
Смотри, тот же браузерликс, путем простой накопленной статистики, на основании ТОЛЬКО отпечатка канаваса вполне верно утверждает, что моя машина, это:
- Остальное не так интересно. И ведь хрен докопаешься, не врет. Сюда же можно добавить полученную модель GPU. Вы предлагаете картину наоборот: вот вам параметры, говорящие, что сейчас будет этот канавас, а канавас суете какой-то левый. То есть от тебя ожидается значение, которое ты не даешь. И еще зарандомишь отпечаток WebGL до кучи, что только усилит подозрения. Т.е. понятно сразу, что ты шифруешься. И ты не рядовой юзер. Это, в целом, лучше, чем сунуть заведомо не тот отпечаток, но не более того.
- Вообще говоря, такие отпечатки уже вовсю и так детектятся, как поддельные. Достаточно сравнить схожесть канаваса, что ты подсунул, с эталонным, если они встречаются часто, то логично их сохранить в базу для сверки, ведь шум нацелен только на изменение общего хэша. Это да. Но. Такая проверка покажет схожесть в 99% простым бинарным сравнением пикселей. И заодно позволит-таки определить линейку твоей видюхи по эталонному канавасу, даже с шумами. Т.е. деанонимизировать тебя вопреки твоим действиям, и пунктик о твоей хитрожопости пометить.
Но это уже очень глубоко, и это на любителей узкого детекта. И зависит от важности предоставляемого сервиса. Т.е. для СМС это не юзается. А вот на странице, позволяющей сделать P2P перевод с карты на карту через Интернет, где все тумблеры выкручены на максимальную безопасность…
Но все равно, даже некоторые примитивные публичные сервисы это уже делают. Т.е. ты сам лупишь прямой наводкой по ногам. Сам себе.
Конечно, примерно тоже самое делают плагины, блокирующие или модифицирующие отпечатки. И банить влет за это сразу – перебор. А вот присмотреться – уже повод. Те самые оранжевые флаги. И в наборе плагинов для браузера ты указал, что используешь такой? Нет? Ты же рассчитываешь, что сожрет и так? И там только стандартный набор для Хрома? Ой… Ну держи тогда еще один оранжевый флажок.
Ответ: спасибо, но опять мимо. Функционал дает неизвестно что, поэтому слив не защитан. Почему? Потому что вам запросто прилетит канавас с другой реальной карты, но и другого вендора. Или поколения. Или с другой ОС. И да, их не много. Думаю, теперь понимаете, почему они часто повторяются?
И еще один момент, ответ на который, при желании, спросите у авторов сервиса суперэмуляции BASa/Зеннопостера. А что будет, если я буду рисовать семь разных изображений на канавасах, в зависимости, например, от дня недели? Вы мне вчерашний пришлете? Ась?
Вполне допускаю, что дофига сайтов сожрут их нормально. Пока сожрут. Но те, кто спалит, раздадут тебе дюлей, особенно за попытку откровенно на#;%ть, что очень критически понизит тот самый Trust Rank, лучше вообще ничего не делать, чем так спалиться, очень часто это означает сразу красный флаг. Это касается вообще всех моментов антидетекта. Если антиботовая система начинает догадываться, что там не школьник начитался статей Сноудена, а кто-то более хитрожопый сидит, то…
И лично я руководствуюсь принципом: красть – так миллион. Иметь – так … А в таких случаях смотрят ой как глубоко… Поэтому, целесообразность суперэмуляции вообще - лично у меня вызывает вопросы. Много вопросов. Но я не настаиваю. Заходит – юзайте.
9. А может стоит вообще не эмулировать эти отпечатки, и поставить популярную карту и все?
Вот о чем я и вещаю. В целом, если совсем упростить, да. Зайдет. Порандомить модели в пределах поколения видюх. Но… Это уже не совсем про многопоток. Ниже описана еще одна, главная проблема такого подхода. Правда других серьезных подходов, как по мне, вообще не осталось… Ну, то есть еще есть реверсинг JS, который в теории позволяет все эти проверки поставить раком на программном уровне. Но с этим не ко мне, пинайте ногами Ежика. Я по JS только книжку для общего развития вдумчиво прочитал. А с железом с детства подружился. И речь при JS идет только про высокий программный уровень. Браузерный. А есть еще и низкий, системный.
И железо как ни рассматривай под лупой, не докопаешься. Хренушки) Оно настоящее! И так действовать проще и понятней рядовым челам.
Часть 3. За пределами браузера.
Еще одна интересная тема – отпечаток производительности. С кем беседовал – мнения полярные, стоит ли ее вообще детектить. Эту часть предлагаю вкурить для общего развития. Описываю общие принципы. Да и тема такая, которая вам конкретный фингерпринт пощупать не даст. Решения все – кастомные, и не особо публичные. То конкретное, которое я пинал, показать не могу. Коммерческая, сцуко, тайна. Хоть и говнокод редкостный. Но суть расскажу.
В общем, явасрипт оценивает производительность процессора. Разумеется, сделать это можно очень относительно, просто ввиду кучи параллельных задач, идущих на ЦП в конкретный момент времени, и их неравномерности. Но тот же creep.js на 10700k, при только одном окне браузера в системе в Хроме отрабатывает за примерно 400 ms (правый верхний угол), если грузить страницу с нуля:
Упомянутый уже Xeon 1271 v3 (кто не в курсе, ближайший дешевый аналог i7 4770к) – уже за примерно 750 ms, а моя мобильная труба – более секунды. Под этот анализ можно заточить и более точные специализированные скрипты (и таки что бы вы думали? Да!). Что это даст? Ведь нагрузка на ЦП не равномерна? На дистанции (а иногда и прямо сходу) – пиковые значения все же можно отловить. Распараллелить потоки, которые ваш двухголовый Зион, собранный по моему мануалу, с удовольствием пожрет, не поперхнувшись, на уровне современных i9, а вы будете утверждать, что у вас всего 4 ядра. И кивать. С честной физиономией. Ага. Так вам и поверят.
И привет! Точно не поверят. Т.е. паливо на экстремальных значениях – запросто. Видеть мощную машину, прикидывающуюся I3 – как красная тряпка для быка. Обратно, кстати, более лояльно оценивается. Вернее, никак не оценивается вообще. Вероятно потому, что слабые VPS палятся по системам виртуализации на ура, и там этот метод не столь критичен, да и нагрузить машину можно так, что она еле крякает сама по себе.
И бороться с этим х.з. как, потому что в теории можно нарезать ограниченных по ресурсам виртуалок, но тогда спалится виртуалка! Т.е. поднять анонимную виртуалку, наверное, возможно. Но это очень не просто, с кучей граблей. Именно эта ситуация заставляет меня отказываться от мощных старых систем в сторону бытовых, или даже офисных. Это, и еще один интересный момент:
Отпечаток производительности GPU.
А вот это уже совсем не приятная штука. Но тоже, пока теоретическая, утверждать не могу, мнения опять разные, инфе еще года даже нет, как что-то в информационном поле замелькало, но лично я «крыться» уже готовлюсь. В чем суть: если стоит галка использовать GPU, то через WEBGL и более новые графические API (уже завезенные в версии хрома, начиная с 94-й) можно грузануть и видюху напрямую, прямо из браузера, ибо графические API встраиваются очень активно, эта тенденция только усиливается, 3д графика лезет в браузер… Короче. Берем и суем туда бенчмарк. И определяем, что это за устройство. С уникальным отпечатком производительности. Вот так вот в лоб.
В общем, я приаттачил публичную презентацию (пока доступна только на английском, так что либо учите язык Шекспира, либо верьте мне на слово), где группа
Т.е., если это внедрить в антиботы, то помимо того, что можно чекнуть все то, о чем я написал выше, еще и можно проверить это на практике по производительности. И сопоставить с эталонными шаблонами. Мол, а соответствует ваша заявленная 1090TI параметрам производительности (те самые экстремальные значения), или нет. Видеокарта-то при вебсерфинге практически всегда отдыхает… Можно прикрутить вам уникальный (почти) «железный» id. Одинаковый в каждый бот, ессно, машина-то одна. C которым ваши 100500 ботов в конкретный момент времени его и отдадут, сдав весь ботнет, даже еще не засветившиеся экземпляры. Как раз под общий бан. Вот так вот страшно стало жить.
В общем, пока это, скорее всего, будущее. Но не такое уж и далекое, опытные разработки я даже попинал чуток. Пока сыро. То, к чему я не долго прикоснулся от отечественных разработчиков, однозначно палит (и фингерпринтит более-менее уникально, ага) только карты AMD, и завязано это, как я понял, на их поддержку Вулкана. Ничего другого специально обученные люди мне пока не предложили потестить.
Но… Может у кого-то уже очень даже сухо, моя контора в этом плане далеко не впереди планеты всей, и уже больше думает о корпоративах новогодних, чем о работе.
А вообще, граждане, никто не запрещает через WEBGL кинуть вопрос тому же Вулкану про драйвер, который юзается в данный момент. И что характерно, получить ответ. Или исключение, т.е. этот ответ будет означать, это не карта АМД. То же самое, при задействовании CUDA NVIDIA. С аналогичным результатом. А потом спросить драйвера о тех же занятых ресурсах карты. Ну т.е. если она здесь и сейчас почти рендерит с 100% нагрузкой (многопоток), а вы типо делаете вид, что серфите… Это не паливо здесь и сейчас, но это очередной оранжевый флажок. Да много чего можно спросить…
Вот пожёстче вариант: если у вас нет монитора, то любая карта NVIDIA, например, скажет, что вы работаете в разрешении 640 на 480. На уровне драйверов. Популярное такое разрешение для десктопа, ага. А вот по версии движка JS вашего браузера… Ну ты понял. А АМД просто скажет, чувак, монитора нет, значит и картинки нет! Т.е. по-хорошему, это уже вообще красный флаг. Лечится если не реальным монитором, то заглушками на видеовыход. Гуглите ответы про какие именно на майнинговых форумах, там эта проблема очень актуальна, и обсосана неоднократно. Или вам при загрузке компа нужно иметь реальный подключенный монитор, а потом его можно отключать. Вообще, Авито вам в помощь. Любой Б/У монитор с ФУЛ HD лучше любой заглушки.
Как эти и другие ответы можно оценить, а главное, для чего – догадайтесь сами, все достаточно очевидно. Поставите реальную машину – проблема самоустранится, и рыть не надо.
Так-то, я этот оффтоп в последний момент добавил, скажите спасибо Алексею (FastSpace), что спалил он эти вершки. Я их немного конкретизировал в итоге. Как бы я этого не планировал изначально)
И поскольку все это происходит на низком системном уровне, очень близко в железу, тут вам уже никакой Ежик с шаманством над яваскриптами не поможет. Такие дела…
Вот пожёстче вариант: если у вас нет монитора, то любая карта NVIDIA, например, скажет, что вы работаете в разрешении 640 на 480. На уровне драйверов. Популярное такое разрешение для десктопа, ага. А вот по версии движка JS вашего браузера… Ну ты понял. А АМД просто скажет, чувак, монитора нет, значит и картинки нет! Т.е. по-хорошему, это уже вообще красный флаг. Лечится если не реальным монитором, то заглушками на видеовыход. Гуглите ответы про какие именно на майнинговых форумах, там эта проблема очень актуальна, и обсосана неоднократно. Или вам при загрузке компа нужно иметь реальный подключенный монитор, а потом его можно отключать. Вообще, Авито вам в помощь. Любой Б/У монитор с ФУЛ HD лучше любой заглушки.
Как эти и другие ответы можно оценить, а главное, для чего – догадайтесь сами, все достаточно очевидно. Поставите реальную машину – проблема самоустранится, и рыть не надо.
Так-то, я этот оффтоп в последний момент добавил, скажите спасибо Алексею (FastSpace), что спалил он эти вершки. Я их немного конкретизировал в итоге. Как бы я этого не планировал изначально)
И поскольку все это происходит на низком системном уровне, очень близко в железу, тут вам уже никакой Ежик с шаманством над яваскриптами не поможет. Такие дела…
В принципе, бороться можно тонкой настройкой производительности GPU под конкретное выполнение шаблона. В один поток. Гуглить MSI Afterburner. Или аналоги. Или напрямую обращаться к драйверам. В общем, выводы про то, что с этим делать и как дальше жить, думаю, осилите. Есть версия, что этого вообще долго нигде не будет. Каждому выводы делать самостоятельно.
За сим про видеокарты – все. Далее, просто еще пару плюшек, немного облегчающих жизнь.
Бонус 1. Аудиофингерпринт.
Короче эта та штука, которую не умеет нормально эмулировать Зеннопостер (в отличие от BASa, ага). Что имеем: наложение шума из коробки палится, а других решений тю-тю. Хотя вот сюда суперэмуляция зашла бы на ура. Но ее нет. А иметь один и тот же отпечаток на все боты – как-то не сильно хочется, хотя в случае с аудио это не так критично. Но все же, способ для фанатов Зеннопостера есть. Железный, ага.
Как его можно поменять через железо? Например, изменив битрейт и частоту:
На выходе будет другой отпечаток. Корректный, поскольку идет от железа. Галку в профиле постера про аудиошум, ессно, не ставить, что бы отдавался системный.
Если вы юзаете виртуальный сервак, то… Все плохо, отпечаток один, и без вариантов софтверный. Если антиботы ведут учет базы не хороших отпечатков (еще как ведут!), то все понятно сразу, виртуалка моментом себя выдает. «Шуметь» - спалится шум. В общем, глухо, как в танке. Либо звука нет вообще. Это получше. Но уже выглядит странно. Хотя системы, где юзвери сами отключают звук в Винде, мне попадались. Но это нифига не норма.
На вашей физической машине, скорее всего, две звуковухи. Одна на материнке интегрированная, вторая в видеокарте по HDMI/DVI-D звук отдает. Соответственно, десяток разных отпечатков можно отдать. Если мало - то на Али хренова туча USB звуковух по 200-300 рублей.
А вот и ссылка на софтину, которая из командной строки позволяет поставить активными нужные параметры + конкретную звуковуху: https://www.nirsoft.net/utils/sound_volume_view.html
Кому надо, дальше разберетесь. В один поток, ага. Ну а что делать, мне так кажется, что новые реалии таки подкатили.
Бонус 2. TLS JA3 Fingerprint. Ликбез.
Напоследок. Это уже из рубрики: «Убери свои шаловливые ручонки». Что ты делаешь? Окстись!
Для тех, кто в теме – нет, я не поднял SSL проксик для Post-Get. Мне не к чему. Просто однажды я предложил за 3к решение замены этого отпечатка в браузере, и все заверте…
Денег ни с кого не взял. Уж не знаю, чем данный отпечаток так всем приглянулся. Как говаривал Портос, «Я дерусь, потому что дерусь!». Вот и народ хочет его менять, ради того, что бы менять. Не понимая особо, что делает. Некоторые сходства с канавасом присутствуют. Но тут это более фатально в виде последствий. Сразу красный флаг)
Что это вообще такое: это список набора шифров, необходимых для установки https соединения. Т.е. ваш Хром кидает запрос на сервер, мол знаю такие шифры. Сервер, как правило, из своего набора выбирает максимально сильный совпавший (не всегда), и дает ответ, общаемся через него. Соединение устанавливается, процесс пошел. Все.
Так вот, во всех Хромах и его клонах этот набор один и тот же. И изменение этого отпечатка делает вас белой вороной. Но все в ваших руках. Вот список доступных браузеру шифров, можно посмотреть на браузерлинкс:
Далее, просто запускаете инстанс (или просто Хром) с параметрами:
C#:
--cipher-suite-blacklist= 0x1302,0xc013
Что делает эта строчка? Запрещает использовать конкретные шифры. Ессно после этого меняется список доступных, и меняется итоговый отпечаток. Можно запрещать один, можно несколько через запятую (в примере – два), что дает вам дохрена вариантов для творчества. Главное не увлечься, а то можно локнуть вообще все шифры и остаться без коннекта с сообщением «Невозможно установить защищенное соединение».
Зачем вообще менять? Что бы обратить на себя внимание. Надо, так надо. Спрашивали – я ответил). Вперед!
Шум, поднятый тут, на форуме (речь про форум Зенолаба), касался только Post-Get. Дело в том, что встроенный в постер https пост-гет клиент как раз и отличается этим набором от стандартного Хрома, и это выделяет его на фоне нативного браузера. По отпечатку и палят ботов. Некоторые, особо продвинутые. Не все. А к браузеру все это относится чуть меньше, чем никак.
Кстати, граждане, кто миксует браузер и Post-Get. Если сравнивать JA3 отпечаток у каждого вашего запроса… Что совсем не сложно… Тем более, что типовые проблемы Зеннопостера и BASa изучаются и с другой стороны… Ну вы поняли.
Итого:
Каждая из описанных мной фич не отправит вас сразу в бан, или накидает вам кучу плюсов в Карму. Но все вместе это дает накопительный эффект, который может быть как положительным, так и отрицательным. И это только вершки. Подводных камней еще чуть больше, чем дохрена. Просто я так, немного хайпанул по трендам. Полфорума (зенофорум)явно не понимает, как использовать то, что им дали. Возможно теперь просветление и благодать снизойдет. Хотя бы в этой области. Очень часто вы своими руками… Не надо это делать.
А так есть еще куча других отпечатков (например), у других способов детекта таких редисок, как ты. Но если ты послушаешь меня, и пойдешь в сторону бытового компа, ты автоматически обойдешь ¾ из них. Пошаманишь хотя бы с тем, про что я написал выше. Поставишь типовой софт. WIN 10, офис (любой, или даже аналоги), а можно и без него даже, и достаточно. Воткнешь прямо в этот блок свисток… Это минус вообще все проблемы с детектом на уровне сети… Выбор за тобой. Я вот как-то сразу понимаю, что ловить такую машину «с той стороны» на порядок сложней.
Вот, в общем-то, все, что я хотел вам рассказать. Выводы делать вам, и только вам.
А лично мои, предельно простые: мы стоим в конце эры массового ботоводства, если у тебя в роли цели выступает не личная страничка Василия Пупкина. Дальше за каждый бот придется бороться, холить его, и лелеять. Ввиду возникающих новых методик детекта, лично я реально не понимаю, почему тот же Яндекс тупо не побанит всех любителей покрутить ПФ, не отличающихся технологической продвинутостью, к такой-то матери. Т.е. на данный момент Яндекс учитывает влияние ботов из оранжевой зоны. Это примерно все решения, что представлены в паблике услуг на базе Зеннопостера, и у соседа (BAS).
Часто видишь, что такие методы работают только на НЧ. Вероятно потому, что там других факторов просто нет. Поэтому даже «оранжевые» боты влияют. Иного объяснения я не вижу. Вероятно, ситуация, как когда-то со ссылками – они делали выдачу более релевантной, хотя все всё понимали про их происхождение. Но там, где достаточно других факторов, в ВЧ – Trust Rank явно задран, и вся эта мелкая шушера просто бесполезна и отпадает.
Я вот бы не был таким добрым. И грохнул бы даже ее. Но я (пока) работаю не в Яндексе. А сеошка под Яндекс – просто мое хобби.
Впрочем, сюрпризом это нам всем, рано или поздно, все равно будет. Я гарантирую это.
Спасибо за внимание, надеюсь чтиво получилось годным. При желании перетереть что-то еще, спрашивайте. Не обещаю жесткого палева, но потрындеть (может разжевать что-то непонятное из написанного выше) по делу готов.
P.S. Если сравнивать два самых популярных решения, Зеннопостер и БАС, то заходя от железа, вы на выходе получите примерно одно и то же. Впрочем, есть мнение, что у BASa браузер поближе к реальному Хрому. Но Зеннопостер в плане разработки – более юзерфрендли. А BAS, в таком подходе, тупо бесплатный. Вообще, т.е. совсем. Плюс у BASa более оперативно накатываются новые версии Хрома, что приводит к более реальной картине.
В общем, для меня, суть одна и та же.
А так, выбор за вами.
Для запуска проектов требуется программа ZennoPoster.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте программу ZennoPoster. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.