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, защищая идентичность и снижая риск пересечения сигнатур при мультиаккаунтинге.
Рекомендуемое Чтение
