Fueron descubiertas dos nuevas vulnerabilidades de ejecución especulativa que afectan a Intel
L1D Eviction Sampling, L1DES o también conocido CacheOut es una de las nuevas amenazas que se suman a la lista de conocidos que permiten la posibilidad de atacar las CPU Intel a través de la ejecución de código especulativo. Siendo esta la tercera vez en menos de un año en la que Intel ha presentado un nuevo conjunto de vulnerabilidades relacionadas con la funcionalidad especulativa de sus procesadores.
Ya que el inicio de los problemas de Intel inicio con Spectre y Meltdown, y que después dieron paso con más vulnerabilidades identificadas desde entonces, incluyendo SPOILER, Foreshadow, SwapGS, ZombieLoad, RIDL y Fallout. Pues los nuevos ataques afectan a las CPU Intel fabricadas antes del cuarto trimestre de 2018.
A diferencia de las vulnerabilidades de MDS (Microarchitectural Data Sampling), según el sitio web CacheOut:
Un atacante puede utilizar los mecanismos de almacenamiento en caché de las CPU para seleccionar específicamente los datos que se van a filtrar.
Sus descubridores ven la vulnerabilidad CacheOut como otro ataque a la ejecución especulativa y una consecuencia indirecta de Spectre y Meltdown.
Y es que los investigadores de VUSec parecen haber descubierto la vulnerabilidad en paralelo, pues según el CVE, CacheOut es idéntico a una variante RIDL, a la que sus descubridores se refieren como L1DES (siguen el nombre oficial de Intel como L1D Eviction Sampling)
En un nivel alto, CacheOut fuerza la contención en el caché L1-D para desalojar los datos que apunta desde el caché. Describimos dos variantes.
Primero, en el caso de que el caché contenga datos modificados por la víctima, el contenido de la línea de caché transita a través de los LFB mientras se escribe en la memoria.
En segundo lugar, cuando el atacante desea filtrar datos que la víctima no modifica, el atacante primero desaloja los datos del caché y luego los obtiene cuando transita a través de los buffers de llenado de línea para satisfacer una lectura simultánea de la víctima.
Los mecanismos de defensa de colapso de Intel no tendrían ningún efecto contra CacheOut, pero ayudan a que la vulnerabilidad no podría ser explotada a través del navegador.
VUSec también ofrece un exploit de prueba de concepto para la vulnerabilidad en Github. La vulnerabilidad lleva el CVE-2020-0549 como CacheOut.
Mientras que Intel también le asigna su propio código (INTEL-SA-00329) y lo clasifica como moderado (6.5). Según el propio Intel, los datos del caché de datos L1 (L1D) se pueden redirigir a un búfer L1D no utilizado (búfer de relleno).
Los datos se pueden filtrar y leer específicamente desde este búfer de relleno a través de ataques de canal lateral. Por lo tanto, Intel llama a este método de lectura L1D Eviction Sampling y considera a las víctimas potenciales como un subconjunto de L1TF (Foreshadow y Foreshadow-NG). A diferencia de Foreshadow, los atacantes no deberían poder consultar específicamente direcciones físicas con CacheOut.
La otra de las vulnerabilidades que se han revelado e Intel rastrea como Vector Register Sampling (VRS), es la menos critica ya que Intel dice que esta falla es menos grave debido a que la complejidad del ataque es alta y las posibilidades de que un atacante obtenga datos relevantes son bajas. Además de que VRS también se considera una nueva variante del ataque RIDL.
VRS esta 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.
La fuga ocurre en un conjunto de circunstancias muy especiales 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.
Finalmente, Intel, anuncio que en cuestión de semanas tendría preparadas las actualizaciones pertinentes para solucionar estos fallos.
Mientras que para las CPU AMD, ARM e IBM no se ven afectadas por estas vulnerabilidades.
Los exploits de las vulnerabilidades se pueden encontrar en los siguientes enlaces.