1. Що таке GPU у відбитках браузера
Відбиток GPU (графічний процесор) підкреслює можливості графічного рендерингу та унікальну ідентифікацію пристрою, які вебсайти витягують за допомогою таких API, як WebGL та WebGPU.
Сучасні браузери надають детальну інформацію про GPU користувача через:
- контексти рендерингу
webgl
таwebgl2
GPUCanvasContext
(у реалізаціях WebGPU)- Вбудовані інформаційні рядки GPU, такі як:
- Виробник: наприклад, Intel, NVIDIA, AMD
- Рендерер: наприклад,
Intel(R) HD Graphics 630
,ANGLE (NVIDIA GeForce RTX 3080 Direct3D 11 vs_5_0 ps_5_0)
- Версія драйвера
Ці значення можуть бути зібрані та порівняні між сесіями для ідентифікації того, чи пов’язані середовища браузера — це робить GPU критичним фактором у виявленні кількох облікових записів та системах оцінки відбитків браузера.
Деякі сервіси навіть виявляють підробку за допомогою невідповідностей між рядком GPU та пам’яттю пристрою, системною інформацією та поведінкою рендерингу.
2. Як платформи виявляють відбитки GPU
Більшість платформ для боротьби з шахрайством та асоціацією облікових записів у браузерах збирають відбитки, пов’язані з GPU, за допомогою:
- WebGLRenderingContext.getParameter(): Викликається для отримання інформації про GPU в реальному часі, включаючи поля
VENDOR
таRENDERER
. - Поведінка втрати та відновлення контексту WebGL: Моніторинг того, як браузер обробляє втрату/відновлення контексту, дає підказки про те, чи є GPU реальним чи симульованим.
- Компіляція шейдерів та позначки часу продуктивності: Деякі механізми виявлення визначають тип GPU на основі того, скільки часу займає компіляція шейдерів, або чи доступні певні високоякісні функції.
- Виявлення функцій драйвера GPU: Інструменти викликають такі методи, як
device.getSupportedExtensions()
у WebGL або WebGPU для профілювання базових апаратних можливостей. - Послідовність малювання Canvas з GPU: Продуктивність рендерингу Canvas можна перевірити за зареєстрованими можливостями GPU для виявлення збігів профілів або підробки.
Великі платформи, такі як гіганти потокового відео, багатокористувацькі ігрові сервіси або корпоративні інструменти SaaS, часто поєднують це з іншими даними пристрою браузера для виявлення спільних або клонованих користувачів.
3. Як FlashID генерує та маскує відбитки GPU
FlashID маніпулює API рендерингу браузера, пов’язаними з GPU, щоб підробити та замаскувати базове апаратне забезпечення, представляючи повністю налаштовувану та ізольовану ідентичність GPU для кожного екземпляра браузера.
FlashID підтримує:
- Перевизначення виробника та рендерера: Підробка значень, таких як
gl.getParameter(gl.VENDOR)
абоgl.getParameter(gl.RENDERER)
, для відображення будь-якого виробника GPU (Intel, NVIDIA, Apple) та рендерера (OpenGL, ANGLE). - Маскування контексту WebGL та WebGPU: FlashID підключається до
WebGLRenderingContext
,WebGL2RenderingContext
таGPUDevice
, якщо вони доступні, повертаючи контрольовані значення для запобігання асоціації пристроїв. - Патчінг поведінки шейдерів: Перевизначає аномальні помилки шейдерів або рендерингу та забезпечує їх відповідність очікуваній поведінці для заявленого GPU, запобігаючи виявленню за часом або патернами збоїв.
- Незалежні профілі GPU: Кожен екземпляр браузера FlashID має чіткий відбиток GPU, який виглядає унікальним, навіть якщо запущений з однієї фізичної машини.
- Маскування текстур та згладжування: Імітує очікувані розміри 2D/3D текстур, поведінку тонового відображення та математику згладжування відповідно до підроблених специфікацій GPU.
- Контроль узгодженості GPU та системного обладнання: FlashID гарантує, що підроблена ідентичність GPU не суперечить іншим метрикам пристрою, включаючи кількість процесорів, пам’ять та можливості пристрою рендерингу.
Незалежно від того, чи симулюється мобільний GPU для TikTok, чи інтегрована картка Intel для LinkedIn, інструментарій маскування GPU від FlashID дозволяє створювати правдоподібні профілі браузера, які підтримують анти-асоціацію за допомогою структурованого обману.
Вам також може сподобатися