CPU Intel e AMD, torna l’incubo Spectre: varianti lasciano miliardi di PC indifesi

Another ICT Guy

CPU Intel e AMD, torna l’incubo Spectre: varianti lasciano miliardi di PC indifesi

Sono passati tre anni da quando l’industria dei microprocessori ha dovuto fare i conti per la prima volta con l’esistenza della classe di attacchi Spectre, in grado di sfruttare vulnerabilità nell’esecuzione speculativa delle moderne CPU. L’esecuzione speculativa consente al microprocessore di predire le istruzioni che potrebbe dover svolgere in seguito, in modo da prepararsi a seguire un determinato percorso per estrarre le istruzioni dalla memoria. L’obiettivo è quello di svolgere i calcoli più rapidamente.

La tecnica funziona, ma dal 2018 sappiamo che presta il fianco al furto di dati sensibili. Nel tempo sono emerse tante varianti di Spectre, mitigate dalle patch già in essere o da nuovi correttivi, ma un team della University of Virginia School of Engineering ha scopertouna linea di attacchi che supera tutte le difese contro Spectre, il che significa che miliardi di computer e altri dispositivi nel mondo sono vulnerabili oggi come lo erano quando Spectre fu annunciato la prima volta“.

Un attacco Spectre porta a svolgere delle operazioni che non si verificherebbero durante la corretta esecuzione di un programma e questo porta a lasciare informazioni sensibili accessibili a un malintenzionato attraverso un side channel. In poche parole, il processo di esecuzione speculativa può lasciare tracce che consentono di ricostruire dei dati sensibili.

Le aziende del settore lavorarono subito su patch software e difese hardware, riuscendo a proteggere i punti più vulnerabili del processo di esecuzione speculativa senza rallentare troppo le prestazioni di calcolo, ma i nuovi attacchi sfuggono a questi correttivi e sono difficilmente mitigabili senza impattare sulle prestazioni in modo marcato.

I ricercatori dell’ateneo statunitense hanno comunicato ai produttori di chip quanto scoperto nel mese di aprile e ne parleranno pubblicamente durante la conferenza ISCA nel mese di giugno.

Il team guidato da Ashish Venkat dice di aver trovato un modo per sfruttare le cache micro-op delle CPU, elementi che servono a velocizzare i calcoli archiviando semplici comandi e consentendo al processore di recuperarli rapidamente all’inizio del processo di esecuzione speculativa. In pratica un malintenzionato può ottenere dati riservati quando un processore recupera i comandi dalla cache micro-op. Queste cache, cresciute di dimensione negli ultimi progetti, si trovano nei PC con CPU Intel dal 2011 (da Sandy Bridge in poi) ma anche AMD Zen (purtroppo non ci sono informazioni più dettagliate).

“Pensate a un ipotetico scenario in un aeroporto dove la TSA (Transportation Security Administration) vi lascia entrare senza controllare la vostra carta d’imbarco perché (1) è veloce ed efficiente e (2) vi verrà comunque controllata la carta d’imbarco al gate”, ha spiegato Venkat. “Un processore si comporta in modo simile. Prevede che il controllo passerà e potrebbe lasciare le istruzioni nella pipeline. In definitiva, se la previsione non è corretta, le istruzioni verranno eliminate dalla pipeline, ma potrebbe essere troppo tardi perché quelle istruzioni potrebbero lasciare effetti collaterali durante l’attesa nella pipeline che un utente malintenzionato potrebbe sfruttare in seguito per dedurre segreti come una password“.

Nell’abstract dello studio “I See Dead µops: Leaking Secrets via Intel/AMD Micro-Op Caches” si legge quanto segue: “I processori moderni di Intel, AMD e ARM traducono istruzioni complesse in micro operazioni interne più semplici che poi sono messe in un cache all’interno di una struttura dedicata nel chip chiamata micro-op cache. Questo lavoro presenta uno studio approfondito della micro-op cache, l’ingegneria inversa di molte funzionalità non documentate e descrive gli attacchi che sfruttano la micro-op cache come canale di temporizzazione per trasmettere informazioni segrete. In particolare, questo documento descrive tre attacchi“.

Poiché tutte le attuali difese messe a punto per Spectre proteggono il processore in uno stadio successivo dell’esecuzione speculativa, sono inutili davanti ai nuovi attacchi. “La difesa suggerita da Intel contro Spectre, che si chiama LFENCE, colloca il codice sensibile in un’area di attesa finché non vengono eseguiti i controlli di sicurezza, e solo allora il codice sensibile può essere eseguito”, ha detto Venkat. “Abbiamo scoperto che i muri di quella sala d’attesa hanno orecchie che il nostro attacco può sfruttare. Un malintenzionato può entrare in possesso di segreti attraverso la cache micro-op usandola come un canale nascosto”.

Il team della Virginia ha collaborato con il professor Dean Tullsen dell’Università della California di San Diego e il dottorando Mohammadkazem Taram per svolgere l’ingegneria inversa di determinate caratteristiche non documentate nei processori Intel e AMD.   

I ricercatori sono convinti che le nuove vulnerabilità siano molto più difficili da risolvere. “Nel caso dei precedenti attacchi Spectre, gli sviluppatori hanno trovato un modo relativamente facile per impedire ogni sorta di attacco senza un calo prestazionale grave”, ha spiegato il dottorando Logan Moody. “La differenza con questo attacco è che il calo prestazionale sarà molto maggiore rispetto ai precedenti“.

“Le patch che disabilitano la micro-op cache o bloccano l’esecuzione speculativa su hardware esistente annullerebbero le innovazioni prestazionali critiche nella maggior parte dei moderni processori Intel e AMD, e questo non è fattibile”, ha affermato il dottorando Xida Ren. “Non è davvero chiaro come risolvere questo problema in modo da offrire prestazioni elevate su hardware esistente, ma dobbiamo riuscirci”, ha concluso Venkat.

Fonte: http://feeds.hwupgrade.it/

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *