Salta al contenuto principale


RMPocalypse: Un bug critico in AMD SEV-SNP minaccia la sicurezza del cloud


È stata identificata unavulnerabilità critica nell’architettura di sicurezza hardware AMD SEV-SNP, che impatta i principali provider cloud (AWS, Microsoft Azure e Google Cloud). Tale bug consente a hypervisor dannosi di compromettere macchine virtuali crittografate e ottenere pieno accesso alla loro memoria.

L’attacco, denominato RMPocalypse, mina le fondamentali garanzie di riservatezza e integrità su cui si basa il modello di esecuzione attendibile SEV-SNP.

La ricerca presentata alla conferenza ACM CCS 2025 di Taipei, descrive in dettaglio come una vulnerabilità venga sfruttata durante l’inizializzazione della struttura chiave di SEV-SNP, la Reverse Map Table (RMP). Questa tabella mappa gli indirizzi fisici dell’host alle pagine virtuali guest ed è responsabile della prevenzione degli attacchi di page-spoofing noti dalle precedenti generazioni di SEV e SEV-ES. Tuttavia, la RMP stessa non esiste ancora all’avvio e pertanto non può proteggersi dalle scritture dei kernel x86 in esecuzione parallelamente al processo di inizializzazione.

La vulnerabilità è tracciata come CVE-2025-0033 (punteggio CVSS: 8,2) e colpisce i processori AMD basati sulle architetture Zen 3, Zen 4 e Zen 5, inclusi i chip server EPYC utilizzati attivamente nelle infrastrutture cloud. Il problema è un circolo vizioso: l’RMP dovrebbe proteggersi dalle modifiche, ma durante la fase di configurazione iniziale tale protezione non è ancora attiva. La gestione di questa fase è delegata al coprocessore Platform Security Processor (PSP), basato sull’architettura ARM. Crea barriere sotto forma di Trusted Memory Regions (TMR) sul controller di memoria e impedisce inoltre ai core x86 di scrivere in memoria. Tuttavia, come hanno dimostrato i ricercatori Benedikt Schlüter e Shweta Shinde dell’ETH di Zurigo, queste misure sono insufficienti.

Il funzionamento asincrono dei core x86 consente loro di scrivere linee di cache sporche nella memoria RMP prima che la PSP attivi la protezione completa. Quando i TMR vengono cancellati dopo l’inizializzazione, queste scritture non cancellate vengono scaricate nella DRAM, sovrascrivendo la tabella RMP con valori arbitrari.

Esperimenti condotti su EPYC 9135 (Zen 5), 9124 (Zen 4) e 7313 (Zen 3) hanno confermato che le sovrascritture avvengono senza errori, soprattutto su Zen 3, dove i problemi di coerenza aggravano la situazione. Sebbene il firmware della PSP contenga accenni di meccanismi di protezione come il flushing della cache, la mancanza di un flush TLB globale e la natura chiusa di alcuni componenti impediscono la protezione completa.

L’attacco RMPocalypse consente agli aggressori di mettere le pagine protette in uno stato in cui l’hypervisor può modificarle liberamente. Ciò consente quattro tipi di attacchi:

  • Falsificazione dei report di attestazione . Un aggressore può sostituire le pagine di contesto con vecchie copie crittografate, ingannando così il sistema guest e fidandosi falsamente della macchina virtuale dannosa. Le pagine di contesto non sono protette dalla sovrascrittura perché prive di una firma di integrità crittografica.
  • Abilitazione della modalità debug. Modificando silenziosamente un singolo bit nella policy di contesto, l’attacco abilita l’API SNPDEBUGDECRYPT/ENCRYPT, garantendo all’hypervisor pieno accesso alla memoria sensibile della macchina virtuale. Tutto ciò avviene senza violare l’attestazione e con un’affidabilità superiore al 99,9% in meno di 15 ms.
  • Riproduzione dello stato VMSA. Questo vettore consente di ripristinare i registri della macchina virtuale a uno snapshot precedente, compromettendo l’integrità dell’esecuzione e aprendo la strada a rollback verso stati vulnerabili.
  • Iniezione di codice arbitrario. L’aggressore utilizza SNPPAGEMOVE per falsificare i valori di tweak e iniettare traffico dannoso (ad esempio, pacchetti di rete) direttamente nel codice del kernel, bypassando la protezione crittografica e ASLR. L’intero processo richiede circa 5 ms.

Pertanto, SEV-SNP perde completamente le sue proprietà protettive in condizioni di hypervisor non attendibile. Questo è fondamentale per le attività che elaborano dati sensibili, dalle applicazioni aziendali ai modelli di intelligenza artificiale e all’archiviazione cloud.

AMD ha confermato la vulnerabilità e ha annunciato di essere al lavoro sulle patch, ma al momento della pubblicazione, le correzioni per i processori interessati non sono disponibili. Come soluzione temporanea, i ricercatori propongono di riconfigurare le barriere a livello di core, inclusa la pre-validazione delle cache prima della rimozione del TMR o l’imposizione di una cache globale e del flush del TLB dopo aver completato la configurazione RMP. Per Zen 3, questo è complicato dalla necessità di una sincronizzazione aggiuntiva dovuta a problemi di coerenza.

RMPocalypse si unisce agli attacchi CacheWarp e Heckler nel dimostrare quanto siano vulnerabili anche le tecnologie di confidential computing più avanzate. Sebbene AMD abbia parzialmente reso open source il firmware PSP, i componenti proprietari ne ostacolano ancora l’analisi e la mitigazione complete. Poiché la vulnerabilità può essere sfruttata in meno di 234 millisecondi durante la fase SNPINITEX, è necessario rivalutare la fiducia nei meccanismi di sicurezza hardware.

L'articolo RMPocalypse: Un bug critico in AMD SEV-SNP minaccia la sicurezza del cloud proviene da il blog della sicurezza informatica.