Un equipo de investigadores de KU Leuven, ETH Zúrich, la Universidad de Durham y Google construyó una placa de circuito de menos de 200 dólares que se intercala entre el procesador y un módulo de memoria, y con ella leyó en texto plano la memoria privada de una máquina virtual protegida. El ataque se llama DDRop y rompe la integridad de Intel TDX, Scalable SGX y AMD SEV-SNP, las tres tecnologías sobre las que se levantan los entornos de ejecución confiable. Exige acceso físico al servidor.

El problema de diseño está en el hardware de cifrado de memoria escalable, que no verifica si el dato que hay en memoria es fresco. Sin esa comprobación, una máquina virtual protegida queda expuesta a un ataque de repetición que le sirve datos viejos elegidos por el atacante.

El trabajo se describe en un paper titulado "DDRop. Active Memory Interposer Attacks on Confidential VMs by Dropping DDR5 Writes". Como necesita acceso físico, importa sobre todo en los escenarios donde un proveedor de nube le prometió garantías de computación confidencial a sus clientes.

¿Cómo funciona el interposer?

Jo Van Bulck, profesor del laboratorio DistriNet de KU Leuven, en Bélgica, lo explicó por correo a The Register.

"DDRop usa un 'interposer' construido a medida, una placa de circuito pequeña y de diseño propio, que cuesta menos de 200 dólares y se ubica entre el procesador y un módulo de memoria. Corrompe comandos en el bus de memoria DDR5 de alta velocidad para descartar en silencio las escrituras a la memoria cifrada. La máquina virtual protegida sigue computando sobre datos viejos que se descifran perfectamente. Estamos liberando el diseño completo del interposer como hardware de código abierto."

Van Bulck trabajó con Jesse De Meulemeester, Stefan Gloor, Patrick Jattke, Daniel Moghimi, David Oswald, Martin Thompson, Kaveh Razavi e Ingrid Verbauwhede. La prueba de concepto corrió sobre un servidor Intel TDX actual.

Dos minutos y sin caída del sistema

Las dos vías de ataque que describen apuntan a piezas distintas del mismo mecanismo.

"Al inyectar entradas manipuladas en la tabla de páginas segura, podemos forzar a cualquier máquina virtual protegida a entrar en modo de depuración y leer su memoria privada en texto plano", dijo Van Bulck. "Además, escribir en estructuras críticas de metadatos de TDX permite falsificar informes de atestación, de modo que una máquina virtual con puerta trasera le parece confiable al usuario remoto."

Las dos, según el investigador, tienen éxito de forma determinista en menos de dos minutos y sin hacer caer la máquina.

¿Qué lo diferencia de los ataques previos?

Varios de estos mismos investigadores ya habían desarrollado un ataque parecido sobre DDR4. Van Bulck sostiene que este es el primer ataque activo con interposer sobre DDR5.

"El bus de comandos rediseñado de DDR5 impide los trucos de aliasing de direcciones que usaba Battering RAM, y hasta ahora solo se habían demostrado ataques pasivos bastante más débiles sobre DDR5", explicó. "TEE.fail monitorea el bus de datos con analizadores lógicos voluminosos y de segunda mano, que son más fáciles de detectar y obligan a bajar el bus de memoria a su velocidad más baja para observar patrones de texto cifrado, que además se pueden enmascarar por software."

DDRop altera el tráfico del bus DDR5 a velocidad completa. Según Van Bulck, es el primer ataque que subvierte la interfaz de gestión confiable de TDX sin explotar un error de software. También baja el costo de los ataques de interposición anteriores, que requerían unos 170.000 dólares en equipamiento de laboratorio.

La respuesta de Intel y de AMD

No hay arreglo sencillo para los diseños actuales de cifrado de memoria escalable de Intel y AMD, dice Van Bulck, ni parche de software o de hardware que ataque la causa de fondo.

"El cifrado de memoria escalable renuncia deliberadamente a la frescura criptográfica (que sí había en las primeras versiones de Intel SGX, con soporte para apenas 128 o 256 MB de memoria protegida) a cambio de poder proteger grandes cantidades de memoria en sistemas de nube", explicó.

Simon Johnson, de Intel, habló hace poco de los ataques con interposer de memoria en una conferencia de la industria. Van Bulck dice que las mitigaciones previstas, como el versionado de líneas de caché, siguen pareciendo vulnerables a DDRop.

En un boletín de seguridad publicado el lunes, Intel reconoció la divulgación de DDRop y dijo que el ataque queda fuera del alcance de su modelo de amenazas para computación en la nube. La empresa afirmó que está "evaluando opciones adicionales de endurecimiento arquitectónico y mecanismos de detección como parte de las mejoras continuas de seguridad de la plataforma".

AMD respondió lo mismo, que el ataque queda fuera de alcance, y agregó que no hay mitigación planificada.