View Single Post
  #2 Old 12-11-2019, 08:56 AM
Che_Browser
 
Che_Browser's Avatar
 
Join Date: Oct 2018
Posts: 7
Che_Browser is an unknown quantity at this point
Default

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

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

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

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

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

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

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

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

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

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

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

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