I calcoli speculativi aprono una porta secondaria al furto di informazioni
I ricercatori dell'ETH hanno scoperto una grave vulnerabilità di sicurezza nell'hardware dei computer. La vulnerabilità, chiamata "Retbleed", riguarda i microprocessori dei leader di mercato Intel e AMD. Sono interessati tutti i sistemi operativi disponibili in commercio in tutto il mondo che utilizzano questi processori. Quando i computer eseguono particolari passaggi aritmetici per calcolare più velocemente, ci sono tracce di cui gli hacker potrebbero abusare.
- Per saperne di più
- Numero di commenti
A volte un computer sanguina dal cuore e rivela informazioni private a goccia a goccia. ? il caso della vulnerabilità hardware "Retbleed" resa pubblica oggi: questa vulnerabilità si verifica nei microprocessori che eseguono le istruzioni di un programma informatico ed eseguono i calcoli corrispondenti.
In alcuni casi, i processori, ovvero le unità di elaborazione centrale (CPU), eseguono anche passaggi di calcolo speciali che abbreviano il tempo di calcolo e accelerano il processo di elaborazione nel suo complesso. In questo modo, lasciano tracce nella memoria che gli hacker potrebbero sfruttare per ottenere un accesso non autorizzato a qualsiasi informazione nel sistema, ad esempio rubando codici di crittografia o password importanti per la sicurezza. Questo è particolarmente rischioso negli ambienti cloud, dove più organizzazioni condividono i sistemi informatici. Il Centro nazionale per la sicurezza informatica di Berna ritiene che la vulnerabilità sia grave, poiché i processori interessati sono utilizzati in tutto il mondo. Tuttavia, i produttori hanno già adottato le prime misure per colmare la lacuna di sicurezza.
La vulnerabilità è stata scoperta dal dottorando Johannes Wikner e da Kaveh Razavi, scopritore l'ETH di sicurezza informatica. Il nome "Retbleed" si riferisce a un tipo specifico di istruzione del programma, nota come "return". Un programma informatico è costituito da sequenze di istruzioni o comandi organizzati in funzioni con cui i processori eseguono i calcoli desiderati. Dopo l'esecuzione di una funzione, un'istruzione di ritorno fa sì che il processore torni al punto del programma informatico immediatamente successivo all'istruzione originale che ha utilizzato la funzione.
Il calcolo speculativo rende i computer più veloci
Si può immaginare il flusso di un programma informatico come un fiume con varie diramazioni. In corrispondenza delle diramazioni, i programmi informatici prendono spesso decisioni su quale corso seguire. A volte queste decisioni richiedono molto tempo e possono rallentare l'esecuzione. Tuttavia, sono necessari processi di calcolo veloci. Tradizionalmente, un programma per computer esegue le istruzioni in modo sequenziale e nell'ordine del programma, cioè una fase di calcolo dopo l'altra.
Con le attuali architetture dei processori CPU, tuttavia, i calcoli possono essere anticipati ed eseguiti contemporaneamente. "Una CPU può eseguire le istruzioni in un ordine diverso da quello del programma per migliorare le prestazioni di calcolo", spiega Kaveh Razavi. Nei circoli informatici si parla di "esecuzioni fuori ordine". Da gennaio 2018 è noto che questo tipo di esecuzione può presentare vulnerabilità di sicurezza. Durante l'esecuzione delle istruzioni, potrebbe verificarsi un accesso non autorizzato alla memoria cache della CPU, consentendo agli hacker di rubare informazioni sensibili dal sistema operativo. Questa vulnerabilità è nota come "Meltdown" e riguarda problemi specifici delle CPU Intel.
Strettamente correlate alle esecuzioni fuori ordine sono le esecuzioni speculative, per le quali dal 2018 sono noti problemi di sicurezza simili. "Il 'Retbleed' è un problema di esecuzione speculativa", afferma Johannes Wikner. Queste fasi di calcolo speculativo vengono utilizzate per evitare di rallentare i calcoli anticipando alcune fasi di calcolo prima che sia chiaro se siano effettivamente necessarie. I calcoli speculativi avvengono, ad esempio, quando un processore cerca di indovinare quale percorso seguirà la catena di istruzioni in una derivazione prima che questa sia nota. "Le CPU 'indovinano' la direzione da prendere in una diramazione ed eseguono le istruzioni in modo speculativo sulla base della loro ipotesi", spiega Razavi.
Comandi di ritorno non protetti
Con l'aiuto di queste speculazioni, si migliora il flusso della catena di istruzioni e si aumenta la potenza di calcolo dei processori. Se i calcoli speculativi non sono necessari, vengono cancellati. Queste speculazioni lasciano anche tracce nella memoria cache, aprendo una backdoor per gli hacker. Questa vulnerabilità è stata resa pubblica nel gennaio 2018 con il nome di "Spectre" e riguarda i processori dei produttori Intel e AMD. Da allora, Intel e AMD e i principali produttori di software come Microsoft hanno adottato misure precauzionali. Tuttavia, le debolezze nei calcoli speculativi non sono ancora state completamente analizzate o risolte.
"Abbiamo dimostrato che nei calcoli speculativi, un numero particolarmente elevato di istruzioni di ritorno non è protetto e può essere usato in modo improprio".Johannes Wikner
Come hanno scoperto Razavi e Wikner, esiste un problema di sicurezza che non è ancora stato risolto: "Abbiamo dimostrato che un numero particolarmente elevato di istruzioni di ritorno nei calcoli speculativi non è protetto e può essere utilizzato in modo improprio", afferma Johannes Wikner. In linea di principio, "Retbleed" funziona come la variante 2 di "Spectre" e colpisce i microprocessori Intel e AMD. "Poiché le misure precauzionali adottate finora non hanno tenuto conto delle istruzioni di ritorno, la maggior parte dei microprocessori e dei sistemi informatici esistenti sono vulnerabili a "Retbleed"", aggiunge Razavi. "Tuttavia, è necessaria una grande esperienza informatica per accedere alla memoria e rubare informazioni", afferma Wikner.
Approccio risolutivo per le misure precauzionali
A febbraio Razavi e Wikner hanno dimostrato che il "retbleed" è un problema serio. Le loro scoperte sono state ora pubblicate in un articolo specialistico, disponibile come articolo di pagina esternaContributo alla conferenza di USENIX Security 2022 è stato accettato. In questo articolo, Wikner e Razavi hanno analizzato il primo approccio di Intel e AMD per risolvere questo problema.
Questo approccio si basa sul fatto che quando il microprocessore specula su un ramo, le istruzioni vengono talvolta eseguite in modo errato. In questo caso il calcolo non porta alla destinazione corretta e si apre una falla attraverso la quale gli hacker possono accedere alle informazioni in memoria. Attualmente, la soluzione consiste nell'impedire agli hacker di influenzare la decisione del microprocessore in merito alle destinazioni delle istruzioni di ritorno. Purtroppo, questo comporta una significativa perdita di prestazioni, con un rallentamento dei computer compreso tra il 12 e il 28%.
Come di consueto in questi casi, i ricercatori di sicurezza hanno informato i produttori interessati, AMD e Intel, prima di rendere pubblica la vulnerabilità. Poiché i rischi specifici per la sicurezza dipendono anche dall'architettura del processore specifico dell'azienda, i produttori hanno bisogno di tempo per prendere precauzioni più approfondite. Da allora, Microsoft, Oracle, Google, Linux, Intel, AMD e ARM, tra gli altri, hanno lavorato su misure di protezione prima che "Retbleed" fosse reso pubblico oggi. Un microprocessore Intel di età compresa tra i 3 e i 6 anni o un processore AMD di età compresa tra gli 1 e gli 11 anni potrebbero essere colpiti.
Numero di identificazione CVE per Retbleed
Il National Cyber Security Centre (NCSC) di Berna ha assegnato oggi i numeri CVE-2022-29900 (per i processori prodotti da AMD) e CVE-2022-29901 (per i processori prodotti da Intel) per la vulnerabilità "Retbleed" in collaborazione e in consultazione con i ricercatori dell'ETH di Zurigo. L'assegnazione di un CVE (Common Vulnerabilities and Exposure) consente di identificare in modo univoco le vulnerabilità a livello globale. Dal settembre 2021, l'NCSC è stato riconosciuto come l'autorità svizzera che assegna i numeri CVE.
Ulteriori informazioni sono disponibili nel rapporto pubblicato sul sito web dell'NSCS alla voce "pagina esternaMessaggi ricevuti".
Riferimento alla letteratura
Wikner, J; Razavi, K. RETBLEED: Arbitrary Speculative Code Execution with Return Instructions. Articolo accettato al 31° USENIX Security Symposium, 10-12 agosto 2022, presso il Boston Marriott Copley Place di Boston, MA, USA.
Wikner e Razavi presenteranno le loro scoperte al convegno pagina esternaSicurezza USENIX '22 il 12 agosto 2022, ore 13.30-14.30.
La pubblicazione scientifica è disponibile sul sito Sito web del progetto Retbleed del gruppo di sicurezza informatica dell'ETH di Zurigo sono disponibili per il download. Per gli specialisti è disponibile anche un pagina esternaVideo su Retbleed".