Intel SGX ha battuto ancora una volta, questa volta grazie al misuratore di potenza su chip

650

I ricercatori hanno escogitato un nuovo modo per rubare in remoto le chiavi crittografiche dalle CPU Intel, anche quando le CPU eseguono estensioni di protezione del software, la protezione in silicio che dovrebbe creare un'enclave affidabile che è impermeabile a tali attacchi.

PLATYPUS, come i ricercatori chiamano l'attacco, utilizza un nuovo vettore per aprire uno dei canali laterali più basilari, una forma di exploit che utilizza le caratteristiche fisiche per dedurre i segreti memorizzati all'interno di un pezzo di hardware. Mentre la maggior parte dei canali lato alimentazione richiedono un accesso fisico in modo che gli aggressori possano misurare il consumo di elettricità, PLATYPUS può farlo da remoto abusando del Running Average Power Limit. Abbreviata in RAPL, questa interfaccia Intel consente agli utenti di monitorare e controllare l'energia che scorre attraverso CPU e memoria.

Contents

Chiavi che perdono e molto altro ancora

Un team internazionale di ricercatori martedì sta rivelando un modo per utilizzare RAPL per osservare abbastanza indizi sulle istruzioni e sui dati che fluiscono attraverso una CPU per dedurre i valori che carica. Utilizzando PLATYPUS, i ricercatori possono far trapelare le chiavi crittografiche dalle enclavi SGX e dal sistema operativo, interrompere la mitigazione dell'exploit nota come Address Space Layout Randomization e stabilire un canale nascosto per esfiltrare segretamente i dati. I chip che iniziano con l'architettura Sandy Bridge di Intel sono vulnerabili.

In un'e-mail, il ricercatore capo Moritz Lipp dell'Università di tecnologia di Graz ha scritto:

In genere, gli attacchi che sfruttano le variazioni nel consumo di energia dei dispositivi richiedevano che l'avversario avesse accesso fisico al dispositivo. L'aggressore collegherebbe un misuratore di potenza con sonde al dispositivo per misurarne il consumo energetico. Tuttavia, i processori moderni sono dotati di un misuratore di potenza integrato e consentono agli utenti non privilegiati di leggere le sue misurazioni dal software. Mostriamo ora che questa interfaccia può essere sfruttata per recuperare le chiavi crittografiche elaborate sulla macchina.

