Violazione dei TEE nell’infrastruttura server

Due diversi documenti di ricerca dimostrano come i sistemi virtuali possono essere compromessi in un ambiente ostile, in particolare quando il proprietario dei dati non può fidarsi nemmeno del provider cloud.

I moderni processori per server sono dotati di un ambiente di esecuzione attendibile (TEE) per la gestione delle informazioni particolarmente sensibili. Esistono molte implementazioni TEE, ma due sono rilevanti per questa discussione: Intel Software Guard eXtensions (SGX) e AMD Secure Encrypted Virtualization (SEV). Quasi contemporaneamente, due distinti team di ricercatori, negli Stati Uniti e in Europa, hanno scoperto in modo indipendente metodi molto simili (ma separati) per sfruttare queste due implementazioni. Il loro obiettivo era ottenere l’accesso ai dati sottoposti a criptaggio contenuti nella memoria RAM. Gli articoli scientifici che dettagliano questi risultati sono stati pubblicati a pochi giorni di distanza:

  • WireTap: Breaking Server SGX via DRAM Bus Interposition è lo sforzo di ricercatori statunitensi, che descrive in dettaglio un attacco di successo del sistema Intel Software Guard eXtensions (SGX). Ci sono riusciti intercettando lo scambio di dati tra il processore e il modulo RAM DDR4.
  • Nel paper Battering RAM, scienziati belgi e britannici hanno anche compromesso con successo Intel SGX, nonché il sistema di sicurezza equivalente di AMD, SEV-SNP, manipolando il processo di trasferimento dei dati tra il processore e il modulo RAM DDR4.

Come attaccare un TEE

Entrambe le tecnologie citate, Intel SGX e AMD SEV, sono progettate per proteggere i dati anche laddove il sistema di elaborazione degli stessi fosse totalmente compromesso. Pertanto, i ricercatori sono partiti dal presupposto che un utente malintenzionato avrebbe avuto completa libertà di azione: pieno accesso al software e all’hardware del server, con i dati riservati, ad esempio, a occupare una macchina virtuale in esecuzione su quel server.

In tale scenario, alcune limitazioni di Intel SGX e AMD SEV diventano critiche. Un esempio è l’utilizzo del criptaggio deterministico: un algoritmo in cui una sequenza specifica di dati di input produce sempre la stessa identica sequenza di dati di output criptati. Poiché l’utente malintenzionato ha accesso completo al software, può immettere dati arbitrari nel TEE. Se l’utente malintenzionato avesse accesso anche alle informazioni criptate risultanti, il confronto di questi due set di dati consentirebbe di calcolare la chiave privata utilizzata. Questo, a sua volta, consentirebbe di decriptare altri dati criptati con lo stesso meccanismo.

La sfida, tuttavia, è come leggere i dati sottoposti a criptaggio. Risiedono nella RAM e solo il processore vi ha accesso diretto. Il malware teorico vede solo le informazioni originali prima che vengano criptate in memoria. Questa è la sfida principale che i ricercatori hanno affrontato in modi diversi. Una soluzione diretta è l’intercettazione a livello hardware dei dati trasmessi dal processore al modulo RAM.

Come funziona? Il modulo di memoria viene rimosso e quindi reinserito utilizzando un interposer, anch’esso collegato a un dispositivo specializzato: un analizzatore logico. L’analizzatore logico intercetta i flussi di dati che viaggiano attraverso tutte le linee di dati e indirizzi fino al modulo di memoria. È un procedimento complicato. Un server in genere ha molti moduli di memoria, quindi l’utente malintenzionato deve trovare un modo per forzare il processore a scrivere le informazioni di destinazione in modo specifico nell’intervallo desiderato. Successivamente è necessario ricostruire e analizzare i dati grezzi acquisiti dall’analizzatore logico.

Ma i problemi non finiscono qui. I moderni moduli di memoria scambiano i dati con il processore a velocità incredibili, eseguendo miliardi di operazioni al secondo. L’intercettazione di un flusso di dati ad alta velocità richiede apparecchiature di fascia alta. L’hardware utilizzato per dimostrare la fattibilità di questo tipo di attacco nel 2021 è costato centinaia di migliaia di dollari.

Caratteristiche di WireTap

I ricercatori statunitensi dietro WireTap sono riusciti a ridurre il costo del loro hackeraggio a poco meno di mille dollari. La configurazione per l’intercettazione dei dati dal modulo di memoria DDR4 era simile alla seguente:

WireTap e Battering RAM: attacchi ai TEE

Sistema di test per l’intercettazione dello scambio di dati tra il processore e il modulo di memoria Fonte

Metà del budget è andata per un analizzatore logico vecchio di un quarto di secolo, acquistato tramite un’asta online. Il resto è servito a pagare per i connettori necessari, mentre gli autori stessi hanno provveduto alla saldatura manuale dell’interposer (l’adattatore in cui era inserito il modulo di memoria di destinazione). Una configurazione obsoleta come questa non è in grado di acquisire il flusso di dati alla normale velocità. I ricercatori hanno comunque fatto una scoperta chiave: potevano rallentare il funzionamento del modulo di memoria. Invece delle velocità effettive standard delle DDR4 di 1600–3200 megahertz, sono riusciti a ridurre la velocità a 1333 megahertz.

