En el siempre cambiante mundo de la ciberseguridad, mantenerse al día con las últimas vulnerabilidades y amenazas es crucial para proteger datos e infraestructuras críticas. Una de las recientes preocupaciones en este ámbito es el Ataque CacheWarp, una nueva vulnerabilidad descubierta en la tecnología AMD Secure Encrypted Virtualization (SEV), que plantea riesgos significativos para las máquinas virtuales cifradas. Este artículo busca desentrañar los aspectos clave de este ataque, explicándolo de manera clara y sencilla para un mejor entendimiento.
Antes de adentrarnos en el ataque CacheWarp, es fundamental entender qué es AMD SEV. La tecnología SEV de AMD proporciona una función de seguridad para máquinas virtuales, permitiendo que cada una se ejecute en un entorno cifrado y aislado. Este diseño busca proteger la integridad y confidencialidad de las máquinas virtuales, incluso de operadores de sistemas o administradores con altos privilegios, ofreciendo así una capa adicional de seguridad.
Investigadores académicos han descubierto un nuevo "ataque de falla de software" en la tecnología Secure Encrypted Virtualization (SEV) de AMD, una vulnerabilidad que podría permitir a los atacantes comprometer y escalar privilegios en máquinas virtuales (VM) cifradas. Este ataque, denominado CacheWarp (CVE-2023-20592), ha sido investigado por expertos del Centro CISPA Helmholtz para la Seguridad de la Información y la Universidad Tecnológica de Graz, afectando a las CPU de AMD que soportan todas las variantes de SEV.
Ruiyi Zhang, un investigador de seguridad, explicó a The Hacker News: "En esta investigación, nos centramos en el más reciente TEE de AMD, el AMD SEV-SNP, utilizando conocimientos de ataques previos a los TEE de Intel. Hallamos que la instrucción 'INVD' [que vacía el contenido de la caché del procesador] podía ser explotada bajo el modelo de amenaza de AMD SEV".
Te podría interesar leer: Identificando vulnerabilidades: El poder de las CVE
Introducido en 2016, SEV es una extensión de la arquitectura AMD-V diseñada para aislar VM del hipervisor mediante cifrado, utilizando una clave única por VM. El propósito es proteger las VM de hipervisores potencialmente maliciosos. SEV-SNP, añadiendo Secure Nested Paging (SNP), fortalece la protección de la integridad de la memoria, según AMD, para prevenir ataques basados en hipervisores, creando un entorno de ejecución aislado.
Sin embargo, según Zhang, CacheWarp puede eludir estas protecciones y lograr una escalada de privilegios y ejecución remota de código en la VM objetivo. La instrucción INVD
permite a un atacante descartar escrituras en las VM invitadas, continuando con datos obsoletos. El artículo demuestra esto con dos técnicas: "timewarp" y "dropforge".
Con "timewarp", se puede manipular la memoria del ordenador para que ejecute código anterior, combinando datos nuevos con códigos antiguos, produciendo efectos inesperados. Esta técnica fue utilizada para burlar la autenticación de OpenSSH.
"Dropforge", por otro lado, permite al atacante restablecer cambios en los datos de las VM invitadas. Por ejemplo, alterando el valor de retorno en el binario sudo
, un atacante puede adquirir privilegios de administrador sin serlo. La explotación exitosa de este fallo podría permitir a un atacante controlar una VM, llevando a AMD a lanzar una actualización de microcódigo para corregir el "uso indebido de las instrucciones".
Zhang también mencionó que un equipo de Google Project Zero y Google Cloud auditó recientemente la última versión de TEE de AMD, SEV-SNP. A pesar de las afirmaciones de AMD sobre la prevención de ataques a la integridad por parte de SEV-SNP, el ataque CacheWarp ha demostrado lo contrario.
Adicionalmente, los investigadores de CISPA revelaron en agosto un ataque de canal lateral de energía basado en software, denominado Collide+Power (CVE-2023-20583), dirigido a CPU de Intel, AMD y Arm, capaz de filtrar datos confidenciales rompiendo protecciones de aislamiento.
Te podrá interesar leer: Aprovechando las Soluciones de VMWare
Para protegerse del ataque CacheWarp, es necesario aplicar una serie de medidas de seguridad tanto a nivel de hardware como de software. Algunas de estas medidas son las siguientes:
Te podrá interesar leer: ¿Tu software está al día?: Importancia de los Parches
El ataque CacheWarp es una nueva vulnerabilidad que afecta a la tecnología SEV de AMD, y que puede comprometer la seguridad y la privacidad de las máquinas virtuales protegidas por SEV. El ataque CacheWarp se basa en la inyección de fallos de software en la CPU, que altera el comportamiento de la caché y provoca errores en la escritura de memoria. El ataque CacheWarp puede permitir a los atacantes escalar privilegios y obtener ejecución remota de código en las máquinas virtuales. Para protegerse del ataque CacheWarp, es necesario aplicar una serie de medidas de seguridad tanto a nivel de hardware como de software, que pueden mitigar o prevenir los efectos del ataque.