Nuova falla nelle CPU AMD, Inception permette di rubare dati sensibili

Una nuova vulnerabilità colpisce tutti i processori AMD basati su architetture Zen e permette di rubare dati sensibili.

Avatar di Marco Pedrani

a cura di Marco Pedrani

Managing Editor

Alcuni ricercatori dell’ETH di Zurigo hanno scoperto un nuovo attacco che colpisce i processori AMD e che permette di sottrarre dati sensibili con attacchi transient execution, che sfruttano l’esecuzione speculativa. Battezzato Inception (CVE-2023-20569), l’attacco colpisce tutti i processori AMD Zen, compresi i più recenti Ryzen 7000.

Per creare Inception, i ricercatori hanno combinato un nuovo attacco transient execution chiamato TTE (Training in Transient Execution) e una tecnica più vecchia, conosciuta come Phantom Speculation (CVE-2022-23825). TTE manipola le predizioni errate dell’esecuzione speculativa iniettando nuove predizioni nel branch predictor in modo da creare falle sfruttabili nell’esecuzione speculativa, mentre Phantom Speculation permette di attivare predizioni errate senza la necessità che ci sia alcuna diramazione all’origine, in modo da creare una finestra di esecuzione speculativa (definita “transient window”) in una qualsiasi istruzione XOR.

Inception combina queste due tecniche per far sì che la CPU creda che un’istruzione XOR sia in realtà una chiamata ricorsiva: questo fa sì che il buffer dello stack di ritorno vada in overflow con un indirizzo di destinazione deciso da chi sta eseguendo l’attacco, permettendo di rubare dati attraverso processi senza privilegi.

L’attacco ha successo anche se sono attive tutte le mitigazioni per gli attacchi di esecuzione speculativa conosciuti. I dati inoltre vengono rubati alla velocità di 39 byte al secondo, che consente di ottenere una password di 16 caratteri in 0,5 secondi o una chiave RSA in soli 6,5 secondi.

Tutti i processori AMD Ryzen e EPYC con architettura da Zen 1 a Zen 4 sono vulnerabili a Inception e Phantom, per cui l’ETH di Zurigo ha rilasciato due documenti distinti che potete consultare rispettivamente qui e qui. Alcune versioni di TTE potrebbero colpire anche le CPU Intel, mentre Phantom è molto più difficile da sfruttare grazie alle mitigazioni eIBRS.

AMD ha rilasciato un bollettino di sicurezza in merito, affermando innanzitutto che Inception può essere eseguito solo in locale, ad esempio sfruttando un malware scaricato dal malcapitato. L’azienda consiglia di seguire i consueti consigli di sicurezza e di aggiornare i BIOS (o applicare una patch del microcodice) di tutti i sistemi con CPU Zen 3 o Zen 4, mentre per quelli con CPU Zen e Zen 2 non è necessario alcun aggiornamento: le architetture sono già progettate per svuotare le previsioni del tipo di branch dal branch predictor.