L1TF – L1 Terminal Fault Attack, la última vulnerabilidad en los procesadores Intel

Estamos a mitad de agosto y ya tenemos otra vulnerabilidad importante en los procesadores Intel llamada L1TF «L1 Terminal Fault Attack» Esta vulnerabilidad es similar a los famosos Spectre y Meltdown, vamos a intentar escrutar en que consiste.

L1TF – L1 Terminal Fault Attach, la última vulenerabilidad en los procesadores Intel

Esta vulnerabilidad según la escala de la compañía Red Hat se considera importante, dicha clasificación se otorga a fallos que pueden comprometer fácilmente la confidencialidad, la integridad y la disponibilidad de los recursos. Estos son los tipos de vulnerabilidades que permiten a los usuarios locales obtener privilegios, permitir que los usuarios remotos no autentificados vean recursos que de otra manera estarían protegidos por autentificación, permitir que los usuarios remotos autenticados ejecuten código arbitrario o permitir que los usuarios remotos denieguen el servicio.

¿En qué consiste?

Se trata de una vulnerabilidad similar a Spectre y Meltdown y afecta a los microprocesadores x86 fabricados por la compañía Intel. Los atacantes sin privilegios pueden usar esta falla para eludir las restricciones de seguridad de la memoria a fin de obtener acceso a los datos almacenados en la memoria de que de otro modo serían inaccesibles.

Dicha vulnerabilidad se puede dividir en tres partes:

  • La primera afecta sólo a los enclaves seguros de Intel “SGX” y se mitiga mediante actualizaciones de microcódigo independientemente del sistema operativo.
  • Las otras dos piezas requieren mitigaciones a nivel de software realizadas por sistemas operativos o hipervisores (en el caso de máquinas virtuales)

Sus códigos CVE con CVE-2018-3620 y CVE-2018-3646

Un poco de teoría

La ejecución especulativa es una técnica utilizada por muchos procesadores modernos para mejorar el rendimiento al predecir qué instrucciones se pueden ejecutar en función del historial de ejecución anterior. Cuando un programa intenta acceder a datos en la memoria, el hardware traduce la dirección de la memoria lógica en una dirección física. El acceso a una dirección lógica o lineal que no está asignada a una ubicación física en el hardware dará como resultado un error de terminal. Una vez que se desencadena el fallo, hay un espacio antes de la resolución donde el procesador usará la ejecución especulativa para tratar de cargar datos. Es justo durante este tiempo, cuando el procesador podría acceder especulativamente a la memoria caché de datos de nivel 1, lo que podría permitir que los métodos de los canales laterales infieran información de que otra manera estaría protegida.

¿A quién afecta? ¿Qué debemos hacer?

Los equipos que ejecuten núcleos y componentes de virtualización se ven afectados. Esta vulnerabilidad afecta tanto al kernel de Linux como a la tecnología de virtualización KVM. En este caso, la compañía Red Hat, recomienda que los clientes que ejecuten cargas de trabajo en contenedores, hosts virtualizados o en contenedores descarguen los parches necesarios (kernels actualizados, componentes de virtualización y microcódigo de CPU, tan pronto como sea posible.

Todos los equipos deben aplicar el microcódigo de su proveedor, esto es, del fabricante de sus equipos (HP, Acer, Lenovo, etc) para parchear la CPU y actualizar el kernel tan pronto como haya parches disponibles. Los sistemas que requieren altos niveles de seguridad y confianza deben abordarse primero, y deben aislarse de los sistemas que no son de confianza. Si se desea mitigar por completo este problema se deberá considerar desactivar la tecnología “Hyper-Threading” para cerrar todos los vectores de ataque.

Las distribuciones GNU/Linux han publicado varias notas y parches de seguridad al respecto, para obtener la información sobre las principales distros:

Debian – Security
Ubuntu – Security Notices
Portal de seguridad de SUSE
Portal de seguridad de Red Hat

La propia compañía Intel ha publicado un vídeo al respecto:

Es un tema ciertamente complejo, para ampliar información os recomiendo consultar los siguientes enlaces:

Redhat.com – L1TF – L1 Terminal Fault Attack
Vulnerability Notes Database