Что такое идентификация по WebGL?

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

Как работает идентификация пользователей с помощью WebGL?

При загрузке страницы JavaScript запрашивает у контекста WebGL два параметра расширения: UNMASKED_VENDOR_WEBGL и UNMASKED_RENDERER_WEBGL. Эти функции возвращают производителя графического процессора и полную строку рендерера, включая модель видеокарты, версию драйвера и бэкенд рендеринга. На компьютере под управлением Windows с видеокартой NVIDIA эта строка может выглядеть следующим образом: «ANGLE (NVIDIA, NVIDIA GeForce RTX 4070 Direct3D11 vs_5_0 ps_5_0, D3D11)» (BrowserLeaks — тест на определение «отпечатков пальцев» WebGL, 2025 г.).

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

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

Часто задаваемые вопросы

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

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

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