CPU

Attacchi Spectre e Meltdown, il MIT dice di avere la soluzione

A gennaio gli attacchi ai microprocessori Spectre e Meltdown hanno sollevato un grande polverone, mostrando l’incapacità delle architetture delle CPU moderne di proteggere a dovere i dati – talvolta sensibili – che si trovano a gestire.

Il problema si origina nell’esecuzione speculativa dei processori, che è un elemento centrale nell’assicurare prestazioni elevate. Per essere più veloci le CPU possono scegliere di eseguire le istruzioni in modo speculativo, sulla base di ipotesi considerate verosimili.

Durante l’esecuzione speculativa, il processore verifica queste ipotesi; se sono valide, l’esecuzione continua. Se non lo sono, l’esecuzione viene bloccata e viene avviato il percorso di esecuzione corretto in base alle condizioni reali.

Come emerso nei mesi scorsi, è possibile che l’esecuzione speculativa scateni effetti collaterali che non vengono ripristinati quando la CPU fa ipotesi errate e ciò può portare alla divulgazione (leak) di informazioni, accessibili con un attacco side channel temporizzato (timing attack) come i già citati Meltdown e Spectre.

Tutti i produttori di chip sono stati colpiti, chi più chi meno. La reazione è stata immediata, ma complessa, tanto che sono emerse varianti degli attacchi e per la maggior parte i problemi sono stati risolti solo con aggiornamenti di software e microcode che hanno avuto ripercussioni sulle prestazioni (di grado variabile a seconda del carico).

Intel ha risolto qualche falla con misure di sicurezza integrate direttamente nell’hardware, ma serviranno alcune generazioni di chip (forse) per chiudere la vicenda. La buona notizia è che al MIT di Boston dicono di aver messo a punto un metodo più efficace di quelli usati finora per impedire questi attacchi. Si chiama “DAWG“, che sta per “Dynamically Allocated Way Guard”.

“Un metodo comune per provare a impedire questi attacchi è suddividere la memoria in modo che i dati non siano archiviati tutti in un’area”, spiegano i ricercatori. “Immaginate una cucina condivisa da chef che vogliono mantenere segrete le loro ricette. Un approccio potrebbe essere quello di far lavorare gli chef su lati diversi, e questo è ciò che essenzialmente accade con la “Cache Allocation Technology” (CAT) che Intel ha iniziato a usare nel 2016. Quel sistema è però ancora piuttosto insicuro, dal momento che uno chef può avere una buona idea delle ricette degli altri osservando quali pentole e padelle prendono dall’area comune”.

L’approccio del team del MIT CSAIL equivale invece a costruire pareti per dividere la cucina in spazi separati e garantire che ogni chef conosca solo i propri ingredienti ed elettrodomestici. Il MIT aggiunge che questo approccio è una forma “secure way partitioning”, dove gli chef dell’esempio, nel caso della memoria cache, sono chiamati “protection domains”.

Il nuovo approccio è dinamico perché DAWG può suddividere la cache in più parti con dimensione variabile nel tempo. “Lo studio analizza come isolare completamente gli effetti collaterali di un programma che si propagano a un altro mediante la cache”, ha affermato Mohit Tiwari, assistente professore all’Università del Texas ad Austin. “Questo lavoro rende sicuro un canale che è uno dei più popolari da usare per gli attacchi”.

Nei test il team ha riscontrato che DAWG è comparabile al CAT usato da Intel per quanto riguarda le prestazioni e richiede modifiche minime ai sistemi operativi. “Riteniamo che questo sia un importante passo in avanti nel dare a progettisti, provider cloud e altri professionisti IT un modo migliore per allocare in modo efficiente e dinamico le risorse”, ha affermato Vladimir Kiriansky, uno degli autori dello studio. “Stabilisce confini chiari in cui la condivisione dovrebbe e non dovrebbe avvenire, in modo che i programmi con informazioni sensibili possano mantenere tali dati ragionevolmente sicuri”.

Il team ha aggiunto che DAWG non può ancora difendere da tutti gli attacchi speculativi, ma sono riusciti a dimostrare sperimentalmente che si tratta di una soluzione infallibile per un’ampia gamma di attacchi non speculativi contro i software crittografici.

“C’è tensione tra prestazioni e sicurezza”, ha dichiarato il dottorando Ilia Lebedev. “DAWG è quindi un tentativo che cerca di riconciliare queste due forze opposte”. Paradossalmente, secondo il team del MIT, l’improvvisa attenzione verso i timing attack riflette come la sicurezza dei computer sia migliorata molto negli ultimi 20 anni.

“Un decennio fa il software non era scritto come oggi, il che significa che altri attacchi erano molto più facili da eseguire”, afferma Kiriansky. “L’aumento della sicurezza ha portato questi attacchi microarchitetturali a diventare più invitanti, anche se fortunatamente sono ancora un piccolo pezzo in un arsenale di azioni che un malintenzionato dovrebbe attuare per fare danni”.

Il team sta ora lavorando per migliorare DAWG in modo che possa bloccare tutti gli attacchi all’esecuzione speculativa attualmente noti. Nel frattempo, sono fiduciosi che aziende come Intel saranno interessate ad adottare la loro idea – o altre simili – per minimizzare la possibilità di future violazioni dei dati.