Da qui in poi i passaggi sono complessi, ma chiari:

  1. Assicurarsi che i dati del processo di destinazione siano stati scritti nel modulo di memoria compromesso e quindi intercettarli, ancora criptati in questa fase.
  2. Immettere un set di dati personalizzato in Intel SGX per il criptaggio.
  3. Intercettare la versione criptata dei dati noti, confrontare il testo in chiaro noto con il testo criptato risultante e calcolare la chiave di criptaggio.
  4. Decriptare i dati acquisiti in precedenza appartenenti al processo di destinazione.

In sintesi, il lavoro di WireTap non cambia radicalmente la nostra comprensione dei limiti intrinseci di Intel SGX. Dimostra tuttavia che l’attacco può essere reso drasticamente più economico.

Caratteristiche di Battering RAM

Invece del semplice approccio all’intercettazione dei dati, i ricercatori dell’università belga KU Leuven e loro colleghi del Regno Unito hanno cercato un metodo più sottile ed elegante per accedere alle informazioni criptate. Ma prima di addentrarci nei dettagli, diamo un’occhiata al componente hardware e confrontiamolo con il lavoro del team americano:

WireTap e Battering RAM: attacchi ai TEE

Interposer di moduli di memoria utilizzato in Battering RAM Fonte

Al posto di un groviglio di fili e di un ingombrante analizzatore di dati, questa configurazione è dotata di una semplice scheda progettata da zero in cui viene inserito il modulo di memoria. La scheda è controllata da un conveniente microcomputer Raspberry Pico. Il budget hardware è irrisorio: appena 50 euro! Inoltre, a differenza dell’attacco WireTap, Battering RAM può essere eseguito di nascosto; non è necessario avere continuo accesso fisico al server. Una volta installato il modulo di memoria modificato, i dati richiesti possono essere rubati in remoto.

Cosa fa esattamente questa scheda? I ricercatori hanno scoperto che collegando a terra al momento giusto solo due righe di indirizzo (che determinano dove vengono scritte o lette le informazioni), potrebbero creare una situazione di mirroring dei dati. Le informazioni vengono infatti scritte nelle celle di memoria a cui un utente malintenzionato può accedere. La scheda interposer agisce come una coppia di semplici interruttori controllati dal microcomputer Raspberry Pi. Sebbene la manipolazione dei contatti su hardware attivo porti in genere a un blocco del sistema o al danneggiamento dei dati, i ricercatori hanno ottenuto un funzionamento stabile disconnettendo e ricollegando le righe degli indirizzi solo nei momenti esatti richiesti.

Questo metodo ha dato agli autori la possibilità di selezionare il punto fisico di registrazione dei dati. Soprattutto, questo significa che non avevano bisogno di calcolare la chiave di criptaggio. Hanno prima acquisito le informazioni criptate dal processo di destinazione. Successivamente, hanno eseguito il loro programma all’interno dello stesso intervallo di memoria e hanno richiesto al sistema TEE di decriptare le informazioni acquisite in precedenza. Questa tecnica ha permesso loro di hackerare non solo Intel SGX ma anche AMD SEV. Inoltre, questo controllo sulla scrittura dei dati li ha aiutati a eludere l’estensione di protezione di AMD denominata SEV-SNP. Questa estensione, utilizzando Secure Nested Paging, è stata progettata per proteggere la macchina virtuale da compromissioni impedendo la modifica dei dati in memoria. L’elusione di SEV-SNP teoricamente consente agli utenti malintenzionati non solo di leggere dati criptati, ma anche di iniettare codice dannoso in una macchina virtuale compromessa.

Rilevanza degli attacchi fisici sull’infrastruttura server

È chiaro che, sebbene l’applicazione pratica di tali attacchi sia possibile, è improbabile che vengano condotti nel mondo reale. Il valore dei dati rubati dovrebbe essere estremamente elevato per giustificare la manomissione a livello di hardware. Questa è almeno la posizione di Intel e AMD per quanto riguarda le loro soluzioni di sicurezza: entrambi i produttori di chip hanno risposto ai ricercatori affermando che gli attacchi fisici non rientrano nei loro modelli di sicurezza. Tuttavia, sia i team di ricerca americani che quelli europei hanno dimostrato che il costo di questi attacchi non è così alto come si credeva. Questo potenzialmente amplia l’elenco degli attori delle minacce disposti a utilizzare vulnerabilità così complesse.

Gli attacchi proposti hanno le proprie restrizioni. Come già accennato, il furto di informazioni è stato condotto su sistemi dotati di moduli di memoria standard DDR4. Il nuovo standard DDR5, finalizzato nel 2020, non è ancora stato compromesso, nemmeno a scopo di ricerca. Ciò è dovuto sia all’architettura rivista dei moduli di memoria che alle maggiori velocità operative. Tuttavia, è altamente probabile che i ricercatori alla fine trovino vulnerabilità anche nelle DDR5. E questo è un aspetto positivo: la sicurezza dichiarata dei sistemi TEE deve essere periodicamente sottoposta ad audit indipendenti. In caso contrario, un sistema di protezione ritenuto attendibile potrebbe inaspettatamente risultare di punto in bianco completamente inutile.

 

Consigli