PowerScan
IT

Che cos'è il fingerprinting del browser e che cosa può leggere davvero un sito web?

Fingerprint del browser · 6 min di lettura · di PowerScan

Foto: Unsplash

Ogni volta che apri una pagina, il browser consegna al sito un lungo elenco di fatti su sé stesso. Nessuno è segreto, nessuno richiede un permesso e la maggior parte serve perché la pagina venga visualizzata correttamente. Il fingerprinting è ciò che accade quando un sito smette di usare quei fatti per visualizzare e comincia a usarli per riconoscerti.

Che cosa può leggere una pagina senza chiedere

Uno script in esecuzione in una scheda ordinaria può leggere, tra le altre cose: la stringa dello user agent, l'elenco delle lingue preferite, il fuso orario, la dimensione dello schermo e la densità di pixel, il numero di thread della CPU, un valore arrotondato della memoria del dispositivo, la profondità di colore, il supporto al tocco, il nome del renderer grafico dietro WebGL e il risultato del disegno di una piccola immagine su un canvas o del rendering di un breve buffer audio. Può anche osservare quanto tempo richiedono certe operazioni, quali font cambiano la larghezza di una riga di testo e quali dispositivi multimediali esistono (conteggi, non nomi, a meno che tu non conceda l'accesso).

Presi singolarmente sono banali. Un fuso orario ti restringe a qualche centinaio di milioni di persone. Insieme ti restringono molto di più, perché a essere rara è la combinazione. Una macchina Windows con una specifica stringa di renderer NVIDIA, 12 thread, uno schermo 2560×1440, francese e inglese in quest'ordine e un particolare hash del canvas non è una folla.

Che cosa rende utile un segnale per l'identificazione

Contano tre proprietà. Il segnale deve essere stabile: lo stesso browser dovrebbe dare lo stesso valore domani. Deve essere diversificato: browser diversi dovrebbero dare valori diversi. E deve essere economico: leggibile in millisecondi senza una richiesta di autorizzazione. L'hash del canvas ottiene buoni risultati su tutti e tre, ed è per questo che compare in ogni libreria di fingerprinting. La dimensione dello schermo va bene sui primi due e perfettamente sul terzo. Lo user agent andava bene sulla diversità ed è stato deliberatamente appiattito dai produttori di browser proprio per questa ragione.

Che cosa una pagina non può leggere

Questa parte viene esagerata. Lo script di una pagina non può vedere il tuo vero indirizzo se sei dietro un proxy: vede ciò che il proxy presenta. Non può leggere le altre schede, la tua cronologia, i tuoi segnalibri o le tue password salvate. Non può dire con certezza se sei in una finestra privata; le euristiche che affermano di riuscirci si rompono regolarmente. Non può conoscere il tuo nome. E non può decidere da solo se un indirizzo è un proxy o un data center: quel verdetto viene da un database di reputazione che il sito paga, non da qualcosa che il tuo browser ha detto.

I siti che mostrano un "punteggio bot" o "proxy: sì" combinano ciò che il tuo browser ha riportato con dati di terze parti. È una cosa legittima da fare, ma è importante sapere quale metà è misurazione e quale metà è consultazione.

Perché esistono le pagine diagnostiche

Una pagina diagnostica come PowerScan legge gli stessi segnali che leggerebbe un tracker e li mostra a te invece di memorizzarli. Lo scopo non è darti un punteggio. È permetterti di verificare due cose: se un segnale che ti aspettavi nascosto è visibile e se i segnali sono coerenti tra loro. L'incoerenza è ciò che fa segnalare gli account: un indirizzo in un paese, un orologio del browser in un altro, un candidato WebRTC che non corrisponde all'indirizzo da cui sei arrivato.

Quando leggi un report, tratta ogni riga come la risposta a una sola domanda: "che cosa ha detto questo browser a questa pagina, proprio adesso?" Nient'altro. Un hash non è un verdetto, e il numero di segnali letti non misura quanto sembri autentico.

Tutti gli articoli · Avvia la scansione