Sommario
Il documento “Indirector: High-Precision Branch Target Injection Attacks Exploiting the Indirect Branch Predictor” presentato al USENIX Security Symposium di agosto 2024 introduce nuovi attacchi di iniezione ad alta precisione sui predittori di rami indiretti (IBP) nei processori Intel di fascia alta (Raptor Lake e Alder Lake).
Riassunto
Questo studio fornisce una visione completa della struttura e delle funzioni dei predittori di rami indiretti (IBP) e del Branch Target Buffer (BTB) nei processori Intel, rivelando dettagli sconosciuti sulle difese hardware di Intel come IBPB, IBRS e STIBP. Utilizzando tecniche di reverse engineering, sono stati sviluppati attacchi di iniezione di rami ad alta precisione per violare i confini di sicurezza in vari scenari, compresi quelli cross-process e cross-privilege.
Contesto

Gli attacchi di Branch Target Injection (BTI) sfruttano l’hardware di predizione dei rami nei moderni CPU per reindirizzare il flusso di controllo di un programma. Dal 2018, con la scoperta di Spectre e Meltdown, sono stati condotti numerosi studi su BTB e RSB, ma l’IBP è rimasto in gran parte inesplorato. Questo lavoro colma questa lacuna, analizzando l’IBP per identificare nuove vulnerabilità.
Predittore di Rami Indiretti (IBP)
Il predittore di rami indiretti (IBP) è una componente hardware che prevede gli indirizzi target dei rami indiretti. Utilizzando una combinazione di cronologia globale e indirizzo del ramo, l’IBP predice l’indirizzo target dei rami indiretti.
Caratteristica | Descrizione |
---|---|
Tabelle | Tre tabelle, ciascuna 2-way set associative |
Struttura | Tabella 0: 68 bit di cronologia, Tabella 1: 132 bit, Tabella 2: 388 bit |
Indici e Tag | Funzioni hash per calcolare indice e tag basati sulla cronologia globale e l’indirizzo del ramo |
Strumenti e Attacchi
iBranch Locator Tool
Un nuovo strumento ad alta risoluzione per localizzare qualsiasi ramo indiretto all’interno dell’IBP senza informazioni storiche precedenti.
Attacchi di iniezione
- IBP Injection Attack: Localizza voci IBP vittime e inietta indirizzi target arbitrari.
- BTB Injection Attack: Inietta target maligni nelle voci BTB della vittima tramite previsioni BTB.
Mitigazioni
Per mitigare i rischi posti dagli attacchi Indirector, si raccomandano le seguenti contromisure:
- Uso più aggressivo di IBPB: Attivare automaticamente IBPB durante i cambi di contesto tra utenti diversi per ridurre la frequenza delle transizioni.
- Progettazione Sicura del BPU: Integrare nuovi campi come Core-ID e Privilege Level nel design dell’IBP per prevenire aliasing tra rami indiretti provenienti da core SMT diversi e livelli di privilegio diversi.
Comunicazione responsabile
Le scoperte di sicurezza sono state comunicate a Intel nel febbraio 2024, che ha informato altri fornitori hardware/software interessati.
Per ulteriori dettagli, è possibile consultare il repository del codice.