Ataque SWAPGS: una nueva falla de ejecución especulativa afecta a todas las CPU Intel modernas

vulnerabilidad de ejecución especulativa

Se ha descubierto una nueva variante de la vulnerabilidad de canal lateral Spectre (Variante 1) que afecta a todas las CPU Intel modernas, y probablemente también a algunos procesadores AMD, que aprovechan la ejecución especulativa para un alto rendimiento, advirtieron Microsoft y Red Hat.

Identificada como CVE-2019-1125, la vulnerabilidad podría permitir a los atacantes locales sin privilegios acceder a información confidencial almacenada en la memoria del kernel privilegiada del sistema operativo, incluidas contraseñas, tokens y claves de cifrado, que de otro modo serían inaccesibles.

La ejecución especulativa es un componente central del diseño de microprocesador moderno que ejecuta instrucciones especulativas basadas en suposiciones que se consideran probables. Si los supuestos resultan ser válidos, la ejecución continúa, de lo contrario se descarta.

Tales ejecuciones especulativas también tienen efectos secundarios que no se restauran cuando se deshace el estado de la CPU, lo que lleva a la divulgación de información, a la que luego se puede acceder mediante ataques de canal lateral.

Microsoft emitió silenciosamente parches para la nueva vulnerabilidad de ejecución especulativa en su actualización de seguridad Patch Tuesday de julio de 2019 que fue descubierta y divulgada responsablemente por investigadores de la firma de seguridad Bitdefender.

Según un aviso de seguridad publicado hoy por Red Hat, el ataque se basa en la ejecución especulativa de instrucciones SWAPGS inesperadas después de que se pronostica erróneamente una rama.

La instrucción SWAPGS es una instrucción privilegiada del sistema que intercambia los valores en el registro GS con los valores MSR y solo está disponible en dispositivos con arquitectura x86-64.

«Esto se logra abusando del hecho de que la instrucción SWAPGS se puede ejecutar de manera especulativa. Un atacante puede forzar desreferencias de memoria arbitrarias en el kernel, lo que deja rastros dentro de los cachés de datos. Estas señales pueden ser captadas por el atacante para inferir el valor ubicado en la dirección del núcleo dada». dicen los investigadores de Bitdefender.

El ataque SWAPGS rompe el aislamiento de la tabla de páginas del kernel (KPTI) proporcionado por las CPU modernas y puede usarse para filtrar la memoria del kernel sensible del modo de usuario sin privilegios, reconoció Intel.

«Es posible que estas ramas condicionales en el código de entrada del kernel de Linux puedan especular erróneamente en un código que no realizará los SWAPGS, lo que resultará en una ventana de ejecución especulativa durante la cual se usa el GS incorrecto para operaciones de memoria dependiente», dice RedHat en su asesoramiento.

Según los investigadores de Bitdefender, el nuevo ataque pasa por alto todas las mitigaciones conocidas implementadas después del descubrimiento de las vulnerabilidades Spectre y Meltdown a principios de 2018 que pusieron en riesgo a prácticamente todas las computadoras del mundo.

Aunque el kernel de Linux también contiene un dispositivo que puede explotarse para atacar los sistemas Linux, los investigadores creen que explotar los sistemas operativos Linux podría ser un poco más difícil que las computadoras con Windows.

Dado que el ataque no se puede lanzar de forma remota, es poco probable que cause infecciones masivas de malware, como se usó EternalBlue para WannaCry; en cambio, puede explotarse como parte de un ataque extremadamente dirigido.

Los usuarios afectados pueden abordar este problema a través de una actualización de software para sus sistemas operativos que mitigaría la forma en que la CPU accede especulativamente a la memoria.

Mientras tanto, Google también ha preparado un parche para corregir esta vulnerabilidad en su ChromeOS 4.19 con una actualización que se lanzará próximamente, describiendo la falla como:

«Un atacante puede entrenar al predictor de rama para omitir especulativamente la ruta de swapgs para una interrupción o excepción. Si inicializa el registro GS a un valor de espacio de usuario, si los swapgs se omiten especulativamente, la percpu posterior relacionada con GS accede a la ventana de especulación se hará con el valor GS controlado por el atacante. Esto podría provocar que se acceda a la memoria privilegiada y se filtre».

En un comunicado, AMD dijo:

«Según el análisis externo e interno, AMD cree que no es vulnerable a los ataques de la variante SWAPGS porque los productos de AMD están diseñados para no especular sobre el nuevo valor GS después de un SWAPGS especulativo. Para el ataque que no es una variante SWAPGS, la mitigación es para implementar nuestras recomendaciones existentes para la variante 1 de Spectre».

Continua leyendo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Newsletter Signup

Suscríbete a nuestra lista si te interesa recibir turcos exclusivos sobre hacking y seguridad informática