L'attacco DDRop infrange le protezioni di memoria di Intel TDX e AMD SEV-SNP
Immagine generata con IA

L'attacco DDRop infrange le protezioni di memoria di Intel TDX e AMD SEV-SNP

I ricercatori descrivono DDRop, un economico interposer hardware che elimina silenziosamente le scritture DDR5 per infrangere le protezioni di confidential computing di Intel TDX e AMD SEV-SNP.

I ricercatori di sicurezza hanno divulgato un attacco hardware chiamato DDRop che infrange la protezione della memoria nel confidential computing di Intel e AMD eliminando silenziosamente le scritture nella memoria di un server, così il processore continua a leggere vecchi dati cifrati come se fossero attuali. L'attacco è il primo attacco attivo con interposer a funzionare sulla memoria DDR5 nei server cloud odierni, e il primo a infrangere l'integrità di un sistema Intel TDX aggiornato invece di limitarsi a leggerne i dati. Il metodo richiede un attaccante che controlli già il software del server e possa accedere brevemente alla macchina per inserire una piccola scheda a circuito, chiamata interposer, tra il processore e un modulo di memoria. I ricercatori affermano che l'interposer costa meno di 200 dollari da costruire, può essere installato in pochi minuti e viene poi pilotato interamente dal software. DDRop funziona contro Intel TDX, Intel Scalable SGX e AMD SEV-SNP, le tecnologie hardware che i servizi cloud usano per mantenere privati i dati dei clienti mentre sono in uso, persino dal provider cloud.

Il confidential computing mantiene cifrata la memoria di un server, così chi ha accesso fisico alla macchina vede solo dati cifrati. Per coprire la grande quantità di memoria usata da un server cloud, tuttavia, questi progetti omettono una garanzia chiamata freshness. Il processore può confermare che la memoria è cifrata, ma non che contenga l'ultimo valore scritto, e i vecchi dati cifrati si decifrano comunque correttamente. DDRop trasforma questa lacuna in un attacco. Quando l'interposer elimina una scrittura, il valore precedente resta in memoria e il processore lo rilegge come se l'aggiornamento fosse avvenuto. Il motore di cifratura non rileva nulla di anomalo.

L'interposer è una piccola scheda di interruttori che si colloca sul bus di memoria e funziona a piena velocità DDR5. Per eliminare una scrittura, forza un errore sul bus dei comandi e poi taglia il filo che il modulo di memoria usa per segnalare quell'errore, così il modulo scarta silenziosamente il comando e il processore non viene mai informato. I precedenti attacchi con interposer su DDR5 come TEE.fail erano passivi: ascoltavano il bus di memoria e dovevano rallentarlo per funzionare con apparecchiature di laboratorio di seconda mano. Gli attacchi attivi che modificavano ciò che la memoria vedeva, come Battering RAM, funzionavano solo su DDR4 più vecchie, perché il formato dei comandi ridisegnato di DDR5 blocca il trucco di scambio degli indirizzi che usavano. DDRop aggira il problema eliminando invece le scritture.

Su Intel TDX, i ricercatori hanno trasformato l'eliminazione delle scritture in pieno controllo di una macchina virtuale protetta. TDX mantiene le tabelle delle pagine di ogni macchina virtuale cifrate e sotto il controllo di firmware fidato. Quando quel firmware scrive voci vuote per creare una nuova tabella delle pagine, DDRop elimina quelle scritture, così la tabella conserva invece dati scelti dall'attaccante lasciati in precedenza in quella memoria. Ciò permette alla macchina virtuale dell'attaccante di mappare la propria memoria su qualsiasi indirizzo fisico e leggere o modificare la memoria protetta. Con quell'accesso, i ricercatori hanno letto la memoria privata di una macchina virtuale vittima e hanno commutato una macchina vittima in modalità debug, il che ha permesso loro di copiarne la memoria in chiaro e poi ripristinare i dati originali così che la vittima non mostrasse alcun segno di manomissione. Hanno anche sovrascritto la misura di avvio che una macchina virtuale usa per dimostrare a un cliente remoto di essere partita in uno stato noto e fidato. Con quella modificata, una macchina virtuale controllata dall'attaccante poteva superare quel controllo come se fosse fidata.

Due di questi risultati, la lettura della memoria di una vittima e l'attivazione della modalità debug, sono stati mostrati solo nella modalità predefinita di TDX chiamata integrità logica. La modalità più forte opzionale di TDX chiamata integrità crittografica li bloccherebbe, affermano i ricercatori, perché entrambi implicano la modifica di dati appartenenti a un'altra macchina virtuale. Falsificare l'attestazione di una macchina, sostengono, funzionerebbe comunque nella modalità più forte, perché quella scrittura avviene all'interno della macchina virtuale dell'attaccante e sotto la sua chiave, quindi l'hardware contrassegna comunque i dati come validi. L'integrità crittografica non aggiunge nemmeno un controllo di freshness, quindi non può rilevare che vecchi contenuti sono stati riutilizzati. Il loro sistema di test non supportava la modalità, quindi non hanno potuto confermarlo.

Su AMD SEV-SNP, il risultato è più limitato. Eliminare le scritture durante la funzione di riposizionamento delle pagine di AMD ha permesso ai ricercatori di copiare il contenuto di una pagina vittima in un'altra, ma gli attacchi alla modalità debug e alla falsificazione dell'attestazione sono specifici di Intel TDX. Tutte e tre le tecnologie cifrano la memoria senza il controllo di freshness che DDRop sfrutta, quindi tutte e tre sono interessate. Il più vecchio Client SGX di Intel, usato in alcuni chip desktop e laptop, non è interessato perché usa un albero di integrità hardware che intercetta i dati obsoleti, sebbene Intel lo abbia ormai ritirato. Le GPU per confidential computing di NVIDIA sono fuori portata perché la loro memoria si trova all'interno del package del chip dove non si può installare un interposer. I ricercatori non hanno testato Arm CCA e affermano che potrebbe essere interessato anch'esso.

