Отпечаток пальца WebGL

Отпечаток пальца WebGL — это набор графических сигналов, которые веб-сайт может собирать через API WebGL. Эти сигналы могут включать в себя поставщика графического процессора и средства рендеринга, поддерживаемые функции, точность шейдера и выходные данные пикселей визуализированной сцены. Сайт может объединять или хешировать их как одну часть более широкого отпечатка браузера.

Результат может помочь отличить одну среду браузера от другой. Это не серийный номер графического процессора. Он также не идентифицирует человека сам по себе.

Что такое отпечатки пальцев WebGL?

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

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

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

WebGL по-прежнему является лишь одним из источников информации. Реальная система снятия отпечатков пальцев может также учитывать пользовательский агент, размер экрана, шрифты, вывод Canvas, часовой пояс, язык и другие свойства браузера.

Как работает отпечаток пальца WebGL?

Базовая проверка отпечатков пальцев WebGL состоит из четырех этапов:

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

Первая группа результатов основана на заявленных значениях. К ним могут относиться поставщик WebGL, средство рендеринга, поддерживаемые расширения, ограничения текстур и точность шейдеров.

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

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

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

Что показывает Отпечаток пальца WebGL?

Отчет WebGL может подробно описать графическую среду. Значение каждого поля имеет пределы.

СигналЧто это может означатьЧто это не доказывает
Поставщик и рендерерСемейство графических процессоров или графическая реализацияЛичность владельца устройства
Немаскированный рендерерБолее конкретная информация о графическом процессоре или драйвереУникальная физическая видеокарта
Поддерживаемые расширенияФункции, доступные в реализации WebGLДва одинаковых браузера — это одно и то же устройство.
Ограничения текстур и рендерингаОбщее аппаратное обеспечение и возможности реализацииТочная производительность устройства
Точность шейдераКак графический стек обрабатывает числовые форматыПостоянный идентификатор
Хэш изображенияРезультат одной определенной задачи рендерингаХэш, который будет совпадать на каждом тестовом сайте.

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

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

Является ли Отпечаток пальца WebGL уникальным?

Отпечаток пальца WebGL может сузить группу браузеров, но слово «уникальный» часто является слишком сильным словом.

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

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

Отпечатки WebGL могут измениться после:

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

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

Холст против отпечатков пальцев WebGL

Снятие отпечатков пальцев Canvas и WebGL связано, но это не один и тот же метод.

ОбластьCanvas-фингерпринтингСнятие отпечатков пальцев WebGL
Основной контекстХолст 2DWebGL или WebGL 2
Типичная задачаРисование текста, фигур, цветов и эффектовРендеринг графики или запуск шейдеров
Общие влиянияШрифты, растеризация текста, браузер, ОСГрафический процессор, драйвер, графический стек, браузер, ОС
Общий результатХэш изображения холстаХэш отчета WebGL или хэш изображения
Дополнительные данныеПоведение 2D-рендерингаПоставщик, средство рендеринга, расширения, ограничения, точность шейдеров

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

Система снятия отпечатков пальцев может собирать и то, и другое. Сопоставление данных Canvas и WebGL может повысить уверенность. Несоответствие может также проявляться, если указанная среда браузера не поддерживает данную комбинацию.

Как веб-сайты используют отпечатки пальцев WebGL

Данные WebGL имеют законное и конфиденциальное использование.

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

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

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

Наличие кода WebGL не доказывает, что сайт отслеживает посетителей. Для работы средства 3D-просмотра требуется WebGL. Поведение окружающего скрипта и собираемые поля имеют значение.

Как проверить свой Отпечаток пальца WebGL

BrowserLeaks IP и тест отпечатков пальцев может показать, что страница читается в текущем браузере. Его отчет WebGL включает статус поддержки, детали контекста, значения возможностей, информацию о поставщике и хэши рендеринга.

Сначала проверьте эти поля:

  1. Поддержка WebGL и WebGL 2.
  2. Поставщик и рендерер
  3. Немаскированный поставщик и рендерер
  4. Хэш отчета WebGL
  5. Хэш изображения WebGL
  6. Поддерживаемые расширения

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

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

