Fingerprinting przeglądarki

Strefa czasowa w JavaScript: co to jest i jak działa

Strefa czasowa w przeglądarce to zestaw API: IANA TZ z Intl.DateTimeFormat().resolvedOptions().timeZone, offset z Date.prototype.getTimezoneOffset() oraz lokalne składowe daty.

Definicja

Detektory spójności porównują te wartości ze sobą i z geolokalizacją IP — nie wystarczy podmienić samego napisu strefy.

Jak działa

Skrypt czyta Intl (nazwa strefy), potem offset w minutach i ewentualnie sformatowaną datę lokalną. Jeśli nazwa mówi „Europe/Warsaw”, a offset odpowiada Pacific (UTC−8), profil jest niespójny. Ten sam test uruchomiony w Web Workerze musi dawać identyczny kontrakt co okno główne.

Przykład

Host VM w Pacific, persona Warszawa: Intl zwraca Europe/Warsaw, getTimezoneOffset() zostaje przy hoście — wystarczy jedno porównanie w JS.

W Aion Surf

W Falconie to P0: jeden TimezoneContract dla Intl + Date + offset w oknie i w workerach. Encyklopedia opisuje mechanizm sygnału, nie „jak oszukać” konkretny serwis.

Jak robi to Falcon

Powiązane hasła

  • Limity maskowania (Falcon): Limity maskowania to jawny katalog miejsc, w których profil Falcona / Surfa nie gwarantuje pełnej spójności sygnałów albo świadomie wybiera kompromis (np. blokada WebRTC).
  • 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.
  • Web Workers a fingerprint: Web Workers (i Service Worker) uruchamiają JS poza oknem strony.
  • Reputacja IP i ASN: Reputacja IP/ASN to historia ruchu: spam, skanowanie, credential stuffing, udział w botnetach, geografia vs deklaracje.

Źródła