A inizio 2018 la scoperta di alcune vulnerabilità di sicurezza battezzate Spectre e Meltdown ha fatto da apripista per i successivi attacchi side channel che fanno leva su tutta una serie di debolezze delle moderne CPU. Queste lacune di sicurezza hanno portato i ricercatori a intensificare gli studi sul funzionamento dei processori: negli anni seguenti sono infatti venute a galla molteplici vulnerabilità alle quali i produttori hardware e software hanno risposto in maniera differente.
Sono state infatti realizzate patch che agiscono a livello di microcodice, kernel, driver, sistema operativo e persino lato applicativo per ridurre al minimo la superficie di attacco.
In mancanza delle patch correttive, un aggressore che interagisce con i meccanismi di branch prediction della CPU o misura il tempo di esecuzione delle istruzioni in alcuni casi può recuperare dati personali e informazioni riservate, comprese password e chiavi di decodifica.
Per lungo tempo (e in parte ancora oggi) gli attacchi come Spectre, Meltdown così come tutte le varianti successivamente emerse, sono stati considerati di grande interesse ma di scarsa valenza pratica. La scoperta di codici exploit funzionanti ha indotto alcuni a rivedere le loro posizioni.
Microsoft, da parte sua, ha adottato la protezione Retpoline in Windows: essa permette di difendere il sistema da attacchi come Spectre riducendo ai minimi termini l’impatto negativo sulle prestazioni in seguito all’applicazione delle patch correttive.
Un gruppo di ricercatori accademici del Politecnico federale di Zurigo (ETH Zürich) ha però scoperto un insieme di nuove vulnerabilità, battezzate nel loro complesso Retbleed, che interessano i processori Intel dalla settima (Skylake, 2015) all’ottava (Coffee Lake, 2017) generazione e gli AMD Zen 1, Zen 1+ e Zen 2 (2017-2019).
La scoperta elvetica è davvero rilevante perché a differenza dei precedenti modalità d’attacco side channel, Retbleed non sfrutta salti o chiamate indirette bensì le istruzioni di ritorno. Questo approccio mina alla base alcune difese oggi utilizzate contro Spectre e successori tra cui anche la già citata Retpoline.
Come confermato in un video condiviso su YouTube, Retbleed può recuperare l’hash della password di root su Linux in pochi minuti sia sui sistemi Intel che AMD. I possibili campi applicativi sono però molteplici.
Attualmente uno dei principali mezzi per mitigare le vulnerabilità di tipo Spectre nei processori x86 Intel e AMD è, come abbiamo detto, la tecnica Retpoline. Essa è responsabile della sostituzione delle istruzioni di salto indiretto con una subroutine di istruzioni di ritorno. Retbleed ha tuttavia la capacità di fare affidamento su quelle istruzioni di ritorno potendo così bypassare Retpoline. Si impone quindi l’individuazione di soluzioni alternative.
I processori Intel dalla nona alla dodicesima generazione hanno resistito all’attacco Retbleed grazie a eIBRS, una mitigazione contro Spectre presente nelle CPU più recenti. Anche i processori AMD Zen 3 sono risultati immuni, verosimilmente in forza di una misura di protezione aggiuntiva adottata dalla società di Sunnyvale.
Sia AMD che Intel stanno attualmente lavorando per mitigare Retbleed nel caso dei processori più vecchi. La prima sta cercando di lenire il problema attraverso un aggiornamento del microcodice, mentre la seconda abiliterà eIBRS per impostazione predefinita ed eseguirà un lavoro complementare ove non fosse possibile usare eIBRS.
Windows integra di default tutte le difese necessarie mentre gli sviluppatori Linux hanno dovuto sviluppare una versione aggiornata del kernel. In ogni caso la mitigazione di Retbleed porterà a un overhead prestazionale ovvero a una certa penalizzazione sul piano delle performance.