CacheOut: un nuovo attacco colpisce le CPU Intel, ma il fix è in arrivo

Un gruppo di ricercatori ha messo a punto un nuovo attacco side channel all'esecuzione speculativa dei microprocessori chiamato CacheOut. Intel è stata messa al corrente e i correttivi sono in arrivo. Le CPU AMD non sono colpite.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Si chiama CacheOut (o L1D Eviction Sampling) il nuovo attacco speculativo che colpisce i microprocessori Intel, salvo quelli usciti a partire dal quarto trimestre 2018, messo a punto da un gruppo di ricercatori di diversi atenei.

“Per un numero selezionato di processori rilasciati dopo il Q4 2018, Intel ha inavvertitamente mitigato parzialmente questo problema nel tentativo di sistemare un problema precedente chiamato TSX Asynchronous Abort (TAA)”, fanno sapere gli autori della scoperta. L’attacco consente a un malintenzionato di entrare in possesso di dati sensibili, anche se questi sono archiviati nell’enclave sicura Intel SGX.

Intel ha assegnato alla vulnerabilità, indicata dal codice CVE-2020-0549, un livello medio, riconoscendone la pericolosità ma al tempo stesso rassicurando tutti, aziende e utenti: CacheOut non è mai stato usato pubblicamente al di fuori di un laboratorio di ricerca.

CacheOut rappresenta un potenziale pericolo anche per i provider di servizi cloud in quanto permette la fuga di dati dagli hypervisor e delle macchine virtuali che girano sui server. Fortunatamente, dato che il problema all’origine dell’attacco CacheOut è stato comunicato privatamente a Intel prima di renderlo pubblico, le aziende del settore cloud hanno potuto muoversi per tempo, implementando le necessarie contromisure.

Intel ha fatto sapere che a breve i PC otterranno le necessarie mitigazioni al problema (non sono valide quelle già in essere per altri attacchi simili), quindi tutti gli utenti dovrebbero procedere ad aggiornare i BIOS messi a disposizione dai produttori di schede madre non appena disponibili e mantenere sistema operativo e vari driver aggiornati. Un palliativo, secondo i ricercatori, è quello di disabilitare l’Hyper-Threading o la funzionalità TSX dei processori Intel.

Fortunatamente CacheOut non può essere sfruttato tramite un browser, in quanto i software di navigazione non espongono la funzionalità TSX delle CPU Intel al JavaScript.

CacheOut non colpisce i sistemi con microprocessori AMD (qui la lista delle CPU Intel interessate), secondo quanto riportato nel sito dedicato. Non ci sono informazioni certe invece per quanto concerne le soluzioni IBM e ARM, anche se dovrebbero essere anch'esse immuni. Il documento di ricerca, pubblicato da Stephan van Schaik dell’Università del Michigan e dai suoi colleghi, è disponibile pubblicamente.

Il nuovo attacco rientra nel filone di quelli che sfruttano il side channel presente nei processori Intel e che negli ultimi tre anni hanno portato a un nuovo livello di consapevolezza nell’industria hi-tech circa la sicurezza dell’hardware. Attacchi che si avvantaggiano di falle nell’architettura (o meglio, sistemi per velocizzare i calcoli come l’esecuzione speculativa), in questo caso Intel, per ottenere i dati sensibili che viaggiano nei vari buffer e cache.

CacheOut si può vedere come un’ulteriore evoluzione. Secondo i ricercatori che l’hanno messo a punto infatti, mentre i precedenti attacchi all’esecuzione speculativa portavano a un “dump”, all’esportazione, dei dati, la nuova falla potrebbe essere usata per generare attacchi maggiormente mirati che, combinati a tecniche di pulizia dati (data cleaning), garantirebbero l'accesso a dati specifici più facilmente.

Secondo gli autori dell’attacco, si può sfruttare la vulnerabilità presente nell’architettura Intel per attaccare un kernel Linux non modificato, attaccando nello specifico il kernel address space layout randomization (KASLR) e ripristinando il secret kernel stack canary. Quest’ultimo nasce specificatamente per proteggere da attacchi buffer overflow basati sullo stack.

I ricercatori credono inoltre che l’attacco possa essere usato per bucare la virtualizzazione, permettendo la fuga di informazioni da diversi processi che lavorano sullo stesso thread o da thread che operano sullo stesso core. “Abbiamo ad esempio ottenuto con successo sia l’uscita decriptata che la chiave AES da un altro processo impegnato nella decriptazione AES”.

Infine l’attacco può forzare le Software Guard Extensions (SGX) a riversare dati decriptati in una cache dove poi possono essere letti e analizzati usando tecniche di data cleaning.