Czym jest odcisk palca WebGL? Jak informacje o karcie graficznej stają się częścią odcisku przeglądarki
Strona odczytuje dane karty graficznej dwiema drogami: jedną pyta o parametry, drugą patrzy na obraz. Po otwarciu strony wykrywającej odciski palców niejedna osoba pierwszy raz widzi w polu WebGL Renderer model własnej karty i dziwi się: skąd strona wie, jaki mam sprzęt? To, co odczytuje, nie jest numerem seryjnym sprzętu, lecz cechami środowiska graficznego, które ujawnia przeglądarka. Połowa tych cech to parametry raportowane wprost przez interfejs, a połowa to wyniki odczytane po tym, jak karta narysuje obraz. Pojedyncza cecha nie wystarczy do identyfikacji, ale razem tworzą układankę o sporym znaczeniu.
WebGL to graficzny interfejs udostępniany przez przeglądarkę. Modele 3D, mapy i wykresy na stronach renderują się właśnie dzięki niemu na karcie graficznej. Ten sam interfejs oddaje też część środowiska graficznego na zewnątrz. MostMate to przeglądarka antydetekcyjna, która przygotowuje osobne środowisko przeglądania dla każdego konta. Karta graficzna i parametry grafiki należą do jednej z kategorii sygnałów środowiska, którymi zarządza.
Dwa rodzaje informacji: raportowane parametry i narysowany obraz
Informacje odcisku WebGL pochodzą z dwóch źródeł, a sposoby ich zbierania różnią się zupełnie. Pierwsze polega na pytaniu. Strona wywołuje interfejs, pyta o środowisko graficzne i otrzymuje odpowiedzi: producenta karty, model Renderer, obsługiwane wersje. Drugie polega na rysowaniu. Strona każe karcie wyrenderować obraz o stałej treści, a potem odczytuje wynik. Wyjścia różnych urządzeń różnią się drobnymi szczegółami. Razem te dwa rodzaje tworzą portret środowiska graficznego widziany oczami strony.

Najpierw część pytań. Typowe pola na stronie testowej wyglądają tak:
| Pole | Zawartość | Typowy przykład |
|---|---|---|
| Vendor | Producent karty | Google Inc. (NVIDIA) |
| Renderer | Model renderera | ANGLE (NVIDIA, GeForce RTX 3060) |
| WebGL Version | Wersja interfejsu | WebGL 2.0 |
| Extensions | Lista obsługiwanych rozszerzeń | zestaw nazw rozszerzeń |
W tej liście jest kilka szczegółów wartych uwagi. Wiele przeglądarek pokazuje w polu Vendor zawsze Google Inc., a prawdziwy producent kryje się w nawiasie. Wartość Renderer zależy od implementacji przeglądarki: przy tej samej karcie NVIDIA różne przeglądarki mogą raportować ciągi w innym formacie. Różnice listy rozszerzeń są jeszcze wyraźniejsze. To, które rozszerzenia są obsługiwane i w jakiej kolejności, także dostarcza dodatkowych informacji.
Wejściem do odczytu tych parametrów jest rozszerzenie o nazwie WEBGL_debug_renderer_info. Ujawnia ono dwie stałe: niezaślepiony ciąg producenta oraz ciąg Renderer. Dokumentacja MDN pisze wprost, że to rozszerzenie powstało do debugowania i zmienia się wraz z ustawieniami prywatności przeglądarki. Firefox po włączeniu przełącznika prywatności resistFingerprinting po prostu je wyłącza. Innymi słowy: ta sama karta w różnych przeglądarkach i konfiguracjach prywatności może raportować różne treści. Podczas testów warto mieć tę zmienną na oku.
Dlaczego karta graficzna staje się cechą środowiska
Rozróżniająca moc parametrów bierze się z kombinacji, nie z pojedynczego pola. Rynek kart graficznych jest mocno skoncentrowany. NVIDIA, AMD, Apple i Intel razem obejmują zdecydowaną większość urządzeń, więc samo pole Renderer nie pozwala wskazać konkretnej osoby. Gdy złoży się je jednak z innymi sygnałami, rozróżnialność może wzrosnąć. Na przykład w Chrome na Windows środowisko graficzne ujawniane przez WebGL zwykle odpowiada danej konfiguracji systemu i przeglądarki; jeśli dane przeglądarki mówią o Windows, a środowisko graficzne nosi znamiona urządzenia z macOS, to sygnał warty dalszego sprawdzenia. Gdy także strefa czasowa czy inne parametry nie pasują do oczekiwanego środowiska, cała konfiguracja może wysyłać sygnały, które wzajemnie sobie przeczą.

