Clicky

Ataque SWAPGS: nuevo error de ejecución especulativa afecta a todas las CPU Intel modernas

CPU Intel

Atacantes locales no privilegiados podrían acceder a información confidencial

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 no privilegiados acceder a información confidencial almacenada en la memoria del kernel privilegiado 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 moderno de microprocesador que ejecuta instrucciones especulativamente basadas en suposiciones que se consideran verdaderas. Si los supuestos resultan válidos, la ejecución continúa, de lo contrario se descarta. Dichas ejecuciones especulativas también tienen efectos secundarios que no se restauran cuando se desenrolla 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 laterallateral. Microsoft emitió silenciosamente parches para la nueva vulnerabilidad de ejecución especulativa en su actualización de seguridad del martes de parches de julio de 2019 que fue descubierta y revelada de manera responsable por investigadores de la firma de seguridad Bitdefender.

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

La instrucción SWAPGS es una instrucción de sistema privilegiada 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 al abusar del hecho de que la instrucción SWAPGS se puede ejecutar especulativamente. Un atacante puede forzar desreferencias arbitrarias de memoria en el núcleo, lo que deja rastros dentro de los cachés de datos. El atacante puede recoger estas señales 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 núcleo (KPTI) proporcionado por las CPU modernas y se puede utilizar para filtrar la memoria del núcleo sensible del modo de usuario no privilegiado, 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 da como resultado una ventana de ejecución especulativa durante la cual se usa el GS incorrecto para operaciones de memoria dependientes", dice RedHat en su aviso.

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

Aunque el kernel de Linux también contiene un dispositivo que puede explotarse para atacar sistemas Linux en un ataque, 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 puede iniciarse de forma remota, es poco probable que cause infecciones masivas de malware, como EternalBlue se usó 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 cómo 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 saltear especulativamente la ruta de los swapgs por una interrupción o excepción. Si inicializan el registro GS a un valor de espacio de usuario, si los swapgs se saltan especulativamente, los accesos de percpu relacionados con GS posteriores en la ventana de especulación se realizará con el valor GS controlado por el atacante. Esto podría provocar que se acceda y se filtre la memoria privilegiada".

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 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".

Jesus_Caceres