Не сравнивайте хэши с несвязанных между собой тестовых сайтов, как если бы они были взяты из одного стандарта. Сайты могут отображать разные сцены или собирать разные параметры. Сравните подобное с подобным.

Тестовая страница — это отчет о видимости, а не сертификат «пройден или не пройден». Обычное значение графического процессора не является автоматически безопасным. Редкое значение не является автоматически опасным. Полная среда браузера имеет значение не только для одного значка или хеша.

Изменяет ли VPN или прокси-сервер Отпечаток пальца WebGL?

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

Эта граница имеет значение при просмотре профиля браузера. Чистое прокси-соединение говорит, что сетевой маршрут работает. Здесь ничего не говорится о графических сигналах, предоставляемых браузером. Отдельный тест Утечка WebRTC проверяет кандидатов на подключение браузера. Тест WebGL проверяет другой уровень.

Изменение IP-адреса с сохранением тех же значений WebGL — это нормально. Два сигнала описывают разные части окружающей среды. Система по-прежнему может сравнивать их с заявленным местоположением, операционной системой, типом устройства и прошлой активностью.

Предотвращает ли Режим инкогнито снятие отпечатков пальцев WebGL?

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

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

Удаление файлов cookie имеет тот же предел. Он удаляет сохраненные идентификаторы. Он не меняет напрямую характеристики браузера и устройства.

Как уменьшить количество отпечатков пальцев WebGL

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

  • Используйте браузер со встроенной защитой от отпечатков пальцев. Это может уменьшить количество подробных данных средства визуализации или сделать значения менее полезными на разных сайтах.
  • Блокируйте WebGL на сайтах, которым он не нужен. Это может помешать этим страницам выполнять проверки WebGL, но также может повредить полезный контент.
  • Отключите WebGL на уровне браузера. Это имеет самый широкий эффект и самую высокую стоимость совместимости.
  • Стандартизируйте или замаскируйте выбранные значения. Сообщаемые данные графического процессора по-прежнему должны согласовываться с операционной системой, браузером, WebGPU и другими графическими сигналами.
  • Добавьте контролируемый шум к результатам рендеринга. Случайный вывод при каждом чтении может привести к нестабильности. Стабильную обработку на уровне профиля обычно легче рассуждать.

Изменение одного поля изолированно может сделать среду браузера менее связной. Например, механизм рендеринга Apple GPU рядом с пользовательским агентом Windows требует пояснения. Блокировка каждого графического API также может сделать браузер менее типичным и отключить приложения, которые зависят от аппаратного ускорения рендеринга.

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

Отпечаток пальца WebGL Часто задаваемые вопросы

Является ли Отпечаток пальца WebGL серийным номером графического процессора?

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

Могут ли два устройства иметь одинаковый Отпечаток пальца WebGL?

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

Почему мой хэш WebGL изменился?

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

Изменяет ли удаление файлов cookie Отпечаток пальца WebGL?

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

Должен ли я отключить WebGL?

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

Является ли снятие отпечатков пальцев WebGL тем же, что и Фингерпринтинг браузера?

Нет. Снятие отпечатков пальцев WebGL — это часть Фингерпринтинг браузера. Более широкий отпечаток может включать пользовательский агент, экран, шрифты, часовой пояс, язык, вывод Canvas, поведение звука и другие сигналы.

Ключевой вывод

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

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

Подмена отпечатков пальцев

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

Подробнее

Аудиофингерпринтинг

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

Подробнее

Подмена устройства

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

Подробнее

Фингерпринтинг браузера

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

Подробнее

Canvas-фингерпринтинг

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

Подробнее

TLS-фингерпринтинг

TLS-фингерпринтинг идентифицирует клиентское программное обеспечение из ClientHello до начала HTTP. Поймите JA3, JA4 и почему рукопожатие должно соответствовать утверждениям браузера.

Подробнее

Начните создавать с MoreLogin

Изучите справочник API, автоматизируйте задачи из командной строки, подключайте MCP-совместимые инструменты или создавайте повторно используемые RPA-процессы.