Chodzi nie o losową zmianę każdego parametru z osobna, lecz o sprawdzenie, czy sygnały środowiska pozostają ze sobą spójne. Bezwolna zmiana pojedynczego parametru niekoniecznie czyni całe środowisko bardziej wiarygodnym. O problemach, jakie może przynieść losowe modyfikowanie odcisku palca, pisze artykuł Dlaczego randomizacja odcisku palca jest niebezpieczna.
Teraz część rysowana. Pomysł: kazać karcie wyrenderować stały obraz i odczytać wyjście; to ten sam rodowód co odcisk Canvas, a mechanizm różnic rysowania 2D opisywał artykuł Odcisk palca Canvas. WebGL idzie potokiem 3D, a renderowanie przechodzi przez sterownik karty i niższe biblioteki graficzne. Inne GPU, inne wersje sterowników i inne implementacje przeglądarek mogą zmienić wyjście o kilka pikseli. Takich różnic oko użytkownika nie widzi. Skrypt potrafi je odczytać z dokładnością do piksela.
Dwie rzeczy trzeba wyjaśnić. Po pierwsze, rozróżniająca moc różnic obrazu nie jest tak potężna, jak głosi legenda: między urządzeniami z tą samą kartą i tą samą wersją sterownika różnicy może w ogóle nie być. Po drugie, to inny sposób zbierania niż w przypadku parametrów, więc wyniki obu testów należy interpretować osobno.
Czym różnią się WebGL, Canvas i WebGPU
Trzy nazwy często chodzą razem, ale obserwują co innego. W tabeli:
| Parametr | Obserwowany obiekt | Sposób zbierania |
|---|---|---|
| Canvas | wynik rysowania 2D | rysowanie i odczyt różnic |
| WebGL | parametry możliwości i obraz 3D | pytanie o parametry+rysowanie |
| WebGPU | sygnały nowego interfejsu graficznego | pytanie+próba mocy obliczeniowej |
| AudioContext | wyjście przetwarzania audio | odczyt wyniku algorytmu |
Relację WebGPU do WebGL da się wyjaśnić jednym zdaniem. WebGPU to promowana przez przeglądarki grafika nowej generacji: mocniejsza, z szerszym wachlarzem parametrów, a jakie cechy urządzenia ujawnia, opisywał artykuł Odcisk palca WebGPU. WebGL pozostaje najpowszechniejszym działającym interfejsem, wspieranym praktycznie przez każdą przeglądarkę. Oba będą długo istnieć obok siebie, na stronach testowych zwykle pojawiają się razem i przy diagnostyce trzeba przejrzeć oba.
Jak sprawdzić własny odcisk palca WebGL
Kluczem jest zapis i porównanie, nie spojrzenie. Trzy kroki:
- Otwórz stronę testu IP dostępną z poziomu środowiska albo narzędzie typu BrowserLeaks i znajdź sekcję WebGL. Zapisz cztery pozycje: Vendor, Renderer, WebGL Version i liczbę rozszerzeń.
- Po pewnym czasie przetestuj to samo środowisko ponownie i porównaj oba wyniki. Gdy parametry zmienią się z prawdziwej karty na renderowanie programowe typu SwiftShader albo liczba rozszerzeń wyraźnie się zmieni, środowisko uległo przestawieniu.
- Wstaw wynik WebGL w całą konfigurację środowiska i sprawdź spójność. Jeśli WebGL raportuje Windows i NVIDIA, UA i system też muszą być Windows, a strefa czasowa, język i region wyjściowy muszą się wzajemnie zgadzać. Środowisko, w którym każda pozycja osobno wygląda dobrze, a zestaw sobie przeczy, nadal rzuca się w oczy.
Osobno trzeba wspomnieć o jednym rodzaju sygnału. Jeśli strona testowa pokazuje SwiftShader, ANGLE (Google) albo inne renderowanie programowe, możliwe że środowisko w ogóle nie ma karty graficznej. Możliwe też, że przeglądarka przeszła na renderowanie programowe. Na prawdziwym sprzęcie takie wartości pojawiają się rzadko, więc w środowisku utrzymywanym długoterminowo to sygnał do opanowania.
Jak używać parametru WebGL image w MostMate
W „Ustawieniach odcisku palca" MostMate parametr WebGL image można regulować osobno. Na stronie ustawień stoi tuż obok parametrów graficznych typu Canvas. Przy tworzeniu lub edycji środowiska WebGL image ma dwa poziomy: Real i Noise. Poziom Real zachowuje prawdziwe wartości; po przełączeniu na Noise wyjście przechodzi w tryb szumu.
Po przełączeniu spójrz na właściwy wiersz w panelu podglądu odcisku po prawej: wartość przybierze postać z sześciocyfrowym kodem. Ten kod nie jest wymienny z kodami innych parametrów. Oznacza konfigurację szumu, a faktycznie ujawniany skrót trzeba sprawdzić na stronie testowej dostępu do środowiska.

