Fingerprinting przeglądarki

Entropia ekranu i rozdzielczości: co to jest i jak działa

Entropia ekranu to informacja z screen.width/height, avail*, devicePixelRatio, window.outer/inner oraz orientacji.

Definicja

Rzadkie kombinacje (nietypowy DPR, niespójne outer vs inner) silnie wyróżniają sesję; popularne 1920×1080 przy DPR 1 mają niską entropię samotnie, ale w pakiecie z innymi sygnałami nadal pomagają.

Jak działa

Odczyt screen i window, czasem matchMedia('(prefers-color-scheme)') i orientation. Detektor sprawdza: czy rozdzielczość istnieje na rynku, czy UA „mobile” ma desktopowe wymiary, czy outerHeight < innerHeight (anomalia), czy DPR ≠ typowy dla deklarowanego urządzenia.

Przykład

Client Hint Sec-CH-UA-Mobile=?1 przy screen 2560×1440 i brak touch — niespójność mobile/desktop w warstwie ekranu.

W Aion Surf

W Surfie wymiary okna i DPR powinny być zgodne z deklarowanym urządzeniem w profilu. To element checklisty spójności, nie „losowania” rozdzielczości.

Jak robi to Falcon

Powiązane hasła

  • Fingerprinting przeglądarki: Fingerprinting przeglądarki to zbieranie wielu cech środowiska uruchomieniowego (API JS, WebGL, czcionki, ekran, wtyczki, strefa czasowa) i sklejanie ich w identyfikator sesji lub urządzenia — często bez ciasteczek.
  • Client Hints a User-Agent: User-Agent Client Hints (UA-CH) to nagłówki Sec-CH-UA* oraz API navigator.userAgentData, które zastępują monolityczny ciąg User-Agent strukturalnymi polami (brand, version, platform, arch, model…).
  • Spójność profilu (coherence): Spójność profilu (coherence) to zgodność wszystkich warstw tożsamości przeglądarki: UA/Client Hints, platforma, WebGL/GPU, czcionki, strefa czasowa, język, IP/ASN, TLS i zachowanie.
  • Wykrywanie trybu headless: Wykrywanie headless to zestaw testów na Chrome/Edge/Firefox bez UI: User-Agent HeadlessChrome (dawniej), brak window.chrome.app, WebGL SwiftShader, plugins.length===0, Notification.permission anomalia, brak periferiów.

Źródła