Sono stati denominati Pathfinder i due nuovi metodi di attacco mirati alle CPU Intel ad alte prestazioni che potrebbero essere sfruttati per condurre attacchi di ripristino della chiave contro l’algoritmo Advanced Encryption Standard (AES).
Le tecniche sono state individuate da un team composto da accademici dell’Università della California a San Diego, della Purdue University, dell’UNC Chapel Hill, del Georgia Institute of Technology e da esperti di Google.
Indice degli argomenti
Le vulnerabilità nei processori che possono essere sfruttate
Hosein Yavarzadeh, autore principale dell’articolo che ha presentato le scoperte, ha dichiarato che Pathfinder consente agli aggressori di leggere e manipolare componenti chiave del branch predictor, aprendo la strada a due tipi principali di attacchi: ricostruire la cronologia del flusso di controllo del programma e lanciare attacchi Spectre ad alta risoluzione.
Spectre è una classe di attacchi side-channel che sfruttano la previsione dei rami e l’esecuzione speculativa sulle moderne CPU per leggere dati privilegiati nella memoria, eludendo così le protezioni di isolamento tra le applicazioni.
L’approccio di attacco più recente prende di mira una funzionalità nel branch predictor chiamata Path History Register (PHR), che tiene traccia degli ultimi rami presi, per indurre previsioni errate sui branch e far sì che un programma vittima esegua percorsi di codice non desiderati, esponendo così inavvertitamente i suoi dati riservati.
Questo metodo introduce nuove primitive che consentono di manipolare PHR e le tabelle di cronologia delle predizioni (PHT) all’interno del condizionale branch predictor (CBR) per far trapelare dati di esecuzione storici e, infine, innescare un exploit in stile Spectre.
Come funzionano le primitive individuate
Le primitive di attacco descritte nel paper consentono agli aggressori di leggere e manipolare la cronologia del registro del percorso (PHR) e la cronologia delle tabelle delle previsioni (PHTs) fornendo un insieme di tecniche che semplificano il processo di sfruttamento di questi componenti. Ecco come funzionano:
- Primitive di Lettura: Le primitive di lettura consentono agli aggressori di leggere informazioni dal PHR e dalle PHTs. Leggendo il PHR, che memorizza l’intera storia del flusso di controllo delle ultime diramazioni, inclusi gli indirizzi delle diramazioni e l’ordine, gli aggressori possono ottenere dettagliati approfondimenti sul flusso di esecuzione del programma. Queste informazioni possono essere sfruttate per tracciare il comportamento delle diramazioni con elevata precisione.
- Primitive di Scrittura: Le primitive di scrittura consentono agli aggressori di manipolare i contenuti delle PHTs e del PHR. Scrivendo su queste strutture, gli attaccanti possono influenzare gli esiti delle previsioni delle diramazioni e il flusso di controllo del programma. Questa manipolazione può essere utilizzata per lanciare attacchi transienti ad alta risoluzione, come indurre previsioni errate in percorsi critici del codice.
- Complessità: Eseguire letture e scritture sul PHR e sulle PHTs è più complesso rispetto agli accessi alla memoria standard a causa della natura intricata di queste strutture e delle loro funzioni di indicizzazione. Le primitive di attacco fornite nel paper semplificano questo processo, facilitando agli aggressori lo sfruttamento delle vulnerabilità nel predictor delle diramazioni e il lancio di attacchi microarchitetturali.
Sfruttando queste primitive di attacco, gli aggressori possono efficacemente rivelare informazioni sensibili e manipolare il flusso di controllo dei programmi sfruttando le vulnerabilità nel predictor condizionale delle diramazioni delle CPU ad alte prestazioni.
In una serie di dimostrazioni delineate nello studio, il metodo si è rivelato efficace nell’estrarre la chiave di crittografia AES segreta e nel far trapelare immagini segrete durante l’elaborazione da parte della libreria di immagini libjpeg ampiamente utilizzata.
Soluzioni di mitigazione agli attacchi Pathfinder
Intel, in risposta a questa scoperta, ha pubblicato un avviso il mese scorso affermando che Pathfinder si basa sugli attacchi Spectre v1 e che le mitigazioni precedentemente implementate per Spectre v1 e i canali laterali tradizionali mitigano gli exploit segnalati. Non ci sono prove che queste vulnerabilità abbiano un impatto sulle CPU AMD.
I ricercatori sottolineano che “il PHR è vulnerabile alle perdite, rivela dati non disponibili attraverso i PHT, espone un insieme molto più ampio di codici di ramificazione come potenziali superfici di attacco e non può essere mitigato utilizzando le tecniche proposte per i PHT”.
La scoperta dei metodi di attacco denominati Pathfinder solleva nuove preoccupazioni sulla sicurezza delle CPU Intel ad alte prestazioni e sottolinea l’importanza di continuare a sviluppare e implementare misure di sicurezza robuste per proteggere i dati sensibili dagli attacchi informatici.