Fingerprinting przeglądarki

Client Hints a User-Agent: czym się różnią

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…).

Definicja

Serwer prosi o high-entropy hints przez Accept-CH; niespójność między UA string, CH i JS jest częstym sygnałem automatu.

Jak działa

Niskiej entropii (brands, mobile, platform) przeglądarka wysyła często od razu. High-entropy (fullVersionList, platformVersion, arch, bitness, model) — po Accept-CH / Permissions-Policy. getHighEntropyValues(hints) zwraca Promise. Detektory porównują legacy navigator.userAgent z Sec-CH-UA-Full-Version-List.

Przykład

UA mówi Chrome/120, ale Sec-CH-UA brands wskazują wersję 119, a getHighEntropyValues({platformVersion}) nie pasuje do deklarowanego Windows 10 vs 11.

W Aion Surf

W Surfie Client Hints muszą być zgodne z profilem i legacy UA. To pierwszy test spójności przy wejściu na strony z Accept-CH.

Jak robi to Falcon

Powiązane hasła

  • 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.
  • 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.
  • Kolejność nagłówków HTTP: Kolejność nagłówków HTTP/1.1 (i kolejność pól w HTTP/2) jest charakterystyczna dla klienta: przeglądarki wysyłają Host, Connection, User-Agent, Accept… w ustalonym porządku; skrypty i biblioteki często alfabetycznie lub w kolejności insertów.
  • Warstwy detekcji ruchu: Warstwy detekcji to model obrony „w głąb”: IP/ASN i reputacja, TLS (JA3/JA4), HTTP/2–3 i kolejność nagłówków, JS fingerprint, zachowanie (mysz, timing), wyzwania (CAPTCHA, PoW) oraz sygnały po stronie aplikacji.

Źródła