CPU Intel Vulnerabili! Nuovo Attacco “Indirector” Minaccia Rileva Dati Sensibili
I moderni processori Intel, comprese le CPU delle generazioni Raptor Lake e Alder Lake (cioè le 12a e 13a generazione di processori Intel “Core”), sono vulnerabili a un nuovo attacco Branch Target Injection (BTI) ad alta precisione chiamato “Indirector”.
Scoperto dai ricercatori Luyi Li, Hosein Yavarzadeh e Dean Tullsen dell’Università della California di San Diego, Indirector sfrutta le vulnerabilità nell’Indirect Branch Predictor (IBP) e nel Branch Target Buffer (BTB), due componenti critici delle CPU Intel, per manipolare l’esecuzione speculativa e rubare informazioni sensibili. Questo attacco rappresenta una significativa minaccia alla sicurezza, aggirando le difese esistenti. I dettagli completi saranno presentati al prossimo USENIX Security Symposium nell’agosto 2024.
BTI
Gli attacchi Branch Target Injection (BTI) sfruttano le caratteristiche delle moderne CPU per reindirizzare il flusso di controllo di un programma, basandosi sul funzionamento della branch prediction. La branch prediction, utile a migliorare le prestazioni della CPU, è una tecnica utilizzata da queste ultime per prevedere la direzione che prenderà il flusso di esecuzione di un programma, migliorando così l’efficienza.
Quando la CPU incontra un’istruzione di ramo (come una condizione IF), deve decidere quale percorso seguire prima di conoscere il risultato dell’istruzione. Per evitare di rimanere inattiva, la CPU predice il risultato e continua l’esecuzione speculativa lungo il percorso previsto.
Esempi di BTI nella vulnerabilità SPECTRE
Componenti della Branch Prediction:
- Branch Target Buffer (BTB): Utilizzato per prevedere gli indirizzi di destinazione dei rami diretti (cioè, le istruzioni di salto che hanno una destinazione fissa).
- Return Stack Buffer (RSB): Utilizzato per gestire le chiamate di funzione e i relativi ritorni.
- Indirect Branch Predictor (IBP): Progetta per prevedere gli indirizzi di destinazione dei rami indiretti, ovvero quei salti il cui indirizzo di destinazione non è noto a priori e deve essere calcolato durante l’esecuzione.
Dettagli della violazione
Gli attacchi BTI sfruttano queste tecniche di branch prediction per eseguire codice speculativo, che è una forma di esecuzione in cui la CPU tenta di prevedere i prossimi passi di un programma. Gli attacchi come Spectre e Meltdown [1] hanno dimostrato che queste esecuzioni speculative possono essere manipolate per accedere a dati sensibili.
Gli attacchi BTI mettono in luce vulnerabilità fondamentali nella progettazione delle CPU moderne, sfruttando l’interazione tra branch prediction ed esecuzione speculativa. Anche con difese come l’Indirect Branch Predictor Barrier (IBPB) e altre mitigazioni, esistono ancora vettori di attacco che possono essere utilizzati per compromettere la sicurezza dei processori.
Gli attacchi come Spectre (CVE-2017-5753 e CVE-2017-5715) e Meltdown (CVE-2017-5754) hanno mostrato che è possibile indurre la CPU a eseguire operazioni che portano alla divulgazione non autorizzata di informazioni sensibili attraverso esecuzioni speculative, evidenziando la necessità di miglioramenti continui nelle tecniche di mitigazione e nella progettazione hardware delle CPU.
Indirector e Nuovi Vettori di Attacco
Il nuovo attacco, denominato Indirector, sfrutta vulnerabilità specifiche dell’IBP per eseguire attacchi precisi e mirati, ignorando le difese esistenti. I principali meccanismi utilizzati includono:
- iBranch Locator: Uno strumento che utilizza tecniche per identificare gli indici e i tag dei rami indiretti, permettendo di localizzare esattamente le voci IBP pertinenti.
- Iniezioni IBP/BTB: Manipolazioni delle strutture di previsione per eseguire codice speculativo.
- Bypass ASLR: Tecniche che aggirano la randomizzazione del layout dello spazio degli indirizzi (ASLR), facilitando l’accesso e la manipolazione del flusso di controllo dei processi protetti.
L’attacco Indirector evidenzia come le moderne CPU Intel, tra cui Raptor Lake e Alder Lake, siano vulnerabili a queste tecniche di BTI. Questo attacco potrebbe essere sfruttato per divulgare informazioni sensibili dai processori. La ricerca suggerisce che, nonostante le difese implementate dopo Spectre e Meltdown, esistono ancora vulnerabilità che possono essere sfruttate per compromettere la sicurezza delle CPU.
Misure di Mitigazione
Per mitigare questi attacchi, è possibile utilizzare barriere come l’**Indirect Branch Predictor Barrier (IBPB)** e di rafforzare la progettazione dell’unità di branch prediction (BPU) con tag più complessi, crittografia e randomizzazione.
L’IBPB è una misura di sicurezza che invalida le predizioni dei rami indiretti durante i cambi di contesto, come il passaggio da un utente all’altro. Su Linux, l’IBPB è attivato automaticamente durante le transizioni alla modalità SECCOMP (un meccanismo di sandboxing) o durante attività con rami indiretti limitati nel kernel. Tuttavia, l’uso frequente di IBPB può causare un calo delle prestazioni fino al 50%, rendendone difficile l’implementazione aggressiva in ambienti che richiedono alte prestazioni, come browser o sandbox.
Per mitigare ulteriormente gli attacchi, dovrebbe essere migliorata la progettazione della BPU. Intel ha già introdotto campi come Core-ID e Privilege Level nella progettazione del loro Indirect Branch Predictor (IBP) per prevenire aliasing tra rami indiretti eseguiti su diversi core o a diversi livelli di privilegio. Tuttavia, i ricercatori propongono di integrare tag più complessi, crittografia e randomizzazione nelle future progettazioni della BPU per fornire un isolamento più fine tra diversi domini di sicurezza, riducendo così la superficie di attacco.
Conclusioni
Gli attacchi BTI come Indirector mostrano la continua evoluzione delle tecniche di attacco contro le CPU moderne. Nonostante le misure di sicurezza implementate, la complessità e la sofisticatezza delle CPU moderne offrono ancora vettori di attacco che richiedono ulteriori ricerche e miglioramenti nelle difese hardware e software. Le vulnerabilità side-channel possono diventare minacce persistenti se non opportunatamente patchate e studiate, lasciando spazio ad un alto numero di bersagli vulnerabili agli attaccanti.
L'articolo CPU Intel Vulnerabili! Nuovo Attacco “Indirector” Minaccia Rileva Dati Sensibili proviene da il blog della sicurezza informatica.