Descubre Noticias de Ciberseguridad en nuestro TecnetBlog

Ataque CacheWarp: Hallazgo de Falla Crítica en AMD SEV

Escrito por Adriana Aguilar | Nov 24, 2023 8:00:00 PM

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.

 

¿Qué es el ataque CacheWarp y cómo protegerse de él?

 

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

 

¿Cómo protegerse del ataque CacheWarp?

 

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:

 

  • Actualizar el firmware de la CPU y el hipervisor con las últimas versiones disponibles, que pueden incluir parches o mitigaciones para la vulnerabilidad de coherencia de caché.
  • Utilizar mecanismos de detección de fallos de software, como la verificación de paridad o la corrección de errores, que pueden alertar o corregir los datos erróneos en la memoria.
  • Utilizar mecanismos de protección de la integridad del código, como la firma digital o el control de flujo, que pueden impedir o detectar la ejecución de código malicioso en la máquina virtual.
  • Utilizar mecanismos de aislamiento de procesos, como los espacios de nombres o los contenedores, que pueden limitar el acceso de los procesos maliciosos a las direcciones de memoria de las máquinas virtuales.
  • Utilizar mecanismos de cifrado de la memoria, como Intel SGX o ARM TrustZone, que pueden cifrar y proteger los datos en los niveles de caché y la memoria principal.

 

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.