L'attacco è rivolto ai server cloud, non ai computer domestici o ai telefoni. Intel TDX, Scalable SGX e AMD SEV-SNP sono offerti dalle principali piattaforme cloud, tra cui AWS, Microsoft Azure e Google Cloud, per proteggere i carichi di lavoro dei clienti. DDRop non dimostra che uno di questi servizi sia stato violato. Dimostra che un attaccante con l'accesso giusto e un economico pezzo di hardware potrebbe minare la protezione su cui quei servizi si basano. I ricercatori hanno detto a The Hacker News di non avere prove che DDRop o un interposer attivo comparabile sia stato usato fuori da un laboratorio.

Non esiste una patch semplice. La debolezza è nel design hardware, affermano i ricercatori. L'attuale cifratura scalabile della memoria rinuncia al controllo di freshness in cambio della protezione di grandi quantità di memoria, e colmare definitivamente la lacuna richiederebbe nuovo hardware di cifratura della memoria che aggiunga sia integrità che freshness. Le modifiche software possono alzare l'asticella senza rimuovere la causa profonda. Queste includono limitare le funzioni di gestione della memoria che DDRop abusa, verificare che le scritture importanti siano effettivamente arrivate e cercare un interposer durante l'avvio. Intel e AMD sono state informate in anticipo su DDRop attraverso la divulgazione coordinata, ed entrambe hanno riconosciuto i risultati e avrebbero emesso bollettini di sicurezza alla data della divulgazione. Nessuna delle due aziende ha offerto indicazioni di mitigazione o una tempistica, hanno detto i ricercatori. AMD ha detto a The Hacker News che, poiché l'attacco richiede accesso fisico al sistema, cade al di fuori dell'ambito del modello di minaccia pubblicato per SEV/SNP. Intel assume la stessa posizione sugli attacchi fisici contro la memoria dei server. Intel ha separatamente affermato che gli attacchi fisici con interposer di questo tipo cadono al di fuori della protezione fornita dalla sua cifratura della memoria, e che non prevede di assegnare a tali attacchi un CVE. Ha anche descritto quest'area di ricerca come fuori ambito, ma non fuori dalla mente. La modalità opzionale di integrità crittografica di Intel, disponibile su alcuni processori Xeon attuali, blocca già parte di DDRop, e Intel afferma di lavorare a progetti di cifratura della memoria più forti per i chip futuri. Una di queste proposte, chiamata cache-line versioning, aggiungerebbe un controllo di freshness al bus di memoria. I ricercatori affermano che non è chiaro se fermerebbe DDRop, e che Intel non ha detto se lo farebbe. AMD ha detto che il suo bollettino su DDRop sarà pubblicato sulla sua pagina di sicurezza dei prodotti più tardi il 14 settembre. Intel non ha risposto a una richiesta di commento prima della pubblicazione.

Costruire l'interposer è economico. I ricercatori hanno stimato le parti per un'unità in circa 159 dollari, senza contare sviluppo o manodopera, e affermano che può essere installato in pochi minuti e poi pilotato interamente dal software. Poiché richiede solo una breve visita alla macchina, i ricercatori affermano che l'accesso necessario potrebbe venire da un dipendente infedele del data center, da manomissioni da qualche parte nella catena di fornitura, o da hardware sequestrato sotto costrizione legale. Per i proprietari di siti web e i team IT, la ricerca evidenzia perché la sicurezza fisica e operativa del provider di hosting conta quanto il software che vi gira sopra. AEU Hosting descrive il suo hosting WordPress gestito come protetto end to end, un promemoria che i proprietari di siti dovrebbero cercare provider che si assumano la responsabilità dell'intero stack invece di lasciare le protezioni a livello di server ai clienti.

Come Proteggerti

  1. Se acquisti servizi cloud o di hosting, chiedi al provider cosa fa per proteggere i server dalle manomissioni fisiche, e scegline uno che dia una risposta chiara.
  2. Installa aggiornamenti e patch dei tuoi fornitori di software e hardware appena sono disponibili, perché alcune modifiche software possono rendere più difficile questo tipo di attacco.
  3. Per carichi di lavoro sensibili, chiedi al tuo provider se sono disponibili e attivate impostazioni di protezione più forti per il confidential computing, e segui i suoi consigli di configurazione.
  4. Limita e registra l'accesso fisico a qualsiasi sala server o hardware per ufficio che controlli, poiché l'attacco richiede solo una breve visita.
  5. Tieni d'occhio i bollettini di sicurezza del produttore del tuo chip e del tuo provider cloud, e applica le impostazioni consigliate anche quando un attacco fisico viene dichiarato fuori ambito.

I Termini Spiegati

  • Confidential computing Un modo per mantenere i dati cifrati mentre un server li usa, così che nemmeno chi ha accesso fisico possa leggerli.
  • DDR5 L'attuale generazione di memoria usata nei server moderni, che conserva temporaneamente i dati mentre il computer lavora.
  • Interposer Una piccola scheda a circuito che può essere inserita tra un processore e un modulo di memoria per intercettare o alterare i dati che vi transitano.
  • Freshness check Una protezione che conferma che la memoria contiene il valore scritto più recente, non uno più vecchio.
  • Attestation Un processo che un computer usa per dimostrare a un cliente remoto di essere partito in uno stato noto e fidato.
  • Page table La mappa interna che un computer usa per trovare dove è fisicamente memorizzato ogni pezzo della memoria di un programma.

Servizi AEU correlati