Negli ultimi anni, le vulnerabilità legate all’esecuzione speculativa hanno rappresentato una sfida costante per la sicurezza dei moderni processori. Dai tempi della scoperta di Spectre e Meltdown (inizio 2018) nuove scoperte di attacchi side-channel nei processori si sono susseguite con una frequenza preoccupante.
Gli attacchi side-channel legati all’esecuzione speculativa sulla carta sono particolarmente pericolosi in quanto possono compromettere la riservatezza dei dati, specialmente in quegli ambienti in cui risorse hardware e applicazioni non sono completamente isolate. L’evoluzione costante di questi attacchi richiede un monitoraggio continuo e l’implementazione di strategie di difesa robuste per garantire la sicurezza delle informazioni. Che poi, all’atto pratico, sia complicato sfruttare queste vulnerabilità, soprattutto con un attacco da remoto, è un altro dato di fatto. Ma ciò non toglie che la guardia non debba mai essere abbassata.
La vulnerabilità Spectre nei processori torna attuale: ecco perché
A dispetto delle estese contromisure introdotte per neutralizzare gli attacchi come Spectre, i recenti studi condotti dai ricercatori dell’ETH Zurich, Johannes Wikner e Kaveh Razavi, hanno rivelato nuove varianti di attacchi capaci di eludere le difese in essere. Questi attacchi possono prendere di mira le ultime generazioni di processori Intel, inclusi i chip Xeon, oltre alle microarchitetture AMD più datate. A rischio vi sarebbero anche i sistemi Linux.
Processori vulnerabili
I processori coinvolti includono le generazioni consumer delle CPU Intel di 12esima, 13esima e 14esima generazione, nonché le serie Xeon di quinta e sesta generazione destinate ai server.
Sul fronte AMD, risultano vulnerabili i processori basati sulle microarchitetture Zen 1, Zen 1+ e Zen 2. Anche se le mitigazioni Spectre attualmente in vigore, come IBPB (Indirect Branch Predictor Barrier), sono state pensate per prevenire queste minacce, le nuove tecniche speculative riescono comunque a forzarle.
Il tema dell’esecuzione speculativa
L’esecuzione speculativa è una tecnica fondamentale nei moderni processori che consente di predire l’esecuzione di istruzioni in anticipo per migliorare le prestazioni. Quando tali “pronostici” risultano errati, le istruzioni speculative sono annullate. Durante il loro breve ciclo di esecuzione, tuttavia, possono accedere a dati riservati che restano nella cache della CPU.
Attacchi come Spectre fanno proprio leva su queste vulnerabilità, consentendo l’accesso non autorizzato a tali dati.
Nuovi attacchi Spectre-like: cross-process e PB-inception
I ricercatori dell’ETH Zurich hanno identificato due nuovi attacchi: cross-process sui processori Intel e PB-inception sui processori AMD. Entrambi gli attacchi riescono a manipolare i cosiddetti speculative return target, aggirando le protezioni fornite dall’IBPB e rivelando informazioni che avrebbero dovuto restare segrete.
Le speculative return target si riferiscono alle previsioni su dove un programma tornerà dopo l’esecuzione di una funzione. Quando una funzione termina il suo lavoro, il processore deve sapere dove riprendere l’esecuzione. Si tratta di un comportamento vitale per il corretto funzionamento dell’esecuzione speculativa.
L’aggressione che interessa le CPU Intel sfrutta un difetto nel microcodice che non invalida correttamente le speculative return target quando necessario. Un utente malintenzionato può quindi riuscire a estrarre dati riservati, come l’hash della password di root.
Nel caso delle CPU AMD, il problema riguarda una configurazione errata dell’IBPB nel kernel Linux. Anche in questo caso le speculative return target rimangono attive anche dopo l’applicazione dell’IBPB.
Risposte di Intel, AMD e soluzioni proposte
I nuovi problemi sono stati segnalati sia a Intel che AMD a giugno 2024. Intel ha risposto comunicando che l’anomalia era già stata individuata internamente e ha assegnato al problema il CVE-2023-38575. A marzo 2024, Intel ha rilasciato un aggiornamento del microcodice, disponibile tramite aggiornamento firmware, anche se non ancora distribuito su tutte le piattaforme, come Ubuntu.
AMD, confermando l’esistenza della vulnerabilità, l’ha classificata come CVE-2022-23824, includendo nei propri avvisi anche i prodotti basati su architettura Zen 3, non citati nella ricerca di ETH Zurich.
Gli ingegneri della società guidata da Lisa Su, tuttavia, considerano la vulnerabilità PB-inception come un bug software, piuttosto che un difetto hardware. E questo spiega il motivo per cui, ad oggi, l’azienda non ha rilasciato alcuna patch a livello di microcodice.
I ricercatori elvetici hanno dimostrato che i nuovi attacchi funzionano anche sul kernel Linux 6.5. ETH Zurich sta quindi collaborando con i manutentori del kernel Linux per sviluppare una patch specifica per i processori AMD, che sarà presto disponibile.