¿Hackeo en un cuarto de segundo? Vulnerabilidad en AMD compromete la seguridad de AWS, Azure y Google Cloud

¿Hackeo en un cuarto de segundo? Vulnerabilidad en AMD compromete la seguridad de AWS, Azure y Google Cloud

De una línea de caché sucia al material comprometedor total: así es RMPocalypse.

image

En la arquitectura de protección de hardware AMD SEV-SNP, ampliamente utilizada por los mayores proveedores de nube —AWS, Microsoft Azure y Google Cloud— se ha detectado una vulnerabilidad crítica que permite a hipervisores maliciosos comprometer máquinas virtuales cifradas y obtener acceso completo a su memoria. El ataque, denominado RMPocalypse, socava las garantías fundamentales de confidencialidad e integridad sobre las que se basa el modelo de ejecución confiable de SEV-SNP.

La investigación fue presentada en la conferencia ACM CCS 2025 en Taipéi y describe en detalle cómo se explota la vulnerabilidad durante la inicialización de la estructura clave de SEV-SNP — Reverse Map Table (RMP). Esta tabla asocia las direcciones físicas del host con las páginas virtuales de los sistemas invitados y se encarga de prevenir ataques como la suplantación de páginas, conocidos en generaciones anteriores de SEV y SEV-ES. Sin embargo, en la fase de carga la propia RMP aún no existe y, por tanto, no puede protegerse de escrituras por parte de núcleos x86 que operan en paralelo con el proceso de inicialización.

La vulnerabilidad está registrada como CVE-2025-0033 (puntuación CVSS: 8.2) y afecta a procesadores AMD en las arquitecturas Zen 3, Zen 4 y Zen 5, incluidos los chips de servidor EPYC, ampliamente utilizados en infraestructura en la nube. El problema es una "trampa 22": la RMP debería protegerse de modificaciones, pero en la fase de configuración inicial esa protección todavía no existe. La gestión de esta fase recae en el coprocesador Platform Security Processor (PSP) con arquitectura ARM. Este crea barreras en forma de Trusted Memory Regions (TMR) en el controlador de memoria, y además impide que los núcleos x86 escriban en la memoria. Pero, como demostraron los investigadores Benedict Schluter y Shweta Shinde del ETH Zurich, estas medidas resultan insuficientes.

El funcionamiento asincrónico de los núcleos x86 les permite escribir líneas de caché sucias en la memoria de la RMP antes de que el PSP active la protección completa. Cuando las TMR se retiran tras completar la inicialización, esas escrituras no limpiadas se descargan en la DRAM, sobrescribiendo la tabla RMP con valores arbitrarios. Experimentos realizados en EPYC 9135 (Zen 5), 9124 (Zen 4) y 7313 (Zen 3) confirmaron que la sobrescritura ocurre sin errores, especialmente en Zen 3, donde los problemas de coherencia agravan la situación. Aunque el firmware del PSP contiene indicios de mecanismos de defensa, como el vaciado de caché, la ausencia de una limpieza global del TLB y el cierre de algunos componentes dificultan una protección completa.

El ataque RMPocalypse permite a un atacante poner las páginas protegidas en un estado en el que el hipervisor puede modificarlas libremente. Esto posibilita la ejecución de cuatro tipos de ataques:

1. Falsificación de los informes de atestación. Un atacante puede reemplazar las páginas de contexto por copias cifradas antiguas, engañando así al sistema invitado y provocando una confianza incorrecta en la máquina virtual maliciosa. Las páginas de contexto no están protegidas contra la sobrescritura porque no cuentan con una firma criptográfica de integridad.

2. Activación del modo de depuración. Mediante la modificación imperceptible de un bit en la política de contexto, el ataque permite activar la API SNPDEBUGDECRYPT/ENCRYPT, otorgando al hipervisor acceso total a la memoria de la máquina virtual confidencial. Todo esto ocurre sin romper la atestación y con una fiabilidad superior al 99,9% en menos de 15 ms.

3. Reproducción del estado VMSA. Este vector permite restaurar los registros de la máquina virtual a una instantánea anterior, comprometiendo la integridad de la ejecución y abriendo la puerta a retrocesos a estados vulnerables.

4. Inyección de código arbitrario. El atacante utiliza SNPPAGEMOVE para reemplazar valores de tweak e inserta tráfico malicioso (por ejemplo, paquetes de red) directamente en el código del kernel, sorteando la protección criptográfica y el ASLR. Todo el proceso tarda unos 5 ms.

De este modo, SEV-SNP pierde por completo sus capacidades protectoras frente a un hipervisor no confiable. Esto es críticamente peligroso para tareas que procesan datos confidenciales: desde aplicaciones corporativas hasta modelos de IA y almacenamiento en la nube.

AMD confirmó la vulnerabilidad y comunicó que trabaja en parches; no obstante, al momento de la publicación no existen correcciones para los procesadores afectados. Como medidas temporales, los investigadores proponen reconfigurar las barreras a nivel de los núcleos, incluyendo la verificación previa de las cachés antes de retirar las TMR o forzar un vaciado global de caché y del TLB tras completar la configuración de la RMP. Para Zen 3 esto se complica por la necesidad de sincronización adicional debido a problemas de coherencia.

RMPocalypse se coloca junto a los ataques CacheWarp y Heckler, demostrando hasta qué punto siguen siendo vulnerables incluso las tecnologías avanzadas de computación confidencial. Aunque AMD ha abierto parcialmente el código fuente del firmware del PSP, los componentes cerrados siguen impidiendo un análisis y una mitigación completos de los riesgos. Dado que la vulnerabilidad puede explotarse en menos de 234 milisegundos durante la fase SNPINITEX, surge la necesidad de reevaluar la confianza en los mecanismos de seguridad en hardware.

¿Tu Wi-Fi doméstico es una fortaleza o una casa de cartón?

Descubre cómo construir una muralla impenetrable