Ott 30, 2024 Hacking, In evidenza, News, RSS, Vulnerabilità
L’incubo di Spectre è tutt’altro che concluso: una nuova analisi condotta da Johannes Wikner and Kaveh Razavi, ricercatori di ETH Zürich, ha rivelato che i nuovi processori Intel e AMD sono ancora vulnerabili agli attacchi di esecuzione speculativa.
La ricerca di Wikner e Razavi si concentra in particolare sulla barriera di speculazione “IBPB” (Indirect Branch Predictor Barrier), un meccanismo usato nei sistemi AMD e Intel per mitigare gli attacchi speculativi. Questo controllo crea una barriera che impedisce alla porzione di software che viene eseguita prima della barriera di controllare i branch eseguiti dopo questo punto, sullo stesso processore logico (fonte: Intel).
A quanto pare però il meccanismo non è sufficiente: i due ricercatori hanno trovando un bug nelle microarchitetture di Intel più recenti (come Golden Cove e Raptor Cove, presenti nella 12°, 13° e 14° generazione e negli Xeon di 5° e 6° generazione) che permette di sfruttare le previsioni dei branch anche dopo che IBPB avrebbe dovuto invalidarle.
Si tratta di una “speculazione post-barriera” che permette a un attaccante di superare i controlli di sicurezza imposti dai contesti dei processi e dalle macchine virtuali.
Wikner e Razavi hanno condiviso una dimostrazione di attacco in grado di sfruttare Spectre con la speculazione post-barriera per accedere ai dati sensibili di altri processi nel sistema, inclusi quelli con privilegi elevati.
“Anche se i programmi che gestiscono dati sensibili utilizzassero IBPB – e pensiamo che dovrebbero farlo – sarebbero comunque vulnerabili, a causa del bug del microcodice in IBPB che abbiamo trovato. Siamo i primi a mostrare un exploit pratico di Spectre cross-process end-to-end, con un attacco che fa trapelare la password di root da un processo SUID (cioè un processo che esegue con privilegi elevati)“.
I ricercatori spiegano anche che la semantica di IBPB non è chiara e si è evoluta nel corso degli anni; questo complica il lavoro dei maintainer dei sistemi operativi che devono prendere decisioni di design stando attendi a non introdurre regressioni.
La semantica a cui si riferiscono i ricercatori è quella presente nella variante di AMD che “trascura le previsioni dei return branch”, un comportamento che va in conflitto con le specifiche del meccanismo. Questo consente a un attaccante di iniettare previsioni di branch malevoli prima che l’operazione di IBPB si concluda.
Anche in questo caso, Wikner e Razavi hanno condiviso un esempio pratico di come viene eseguito un attacco di questo tipo.
L’analisi dei ricercatori si è concentrata sui sistemi Linux perché “non abbiamo il codice sorgente degli altri OS principali“, quindi è possibile che il problema affligga anche altri sistemi operativi.
Per ridurre il rischio di attacco, i ricercatori consigliano di mantenere aggiornato il microcode dei processori Intel e installare gli aggiornamenti del kernel nel caso di processori AMD.