Investigadores de la Universidad de Cornell anunciaron el hallazgo de una nueva vulnerabilidad en el área de Virtualización Encriptada Segura de los CPUs AMD Ryzen, cuya explotación permite el acceso completo a las máquinas virtuales que corren sobre el sistema al cual se está atacando.
Esto es lo que dice el comunicado oficial del equipo de investigación:
«La Virtualización Encriptada Segura de AMD (SEV) ofrece mecanismos de protección para máquinas virtuales en entornos desconfiables a través de la encriptación de memoria y registros. Para separar las operaciones sensibles del software que se ejecuta en los núcleos x86 principales, SEV invoca al Procesador Seguro de AMD (AMD-SP). Este paper introduce un nuevo método para atacar máquinas virtuales protegidas por SEV al atacar el AMD-SP. Presentamos un ataque de modificación de voltaje que permite al atacante ejecutar código personalizado en el AMD-SP de cualquier microarquitectura que soporte SEV (Zen 1, Zen 2 y Zen 3). Los métodos presentados nos permiten desplegar un firmware de SEV personalizado en el AMD-SP, lo cual habilita al adversario a desencriptar la memoria de la máquina virtual. Incluso, con esta técnica, podemos extraer las claves de firmado de los procesadores con SEV, permitiéndonos alterar reportes de atestación o aparentar ser un objetivo válido para la migración de una VM sin requerir acceso físico al host objetivo. Incluso, hemos aplicado ingeniería inversa sobre la el mecanismo de Claves de Firmado de Chip Versionado (VCEK) introducido con la Paginación Anidada Segura de SEV (SEV-SNP). El VCEK une las claves de firmado con la versión de firmware de los componentes TCB relevantes para el SEV. Partiendo de la habilidad de extraer las claves de firmado, mostramos como derivar VCEKs válidos para versiones arbitrarias de firmware. Con estos hallazgos, mostramos que SEV no puede proteger adecuadamente información confidencial en entornos en la nube de atacantes internos, como administradores malintencionados, en los CPUs disponibles actualmente».
Básicamente, este método permite extraer claves de firmado y claves de encriptación del procesador, permitiendo desencriptar toda la información una vez que se tienen dichas claves. De esta forma, el atacante puede acceder a toda la información de la máquina virtual, o incluso alterarla, lo cual claramente es algo que no debería suceder si realmente el chip fuera seguro.
Ya que la vulnerabilidad afecta a máquinas virtuales, y requiere acceso físico al sistema, no es algo que afecte a sus PCs de escritorio, pero si podría afectar a un servidor que aloje información privada nuestra, por lo que de todas formas es un riesgo importante para los usuarios. Será interesante ver si AMD propone alguna solución, o si hay que esperar al lanzamiento de una nueva arquitectura que solucione estos problemas.
Si desean leer el paper completo, pueden encontrarlo visitando este enlace.