Perdita di dati attraverso il bus ad anello della CPU Intel

Un team di ricercatori dell'Università dell'Illinois ha sviluppato una nuova tecnica di attacco a canale laterale che manipola la fuga di informazioni attraverso la Ring Interconnect dei processori Intel. L'attacco consente di evidenziare le informazioni sull'utilizzo della memoria in un'altra applicazione e tenere traccia delle informazioni sui tempi di battitura dei tasti. I ricercatori hanno pubblicato strumenti per eseguire misurazioni correlate e diversi exploit prototipo.

Sono stati proposti tre exploit che consentiranno:

  • Recupera singoli bit di chiavi di crittografia quando si utilizzano implementazioni RSA ed EdDSA vulnerabili agli attacchi del canale laterale (se i ritardi di calcolo dipendono dai dati elaborati). Ad esempio, la fuga di singoli bit con informazioni sul vettore di inizializzazione (nonce) di EdDSA è sufficiente per utilizzare attacchi per recuperare in sequenza l'intera chiave privata. L'attacco è difficile da attuare nella pratica e può essere portato avanti con un gran numero di riserve. Ad esempio, l'operazione riuscita viene mostrata quando SMT (HyperThreading) è disabilitato e la cache LLC è segmentata tra i core della CPU.
  • Definire i parametri relativi ai ritardi tra le sequenze di tasti. I ritardi dipendono dalla posizione dei tasti e permettono, attraverso analisi statistiche, di ricreare con una certa probabilità i dati inseriti da tastiera (ad esempio, la maggior parte delle persone è solita digitare la “s” dopo la “a” molto più velocemente della “g” dopo "S").
  • Organizzare un canale di comunicazione nascosto per trasferire dati tra processi a una velocità di circa 4 megabit al secondo, che non utilizzi memoria condivisa, cache del processore, risorse specifiche del core della CPU e strutture del processore. Va notato che il metodo proposto per creare un canale segreto è molto difficile da bloccare con i metodi di protezione esistenti contro gli attacchi del canale laterale.

Gli exploit non richiedono privilegi elevati e possono essere utilizzati da utenti ordinari e senza privilegi. Va notato che l'attacco potrebbe potenzialmente essere adattato per organizzare la fuga di dati tra macchine virtuali, ma questo problema esula dall'ambito dello studio e non è stato effettuato il test dei sistemi di virtualizzazione. Il codice proposto è stato testato su una CPU Intel i7-9700 in Ubuntu 16.04. In generale, il metodo di attacco è stato testato su processori desktop della famiglia Intel Coffee Lake e Skylake ed è potenzialmente applicabile anche ai processori per server Xeon della famiglia Broadwell.

La tecnologia Ring Interconnect è apparsa nei processori basati sulla microarchitettura Sandy Bridge e consiste in diversi bus ad anello utilizzati per connettere core di calcolo e grafica, un bridge server e cache. L'essenza del metodo di attacco è che, a causa della limitazione della larghezza di banda del bus ad anello, le operazioni di memoria in un processo ritardano l'accesso alla memoria di un altro processo. Identificando i dettagli di implementazione tramite il reverse engineering, un utente malintenzionato può generare un carico che causa ritardi nell'accesso alla memoria in un altro processo e utilizzare questi ritardi come canale laterale per ottenere informazioni.

Gli attacchi ai bus interni della CPU sono ostacolati dalla mancanza di informazioni sull'architettura e sui metodi operativi del bus, nonché da un elevato livello di rumore, che rende difficile isolare i dati utili. È stato possibile comprendere i principi di funzionamento del bus attraverso il reverse engineering dei protocolli utilizzati durante la trasmissione dei dati attraverso il bus. Per separare le informazioni utili dal rumore è stato utilizzato un modello di classificazione dei dati basato su metodi di apprendimento automatico. Il modello proposto ha permesso di organizzare il monitoraggio dei ritardi durante i calcoli in un processo specifico, in condizioni in cui più processi accedono contemporaneamente alla memoria e una certa parte dei dati viene restituita dalle cache del processore.

Inoltre, possiamo notare l'identificazione di tracce dell'utilizzo di un exploit per la prima variante della vulnerabilità Spectre (CVE-2017-5753) durante attacchi a sistemi Linux. L'exploit utilizza la fuga di informazioni dal canale laterale per trovare un superblocco in memoria, determinare l'inode del file /etc/shadow e calcolare l'indirizzo della pagina di memoria per recuperare il file dalla cache del disco.

Fonte: opennet.ru

Aggiungi un commento