L1DES (CacheOut) y VRS — nuevas vulnerabilidades en las estructuras microarquitectónicas de los CPU Intel

La empresa Intel reveló información sobre dos nuevas vulnerabilidades en el CPU Intel, causadas por fugas de datos del caché L1D (CVE-2020-0549, L1DES — Muestreo de Desalojo de L1D) y registros vectoriales (CVE-2020-0548, VRS — Muestreo de Registros Vectoriales). Las vulnerabilidades pertenecen a la clase MDS (Muestreo de Datos Microarquitectónicos) y se basan en la aplicación de métodos de análisis por canales laterales a datos en estructuras microarquitectónicas. Los procesadores AMD, ARM y otros no están afectados por estos problemas.

La vulnerabilidad L1DES representa el mayor peligro, ya que permite el asentamiento de bloques de datos en caché (cache line), desalojados del caché de nivel uno (L1D), en el búfer de llenado (Fill Buffer), que en esta etapa debería estar vacío. Para determinar los datos asentados en el búfer de llenado, se aplican métodos de análisis por canales laterales, previamente propuestos en ataques MDS (Muestreo de Datos Microarquitectónicos) y TAA (Abortos Asincrónicos Transaccionales). La esencia del sistema de defensa previamente implementado contra
MDS y TAA es limpiar los búferes microarquitectónicos antes del cambio de contexto, pero, como se ha evidenciado, bajo ciertas condiciones, los datos se reintegran especulativamente en los búferes después de la operación de limpieza, por lo que los métodos MDS y TAA siguen siendo aplicables.

L1DES (CacheOut) y VRS son nuevas vulnerabilidades en las estructuras microarquitectónicas de los CPU Intel.

Como resultado, un atacante puede lograr determinar los datos desalojados del caché de nivel uno que han sido modificados durante la ejecución de una aplicación, previamente ocupando el núcleo actual de la CPU, o aplicaciones que se ejecutan paralelamente en otros hilos lógicos (hyperthread) en el mismo núcleo de la CPU (desactivar el HyperThreading anula la efectividad del ataque). A diferencia del ataque L1TF, L1DES no permite elegir direcciones físicas específicas para verificar, pero proporciona la capacidad de rastrear pasivamente la actividad en otros hilos lógicos, relacionada con la carga o el almacenamiento en memoria de valores.

Sobre la base de L1DES, varios equipos de investigadores han desarrollado varias variantes de ataques que potencialmente permiten extraer información confidencial de otros procesos, el sistema operativo, máquinas virtuales y enclaves seguros SGX.

  • El equipo de VUSec adaptó el método de ataque RIDL para la vulnerabilidad L1DES. Un prototipo del exploit está disponible un prototipo de exploit, que también elude el método de protección propuesto por Intel contra MDS, basado en el uso de la instrucción VERW para limpiar el contenido de los búferes microarquitectónicos en el momento de salir del núcleo al espacio de usuario o al transferir el control al sistema invitado (los investigadores inicialmente sostuvieron que VERW (limpieza de búferes microarquitectónicos) era insuficiente para la protección y se requería un restablecimiento completo de la caché L1 en cada cambio de contexto).
  • Comando ZombieLoad actualizó su método de ataque teniendo en cuenta la vulnerabilidad L1DES.
  • Investigadores de la Universidad de Michigan desarrollaron su propio método de ataque CacheOut (PDF), que permite extraer información confidencial del núcleo del sistema operativo, máquinas virtuales y enclaves protegidos SGX. El método se basa en manipulaciones con el mecanismo de interrupción asíncrona de operaciones (TAA, Abort Asincrónico TSX) para determinar el contenido del búfer de llenado tras la filtración de datos de la caché L1D.

    L1DES (CacheOut) y VRS son nuevas vulnerabilidades en las estructuras microarquitectónicas de los CPU Intel.

La segunda vulnerabilidad VRS (Muestreo de Registros Vectoriales) está relacionada con la filtración en el búfer de almacenamiento (Store Buffer) de los resultados de operaciones de lectura desde registros vectoriales, alterados al ejecutar instrucciones vectoriales (SSE, AVX, AVX-512) en el mismo núcleo de CPU. La filtración ocurre en circunstancias bastante raras y es causada por que una operación ejecutada especulativamente, que lleva a la reflección del estado de los registros vectoriales en el búfer de almacenamiento, se retrasa y finaliza después de haber limpiado el búfer, y no antes de ello. De manera similar a la vulnerabilidad L1DES, el contenido del búfer de almacenamiento puede ser luego determinado utilizando los métodos de ataque MDS y TAA.

Investigadores del grupo VUSec han preparado un prototipo de exploit, que permite determinar los valores de los registros vectoriales obtenidos como resultado de cálculos en otro hilo lógico del mismo núcleo de CPU. La empresa Intel evaluó la vulnerabilidad VRS como demasiado compleja para llevar a cabo ataques reales y le asignó un nivel mínimo de riesgo (2.8 CVSS).

La información sobre los problemas fue enviada a Intel en mayo de 2019 por el equipo Zombieload de la Universidad Técnica de Graz (Austria) y el grupo VUSec de la Universidad Libre de Ámsterdam, y más tarde, tras analizar otros vectores de aplicación del ataque MDS, las vulnerabilidades fueron confirmadas por algunos otros investigadores. En el primer informe MDS, la información sobre los problemas L1DES y VRS no se incluyó debido a la falta de una solución. La solución no está disponible en la actualidad, pero los plazos de confidencialidad acordados han expirado.
Como métodos de protección alternativos, se recomienda desactivar HyperThreading. Para bloquear la vulnerabilidad del lado del núcleo, se propone reiniciar la caché L1 en cada cambio de contexto (bit MSR MSR_IA32_FLUSH_CMD) y desactivar la extensión TSX (bits MSR MSR_IA32_TSX_CTRL y MSR_TSX_FORCE_ABORT).

Intel promete lanzar una actualización de microcódigo con mecanismos para bloquear los problemas en un futuro próximo. Intel también indica que la aplicación de métodos de protección propuestos en 2018 contra el ataque L1TF (L1 Terminal Fault) permite bloquear la explotación de la vulnerabilidad L1DES desde entornos virtuales. El ataque afecta a los procesadores Intel Core, comenzando con la sexta generación (Sky, Kaby, Coffee, Whiskey, Amber Lake, etc.), así como algunos modelos de Intel Xeon y Xeon Scalable.

También se puede destacar mejoría del exploit, que permite aplicar métodos de ataque RIDL para determinar el contenido del hash de la contraseña root desde /etc/shadow durante intentos de autenticación periódicos. Si el exploit inicialmente propuesto determinaba el hash de la contraseña en 24 horas, y después de la filtración al trabajar con el mecanismo de interrupción asíncrona de operaciones (TAA, TSX Asynchronous Abort) realizaba una operación similar en 36 segundos, el nuevo variante realiza el ataque en 4 segundos.

Reproducir video

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster