Gli attacchi side-channel nei confronti dei processori sono ancora una volta protagonisti di uno studio accademico che porta a galla una lacuna di sicurezza nei processori Intel, AMD e ARM.
Un gruppo di ricercatori dell’Università Vrije di Amsterdam ha individuato una “debolezza” nelle caratteristiche hardware progettate per migliorare la sicurezza delle future CPU. Sfruttando l’attacco SLAM, questo il suo nome, è possibile ottenere l’hash della password di root attingendo al contenuto della memoria kernel.
Cos’è l’attacco SLAM
Un “transient execution attack” (attacco a esecuzione transitoria) fa leva sul meccanismo di esecuzione speculativa proprio dei moderni processori per accedere a informazioni riservate oppure per influenzare lo stato del sistema così da provocare comportamenti non previsti e potenzialmente dannosi.
I ricercatori spiegano che SLAM va ad impattare principalmente sulle future CPU che soddisfano criteri specifici. Nonostante caratteristiche avanzate implementate in hardware (LAM, UAI e TBI) che si prefiggono di aumentare il livello di sicurezza e migliorare la gestione della memoria, esse introducono anche race condition che risultano sfruttabili.
Linear Address Masking (LAM) è una caratteristica implementata da Intel nei suoi processori per consentire al software di utilizzare bit di indirizzo non tradotti in indirizzi lineari a 64 bit al fine della memorizzazione di metadati; Upper Address Ignore (UAI) di AMD consente, in modo molto simile a LAM, di ignorare bit specifici; Top Byte Ignore (TBI) di ARM è una funziona simile alle precedenti per ignorare parte degli indirizzi di memoria.
Nel complesso, le tre soluzioni consentono l’utilizzo di determinati bit di indirizzo per scopi diversi dall’indirizzamento della memoria. Queste caratteristiche permettono di memorizzare metadati all’interno dell’indirizzo stesso, offrendo vantaggi come il risparmio di memoria e un miglioramento delle prestazioni per alcune applicazioni.
Maggiori informazioni sul funzionamento dell’attacco
L’attacco sfrutta una nuova tecnica di esecuzione transitoria che si concentra sull’utilizzo dei cosiddetti gadget, istruzioni presenti nel codice software che un attaccante può manipolare per innescare l’esecuzione speculativa in modo da rivelare informazioni segrete. Sebbene i risultati dell’esecuzione speculativa vengano scartati, infatti, il processo lascia tracce come stati di cache alterati, che gli attaccanti possono osservare per derivare dati importanti, come quelli provenienti dai vari programmi o dal sistema operativo.
I ricercatori hanno sviluppato uno scanner con il quale hanno individuato centinaia di gadget sfruttabili nel kernel Linux. In questo video pubblicato su YouTube, l’attacco SLAM permette il rilascio dell’hash della password di root attingendo alla memoria del kernel.
Le reazioni dei produttori di CPU
In risposta alla scoperta dell’attacco SLAM, Intel ha annunciato l’intenzione di condividere una serie di linee guida prima del rilascio delle future CPU che supportano LAM. In particolare, i tecnici della società di Pat Gelsinger spiegheranno come utilizzare Linear Address Space Separation (LASS) per prevenire gli accessi di indirizzi speculativi tra la modalità utente e kernel.
Gli ingegneri che si occupano dello sviluppo e della manutenzione del kernel Linux hanno nel frattempo creato una patch per disabilitare LAM, in attesa di ulteriori sviluppi.
AMD ha riassunto le attuali contromisure adottate contro Spectre v2 che si sono rivelate utili anche ad affrontare l’attacco SLAM. Non ha però al momento fornito indicazioni o aggiornamenti per ridurre ulteriormente eventuali rischi.
ARM, dal canto suo, ha pubblicato una nota spiegando che i suoi sistemi già contengono soluzioni capaci di attenuare gli effetti di Spectre v2 e Spectre-BHB. Non sono previste ulteriori azioni in seguito alla scoperta di SLAM.