Logotipo de Zephyrnet

El ataque de ejecución especulativa 'GhostRace' afecta a todos los proveedores de CPU y sistemas operativos

Fecha:

Investigadores de IBM y VU Amsterdam han desarrollado un nuevo ataque que explota mecanismos de ejecución especulativos en los procesadores de computadoras modernos para eludir las comprobaciones en los sistemas operativos contra lo que se conoce como condiciones de carrera.

El ataque aprovecha una vulnerabilidad (CVE-2024-2193) que, según los investigadores, afecta a los procesadores Intel, AMD, ARM e IBM. Funciona contra cualquier sistema operativo, hipervisor y software que implemente primitivas de sincronización o controles integrados contra condiciones de carrera. Los investigadores denominaron su ataque "GhostRace" y lo describieron en un documento técnico publicado esta semana.

"Nuestro hallazgo clave es que todas las primitivas de sincronización comunes pueden ser ignoradas microarquitectónicamente en caminos especulativos, convirtiendo todas las regiones críticas arquitectónicamente libres de raza en condiciones de carrera especulativas (SRC)", los investigadores dijeron.

Los errores de ejecución especulativos persisten a pesar del escrutinio

Una condición de carrera, como explican los investigadores en su artículo, puede surgir cuando dos o más procesos, o subprocesos, intentan acceder a un recurso informático compartido, como ubicaciones de memoria o archivos, al mismo tiempo. Es una causa relativamente común de corrupción de datos y vulnerabilidades que conducen a fugas de información de la memoria, acceso no autorizado, denegación de servicio y elusión de seguridad.

Para mitigar el problema, los proveedores de sistemas operativos han implementado lo que se conoce como primitivos especulativos en su software que controla y sincroniza el acceso a los recursos compartidos. Las primitivas, que reciben nombres como "mutex" y "spinlock", funcionan para garantizar que solo un hilo pueda acceder o modificar un recurso compartido a la vez.

Lo que descubrieron los investigadores de IBM y VU Amsterdam fue una manera de eludir estos mecanismos apuntando a la ejecución especulativa o la función de procesamiento desordenado en los procesadores modernos. La ejecución especulativa básicamente implica que un procesador predice el resultado de ciertas instrucciones y las ejecuta con anticipación en lugar de ejecutarlas en el orden recibido. El objetivo es acelerar el tiempo de procesamiento haciendo que el procesador trabaje en instrucciones posteriores incluso mientras espera el resultado de instrucciones anteriores.

La ejecución especulativa saltó a la luz en 2017 cuando los investigadores descubrieron una manera de explotar la técnica para acceder a información confidencial en la memoria del sistema (como contraseñas, claves de cifrado y correos electrónicos) y utilizar esos datos para futuros ataques. Las vulnerabilidades denominadas Spectre y Meltdown afectaron prácticamente a todos los microprocesadores modernos y provocaron una revisión de la arquitectura del microprocesador que en muchos sentidos todavía está en curso.

Como parte de un esfuerzo para ayudar a los diseñadores de microprocesadores y otras partes interesadas a proteger mejor los procesadores contra vulnerabilidades como Spectre y Meltdown, MITRE lanzó en febrero de 2024 cuatro nuevos enumeradores de debilidades comunes (CWE) que describir y documentar diferentes debilidades del microprocesador.

Un nuevo giro a un exploit conocido

El ataque que desarrollaron los investigadores de IBM y VU Amsterdam se basa en una especulación de rama condicional similar a un tipo de ataque Spectre. "Nuestro hallazgo clave es que todas las primitivas comunes (del lado de escritura) (i) carecen de serialización explícita y (ii) protegen la región crítica con una rama condicional", dijeron los investigadores. En otras palabras, descubrieron que cuando las primitivas de sincronización utilizan una declaración condicional "si" para controlar el acceso a recursos compartidos, son vulnerables a un ataque de ejecución especulativa.

"En un entorno de ejecución especulativa adversario, es decir, con un atacante Spectre mal entrenado la rama condicional, estas primitivas esencialmente se comportan como una no operación", señalaron. "Las implicaciones de seguridad son significativas, ya que un atacante puede ejecutar especulativamente todas las regiones críticas en el software de la víctima sin sincronización".

En una publicación de blog, los investigadores señalaron que informaron a todos los principales proveedores de hardware sobre su descubrimiento y los proveedores, a su vez, notificaron a todos los proveedores de hipervisores y sistemas operativos afectados. Todos los proveedores reconocieron el problema, dijeron los investigadores.

En un aviso, AMD recomendado que los desarrolladores de software sigan sus guía publicada previamente sobre cómo protegerse contra ataques de tipo Spectre.

punto_img

Información más reciente

punto_img