Gli sviluppatori di FingerprintJS tornano a far parlare. FingerprintJS è molto nota perché mette a disposizione una soluzione per tracciare gli utenti e monitorare successive visite effettuate su pagine Web differenti senza ricorrere ai cookie. Il lavoro svolto è utile per comprendere meglio che cos’è il fingerprinting e come esistano molte altre tecniche all’infuori dei cookie per capire come gli utenti si muovono sul Web.
Di recente FingerprintJS aveva dimostrato che a causa di un problema di sicurezza presente nei principali browser web era possibile monitorare le attività di uno stesso utente online, anche di coloro che si servivano di Tor Browser.
Il problema che portava al tracciamento cross-browser degli utenti è stato risolto ma FingerprintJS riferisce di una nuova rilevante minaccia per la privacy.
Questa volta al centro dell’analisi di FingerprintJS c’è Safari. Il browser di Apple utilizza un’implementazione imperfetta delle API IndexedDB nel motore WebKit.
IndexedDB è una soluzione per memorizzare importanti quantitativi di dati lato client le cui API sono largamente utilizzate oggigiorno nei siti Web di mezzo mondo.
È tipicamente utilizzato per il caching dei dati delle applicazioni web (approccio utile per offrire versioni offline) ma molti altri componenti – comprese le estensioni del browser – possono anche usarlo per memorizzare informazioni sensibili.
Per prevenire la sottrazione di dati in seguito ad esempio ad attacchi cross-site scripting IndexedDB applica la same-origin policy controllando quali risorse possono accedere ad ogni singola informazione.
Gli esperti di FingerprintJS hanno scoperto che l’API IndexedDB così come implementata in Apple Safari su macOS, iOS e iPadOS non applica la same-origin policy potenzialmente esponendo dati che dovrebbero restare riservati.
Lo stesso problema affligge tutti i browser web che sui sistemi operativi della Mela utilizzando lo stesso motore WebKit.
Il bug individuato da FingerprintJS, che tra l’altro ha più volte sottolineato di non farne uso e di non abusarne in alcun modo, permetterebbe a qualunque sito web di raccogliere i nomi dei database IndexedDB creati nella stessa sessione di lavoro.
Dal momento che il nome di ciascun database ha un nome univoco e correlato con ciascuno specifico sito Web il risultato è che utenti non autorizzati possono impossessarsi della cronologia di navigazione di chiunque.
Dal momento che alcuni nomi di database utilizzano identificativi univoci, l’implementazione scorretta dell’API IndexedDB può facilitare l’identificazione degli utenti a loro insaputa.
Chi fa abitualmente login su siti come Google, Facebook, YouTube, WhatsApp, Dropbox, Xbox, Twitter e utilizza Safari può quindi consegnare informazioni sui suoi interessi e sui siti web visitati a soggetti terzi del tutto sconosciuti.
Per dimostrare la portata del problema, che è stato segnalato agli sviluppatori di Safari a fine novembre scorso ma che ancora non è stato risolto, FingerprintJS ha allestito una pagina dimostrativa.
Su YouTube un video mostra nel dettaglio tutti i passaggi.