1. Что такое WebGPU в цифровых отпечатках браузера
WebGPU (экспериментальная технология на 2025 год) — это API следующего поколения для взаимодействия с графическим процессором (GPU), преемник WebGL. Он поддерживается современными браузерами на базе Chromium и предоставляет доступ к низкоуровневым функциям GPU, включая:
- Информацию об адаптере через
GPUAdapter
:adapter.vendor
(производитель графического оборудования),adapter.device
(модель GPU),adapter.architecture
.
- Поддерживаемые функции: например,
timestamp-query
,texture-compression-bc
,shader-f16
. - Ограничения: точность, размеры текстур, выравнивание буферов и другие параметры, уникальные для каждого класса GPU.
- Поведение компиляции шейдеров и шаблоны выполнения.
WebGPU предоставляет системам сбора отпечатков более чистые, переносимые и точные данные о GPU по сравнению с WebGL. Это делает его приоритетным инструментом в системах обнаружения отпечатков, особенно в требующих высокой точности сценариях, таких как верификация личности, игровые платформы и аналитика уровня наблюдения.
2. Как платформы обнаруживают отпечатки WebGPU
В отличие от WebGL, WebGPU использует асинхронный подход для сбора данных о возможностях устройства. Платформы извлекают эти данные следующими способами:
- Выполнение асинхронных запросов через
navigator.gpu.requestAdapter()
и сбор:
- ID производителя,
- Название устройства,
- Архитектура адаптера,
- Версия драйвера (если не маскируется ядром или браузером).
- Автоматическая проверка поддерживаемых функций и ограничений:
- Динамическая запись доступных функций (например,
read_only_depth_stencil
илиdownlevel-*
), - Фиксация доступной памяти GPU, вычислительных ограничений и значений точности.
- Кросс-проверка с другими векторами отпечатков, такими как:
- Производитель браузера,
- Уникальный идентификатор устройства (если стабилен),
- Архитектура системы,
- Данные WebGL,
- Версия операционной системы.
- Обнаружение типа устройства и сигналов стабильности:
- Системы могут помечать устройства, работающие в средах с эмуляцией или виртуализацией GPU,
- Анализ длины данных WebGPU часто используется как проверка целостности устройства для выявления автоматизированных инструментов.
Примечание: сбор отпечатков через WebGPU на данный момент доступен только в браузерах на базе Chromium с поддержкой API webgpu
, что делает его перспективным методом для будущего.
3. Как FlashID маскирует отпечатки WebGPU
FlashID внедряет продвинутую маскировку отпечатков WebGPU, разрывая связь между реальным устройством и его цифровым профилем. Система симулирует как данные адаптера, так и карту функций, чтобы соответствовать поведению реалистичной пары “браузер-устройство”.
Маскировка WebGPU в FlashID включает:
- Поддельную информацию GPU-адаптера:
- Маскировка
adapter.vendor
(например,"Google Inc."
,"NVIDIA Corporation"
), - Симуляция
adapter.device
(например,"ANGLE (Intel, Mesa DRI Intel(R) UHD Graphics 630 (Coffeelake))"
), - Контроль
adapter.architecture
(например,"Skylake"
или"Stoney"
).
- Маскировку функций и ограничений:
- Настройку
supportedFeatures
(таких какtimestamp-query
,depth_clip_control
,shader-f16
и др.), - Симуляцию правдоподобных значений
supportedLimits
, соответствующих известным классам GPU или фейковым профилям.
- Стабилизацию возможностей устройства:
- Конфигурация для каждого профиля браузера обеспечивает единообразие при всех загрузках,
- Ограничения типа
maxColorAttachments
,maxVertexBufferArrayStride
иmaxWorkgroupSize
маскируются, сохраняя правдоподобность.
- Согласованность между API:
- Синхронизация с маскировкой
WebGL
,Canvas
,GPUInfo
иUser-Agent
для исключения противоречий, - Совпадение поддельного GPU с фейковым IP, языком браузера, раскладкой клавиатуры и часовым поясом.
- Устойчивость к продвинутому обнаружению:
- FlashID имитирует типичные временные задержки, структуру и поведение WebGPU, обходя эвристические проверки,
- Если доступ к WebGPU заблокирован (например, песочницей или системой обнаружения), FlashID имитирует его наличие через mock-адаптер с правдоподобной задержкой.
WebGPU всё чаще используется трекерами из-за чистого, структурированного доступа к данным GPU. FlashID обеспечивает надёжную симуляцию, позволяя пользователям полностью изменять и изолировать свои профили WebGPU, защищая идентичность и снижая риск пересечения сигнатур при мультиаккаунтинге.
Рекомендуемое Чтение