BranchScope, un nuovo attacco sfrutta le lacune dei moderni processori

Un gruppo di ricercatori accademici approfondisce gli studi sull'esecuzione speculativa delle moderne CPU e individua un metodo nuovo per estrapolare dati sensibili e informazioni strettamente personali dalla memoria e dalle enclavi SGX.

Un team di ricercatori composto dagli accademici di quattro università statunitensi ha rilevato nuove lacune di sicurezza all’interno dei moderni processori.
Il solco è stato ormai tracciato con la scoperta delle vulnerabilità Meltdown e Spectre: gli esperti di mezzo mondo si stanno quindi concentrando sui cosiddetti side-channel attack, ovvero quei tentativi di aggressione che fanno leva sull’implementazione di un sistema e sullo sfruttamento delle informazioni gestite durante il suo normale corretto funzionamento.

Al centro dell’indagine vi è, ancora una volta, l’esecuzione speculativa, caratteristica utilizzata nei processori per ottimizzare le prestazioni durante la gestione del codice.
I moderni microprocessori con pipeline usano l’esecuzione speculativa per ridurre il costo delle istruzioni di salto condizionato: quando viene incontrata un’istruzione di salto condizionato, il processore cerca di intuire quale delle due vie è più probabile che venga presa e comincia immediatamente ad eseguire le istruzioni da quel punto. Nel caso in cui l’ipotesi si rivelasse poi errata, tutti i calcoli eseguiti in anticipo vengono eliminati.


Il nuovo attacco, battezzato BranchScope, fa quindi leva sull’esecuzione speculativa ma prende di mira una nuova porzione del suo processo.
Similmente a quanto fa la seconda variante di Spectre, BranchScope si concentra sulla branch prediction ovvero su quella fase delle elaborazioni compiute dalla CPU che consente al processore di decidere quale operazione svolgere prima, ipotizzando ciò che avverrà successivamente.

Nel video che pubblichiamo di seguito e che è stato realizzato dai tecnici di Intel, a circa 35 secondi vengono spiegati i concetti di base legati all’esecuzione speculativa e alla branch prediction.

La tecnica BranchScope permette a un aggressore di compiere una decisione al posto della CPU, come nell’esempio dell’operatore stradale – dotato di bandierina (flag person) – che nel video di Intel indica al ciclista la strada giusta da imboccare.
In questo modo un aggressore può indirizzare arbitrariamente l’esecuzione speculativa verso aree della memoria protetta ed estrarre informazioni che, normalmente, risulterebbero del tutto inaccessibili.

Gli studiosi affermano che BranchScope può essere sfruttata per estrarre dati sensibili dalle enclavi SGX, le aree sicure contenute nei processori Intel, fino ad oggi ritenute intoccabili e spiegano di aver condotto, con successo, una serie di test sulle CPU x86_64 Sandy Bridge, Haswell e Skylake.

È interessante notare che l’attacco BranchScope va in porto con un tasso d’errore inferiore all’1% e, soprattutto, che può essere sferrato usando i privilegi normali, senza usare alcun account dotato dei diritti amministrativi.

Secondo gli accademici le patch anti Spectre sarebbero inefficaci nei confronti di BranchScope ma che comunque i produttori hardware e software possono attivarsi per bloccare sul nascere anche questa nuova tipologia di attacco.

Per chi volesse approfondire, qui è consultabile la relazione tecnica che è stata prodotta.

Ti consigliamo anche

Link copiato negli appunti