Retbleed, nuovo attacco che fa tremare le vecchie CPU AMD e Intel

Retbleed, un nuovo attacco simile a Spectre, colpisce le CPU AMD e Intel di qualche generazione fa: come proteggersi?

Avatar di Marco Pedrani

a cura di Marco Pedrani

Caporedattore centrale

Vi ricordate i tempi bui di Spectre e Meltdown? Ci dispiace dirvelo, ma sembra che un'altro attacco che sfrutta l'esecuzione speculativa sia in grado di colpire i processori Intel e AMD: si chiama Retbleed ed è efficace contro CPU AMD Zen, Zen + e Zen 2 (ossia Ryzen 1000, 2000, 2000G, 3000, 3000G e 4000G), e Intel Skylake, Kaby Lake Coffee Lake (ossia i processori Intel Core 6000, 7000, 8000 e 9000). Retbleed è stato scoperto da due ricercatori dell'ETH Zurich, Johannes Wikner e Kaveh Razavi, che lo hanno descritto come un nuovo attacco capace di sfruttare la branch target injection per intercettare le informazioni.

Retbleed è descritta in maniera approfondita in un paper dedicato, che vi invitiamo a consultare a questo indirizzo se volete maggiori informazioni. L'attacco, identificato dai report CVE-2022-29900 e CVE-2022-29901, sfrutta le istruzioni di ritorno anziché chiamate e salti indiretti, come fatto da Spectre. Il problema di questo particolare funzionamento è che va a minare retpoline, una delle difese che usano i sistemi operativi per difendersi da Spectre. Dai test effettuati dai ricercatori è emerso che l'attacco risulta parecchio efficace: Retbleed riesce a intercettare dati su sistemi con CPU Intel Coffee Lake a 219B/s con un'accuratezza del 98%, mentre su sistemi AMD Zen 2 si passa a 3,9KB/s con una precisione del 99%. Inoltre, l'attacco è riuscito a scovare la password di root di una macchina con OS Linux e a rivelarne l'hash impiegando 28 minuti sul sistema Intel e solamente 6 minuti su quello AMD. 

Intel ha affermato che Retbleed è efficace sui processori Skylake senza eIBRS, Enhanced Indirect Branch Restricted Speculation. L'azienda ha dichiarato di essere al lavoro insieme alla comunità Linux e ai fornitori di VMM per fornire ai clienti una guida alla mitigazione via software della vulnerabilità, che dovrebbe essere diffusa in queste ore. È importante sottolineare che i sistemi Windows non sono affetti dalla vulnerabilità, in quanto sfruttando IBRS di default; la correzione destinata a mitigare Retbleed sui sistemi Linux non fa altro che abilitare l'Indirect Branch Restricted Speculation. In ogni caso, Intel ha anche dichiarato di non essere a conoscenza di attacchi che sfruttano la vulnerabilità al di fuori di un ambiente di laboratorio controllato. Similmente, come si legge in una nota anche AMD ha collaborato con i fornitori di servizi per offrire ai clienti una soluzione, raccomandando inoltre di adottare misure aggiuntive per proteggersi da attacchi simili a Spectre.

Come accaduto per Spectre, purtroppo anche la mitigazione di Retbleed ha un impatto sulle prestazioni. I ricercatori hanno dichiarato di aver lavorato duramente con gli sviluppatori per aggiungere la patch correttiva al kernel Linux, dovendo rimuovere 387 linee di codice, aggiungerne 1783 e modificare 68 file in totale. Effettuando dei test in laboratorio, i ricercatori hanno registrato un overhead del 39% su Intel e del 14% su AMD, su cui è peraltro emerso un altro problema, identificato col report CVE-2022-23825 e col nome di "salti fantasma": in pratica, sono state registrate delle branch prediction senza la presenza effettiva di una branch instruction, causando un overhead fino al 209%, che come intuirete impatta enormemente sulle performance.

Come proteggersi dal Retbleed? Al momento, l'unica cosa che potete fare è assicurarvi di aver installato gli ultimi aggiornamenti di sistema, compresi quelli facoltativi e quelli del microcode del processore. Se siete sviluppatori o IT Manager, date uno sguardo alle linee guida condivise da AMD e Intel per scongiurare qualsiasi attacco.

Leggi altri articoli