Linux Adictos David Naranjo  

VRS y CacheOut, dos nuevas vulnerabilidades que afectan a Intel

Recientemente Intel reveló dos nuevas vulnerabilidades en sus propios procesadores, una vez más se refiere a variantes del conocido MDS (Microarquitectural Data Sampling) y se basan en la aplicación de métodos de análisis de terceros a los datos en estructuras de microarquitectura. Los investigadores de la Universidad de Michigan y de la Vrije Universiteit Amsterdam (VUSec) descubrieron las posibilidades de ataque.

De acuerdo con Intel, esto afecta a los procesadores actuales de escritorio y móviles como Amber Lake, Kaby Lake, Coffee Lake y Whiskey Lake, pero también Cascade Lake para servidores.

CacheOut

El primero de ellos tiene como nombre L1D Eviction Sampling o L1DES para abreviar o también se conoce como CacheOut, registrada como “CVE-2020-0549“ esta es la de mayor peligro dado que permite el hundimiento de los bloques de línea de caché forzados a salir del caché de primer nivel (L1D) en el buffer de llenado, que debería estar vacío en esta etapa.

Para determinar los datos que se han asentado en el búfer de relleno, son aplicables los métodos de análisis de terceros previamente propuestos en los ataques MDS y TAA (Transactional Asynchronous Abort).

La esencia de la protección implementada previamente de MDS y TAA resultó que, en algunas condiciones, los datos se vacían especulativamente después de la operación de limpieza, por lo que los métodos MDS y TAA siguen siendo aplicables.

Como resultado, un atacante puede determinar si los datos que se han desplazado del caché de primer nivel durante la ejecución de una aplicación que anteriormente ocupaba el núcleo de la CPU actual o aplicaciones que se ejecutan simultáneamente en otros hilos lógicos (hyperthread) en el mismo núcleo de la CPU (la desactivación de HyperThreading reduce sin eficiencia el ataque).

A diferencia del ataque L1TF, L1DES no permite seleccionar direcciones físicas específicas para la verificación, pero permite supervisar pasivamente la actividad en otras secuencias lógicas asociadas con la carga o el almacenamiento de valores en la memoria.

El equipo de VUSec adaptó el método de ataque RIDL para la vulnerabilidad L1DES y que además está disponible un prototipo de exploit, que también omite el método de protección MDS propuesto por Intel, basado en el uso de la instrucción VERW para borrar el contenido de las memorias intermedias de microarquitectura cuando regresan del kernel al espacio del usuario o cuando transfieren el control al sistema invitado.

Por otra parte, también ZombieLoad ha actualizado su método de ataque con la vulnerabilidad L1DES.

Mientras que los investigadores de la Universidad de Michigan han desarrollado su propio método de ataque CacheOut que permite extraer información confidencial del núcleo del sistema operativo, máquinas virtuales y enclaves seguros SGX. El método se basa en manipulaciones con el TAA para determinar el contenido del búfer de llenado después de la fuga de datos de la caché L1D.

VRS

La segunda vulnerabilidad es Vector Register Sampling (VRS) una variante de RIDL (Rogue In-Flight Data Load), que está relacionada con una fuga en el Store Buffer de los resultados de las operaciones de lectura de los registros vectoriales que se modificaron durante la ejecución de las instrucciones vectoriales (SSE, AVX, AVX-512) en el mismo núcleo de la CPU.

Una fuga ocurre en un conjunto de circunstancias bastante raro y es causada por el hecho de que una operación especulativa realizada, que lleva al reflejo del estado de los registros de vectores en el búfer de almacenamiento, se retrasa y termina después de que se despeja el búfer, y no antes. De manera similar a la vulnerabilidad L1DES, el contenido del búfer de almacenamiento se puede determinar utilizando métodos de ataque MDS y TAA.

Sin embargo, según Intel es poco probable que sea explotable ya que lo cataloga como demasiado complejo para llevar a cabo ataques reales y le asignó un nivel mínimo de peligro, con un puntaje de 2.8 CVSS.

Aunque los investigadores del grupo VUSec han preparado un prototipo de exploit que le permite determinar los valores de los registros vectoriales obtenidos como resultado de los cálculos en otra secuencia lógica del mismo núcleo de CPU.

CacheOut es particularmente relevante para los operadores de la nube, ya que los procesos de ataque pueden leer datos más allá de una máquina virtual.

Finalmente Intel promete lanzar una actualización de firmware con la implementación de mecanismos para bloquear estos problemas.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.