Noticia BadRAM un ataque que elude la protección SEV-SNP en AMD

BadRAM


Hace pocos días un equipo de investigadores dieron a conocer un nuevo concepto de ataque llamado «BadRAM» catalogado bajo CVE-2024-21944, este ataque puede comprometer los entornos protegidos mediante la extensión SEV-SNP en procesadores AMD, burlando el mecanismo de autenticación. Este ataque requiere, en la mayoría de los casos, acceso físico a los módulos de memoria y la capacidad de ejecutar código a nivel del anillo de seguridad cero (ring0) en el sistema anfitrión que aloja entornos virtuales protegidos.

Las extensiones AMD SEV están diseñadas para garantizar la integridad de la memoria de las máquinas virtuales, protegiéndolas contra manipulaciones y análisis realizados por administradores del sistema anfitrión que operan a nivel de hipervisor.

Inicialmente, AMD SEV solo cifraba la memoria invitada y aislaba los registros, pero las versiones más recientes de los procesadores EPYC incorporaron la extensión SEV-SNP (Secure Nested Paging). Esta extensión mejora la seguridad al verificar las tablas de páginas de memoria y asegurar que la memoria del sistema invitado no pueda ser manipulada desde el hipervisor.

El mecanismo SEV-SNP se implementó con el objetivo de impedir que entidades externas, como personal de centros de datos o proveedores de servicios en la nube, interfirieran en el funcionamiento de sistemas protegidos. Sin embargo, el ataque BadRAM utiliza un enfoque diferente que explota los metadatos SPD (Serial Presence Detect) de los módulos DDR4 y DDR5.

Al modificar estos metadatos, un atacante puede sobrescribir datos cifrados en la memoria de un sistema invitado, sin necesidad de descifrar el contenido, y vulnerar el mecanismo de atestación criptográfica que asegura la integridad de las máquinas virtuales. Esto podría permitir, por ejemplo, introducir puertas traseras en sistemas protegidos sin ser detectado.

El ataque funciona manipulando los parámetros del SPD para engañar al procesador, haciendo que acceda a direcciones de memoria ficticias (estas direcciones inexistentes son redirigidas hacia áreas reales de la DRAM que ya están en uso).

Mediante esta técnica, un atacante puede crear una asignación múltiple en la memoria física, logrando que diferentes direcciones apunten al mismo espacio de memoria. Esto no solo evita los mecanismos de protección de memoria de la CPU, sino que también habilita el acceso a datos cifrados reales a través de direcciones ficticias. En resumen, el método permite a los atacantes interferir con datos cifrados y violar las garantías de seguridad establecidas por SEV-SNP.

Un aspecto alarmante del ataque es la facilidad con la que puede llevarse a cabo. Con un programador sencillo que cuesta unos 10 dólares, construido con un microcontrolador Raspberry Pi Pico, un conector para módulos de memoria y una fuente de alimentación, un atacante puede realizar las modificaciones necesarias.

Incluso en sistemas donde los chips de memoria no cuentan con bloqueo de reescritura en SPD, el ataque puede ejecutarse de forma completamente programática, sin acceso físico al hardware. Esto es posible a través de actualizaciones de BIOS maliciosas o la manipulación de módulos de memoria configurables, como los de Corsair con iluminación RGB. En entornos de nube, esta vulnerabilidad también puede ser explotada por administradores deshonestos.

La eficacia del ataque ha sido demostrado de dos formas

  • Se verificó la posibilidad de replicar texto cifrado almacenado en memoria, lo que permite modificar datos cifrados sin conocer su contenido.
  • Se eludió el mecanismo de certificación SEV-SNP, utilizado para garantizar la integridad de las máquinas virtuales protegidas. Esto último permite a un atacante reemplazar una máquina virtual legítima por una comprometida, ocultando actividades maliciosas como la instalación de puertas traseras.

El problema afecta a procesadores AMD de tercera y cuarta generación de la serie EPYC y sobre el problema AMD infórmo que ha lanzado una actualización que tiene como finalidad el prevenir este tipo de manipulación.

En cuanto a la parte de Intel, cabe mencionar que las tecnologías Scalable SGX y TDX no son vulnerables a este ataque, ya que incluyen controles necesarios desde su diseño. Por otro lado, la tecnología clásica Intel SGX, que fue obsoleta en 2021, es parcialmente susceptible, permitiendo únicamente la lectura de datos cifrados sin reescritura.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Continúar leyendo...