Słownik · Fingerprinting
Fingerprinting WebGL
Wykorzystywanie informacji o grafice WebGL i wyjścia renderowania do identyfikacji urządzenia.
Definicja
WebGL fingerprinting wykorzystuje API WebGL — interfejs przeglądarki dla przyspieszanej przez GPU 2D i 3D grafiki — do zbierania sygnałów specyficznych dla urządzenia: ciągów dostawcy grafiki i renderera, obsługiwanych parametrów i rozszerzeń oraz pikseli wyrenderowanej sceny.
Jak to działa
- Skrypt otwiera kontekst WebGL i odpytuje o możliwości za pomocą getParameter() oraz listę obsługiwanych rozszerzeń.
- Tam, gdzie jest to dostępne, rozszerzenie WEBGL_debug_renderer_info ujawnia UNMASKED_VENDOR_WEBGL i UNMASKED_RENDERER_WEBGL — ciągi znaków dostawcy i renderera sterownika graficznego.
- Może również wyrenderować scenę 3 i wygenerować skrót wyniku, podobnie jak przy fingerprintingu canvasu.
Dlaczego to ma znaczenie
- Szczegóły GPU są stabilne w czasie i różnią się między urządzeniami, co czyni je silnym sygnałem.
- Niezgodności mają znaczenie: profil twierdzący, że jest Macem, podczas gdy raportuje ciąg znaków sterownika GPU dostępnego tylko dla Windows, jest łatwy do oznaczenia.
Ograniczenia i powszechne błędne przekonania
- "Każda strona może zawsze odczytać mój model GPU." MDN zauważa, że w zależności od ustawień prywatności przeglądarki, rozszerzenie debugowania może być ograniczone do kontekstów uprzywilejowanych lub w ogóle nie działać; przy włączonej opcji privacy.resistFingerprinting w Firefox jest ono wyłączone.
- "Wyłączenie WebGL czyni mnie niewidzialnym." Samo wyłączenie jest rzadką, zauważalną cechą i psuje strony, które go potrzebują.
Przykład: Strona odczytująca niezamaskowany ciąg znaków renderera może zobaczyć konkretną rodzinę GPU i sterownika, co wraz z rozmiarem ekranu i czcionkami znacznie zawęża identyfikację urządzenia.
Żadna przeglądarka ani proxy nie może zagwarantować, że konta nie zostaną ograniczone. Przestrzegaj zasad każdej platformy.
Powiązane terminy
- Canvas fingerprinting — Identyfikowanie urządzenia na podstawie drobnych różnic w sposobie renderowania rysunku na elemencie HTML canvas.
- Fingerprint przeglądarki — Kombinacja cech przeglądarki i urządzenia, która może zidentyfikować przeglądarkę bez plików cookie.
Powiązane przewodniki
Źródła
- MDN: WebGL API (dokumentacja przeglądarki)
- MDN: rozszerzenie WEBGL_debug_renderer_info (dokumentacja przeglądarki)
Sprawdzono 2026-11-07.