In risposta ai risultati, Intel martedì sta apportando modifiche chiave a RAPL. Il primo richiede privilegi elevati per accedere all'interfaccia in Linux, mentre prima il sistema operativo open source forniva l'accesso senza privilegi (sia Windows che OS X richiedono l'installazione di un driver speciale).

Anche quando sono richiesti privilegi o un driver dedicato, tuttavia, gli aggressori potrebbero comunque utilizzare codice privilegiato per eseguire gli exploit, un attacco che si adatterebbe al modello di minaccia di SGX, progettato per essere sicuro anche quando il sistema operativo è compromesso.

Per risolvere questo problema, Intel sta anche introducendo una seconda correzione a livello di microcodice che, quando SGX è abilitato, limita il consumo di energia riportato. Quando gli sviluppatori utilizzano algoritmi crittografici che sono costanti di tempo, ovvero il numero di operazioni eseguite è indipendente dalla dimensione dell'input, la correzione impedisce l'utilizzo di RAPL per dedurre istruzioni o dati elaborati da una CPU. Annuncio pubblicitario

I funzionari di Intel hanno scritto in una dichiarazione: "Oggi, abbiamo pubblicato INTEL-SA-0389 che fornisce dettagli e indicazioni sulla mitigazione per proteggere da potenziali perdite di informazioni da Intel SGX utilizzando l'interfaccia Running Average Power Limit (RAPL) fornita dalla maggior parte dei processori moderni. Ci siamo coordinati con i partner del settore e abbiamo rilasciato aggiornamenti del microcodice per queste vulnerabilità attraverso il nostro normale processo di aggiornamento della piattaforma Intel (IPU). "

La società ha affermato che, sebbene non vi siano indicazioni che le vulnerabilità siano state sfruttate, sta emettendo nuove chiavi di attestazione per le piattaforme di chip interessate. Intel offre ulteriori indicazioni sulla mitigazione qui.

Una spina nel fianco dei produttori di chip

I risultati di martedì sono solo gli ultimi a sfidare la sicurezza delle CPU che costituiscono uno degli elementi costitutivi più basilari di tutto il computing. I canali laterali del processore non sono una novità, ma gli attacchi noti come Spectre e Meltdown quasi tre anni fa hanno inaugurato una nuova era di attacchi alla CPU che potevano essere sfruttati in scenari più realistici. Da allora, i ricercatori hanno escogitato un flusso costante di exploit, inclusi alcuni che minano la garanzia di sicurezza della tecnologia SGX proprietaria di Intel.

I canali laterali sono indizi che derivano da differenze di temporizzazione, memorizzazione nella cache dei dati, consumo di energia o altre manifestazioni che si verificano quando vengono eseguiti diversi comandi o operazioni. Gli aggressori sfruttano le differenze per dedurre comandi o dati segreti che fluiscono attraverso un pezzo di hardware. Tra le forme più comuni di canale laterale c'è la quantità di elettricità richiesta per completare una determinata attività. Più recentemente, quel consumo di energia ha in gran parte lasciato il posto all'esecuzione speculativa, il canale laterale utilizzato da Spectre e Meltdown.

I ricercatori dietro PLATYPUS hanno scoperto che l'interfaccia RAPL riportava un consumo energetico con una granularità sufficiente per dedurre segreti vitali. La chiave di questi segreti sono le chiavi crittografiche implementate da AES-NI, una serie di istruzioni che Intel afferma essere più resistente agli attacchi di canale laterale. Un altro segreto divulgato include le chiavi RSA elaborate da SGX.

I ricercatori hanno anche utilizzato l'interfaccia per distinguere altre informazioni segrete, inclusi diversi pesi di Hamming, definiti come il numero di bit diversi da zero in un numero binario. Le operazioni dedotte si verificano anche "intra cache", che fornisce un livello di granularità maggiore rispetto a molti attacchi di canale laterale. I ricercatori sono stati anche in grado di utilizzare PLATYPUS per derandomizzare le protezioni ASLR, una capacità che gli aggressori potrebbero combinare con gli exploit software per renderli molto più potenti.

Molto più minaccioso

Su un sito web che spiega l'attacco, i ricercatori hanno scritto:

Con i classici attacchi power side-channel, un utente malintenzionato ha in genere accesso fisico a un dispositivo vittima. Utilizzando un oscilloscopio, l'aggressore monitora il consumo di energia del dispositivo. Con interfacce come Intel RAPL, l'accesso fisico non è richiesto non è più possibile accedere alle misurazioni direttamente dal software. Il lavoro precedente mostrava già una perdita di informazioni limitata causata dall'interfaccia Intel RAPL. Mantel et al. ha mostrato che è possibile distinguere se diverse chiavi crittografiche sono state elaborate dalla CPU. Paiva et al. stabilito un canale nascosto modulando il consumo di energia della DRAM.

La nostra ricerca mostra che l'interfaccia Intel RAPL può essere sfruttata in scenari molto più minacciosi. Dimostriamo che, oltre a distinguere chiavi diverse, è possibile ricostruire intere chiavi crittografiche. Lo dimostriamo con recupero di AES chiavi dal canale laterale resiliente AES-NI implementazione, così come le chiavi RSA da un'enclave Intel SGX. Inoltre, distinguiamo diversi pesi Hamming di operandi o carichi di memoria, minacciando implementazioni a tempo costante di algoritmi crittografici. Per mitigare PLATYPUS è stato revocato l'accesso non privilegiato al consumo energetico con un aggiornamento del sistema operativo. Con Intel SGX, tuttavia, un sistema operativo compromesso rientra nel modello di minaccia, rendendo questa mitigazione insufficiente. Pertanto, Intel ha rilasciato aggiornamenti del microcodice che cambiano il modo in cui viene riportato il consumo di energia se Intel SGX è abilitato sul sistema. Invece di misurazioni energetiche effettive, si ricorre a un approccio basato su modelli, in modo tale che non è possibile distinguere le stesse istruzioni con dati o operandi diversi.

Intel e oltre

Mentre PLATYPUS attacca i processori Intel, i ricercatori hanno affermato che è probabile che anche i contatori di energia integrati nei chip concorrenti possano essere utilizzati per eseguire attacchi simili. L'interfaccia nelle moderne CPU AMD, ad esempio, misura la potenza a livello di core individuale. Inoltre, per le CPU AMD Rome in esecuzione su kernel Linux versione 5.8 e successive, non richiedeva privilegi per l'accesso. Un aggiornamento della macchina virtuale Xen martedì ora richiede i privilegi per accedere a RAPL su entrambe le CPU Intel e AMD.

PLATYPUS è l'acronimo di Power Leakage Attacks: Targeting Your Protected User Secrets. I ricercatori hanno scelto il nome perché hanno detto che gli ornitorinchi "sono animali affascinanti" che "possono rilevare i segnali elettrici con il loro conto".

I risultati, dei ricercatori della Graz University of Technology, del CISPA Helmholtz Center for Information Security e dell'Università di Birmingham, sono impressionanti e di vasta portata. In quanto tale, il documento di martedì è una lettura obbligatoria per qualsiasi organizzazione che si affidi a SGX per mantenere i dati o il computer al sicuro. Per tutti gli altri, c'è molta meno urgenza, a patto che tutte le patch disponibili siano installate. Gli aggiornamenti che risolvono le vulnerabilità, che vengono monitorate come CVE-2020-8694 e CVE-2020-8695, vengono rilasciati dai distributori Linux e dai produttori di PC. Dovrebbero essere installati non appena disponibili.