О фингерпринтах¶
Содержание
Виртуальные машины¶
При помощи javascript можно довольно точно определять, запущен ли браузер в виртуальной машине или на реальном «железе».
Нам известно, по крайней мере, две методики детекта (обнаружения) виртуальных машин при помощи javascript из браузера. Хотя мы склонны полагать, что подобных методик существует намного больше.
На данном этапе мы не видим адекватных методов противодействия подобным методикам детекта. По этой причине, если Вы хотите добиться максимальной маскировки, то я рекомендую запускать софт на реальном «железе», а не в «виртуалках». Хотя, опять же, стоит отметить, что все зависит от конкретного целевого сайта. И в большинстве случаев все будет отлично работать и на виртуалках.
OS фингерпринтинг¶
Хотелось бы обозначить, то что при помощи javascript можно определять, на какой OS запущен браузер. Зачастую это делается по анализу реализации низкоуровневого функционала OS/системных библиотек, которыми пользуется браузер.
Например, это могут быть особенности вычисления чисел с плавающей запятой.
На данном этапе мы не видим адекватных методов противодействия подобным методикам детекта. По этой причине, если Вы хотите добиться максимальной маскировки, то мы рекомендуем запускать софт на той же OS, профиль которой Вы используете в антидетекте.
Идеальный антидетект¶
При качественном браузерном фингерпринтинге зачастую анализируется низкоуровневый, платформозависимый, железозависимый функционал OS, системных библиотек, драйверов и т.п.
По этой причине реализовать антидетект, который работал бы одинаково хорошо на всех сайтах, технически не представляется возможным.
Приведу простой пример с canvas-фингерпринтом. Суть метода проста - отрисовка текста и геометрических фигур на canvas таким образом, чтобы задействовать низкоуровневый системный функционал.
Примером такого функционала может быть рендеринг шрифтов при отрисовке текста на canvas. Рендеринг шрифтов очень сильно зависит от OS, драйверов видеокарты и системных библиотек.
Две картинки, отрисованные на разных компьютерах (с разным железом) при помощи одного и того же javascript-кода будут отличаться. Визуально они будут выглядеть практически одинаково, но если сравнивать их попиксельно, то различия будут очевидны.
Из данного примера становится понятно, что невозможно эмулировать рендеринг шрифтов на машине с видеокартой одного вендора так же, как и на машине с видеокартой другого вендора.
Собранные данные при помощи canvas-фингерпринта отправляются на backend, где они, в свою очередь, проходят статистический анализ.
Этот анализ позволяет легко выявлять фэйковые сэмплы-образцы, такие как:
- cэмплы-образцы с наложением «шума» (слишком уникальные образцы)
- cэмплы-образцы, сгенерированные не на той OS/видеокарте, что заявлена
Также следует учитывать, что реализация canvas-фингерпринта может отличаться от сайта к сайту. Например, на сайте paypal.com на canvas накладывается текст: PayPal.com, <!@#$%>
Хотя также следует сказать, что тысячи сайтов используют хорошо зарекомендовавшие себя публичные библиотеки для браузерного фингерпринтинга.
Исходя из вышесказанного, было принято решение развивать софт по пути кастомизаций. Т.е. собирать сэмплы-образцы данных с реальных браузеров тем же кодом, что и сайты. И в момент посещения целевого сайта выдавать ранее собранные данные. По сути получается, что сайты получают реальные данные, а не синтетически сгенерированные.
Куки, трек, счетчики, виджеты¶
Для многих я точно не открою Америку.
Хотя считаю нужным затронуть эту тему, т.к., вероятно, какой-то части пользователей эта информация будет полезна.
Очень долгое время существуют разномастные конторы, которые собирают информацию о посещении различных сайтов пользователями.
Виджеты и скрипты, установленные на множестве сайтов, проставляют куки (маркируют пользователя) и отправляют куда им нужно информацию о браузере и действиях пользователя.
Таким образом, создается след пользователя (трек), по которому можно проследить, на каких сайтах/страницах пользователь был, сколько времени провел, что читал, куда кликал (тепловые карты) и т.п.
По этому следу можно определить:
- интересы пользователя
- пол
- возраст
- наличие профилей в соцсетях
И кучу другой информации. Данную информацию активно продают и обменивают эти конторы между собой.
Не так давно, тот же facebook был пойман за руку на продаже подобной информации. Хотелось бы напомнить, что у facebook кроме своего сайта есть еще и виджеты, которые установлены на миллионах сайтах. И facebook может отслеживать, чем Вы интересуетесь и какие сайты посещаете - даже вне своей площадки.
Данная информация помогает качественно таргетировать рекламу. Но я хотел бы обратить внимание, что и в работе антифрод-систем анализ подобной информации о пользователе помогает отлично выявлять фрод.
Если Вы пришли на целевой сайт без подобного наработанного следа, то велика вероятность, что Ваши действия будут рассматривать под микроскопом. Т.е. ни о какой автоматике речи тут уже идти не может. Анализом вашей транзакции, с большой долей вероятности, будет заниматься специально обученный модератор.
Вопрос относительно кук и следа вашей фейковой личности остается открытым. С какой стороны к нему подойти - это решать Вам.
Из очевидных методов решения этого вопроса - это:
- покупка кук в магазинах (шопах). Тут стоит отметить, что если Вы покупаете только куки и пихаете их в браузер, то информация о браузерах будет не совпадать. Т.е. информация о браузере, откуда куки и информация о браузере профиля будут отличаться. Кроме информации, естественно, будут отличаться и фингерпринты. Хотя, как показывает практика, наличие кук с историей и треком решает множество проблем.
- нагулять трек и куки самостоятельно. Речь идет о банальном фарминге. Т.е. Вы можете «выгуливать» профиль самостоятельно: посещать различные сайты, поисковики, сервисы, изображая активность обычного пользователя. Этот процесс не быстрый и для некоторых сервисов может занимать недели.