L’attacco iLeakage sfrutta una grave falla di sicurezza in Safari per macOS e iOS
Un gruppo di ricercatori accademici ha sviluppato un nuovo tipo di attacco informatico chiamato iLeakage, che sfrutta una vulnerabilità nelle CPU Apple Silicon e nel browser web Safari ed è in grado di estrarre informazioni sensibili da Safari, così come da altri browser come Firefox, Tor ed Edge su dispositivi iOS e macOS.
La peculiarità di iLeakage è che rappresenta la prima dimostrazione di un attacco di esecuzione speculativa contro le CPU Apple Silicon e il browser Safari. L’esecuzione speculativa è una tecnica utilizzata dalle moderne CPU per migliorare le prestazioni, eseguendo operazioni che potrebbero essere necessarie prima di sapere se effettivamente lo siano. Tuttavia, eventuali difetti di progettazione possono causare fughe di dati e iLeakage sfrutta proprio queste vulnerabilità.
In particolare, i ricercatori che hanno sviluppato iLeakage hanno studiato la resilienza dei canali laterali di Safari e sono riusciti a bypassare le contromisure esistenti attraverso un metodo indipendente dall’architettura e senza timer. Questo metodo ha consentito loro di estrarre dati da Safari, inclusi dati sensibili come password ed e-mail, nonostante le protezioni implementate da Apple nel browser come il timer a bassa risoluzione, l’indirizzamento compresso a 35 bit e il value poisoning.
I ricercatori hanno anche superato la policy di isolamento dei siti in Safari, che separa i siti web in spazi di indirizzi diversi in base al loro dominio di primo livello effettivo (eTLD) più un sottodominio. Hanno utilizzato una nuova tecnica che sfrutta l’API JavaScript window.open per consentire a una pagina di un aggressore di condividere lo stesso spazio di indirizzi di pagine arbitrarie della vittima.
L’attacco iLeakage è basato su JavaScript e WebAssembly, due linguaggi di programmazione per la creazione di contenuti web dinamici. I ricercatori hanno dimostrato concretamente il funzionamento dell’attacco recuperando messaggi di posta elettronica da Gmail su Safari su un iPad. È importante notare che per riuscire nell’attacco, l’utente vittima deve interagire con la pagina dell’attaccante.
I ricercatori hanno anche dimostrato che iLeakage funziona su Chrome per iOS, dal quale sono riusciti a recuperare la cronologia di YouTube. Questo sottolinea il fatto che l’attacco non è limitato a Safari, ma come già accennato può interessare altri browser utilizzati su dispositivi iOS.
iLeakage ha un impatto su tutti i dispositivi Apple rilasciati a partire dal 2020 e dotati di processori ARM della serie A e della serie M. L’attacco è in gran parte impercettibile e non lascia tracce sul sistema della vittima sotto forma di log, a parte forse una voce della pagina web dell’attaccante nella cache del browser. Tuttavia, i ricercatori sottolineano anche che l’attacco è difficile da portare a termine “e richiede una conoscenza avanzata degli attacchi side-channel basati sul browser e dell’implementazione di Safari”.
L’iLeakage è stato segnalato privatamente il 12 settembre 2022 ad Apple, che ha sviluppato le seguenti mitigazioni per macOS:
- Aprire il Terminale ed eseguire defaults write com.apple.Safari IncludeInternalDebugMenu 1 per abilitare il menu di debug nascosto di Safari
- Aprire Safari e andare al menu Debug appena visibile
- Selezionare WebKit Internal Features
- Scorrere e attivare Swap Processes on Cross-Site Window Open
La mitigazione potrebbe introdurre una certa instabilità. Se gli utenti desiderano disattivarla, possono farlo dal menu di debug eseguendo nel terminale il comando defaults write com.apple.Safari IncludeInternalDebugMenu 0. Oltre alle implicazioni effettive di iLeakage, questa ricerca mette in evidenza i potenziali rischi di esecuzione speculativa nelle piattaforme emergenti basate su ARM, che non sono state esaminate con la stessa intensità delle architetture x86.