Clicky

GhostRace: una nueva vulnerabilidad de fuga de datos afecta a las CPU modernas

GhostRace quema la CPU

Filtra al adversario información confidencial de la víctima a través de un canal encubierto

Un grupo de investigadores ha descubierto un nuevo ataque de fuga de datos que afecta a las arquitecturas de CPU modernas que admiten la ejecución especulativa.

Denominado GhostRace (CVE-2024-2193), es una variación de la vulnerabilidad de CPU de ejecución transitoria conocida como Spectre v1 (CVE-2017-5753). El enfoque combina ejecución especulativa y condiciones de carrera.

"Todas las primitivas de sincronización comunes implementadas usando ramas condicionales pueden ser omitidas microarquitectónicamente en caminos especulativos usando un ataque de predicción errónea de rama, convirtiendo todas las regiones críticas arquitectónicamente libres de carreras en Condiciones de Carrera Especulativas (SRC), lo que permite a los atacantes filtrar información del objetivo", dijeron los investigadores.

Los hallazgos del Grupo de Investigación de Seguridad de Sistemas de IBM Research Europe y VUSec, el último de los cuales reveló otro ataque de canal lateral llamado SLAM dirigido a procesadores modernos en diciembre de 2023.

Spectre se refiere a una clase de ataques de canal lateral que explotan la predicción de bifurcaciones y la ejecución especulativa en CPU modernas para leer datos privilegiados en la memoria, evitando las protecciones de aislamiento entre aplicaciones.

Si bien la ejecución especulativa es una técnica de optimización del rendimiento utilizada por la mayoría de las CPU, los ataques Spectre aprovechan el hecho de que las predicciones erróneas dejan rastros de accesos a la memoria o cálculos en las cachés del procesador.

"Los ataques Spectre inducen a una víctima a realizar operaciones especulativas que no ocurrirían durante el procesamiento en orden estrictamente serializado de las instrucciones del programa, y filtran al adversario información confidencial de la víctima a través de un canal encubierto", señalaron los investigadores detrás del ataque Spectre en enero de 2018.

Lo que hace que GhostRace sea notable es que permite a un atacante no autenticado extraer datos arbitrarios del procesador usando condiciones de carrera para acceder a las rutas de código ejecutable especulativas aprovechando lo que se llama un ataque de uso concurrente especulativo después de la liberación (SCUAF).

ataque GhostRace

Una condición de carrera es una situación no deseada que ocurre cuando dos o más procesos intentan acceder al mismo recurso compartido sin una sincronización adecuada, lo que genera resultados inconsistentes y abre una ventana de oportunidad para que un atacante realice acciones maliciosas.

"En términos de características y estrategia de explotación, una vulnerabilidad SRC es similar a una condición de carrera clásica", explicó en un aviso el Centro de Coordinación CERT (CERT/CC).

"Sin embargo, es diferente en que el atacante explota dicha condición de carrera en una ruta ejecutada transitoriamente que se origina en una rama mal especulada (similar a Spectre v1), apuntando a un fragmento de código picante o dispositivo que finalmente revela información al atacante".

El resultado neto es que permite a un atacante con acceso a los recursos de la CPU acceder a datos confidenciales arbitrarios desde la memoria del host.

"Cualquier software, por ejemplo, sistema operativo, hipervisor, etc., que implemente primitivas de sincronización a través de ramas condicionales sin ninguna instrucción de serialización en esa ruta y que se ejecute en cualquier microarquitectura (por ejemplo, x86, ARM, RISC-V, etc.), que permita la ejecución especulativa de sucursales condicionales, es vulnerable a los SRC", dijo VUSec.

Tras una divulgación responsable, AMD dijo que su guía existente para Spectre "sigue siendo aplicable para mitigar esta vulnerabilidad". Los encargados del mantenimiento del hipervisor de código abierto Xen reconocieron que todas las versiones se ven afectadas, aunque dijeron que es poco probable que represente una amenaza grave a la seguridad.

"Por precaución, el equipo de seguridad de Xen ha proporcionado parches de refuerzo que incluyen la adición de un nuevo mecanismo LOCK_HARDEN en x86 similar al BRANCH_HARDEN existente", dijo Xen.

"LOCK_HARDEN está desactivado de forma predeterminada, debido a la incertidumbre de que exista una vulnerabilidad en Xen y a la incertidumbre sobre el impacto en el rendimiento. Sin embargo, esperamos que se realicen más investigaciones en esta área y creemos que es prudente implementar una mitigación".

Jesus_Caceres