Wróć do bloga

Czym jest fingerprint Canvas? Zasada działania, wykrywanie i ochrona

Fingerprint Canvas to jedna z najczęściej stosowanych technik fingerprintingu przeglądarki. Witryny używają jej do rozpoznawania urządzeń i śledzenia użytkowników. W tym poradniku wyjaśniamy zasadę działania, różnice względem innych fingerprintów, sposoby wykrywania oraz ochrony prywatności.

Każde kliknięcie podczas przeglądania stron, każdy ruch myszy, model urządzenia i wersja systemu operacyjnego mogą zostać połączone przez witrynę w unikalny identyfikator — fingerprint przeglądarki. Spośród wielu technik fingerprintingu Canvas należy do najpopularniejszych i najbardziej stabilnych. Użytkownik go nie widzi, ale strony internetowe od dawna wykorzystują go do rozpoznawania odwiedzających.

Czym jest Canvas?

Canvas to element rysunkowy wprowadzony w HTML5, czyli w praktyce puste płótno osadzone na stronie internetowej. Programiści mogą za pomocą JavaScript rysować na nim grafiki, tekst i obrazy, tworząc wykresy, gry, funkcje przetwarzania obrazu oraz wiele innych efektów wizualnych. Canvas stoi za znaczną częścią interaktywnych efektów spotykanych we współczesnych witrynach.

Jak powstaje fingerprint Canvas?

Nawet jeśli różne urządzenia mają „narysować ten sam obraz”, rezultat nie będzie idealnie identyczny. Proces renderowania zależy bowiem od sprzętu i oprogramowania:

  • Karta graficzna i sterowniki: Renderowanie wykonuje GPU, a różne karty i sterowniki nieco inaczej obsługują wygładzanie krawędzi, gradienty i kolory;
  • System operacyjny: Windows, macOS i Linux różnią się sposobem renderowania czcionek i implementacją interfejsów graficznych;
  • Przeglądarka i silnik: Poszczególne przeglądarki implementują Canvas API w nieco inny sposób;
  • Monitor i ustawienia kolorów: Gama kolorów, wartość gamma i inne parametry również mogą wpływać na końcowy rezultat.

Witryna zazwyczaj za pomocą skryptu nakazuje przeglądarce odwiedzającego narysować na Canvas ten sam zestaw treści, zwykle połączenie grafiki i tekstu. Następnie zawartość płótna jest zamieniana na dane obrazu, z których wylicza się hash. Ponieważ rezultat renderowania różni się między urządzeniami, hash staje się dość stabilnym „fingerprintem urządzenia”.

Pełny proces przekształcania różnic pikseli w renderowaniu Canvas w sygnał hash urządzenia

Różnice mogą być niezwykle subtelne: ten sam obraz na dwóch urządzeniach może różnić się zaledwie kilkoma pikselami na wygładzonych krawędziach, a mimo to obliczone hashe mogą być całkowicie różne — wystarczająco, by rozróżnić urządzenia.

Do czego służy fingerprint Canvas?

  • Identyfikacja i śledzenie: Witryna może zapamiętać urządzenie na podstawie fingerprintu Canvas nawet bez zalogowania i łączyć aktywność użytkownika między podstronami, a czasem również między różnymi witrynami;
  • Zapobieganie oszustwom i kontrola ryzyka: Platformy e-commerce, płatnicze i społecznościowe mogą wykorzystywać fingerprint Canvas jako jeden z sygnałów ryzyka, pomagający wykrywać nietypowe zachowania, takie jak masowe rejestracje czy współdzielenie kont;
  • Targetowanie reklam: Niektóre sieci reklamowe wykorzystują go do budowania profili zachowań między witrynami.

Sam fingerprint Canvas zwykle nie pozwala ustalić „kim jesteś”. Jest raczej jednym z wielu sygnałów. Po połączeniu z adresem IP, User-Agentem, strefą czasową, czcionkami i innymi informacjami jego zdolność identyfikacyjna wyraźnie rośnie.

Różnice między fingerprintem Canvas, WebGL i czcionek

