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

Intel descubierto información sobre dos nuevas vulnerabilidades en las CPU Intel causadas por la fuga de datos del caché L1D (CVE-2020-0549, L1DES - Muestreo de desalojo L1D) y registros vectoriales (CVE-2020-0548, VRS - Muestreo de registros vectoriales). Las vulnerabilidades pertenecen a la clase. MDS (Muestreo de datos de microarquitectura) y se basan en la aplicación de métodos de análisis de canal lateral a datos en estructuras de microarquitectura. AMD, ARM y otros procesadores no se ven afectados por los problemas.

El mayor peligro es la vulnerabilidad L1DES, que admite asentamiento de bloques de datos almacenados en caché (línea de caché), desalojados del caché de primer nivel (L1D), en el Fill Buffer, que en esta etapa debería estar vacío. Para determinar los datos que se han asentado en el búfer de llenado, podemos utilizar los métodos de análisis de canal lateral propuestos previamente en los ataques. MDS (Muestreo de datos microarquitectónicos) y TAA (Aborto Asincrónico Transaccional). La esencia de la protección previamente implementada contra
MDS y TAA en el vaciado de buffers de microarquitectura antes del cambio de contexto, pero resulta que bajo algunas condiciones los datos se vacían especulativamente en buffers después de la operación de vaciado, por lo que los métodos MDS y TAA siguen siendo aplicables.

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

Como resultado, un atacante puede lograr la detección de datos eliminados del caché de primer nivel que se cambiaron durante la ejecución de una aplicación que anteriormente ocupaba el núcleo de la CPU actual, o aplicaciones que se ejecutan en paralelo en otros subprocesos lógicos (hiperproceso) en la misma CPU. core (deshabilitar HyperThreading no reduce la efectividad de ningún ataque). A diferencia del ataque L1TFL1DES no permite la selección de direcciones físicas específicas para inspección, pero sí proporciona la capacidad de monitorear pasivamente la actividad en otros subprocesos lógicos asociados con la carga o almacenamiento de valores en la memoria.

Basándose en L1DES, varios equipos de investigación han desarrollado varias variantes de ataque que potencialmente pueden extraer información confidencial de otros procesos, el sistema operativo, las máquinas virtuales y los enclaves SGX protegidos.

  • Equipo VUSec adaptado Método de ataque RIDL para la vulnerabilidad L1DES. Disponible explotar prototipo, que también evita el método de protección MDS propuesto por Intel, que se basa en el uso de la instrucción VERW para borrar el contenido de los buffers de microarquitectura al regresar del kernel al espacio del usuario o al transferir el control al sistema invitado (los investigadores inicialmente insistieron en que VERW (limpieza de microarquitectura buffers) para la protección es insuficiente y requiere un vaciado completo de la caché L1 en cada cambio de contexto).
  • Equipo ZombieLoad actualizado mi método de ataque teniendo en cuenta la vulnerabilidad L1DES.
  • Investigadores de la Universidad de Michigan han desarrollado su propio método de ataque. Caché de salida ((PDF)), que le permite extraer información confidencial del kernel del sistema operativo, máquinas virtuales y enclaves SGX protegidos. El método se basa en manipulaciones con un mecanismo de interrupción asíncrona de operaciones (TAA, TSX Asynchronous Abort) para determinar el contenido del búfer de llenado después de una fuga de datos de la caché L1D.

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

Segunda vulnerabilidad VRS (muestreo de registro vectorial) conectado con fuga en el búfer de almacenamiento (Store Buffer) de los resultados de las operaciones de lectura de registros vectoriales modificados durante la ejecución de instrucciones vectoriales (SSE, AVX, AVX-512) en el mismo núcleo de CPU. La fuga se produce en un conjunto de circunstancias bastante raras y se debe al hecho de que una operación especulativa que da como resultado el reflejo del estado de los registros vectoriales en el búfer de almacenamiento se retrasa y se completa después de que se borra el búfer, y no antes. De manera similar a la vulnerabilidad L1DES, el contenido del búfer de almacenamiento se puede determinar utilizando técnicas de ataque MDS y TAA.

Investigadores del grupo VUSec подготовили explotar prototipo, que le permite determinar los valores de los registros vectoriales obtenidos como resultado de cálculos en otro hilo lógico del mismo núcleo de la CPU. Compañía Intel apreciado La vulnerabilidad VRS se consideró demasiado compleja para ataques reales y se le asignó un nivel mínimo de gravedad (2.8 CVSS).

Los problemas fueron informados a Intel en mayo de 2019 por el equipo Zombieload de la Universidad Técnica de Graz (Austria) y el equipo VUSec de la Universidad Libre de Amsterdam, y las vulnerabilidades fueron confirmadas posteriormente por varios otros investigadores después de analizar otros vectores de ataque MDS. El primer informe de MDS no incluía información sobre los problemas de L1DES y VRS debido a la falta de una solución. La solución no está disponible ahora, pero el período de confidencialidad acordado ha expirado.
Como solución alternativa, se recomienda desactivar HyperThreading. Para bloquear la vulnerabilidad en el lado del kernel, se propone restablecer 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 promesas lanzará una actualización de microcódigo con la implementación de mecanismos para bloquear problemas en un futuro próximo. Intel también señala que el uso de métodos de protección contra ataques propuestos en 2018 L1TF (L1 Terminal Fault) le permite bloquear la explotación de la vulnerabilidad L1DES desde entornos virtuales. Ataque sujeto a Procesadores Intel Core a partir de la sexta generación (Sky, Kaby, Coffee, Whiskey, Amber Lake, etc.), así como algunos modelos Intel Xeon y Xeon Scalable.

Adicionalmente, se puede señalar mejora explotar, permitiéndole utilizar métodos de ataque RIDL para determinar el contenido del hash de la contraseña raíz de /etc/shadow durante los intentos de autenticación periódicos. Si el exploit propuesto originalmente determinaba el hash de la contraseña en 24 horas, y después de aplicar la fuga durante el funcionamiento del mecanismo de interrupción asíncrona (TAA, TSX Asynchronous Abort) realizó una operación similar en segundos 36, entonces la nueva variante realiza un ataque en 4 segundos.

Fuente: opennet.ru

Añadir un comentario