Dopo due decenni di persistente preoccupazione tra i sostenitori della privacy e i ricercatori sulla sicurezza web, Google sta finalmente distribuendo una correzione per una vulnerabilità di lunga data in Cromo che ha silenziosamente esposto la cronologia di navigazione degli utenti.
Il problema nasce dal modo in cui i browser hanno tradizionalmente gestito l' :visited
Selettore CSS, consentendo ai siti web di distinguere visivamente tra i link su cui un utente ha cliccato in precedenza e quelli su cui non ha cliccato. Sebbene inteso come un miglioramento dell'esperienza utente, questa caratteristica è stata ripetutamente sfruttata per eseguire attacchi stealth di sniffing della cronologia.
La fuga di notizie sulla privacy spiegata
Al centro del problema c'è la capacità del browser di formattare i collegamenti come :visited
, in genere cambiano il loro colore dal blu al viola, basato esclusivamente sul fatto che un utente abbia cliccato sul collegamento in precedenza. Questo stile si è verificato indipendentemente dal sito web originale in cui è avvenuta l'interazione, senso qualsiasi sito web potrebbe potenzialmente dedurre la cronologia di navigazione dell'utente attraverso una sceneggiatura intelligente.
Negli anni, i ricercatori hanno dimostrato una serie di attacchi che sfruttano questa vulnerabilità, comprese le tecniche basate sul tempo, scansioni a livello di pixel, tracciamento basato sull'interazione, e persino sfruttando i processi sottostanti del browser. Questi attacchi hanno permesso ai siti web dannosi di rilevare quali URL un utente aveva visitato in precedenza, che porta a una potenziale profilazione, phishing mirato, e tracciamento invasivo.
Cromo 136 Introduce il partizionamento a tripla chiave
Con il rilascio della versione Chrome 136, Google sta introducendo un importante cambiamento architettonico per risolvere il problema una volta per tutte. Il browser ora utilizzerà un sistema di partizionamento a tripla chiave per isolare i dati dei link visitati. Questo sistema considera:
- URL del collegamento di destinazione
- Il sito di primo livello (cioè, dominio nella barra degli indirizzi)
- L'origine del frame in cui viene renderizzato il collegamento
Questo aggiornamento significa che un collegamento apparirà come visitato solo se è stato cliccato all'interno dello stesso sito e frame di origine, in pratica eliminando il tracciamento tra siti tramite :stili visitati.
Per mantenere l'usabilità, Google ha incluso un “auto-collegamenti” eccezione. Ciò garantisce che i link su cui un utente ha cliccato all'interno di un sito vengano comunque visualizzati come visitati quando si ritorna allo stesso sito, anche se il collegamento è stato originariamente cliccato altrove. Poiché il sito sa già quali pagine sono state visitate, questa eccezione non pone rischi aggiuntivi per la privacy.
Google ha escluso approcci più radicali come la deprecazione :visited
completamente, a causa della perdita di indicatori UX utili o di modelli basati sui permessi, che potrebbe essere abusato o facilmente aggirato.
Come abilitare la funzione prima di Chrome 136
Sebbene sia prevista la distribuzione completa con Chrome 136, utenti sulle versioni 132 attraverso 135 puoi abilitare manualmente la funzione navigando su:
chrome://flags/#partition-visited-link-database-with-self-links
Imposta il flag su “Abilitato” per attivare il nuovo sistema di isolamento. Nota, tuttavia, che la funzionalità è ancora sperimentale e potrebbe non comportarsi in modo coerente su tutti i siti Web o casi d'uso.
Al momento, i browser concorrenti come Firefox e Safari offrono protezioni parziali, come limitare le modifiche di stile e l'accesso agli script, ma non implementare lo stesso tipo di partizionamento, lasciando un certo spazio per attacchi sofisticati. Se ampiamente adottato, Il nuovo approccio di Chrome potrebbe stabilire un nuovo punto di riferimento per la privacy del browser.