Assessing Web Fingerprinting Risk
Metadane
- Autorzy: Enrico Bacis, Igor Bilogrevic, Robert Busa-Fekete, Asanka Herath, Antonio Sartori, Umar Syed
- Rok: 2024
- Źródło: WWW (The Web Conference) 2024, arXiv:2403.15607v1 [cs.CR]
- DOI/Link: https://arxiv.org/abs/2403.15607
- Status: read
- Kategoria główna: Security
- Podkategorie: Privacy, Web Security
- Tagi: browser-fingerprinting web-apis entropy privacy tracking chrome measurement-study anti-fingerprinting
Streszczenie
Artykuł przedstawia pierwsze na dużą skalę badanie ryzyka browser fingerprinting oparte na rzeczywistych przeglądarkach Chrome i stronach internetowych. Badanie obejmuje dziesiątki milionów instancji Chrome i setki tysięcy stron, używając entropii jako metryki ryzyka fingerprintingu. Autorzy uwzględniają korelacje między Web APIs (czego brakowało w poprzednich badaniach), stosując dekompozycję Chow-Liu do oszacowania wspólnej entropii.
Opracowano nowatorski design eksperymentalny, który dokładnie szacuje entropię przy jednoczesnej ochronie prywatności - żaden użytkownik nie ujawnił więcej niż 20 bitów informacji. Badanie zbiera dane z pasywnego monitoringu (tylko faktycznie wywołane Web APIs), a nie z aktywnego crawlowania, co odzwierciedla rzeczywiste zachowanie stron internetowych.
Wyniki pokazują, że użycie Web APIs różni się znacząco między kategoriami stron, informacje z wielu APIs są silnie skorelowane, a entropia jest dobrym wskaźnikiem rzeczywistego fingerprintingu. Badanie oferuje metodę oceny skuteczności metod anty-fingerprintingowych w przeglądarkach.
Kluczowe Wnioski
- Entropia jako proxy: Potwierdzono, że entropia jest silnie skorelowana z znanym zachowaniem fingerprintingowym (obecność sygnatur fingerprinting libraries)
- Uwzględnienie korelacji: Ignorowanie korelacji między Web APIs prowadzi do drastycznego przeszacowania ryzyka fingerprinting - dekompozycja Chow-Liu daje znacznie bardziej realistyczne oszacowania
- Różnice między kategoriami: Strony z kategorii “news” i “shopping” mają znacząco wyższą konsumpcję entropii niż strony “law & government”
- Bimodalna dystrybucja: Większość sesji ma entropię znacznie poniżej lub znacznie powyżej 20 bitów, sugerując dwa tryby działania stron: high-entropy i low-entropy
- First-party vs third-party: Strony informacyjne mają najwyższą entropię third-party (prawdopodobnie z powodu reklam), podczas gdy strony zakupowe mają niską entropię third-party
- Klasteryzacja powierzchni: Zidentyfikowano naturalne klastry Web APIs (Device properties, User agent, GPU Info, Fonts, Canvas, WebGL, Codecs) - obserwacja powierzchni z tego samego klastra naraża użytkownika na mniejsze ryzyko niż tej samej liczby z różnych klastrów
- Skuteczność mitygacji: Blokowanie skryptów z listy Disconnect ma umiarkowany wpływ na dystrybucję entropii, podczas gdy blokowanie wszystkich skryptów zawierających sygnatury fingerprintingu znacząco redukuje entropię
Metodologia
Badanie przeprowadzono w trzech fazach na < 10 milionach klientów Chrome, którzy włączyli udostępnianie danych:
Faza 1: Zrozumienie użycia Web APIs - tylko informacje o wywołaniu powierzchni (surfaces), bez wartości Faza 2: Partycjonowanie 5383 powierzchni (z 161 Web APIs) na 10 “rodzin” + zbieranie wartości z prawdopodobieństwem p_c = min{1, 40/n}, gdzie n to spodziewana liczba wywołań. Limit 40 raportów na klienta (≈20 bitów informacji). Dane użyte do oszacowania H(X_s) dla pojedynczych powierzchni. Faza 3: Skupienie na 60 najpopularniejszych “core” powierzchniach, tworzenie nakładających się podzbiorów o niskiej entropii, p_c = 1. Limit 20 bitów informacji na klienta. Dane użyte do oszacowania I(X_s; X_s’) dla par powierzchni.
Ochrona prywatności:
- Hashowanie wartości powierzchni przed raportowaniem
- Odrzucanie wartości zgłoszonych przez < 50 klientów
- Usuwanie wszystkich niezagregowanych danych po 4 tygodniach
- Nigdy więcej niż 20 bitów informacji od pojedynczego użytkownika
Estymacja entropii: Dekompozycja Chow-Liu:
H(X_S) ≤ Σ H(X_s) - Σ I(X_s; X_s')
gdzie drugie sumowanie jest po krawędziach drzewa T. Oszacowania dokładne w granicach 1.5 bita z 90% pewnością.
Sesja: agregacja wszystkich wizyt na konkretnej stronie przez konkretnego klienta w okresie 4 tygodni.
Główne Koncepcje
- Surface: Web API połączone z konkretnym zestawem argumentów wejściowych (np. WebGLRenderingContext.getParameter(pname))
- Entropia (H(X)): Miara informacji; -Σ Pr[X=x] log Pr[X=x]. Im wyższa entropia, tym większe ryzyko fingerprinting
- Mutual Information I(X;Y): Miara korelacji między zmiennymi losowymi; wynosi 0 dla niezależnych zmiennych
- Chow-Liu decomposition: Metoda rozkładu wspólnej entropii na sumę marginalnych entropii minus suma mutual information po krawędziach drzewa
- Passive sampling: Tylko obserwacja tych wartości powierzchni, które faktycznie były odczytane przez strony (nie aktywne wykonywanie APIs)
- Core surfaces: 60 najpopularniejszych powierzchni spełniających kryteria: wywołane przez ≥500 klientów, ≥95% klientów raportuje tylko jedną wartość, entropia ≥0.1 bitów, stabilne dzienne użycie
- Fingerprinting signatures: Specyficzne i nietypowe stringi zapisywane do canvas przez biblioteki fingerprintingowe (Acar et al. 2014)
Wyniki
Entropia sesji (Top 10k stron Tranco):
- Dystrybucja bimodalna: większość stron znacznie poniżej lub powyżej 20 bitów
- Kontekst: przy 1 miliardzie użytkowników, 10 bitów ≈ 1M użytkowników z identycznymi wartościami, 20 bitów ≈ 1K, 30 bitów ≈ unikalny identyfikator
Per-vertical entropy (7187 stron z przypisaną kategorią):
- Najwyższa średnia entropia: News, Shopping, Sports
- Najniższa średnia entropia: Law & Government, Internet & Telecom, Computers & Electronics
First-party vs third-party:
- News: najwyższa entropia third-party (~17 bitów 3rd party + ~17 bitów 1st party)
- Shopping: najniższa entropia third-party (~7 bitów 3rd party + ~21 bitów 1st party)
- Online Communities: niska całkowita entropia (użytkownicy często zalogowani)
Częstość wywołań powierzchni: różni się znacząco między wertykalami (np. GPU info: często na shopping, rzadko na law & government; User Agent: prawie wszędzie)
Walidacja entropii: silna pozytywna korelacja między obecnością fingerprinting signatures a entropią sesji
Skuteczność anti-fingerprinting:
- Blokowanie Disconnect list: niewielki spadek entropii
- Blokowanie wszystkich skryptów z fingerprinting signatures: znaczący spadek dystrybucji entropii
Przydatne Cytaty
“Modern Web APIs allow developers to provide extensively customized experiences for website visitors, but the richness of the device information they provide also make them vulnerable to being abused to construct browser fingerprints” (str. 1)
“Previous studies had two major limitations. First, their entropy estimates were based on either a single website or a very small sample of devices. Second, they did not adequately consider correlations among different Web APIs, potentially grossly overestimating their fingerprinting risk.” (str. 1)
“Our study is based on actual visited pages and Web APIs reported by tens of millions of real Chrome browsers in-the-wild. We accounted for the dependencies and correlations among Web APIs, which is crucial for obtaining more realistic entropy estimates.” (str. 1)
“Unlike cookies, fingerprints cannot be easily disabled or reset by users.” (str. 2)
“Because entropy increases with the spread of a distribution, it serves as an indicator of how well-suited a Web API is for re-identifying users” (str. 2)
“We also never collected more than 20 bits of device-specific information from any client” (str. 8)
“Note that the entropy for nearly all websites is either far below or far above 20 bits, suggesting that the typical website can be classified as operating in either a high- or low-entropy mode.” (str. 14)
“Our measurement study is, to the best of our knowledge, the first effort to realistically quantify the amount of user-identifying information collected by websites that account for a large fraction of traffic on the Internet.” (str. 19)
Datasety
Nie używa publicznie dostępnych datasetów - badanie opiera się na oryginalnych danych telemetrycznych z Chrome:
- < 10 milionów instancji Chrome
-
100,000 stron internetowych
- 5383 surfaces z 161 Web APIs
- Crawler: 6.4 miliona stron (do symulacji anti-fingerprinting)
Powiązane Tematy
- Browser privacy protection mechanisms
- Web tracking methods
- Anti-fingerprinting techniques (masking, fuzzing, coarsening, domain blocking)
- Privacy-preserving data collection
- Information theory applications in security
- Web API design and security implications
- Cookie alternatives and tracking technologies
- Large-scale measurement studies methodology
- Privacy vs functionality tradeoffs
- Canvas fingerprinting
- WebGL fingerprinting
- Font fingerprinting
- Audio fingerprinting
- Device fingerprinting on mobile vs desktop