Un gruppo di ricercatori dell'Università dell'Illinois ha recentemente annunciato di aver sviluppato una nuova tecnica di attacco a canale laterale che consente loro di manipolare la fuga di informazioni attraverso l'interconnessione ad anello dei processori Intel.
Per questo nuovo tipo di attacco sono stati proposti tre exploit che consentono di effettuare le seguenti operazioni:
- Recupera singoli bit chiavi di crittografia quando si utilizzano implementazioni RSA ed EdDSA che sono vulnerabili agli attacchi del canale laterale (se i ritardi di calcolo dipendono dai dati elaborati). Ad esempio, singole perdite di bit con informazioni sul vettore di inizializzazione EdDSA (nonce) sono sufficienti per utilizzare gli attacchi per recuperare in sequenza l'intera chiave privata. L'attacco è difficile da attuare nella pratica e può essere effettuato con un gran numero di riserve. Ad esempio, il corretto funzionamento viene mostrato disabilitando SMT (HyperThreading) e segmentando la cache LLC tra i core della CPU.
- Definisci i parametri sui ritardi tra le sequenze di tasti. I ritardi dipendono dalla posizione dei tasti e consentono, tramite analisi statistiche, di ricreare con una certa probabilità i dati inseriti da tastiera (ad esempio, la maggior parte delle persone tende a digitare "s" dopo "a" molto più velocemente di "g" poi "s").
- Organizza un canale di comunicazione nascosto per trasferire i dati tra i processi a una velocità di circa 4 megabit al secondo, che non utilizza memoria condivisa, cache del processore o strutture del processore e risorse CPU specifiche. Si osserva che il metodo proposto per creare un canale nascosto è molto difficile da bloccare con i metodi esistenti di protezione contro gli attacchi attraverso i canali laterali.
I ricercatori riferiscono inoltre che gli exploit non richiedono privilegi elevati e possono essere utilizzati da utenti ordinari senza privilegi. Menzionano anche che l'attacco potrebbe potenzialmente essere adattato per orchestrare la fuga di dati tra macchine virtuali , ma questo aspetto esulava dall'ambito della ricerca e non sono stati effettuati test su sistemi di virtualizzazione.
Il codice proposto è stato testato su una CPU Intel i7-9700 in un ambiente Ubuntu 16.04. In generale, il metodo di attacco è stato testato su processori desktop Intel Coffee Lake e Skylake ed è potenzialmente applicabile ai processori server Broadwell Xeon.
La tecnologia Ring Interconnect è apparsa nei processori basati sulla microarchitettura Sandy Bridge e consiste in diversi bus loopback che vengono utilizzati per collegare core computazionali e grafici, northbridge e cache. L'essenza del metodo di attacco è che, a causa della larghezza di banda limitata del bus dell'anello, le operazioni di memoria in un processo ritardano l'accesso alla memoria di un altro processo. Una volta che i dettagli dell'implementazione sono stati decodificati, un utente malintenzionato può generare un payload che porta a ritardi nell'accesso alla memoria in un altro processo e utilizzare i dati del ritardo come canale laterale per ottenere informazioni.
Gli attacchi ai bus CPU interni sono ostacolati dalla mancanza di informazioni sull'architettura e sui metodi operativi del bus, nonché da un alto livello di rumore che rende difficile l'estrazione di dati utili. È stato possibile comprendere i principi del bus attraverso il reverse engineering dei protocolli utilizzati durante il trasferimento dei dati sul bus. Per separare le informazioni utili dal rumore, è stato applicato un modello di classificazione dei dati basato su metodi di apprendimento automatico.
Il modello proposto ha permesso di organizzare il monitoraggio dei ritardi computazionali in un processo specifico, in condizioni in cui più processi accedono contemporaneamente alla memoria e una parte dei dati viene restituita dalle cache del processore.
Infine, se desiderate approfondire l'argomento, potete consultare il seguente documento.