О фингерпринтах

Виртуальные машины

При помощи javascript можно довольно точно определять, запущен браузер в виртуальной машине или на реальном железе.

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

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

OS фингерпринтинг

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

Например это могут быть особенности вычисления чисел с плавающей запятой.

На данном этапе я не вижу адекватных методов противодействия подобным техникам детекта. По этой причине, если Вы хотите добиться максимальной маскировки, то я рекомендую запускать софт на той же ОС профиль которой Вы используете в антидетекте.

Идеальный антидетект

При качественном браузерном фингерпринтинге зачастую анализируется низкоуровневый, платформозависимый, железозависимый функционал OS, системных библиотек, драйверов и тп.

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

Приведу простой пример с canvas фингерпринтом. Суть метода проста - отрисовка текста и геометрических фигур на canvas таким образом, что бы задействовать низкоуровневый системный функционал.

Примером такого функционала может быть рендеринг шрифтов при отрисовки текста на canvas. Рендеринг шрифтов очень сильно зависит от OS, драйверов видео карты и системных библиотек.

Две картинки отрисованные на разных компьютерах (с разным железом) при помощи одного и того же javascript кода будут отличаться. Визуально они будут выглядеть практически одинаково, но если сравнивать их попиксельно, то различия будут очевидны.

Из данного примера становится понятно, что невозможно эмулировать рендеринг шрифтов на машине с видео картой одного вендора, так же как на машине с видео картой другого вендора.

Собранные данные при помощи canvas фингерпринта отправляются на backend. Где в свою очередь проходят статистический анализ.

Этот анализ позволяет легко выявлять фэйковые сэмплы-образцы, такие как:

  • cэмплы-образцы с наложением шума (слишком уникальные образцы)
  • cэмплы-образцы сгенерированные не на той OS/видеокарте, что заявлена

Плюс следует учитывать, что реализация canvas фингерпринта может отличаться от сайта к сайту. К примеру на сайте paypal.com на canvas накладывается текст: PayPal.com, <!@#$%>

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

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

Куки, трек, счетчики, виджеты

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

Очень долгое время существуют разномастные конторы, которые собирают информацию о посещение различных сайтов пользователями.

Виджеты и скрипты установленные на множестве сайтов проставляют куки (маркируют пользователя) и отстукивают на базу информацию о браузере и действии пользователя.

Таким образом, создается след пользователя (трек) по которому можно проследить на каких сайтах/страницах пользователь был, сколько времени провел, что читал, куда кликал (тепловые карты) и тп.

По этому следу можно понять:

  • интересы пользователя
  • пол
  • возраст
  • наличие профилей в соцсетях

И уйму другой информации. Данную информацию активно продают и обменивают эти конторы между собой.

Не так давно, тот же facebook был пойман за руку на продаже подобной информации. Хотел бы напомнить, что у facebook кроме своего сайта есть еще и виджеты которые установлены на миллионах сайтов. И facebook может отслеживать, чем Вы интересуетесь и какие сайты посещаете да же вне своей площадки.

Данная информация помогает качественно таргетировать рекламу. Но я хотел бы обратить внимание, что и в работе антифрод систем анализ подобной информации о пользователе помогает отлично выявлять фрод.

Если Вы пришли на целевой сайт без подобного наработанного следа, то велика вероятность, что Ваши действия будут рассматривать под микроскопом. Т.е. ни о какой автоматике речи тут уже идти не может. Анализом вашей транзакции, с большой долей вероятности, будет заниматься специально обученный индус.

Вопрос относительно кук и следа вашей фейковой личности остается открытым. С какой стороны к нему подойти - это решать Вам.

Из очевидных методов:

  • покупка кук в шопах
    Тут стоит отметить, что если Вы покупаете только куки и пихаете их в браузер, то информация о браузерах будет не совпадать.
    Т.е. информация о браузере откуда куки и информация о браузере профиля будут отличаться.
    Кроме информации естественно будут отличаться и фингерпринты.
    Хотя, как показывает практика наличие кук с историей и треком решает множество проблем.
  • нагулять трек и куки самостоятельно
    Речь идет о банальном фарминге. Т.е. Вы можете «выгуливать» профиль самостоятельно.
    Посещая различные сайты, поисковики, сервисы, …
    Изображая активность обычного пользователя.
    Этот процесс не быстрый и для некоторых сервисов может занимать недели.