Per il passato quattro mesi, i dispositivi iOS e iPadOS di Apple e il browser Safari hanno violato una delle politiche di sicurezza più sacrosante di Internet. La violazione deriva da un bug che fa trapelare le identità degli utenti e l’attività di navigazione in tempo reale.
La policy della stessa origine è un meccanismo di sicurezza fondamentale che vieta a documenti, script o altri contenuti caricati da un’origine, ovvero il protocollo, il nome di dominio e la porta di una determinata pagina Web o app, di interagire con risorse di altre origini. Senza questo criterio, i siti dannosi, ad esempio badguy.example.com, potrebbero accedere alle credenziali di accesso per Google o un altro sito attendibile quando è aperto in una finestra o scheda diversa del browser.
Violazione evidente della privacy
Dal rilascio di settembre di Safari 15 e iOS e iPadOS 15, questa politica è stata ampiamente infranta, ha rilevato una ricerca pubblicata alla fine della scorsa settimana. Come rivela graficamente un sito demo, è banale per un sito conoscere i domini dei siti aperti in altre schede o finestre, nonché gli ID utente e altre informazioni identificative associate agli altri siti.
“Il fatto che i nomi dei database trapelino da origini diverse è un’evidente violazione della privacy”, ha scritto Martin Bajanik, ricercatore presso la società di sicurezza FingerprintJS. Lui continuò:
Consente ai siti Web arbitrari di apprendere quali siti Web visita l’utente in diverse schede o finestre. Ciò è possibile perché i nomi dei database sono in genere univoci e specifici del sito Web. Inoltre, abbiamo osservato che in alcuni casi i siti Web utilizzano identificatori univoci specifici dell’utente nei nomi dei database. Ciò significa che gli utenti autenticati possono essere identificati in modo univoco e preciso.
Gli attacchi funzionano su Mac con Safari 15 e su qualsiasi browser con iOS o iPadOS 15. Come mostra la demo, safarileaks.com è in grado di rilevare la presenza di oltre 20 siti Web, tra cui Google Calendar, YouTube, Twitter e Bloomberg. aprire in altre schede o finestre. Con più lavoro, un utente malintenzionato nel mondo reale potrebbe probabilmente trovare centinaia o migliaia di siti o pagine Web che possono essere rilevati.
Quando gli utenti sono connessi a uno di questi siti, è possibile abusare della vulnerabilità per rivelare la visita e, in molti casi, identificare informazioni in tempo reale. Quando si accede a un account Google aperto altrove, ad esempio, il sito demo può ottenere l’identificatore interno utilizzato da Google per identificare ciascun account. Tali identificatori possono solitamente essere utilizzati per riconoscere il titolare del conto.
Crescente consapevolezza
La perdita è il risultato del modo in cui il motore del browser Webkit implementa IndexedDB, un’interfaccia di programmazione supportata da tutti i principali browser. Contiene grandi quantità di dati e funziona creando database quando viene visitato un nuovo sito. Le schede o le finestre eseguite in background possono interrogare continuamente l’API IndexedDB per i database disponibili. Ciò consente a un sito di apprendere in tempo reale quali altri siti Web sta visitando un utente.
I siti Web possono anche aprire qualsiasi sito Web in un iframe o in una finestra pop-up per attivare una perdita basata su IndexedDB per quel sito specifico. Incorporando l’iframe o il popup nel relativo codice HTML, un sito può aprire un altro sito per causare una perdita basata su IndexedDB per il sito.
“Ogni volta che un sito Web interagisce con un database, viene creato un nuovo database (vuoto) con lo stesso nome in tutti gli altri frame, schede e finestre attivi all’interno della stessa sessione del browser”, ha scritto Bajanik. “Di solito, Windows e le schede condividono la stessa sessione, a meno che non si passi a un profilo diverso, ad esempio in Chrome, o si apra una finestra privata”.
.