Un team di ricercatori di sicurezza informatica ha scoperto due nuove vulnerabilità di tipo "side-channel" nei moderni processori Apple che potrebbero consentire a malintenzionati di sottrarre informazioni sensibili dagli utenti attraverso i browser web. Le falle, denominate FLOP e SLAP, sfruttano debolezze nell'implementazione della speculative execution, una tecnica utilizzata dai processori per accelerare l'elaborazione delle istruzioni.
I ricercatori, provenienti dalla Georgia Institute of Technology e dalla Ruhr University Bochum, già noti per aver presentato un altro attacco denominato "iLeakage" nell'ottobre 2023, hanno pubblicato i risultati delle loro scoperte in due distinti paper. Entrambe le vulnerabilità traggono origine dallo stesso principio alla base di attacchi famigerati come Spectre e Meltdown, che hanno scosso il mondo della sicurezza informatica nel 2018.
FLOP e SLAP prendono di mira funzionalità progettate per velocizzare l'elaborazione "indovinando" le istruzioni future invece di attendere il loro turno. Questo processo, tuttavia, può lasciare tracce nella memoria che possono essere sfruttate per estrarre informazioni sensibili.
"A partire dalla generazione M2/A15, le CPU Apple tentano di prevedere il prossimo indirizzo di memoria a cui accederà il core", hanno spiegato i ricercatori a BleepingComputer. "Inoltre, a partire dalla generazione M3/A17, tentano di prevedere il valore dei dati che verrà restituito dalla memoria. Tuttavia, previsioni errate in questi meccanismi possono comportare l'esecuzione di calcoli arbitrari su dati out-of-bounds o valori di dati errati".
Queste previsioni errate possono avere implicazioni significative per la sicurezza nel mondo reale, come la possibilità di eludere la sandbox del browser web e leggere informazioni personali cross-origin su Safari e Chrome, come dimostrato nei due documenti.
Gli attacchi vengono eseguiti da remoto tramite un browser web utilizzando una pagina web dannosa contenente codice JavaScript o WebAssembly appositamente progettato.
I ricercatori hanno segnalato le falle ad Apple il 24 marzo 2024 (SLAP) e il 3 settembre 2023 (FLOP). Apple ha riconosciuto il proof-of-concept condiviso e ha dichiarato di voler affrontare i problemi. Tuttavia, al momento della stesura di questo articolo, le vulnerabilità rimangono non risolte.
FLOP: la vulnerabilità che sfrutta le previsioni errate dei valori
Il primo paper descrive False Load Output Prediction (FLOP), un problema che affligge i più recenti processori Apple M3, M4 e A17, i quali non solo prevedono gli indirizzi di memoria a cui accederanno, ma anche i valori effettivi memorizzati in essi. Se queste previsioni di Load Value Prediction (LVP) sono errate, i dati non corretti vengono utilizzati per calcoli temporanei, che gli aggressori possono sfruttare per ottenere informazioni sensibili.
I ricercatori hanno dimostrato l'attacco FLOP ingannando la CPU M3 di Apple e facendogli fare previsioni sbagliate dopo averla "addestrata" tramite un ciclo di esecuzione che carica uno specifico valore costante e poi innesca una previsione errata. Mentre la CPU rimane in questo stato errato, trapelano dati attraverso un attacco di temporizzazione della cache. Questa fuga di dati dura abbastanza a lungo da consentire ai ricercatori di misurare i tempi di accesso alla memoria e dedurre il valore segreto prima che la CPU si corregga.
Attraverso FLOP, i ricercatori hanno dimostrato di poter eludere la sandbox di Safari, recuperare informazioni sul mittente e sull'oggetto dalla casella di posta di Proton Mail, rubare la cronologia delle posizioni di Google Maps e recuperare eventi privati dal calendario iCloud.
SLAP: l'attacco che mira alle previsioni degli indirizzi di memoria
Il secondo paper descrive Speculative Load Address Prediction (SLAP), che colpisce i processori Apple M2 e A15, e molti dei modelli successivi. A differenza di FLOP, che riguarda la previsione del valore che un caricamento di memoria restituirà, SLAP riguarda la previsione dell'indirizzo di memoria a cui si accederà successivamente, chiamato Load Address Prediction (LAP).
Un aggressore può "addestrare" la CPU ad anticipare un modello specifico di accesso alla memoria, quindi manipolarla per accedere a dati segreti alterando bruscamente il layout della memoria, facendo sì che la previsione successiva punti al segreto. La CPU, fidandosi della sua previsione, legge ed elabora i dati sensibili prima di rendersi conto dell'errore e correggerlo, consentendo a un aggressore di sfruttare la temporizzazione della cache o altri canali laterali per dedurre i dati trapelati.
Eseguendo ripetutamente l'attacco SLAP, l'aggressore può ricostruire informazioni rubate come il recupero dei dati della casella di posta Gmail, gli ordini Amazon e i dati di navigazione, e l'attività dell'utente Reddit.
Implicazioni nel mondo reale e possibili contromisure
Gli attacchi FLOP e SLAP sono significativi per il loro impatto su hardware moderno e ampiamente utilizzato e perché possono essere eseguiti da remoto senza richiedere l'accesso fisico. Una vittima dovrebbe solo visitare un sito web dannoso per far trapelare i propri segreti, aggirando la sandbox del browser, l'ASLR e le tradizionali protezioni della memoria. Gli script utilizzati nei siti web demo eseguono una sequenza di caricamenti di memoria progettati per manipolare FLOP e SLAP di Apple, quindi non è necessaria alcuna infezione da malware. I browser moderni consentono calcoli avanzati, fungendo efficacemente da strumenti di attacco in questo caso.
Fino a quando non saranno disponibili aggiornamenti di sicurezza da parte di Apple, una possibile mitigazione sarebbe quella di disattivare JavaScript in Safari e Chrome, anche se questo comporterà probabilmente il malfunzionamento di molti siti web. La scoperta di FLOP e SLAP evidenzia la continua evoluzione delle minacce alla sicurezza informatica e la necessità di una vigilanza costante per proteggere i dati sensibili degli utenti.