Wszystkie trzy należą do fingerprintów opartych na różnicach w renderowaniu urządzenia, ale pochodzą z innych źródeł:

  • Fingerprint Canvas: Wynika z różnic w renderowaniu 2D na Canvas;
  • Fingerprint WebGL: Wynika z renderowania grafiki 3D. Witryna może odczytać parametry karty graficznej, takie jak producent WebGL i ciąg renderera, aby rozpoznać urządzenie;
  • Fingerprint czcionek: Wykrywa listę czcionek zainstalowanych w systemie, aby wnioskować o systemie operacyjnym i urządzeniu.

Sygnały te są często łączone jako „cechy środowiska urządzenia” w systemach kontroli ryzyka witryn.

Jak sprawdzić własny fingerprint Canvas?

Można skorzystać z publicznych serwisów testujących fingerprinty, takich jak BrowserScan czy PixelScan. Wyszukanie frazy „browser fingerprint test” pozwoli znaleźć także podobne narzędzia. Strony te zwykle pokazują informacje dotyczące Canvas, WebGL, czcionek, strefy czasowej i innych fingerprintów. Jeżeli wynik informuje o obecności fingerprintu Canvas lub pokazuje stabilny hash, oznacza to, że urządzenie może być w ten sposób oznaczane. Wyniki zewnętrznych stron testowych mają wyłącznie charakter orientacyjny i nie są oficjalną decyzją żadnej platformy.

Jak zwykły użytkownik może się chronić?

Całkowite wyeliminowanie fingerprintu Canvas jest trudne, ponieważ Canvas jest normalną funkcją przeglądarki. Można jednak ograniczyć zakres śledzenia:

  • Korzystać z przeglądarki nastawionej na prywatność lub włączyć tryb prywatności/ścisłej ochrony przed śledzeniem;
  • Zainstalować rozszerzenia blokujące fingerprinting, które blokują odczyty Canvas lub dodają szum;
  • Regularnie usuwać pliki Cookie i dane witryn, aby ograniczyć długoterminowe powiązania między fingerprintem a aktywnością konta;
  • Aktualizować system i przeglądarkę, ponieważ nowsze wersje mają więcej wbudowanych ograniczeń przeciw śledzeniu za pomocą fingerprintów.

Jak postępować przy zarządzaniu wieloma środowiskami biznesowymi?

W przypadku działalności transgranicznej i zarządzania wieloma kontami problem wygląda inaczej. Zespół nie chce się „ukrywać”, lecz zapewnić każdemu kontu biznesowemu stabilne, kontrolowane środowisko i ograniczyć błędne oceny wynikające z wzajemnego wpływu cech urządzeń.

PurpleMark pozwala podczas tworzenia środowiska przeglądarki konfigurować parametry fingerprintu, takie jak Canvas, WebGL i czcionki. Dzięki temu różne środowiska mogą prezentować różne cechy urządzeń, zachowując jednocześnie spójne parametry wewnątrz każdego środowiska. Każdy sklep lub konto może w długim okresie utrzymywać stabilny „profil urządzenia”, zamiast zmieniać go przy każdym uruchomieniu. Należy podkreślić, że parametry fingerprintu są funkcją konfiguracji środowiska. Faktyczna zgodność działalności nadal zależy od przestrzegania zasad używanych platform — narzędzia do zarządzania środowiskiem nie mogą i nie powinny służyć do podszywania się pod tożsamość ani omijania reguł platform.

Najczęstsze pytania

Czy fingerprint Canvas może jednoznacznie zidentyfikować osobę? Samodzielnie rzadko. Zwykle jest jednym z wielu sygnałów, a jego skuteczność rośnie po połączeniu z adresem IP, informacjami systemowymi i danymi o zachowaniu.

Czy wyłączenie JavaScript zapobiega fingerprintowi Canvas? Może zablokować zbieranie danych przez większość witryn, ale jednocześnie wiele stron przestanie działać prawidłowo. Przeglądarki zorientowane na prywatność i rozszerzenia blokujące fingerprinting są zwykle bardziej wyważonym rozwiązaniem.

Czy fingerprint Canvas jest wirusem? Nie. To normalne działanie skryptów witryny, a nie złośliwe oprogramowanie. Wiąże się jednak ze śledzeniem prywatności, dlatego budzi kontrowersje.

Czy nietypowy wynik w serwisie testującym fingerprint oznacza problem z urządzeniem? Niekoniecznie. Różne narzędzia korzystają z różnych algorytmów i baz referencyjnych, dlatego wyniki są tylko orientacyjne. Najważniejszy jest rzeczywisty stan konta na używanej platformie.