Wybór poziomu zależy od tego, kim środowisko ma grać. Dla środowisk pielęgnowanych długoterminowo zalecany jest Real: parametry prawdziwej karty i zachowanie sterownika najtrudniej podrobić, a stabilne środowisko nie wymaga ruszania. Gdy potrzeba wielu środowisk pod podobne zadania, Noise daje zróżnicowane wyjście obrazu, dzięki czemu kilka środowisk nie zgłosi w wymiarze grafiki tej samej twarzy. Wybór Noise nie oznacza budowania wszystkiego od zera: w panelu podglądu odcisku wartość każdego parametru leży na wierzchu, a jak wygląda konfiguracja, widać jednym rzutem oka.
Granice też trzeba powiedzieć wprost. Zarządzanie parametrami zmniejsza ryzyko mieszania i sprzeczności między środowiskami. Poza WebGL sygnały takie jak rozdzielczość ekranu czy czcionki są niezależne; metoda wyrównania ich po kolei wraz z listą kontrolną jest w artykule Spójność antykojarzeniowa. Niezależnie od tego, jak zgrabnie skonfigurujesz środowisko, o ocenie platformy decyduje platforma: ten artykuł nie daje żadnej obietnicy w stylu „skonfigurowane, więc niewykrywalne".
Częste pytania o odcisk palca WebGL
Czy strona widzi model mojej prawdziwej karty graficznej?
Tak, ciąg modelu w polu Renderer jest widoczny, o ile przeglądarka nie ograniczy rozszerzenia WEBGL_debug_renderer_info. To jednak graficzny opis ujawniony przez przeglądarkę, a nie odczyt tożsamości sprzętu. Po włączeniu ochrony prywatności przeglądarki takie jak Firefox chowają te informacje albo zastępują je ogólnikowymi.
Czy wyłączenie WebGL pozwala uniknąć identyfikacji po odcisku palca?
Nie zaleca się tego. Współczesne strony mocno polegają na WebGL przy renderowaniu, więc po wyłączeniu cierpią funkcje strony. Poza tym wszystkie główne przeglądarki obsługują WebGL: przeglądarka bez wsparcia jest sama w sobie sygnałem anomalii i łatwiej trafia do osobnej kategorii.
Czy odcisk WebGL i odcisk Canvas to jedno i to samo?
Nie. Oba korzystają z różnic renderowania, ale Canvas idzie potokiem 2D, a WebGL potokiem 3D i ma dodatkową warstwę parametrów możliwości. Na stronie testowej to dwie osobne sekcje, a wartości jednej nie mówią nic o drugiej.
Czy przeglądarka antydetekcyjna może ustawić WebGL na dowolną kartę?
Zależy od implementacji produktu. MostMate daje dwa poziomy: realny i szumowy, a tryb szumu dostarcza zróżnicowanego wyjścia obrazu. Istotą pozostaje spójność parametrów całego środowiska, a nie ustawienie pojedynczego pola na jakąś wartość.
Podsumowanie
Istota odcisku WebGL polega na tym, że przeglądarka oddaje stronie parametry i zachowanie renderujące środowiska graficznego: parametry odpowiadają na pytanie „jaka to karta", obraz na pytanie „jak wygląda rysunek". W obsłudze wielu kont rzeczy do ogarnięcia nigdy nie było ukrywanie karty. Chodzi o to, by parametry graficzne każdego środowiska opowiadały tę samą historię co UA, strefa czasowa i region wyjściowy.
MostMate zbiera parametry takie jak obraz WebGL w jedną, spójnie zarządzaną konfigurację środowiska. Sprawdzanie i wyrównywanie stają się prostsze. Zbudowanie środowiska to dopiero początek; nawyk codziennej weryfikacji to prawdziwa zmienna długoterminowa. Więcej sposobów obsługi parametrów graficznych znajdziesz przez stronę główną; żeby zbudować dla wielu kont środowiska o wyraźnych granicach, pobierz MostMate i zacznij od pierwszego środowiska.
MOSTMATE
Bezpieczne zarządzanie wieloma kontami, bez komplikacji
Zacznij od pierwszego konta i z MostMate buduj bezpieczniejsze, inteligentniejsze i wydajniejsze operacje obejmujące wiele kont.
- Niezależne profile. Spójne tożsamości.
- Automatyzacja AI · Kondycja kont · Praca zespołowa



