LazyFP, la última vulnerabilidad que afecta a chips de Intel

LazyFP, la última vulnerabilidad que afecta a chips de Intel

Se ha hecho pública una nueva vulnerabilidad que afecta a la ejecución especulativa de canal lateral en CPUs de la firma Intel. Igual que los anteriores casos, esta brecha podría utilizarse para extraer información personal de la víctima. Aviso de seguridad de Intel.

Con el ID CVE-2018-3665 se conoce a este nuevo agujero de seguridad denominado LazyFP y que tendría una gravedad “media”. Ha sido descubierta por investigadores de Amazon Alemania (Julian Stecklina) y de Cyberus Technology / SYSGO AG.

Otra vulnerabilidad similar a Meltdown afecta a Intel

Conocida como LazyFP, esta vulnerabilidad guarda gran similitud con la ya conocida Meltdown por estar basada en la ejecución predictiva de canal lateral que emplean todos los procesadores de Intel sin excepción.

El fallo reside en la FPU (Floating Point Unit) que es una unidad de proceso en “coma flotante”, usada por nuestro sistema operativo cuando se salta entre procesos. Se emplea para almacenar el contexto actual (estado del proceso y registros) y así restablecer el contexto de siguientes procesos.

Lazy vs Eager

Si atendemos a la traducción del inglés, veremos que lazy equivale a “vago” mientras que eager equivale a “ansioso”.

En los procesadores existen esas dos formas de procesar instrucciones y el modo Lazy implica una ejecución predictiva de órdenes (aunque no hayan sido solicitadas) cuya anticipación reportará beneficio en rendimiento, sobre todo en procesadores más antiguos.

El modo Eager, por su parte, se podría decir que es un tipo de ejecución “on demand” o bajo demanda.

El software de sistema podría optar por usar el estado LazyFP salvado en lugar del modo eager cuando tenga que restaurar ante un cambio de contexto. Los estado restaurados de tipo “lazy” son vulnerables a exploits donde un proceso podría interceptar valores de registro de otros procesos, mediante la ejecución especulativa de canal lateral.

Claves criptográficas en peligro

Los investigadores han descubierto que el método Lazy es vulnerable a ataques que podrían exponer datos de estado de la FPU, que además podrían contener información confidencial como claves criptográficas. Según el análisis de Cyberus:

El estado de registro de la unidad de coma flotante (FPU), que consiste de AVX, MMX y SSE podría filtrarse más allá de los límites protegidos. Esto incluye el filtrado a otros procesos o límites de máquinas virtuales.

Procesadores afectados

Intel

Parece por tanto que la vulnerabilidad CVE-2018-3665 es similar a Meltdown 3a.

Intel ha confirmado que afecta a los procesadores Intel Core sin distinción, aunque también comentan que el problema ha sido solventado por medio de los desarrolladores de sistemas operativos e hipervisores desde hace años.

Por tanto Intel urge a los proveedores de este tipo de productos que aún no hayan tomado medidas, la publicación de parches de seguridad pertinentes.

AMD / ARM

LazyFPU no afecta a procesadores basados en estas tecnologías, aunque Microsoft ha confirmado que el “restaurado Lazy” está habilitado por defecto en todas las versiones de su sistema operativo y no puede ser desactivado.

Por otro lado hay buenas noticias: los clientes basados en Azure no están afectados por la vulnerabilidad.

Más información – Últimas variantes de Meltdown y Spectre v4

Sistemas operativos y Mitigación

De momento tenemos que Microsoft debe confirmar con exactitud las versiones de Windows afectadas, que parecen todas si tenemos en cuenta lo anteriormente dicho por la compañía. De momento os sugiero registraros para recibir un aviso sobre nuevas versiones de parches, ya que aún no han visto la luz.

En cuanto a sistemas operativos basados en Linux, en principio el alcance es bastante limitado. Esto se debe a que las nuevas versiones del Kernel de Linux (4.9 en adelante) emplean el modo Eager FPU y no estarán afectadas.

En procesadores antiguos de estos sistemas (que no llevan Eager por defecto) se puede mitigar el riesgo mediante la activación manual de este modo. Bastará con reiniciar el kernel tras añadir la sentencia:

 eagerfpu=on

Happy patching!

Anuncios

Deja tu comentario (puedes hacerlo de forma anónima)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.