Железо: WebGL

Со свежими изменениями:


WebGL - это API-интерфейс браузера Javascript для отображения 3D-графики на веб-странице. Веб-сайты могут использовать WebGL для идентификации вашего устройства. Как правило, есть два способа, с помощью которых веб-сайты могут это сделать:

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

Вы можете проверить, какую информацию веб-сайты могут получить через этот API из теста Browserleaks

Изображение шума WebGL

Когда вы устанавливаете режим WebGL на Noise, Индиго перехватывает показания WebGL, запрошенные веб-сайтом, и добавляет к ним уникальный шум. Этот шум будет постоянным для этого профиля браузера. Это означает, что все показания WebGL в этом профиле будут изменены одинаково. Например, одно и то же изображение WebGL на разных страницах будет изменено одинаково. Одно и то же изображение в двух разных сеансах браузера также будет изменено одинаково.

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

Поскольку к считываемым изображениям WebGL применяется случайный шум, веб-сайты могут воспринимать отпечаток как 100% уникальный, если применяется статистический анализ.

Маскирование метаданных WebGL

Метаданные WebGL маскируются в Индиго каждый раз, когда вы устанавливаете режим WebGL на Noise. Это устаревший механизм, который вскоре будет улучшен за счет возможности маскировать метаданные WebGL и изображение отдельно.

Когда маскирование метаданных включено, Индиго изменит параметры WebGL Vendor и Renderer на значения, полученные из базы данных отпечатков пальцев.

Вы можете увидеть измененные параметры метаданных WebGL в разделе «Другие параметры WebGL».

Выключенный режим

Если для маскировки WebGL установлено значение Выкл., Веб-сайты будут видеть реальные хэши отчетов и изображений WebGL.

Установка режима на Выкл может быть полезной в некоторых случаях, когда веб-сайты плохо реагируют на 100% уникальные показания WebGL.

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

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

Открытие профилей браузера на нескольких машинах

Не забывай Если вы создали профиль браузера с WebGL, установленным на Noise, и открыли его на разных компьютерах с различным установленным оборудованием, веб-сайт увидит, что хэш образа WebGL не является постоянным при нескольких запусках.

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

Ниже приведен пример скриншота. Один и тот же профиль браузера открывается на 2 разных машинах. Несмотря на постоянный шум для этого профиля, показания WebGL все еще различны.

Если на нескольких устройствах требуются неизменяемые показания, есть несколько решений:

  1. Запустите Индиго на виртуально настроенных виртуальных машинах (VM) или виртуальных частных серверах (VPS) с идентификаторами оборудования, для которых установлен режим «Шум». Поскольку эти машины будут настроены одинаково, замаскированные отпечатки WebGL останутся согласованными на нескольких машинах.
  2. Запустите Индиго на идентичных моделях ПК с одинаковыми настройками оборудования, драйверов и ОС. Поскольку эти машины имеют одинаковую аппаратную настройку, маскированные аппаратные отпечатки будут оставаться согласованными на нескольких машинах.
  3. Запустите Индиго на тех же компьютерах Mac. Применяется та же логика, но она также помогает лучше сочетаться, как описано выше.

Эта статья помогла Вам?