Jakie sygnały są wykorzystywane?
Klasyczne, według tego, jak bardzo są charakterystyczne:
- Fingerprinting canvas: strona prosi przeglądarkę o narysowanie małego obrazka, a potem odczytuje jego piksele. Drobne różnice w sterownikach graficznych, modelu GPU i systemie sprawiają, że obraz wychodzi nieco inaczej, na tyle, że wynik jest prawie unikalny dla każdego urządzenia.
- Fingerprinting WebGL: podobny do canvas, ale z użyciem API grafiki 3D. Dość bezpośrednio zdradza model GPU i wersję sterownika.
- Fingerprinting audio: przetwarzanie dźwięku w przeglądarce ma drobne różnice liczbowe zależne od systemu. Strona może odtworzyć dźwięk przez API (tak, że go nie usłyszysz) i odczytać powstały przebieg.
- Wyliczanie czcionek: to, jakie czcionki masz zainstalowane, jest zaskakująco charakterystycznym sygnałem. Typowy komputer ma 50–200 czcionek; dokładnie ta sama lista rzadko się powtarza.
- Rozmiar ekranu i gęstość pikseli
- Ciąg User-Agent i Client Hints (Twoja przeglądarka, wersja, system)
- Strefa czasowa, język, liczba rdzeni procesora, dostępna pamięć, w niektórych przeglądarkach Battery API
Każdy z tych sygnałów osobno jest słaby. Razem dają unikalność rzędu jednego na miliony.
Dlaczego to działa nawet przy zablokowanych ciasteczkach
Ciasteczka stron trzecich wkrótce znikną ze wszystkich dużych przeglądarek. Fingerprinting to alternatywa, na którą branża reklamowa już się przestawiła. Wykorzystywane sygnały to nie „dane śledzące”, których możesz odmówić, tylko dane, które przeglądarka musi wysłać, żeby strona dobrze się wyświetliła. Rozmiar ekranu ma znaczenie, bo strony dopasowują do niego układ. Czcionki mają znaczenie, bo strona wybiera najlepszą. To, że ich połączenie jest unikalne, jest skutkiem ubocznym samej konieczności wysłania tych danych.
Jak przeglądarki się bronią
Dwie strategie, obie niedoskonałe:
- Jednolitość (podejście Tora): sprawić, by wszyscy użytkownicy Tora wyglądali identycznie. Ten sam odcisk, ten sam rozmiar ekranu, te same czcionki. Wada: internet psuje się na wiele drobnych sposobów, strony wyświetlają się w „złym” rozmiarze, czcionki są podmieniane, aplikacje webowe źle rozpoznają Twoje urządzenie.
- Losowość (podejście Brave i Dazr): dodać do sygnałów drobny szum, inny dla każdej domeny. Dwie wizyty na tej samej stronie dają spójne wyniki (więc logowanie działa); dwie różne strony widzą różne odciski. To kompromis, na który idzie większość prywatnych przeglądarek do codziennego użytku.
Ochrona w Dazr jest domyślnie włączona i obejmuje pomiary canvas, WebGL, audio i czcionek, z wyjątkami dla rzadkich stron, które przez nią nie działają.
Co naprawdę możesz z tym zrobić
Możliwości zmniejszenia odcisku są ograniczone:
- Używaj przeglądarki z domyślnie włączoną ochroną przed fingerprintingiem (Dazr, Tor Browser, Brave z rygorystycznymi Shields)
- Wyłącz Battery API, wtyczki i niepotrzebne funkcje przeglądarki w ustawieniach zaawansowanych
- Nie instaluj czcionek, których nie potrzebujesz
- Pamiętaj, że nawet po wyłączeniu JavaScriptu pasywny fingerprinting (nagłówki HTTP, IP, rozmiar ekranu przez CSS) nadal działa