Las vulnerabilidades que han afectado a los procesadores Intel durante los últimos meses han sido numerosas y de gran gravedad, exponiendo a los usuarios a riesgos significativos de fuga de datos. Estas fallas, que aprovechan complejidades en la arquitectura de las CPU, requieren soluciones a menudo profundas, que van más allá de las simples actualizaciones de software.

Spoiler: Una Falla en la Ejecución Especulativa
Qué es y cómo funciona Spoiler
Una de las vulnerabilidades más recientes en los procesadores Intel que salió a la luz ha sido bautizada como Spoiler. Esta falla explota las debilidades inherentes a la función conocida como ejecución especulativa, una técnica utilizada por los procesadores Intel y otros fabricantes para mejorar el rendimiento.
El problema fundamental reside en que los procesadores no separan por completo los procesos clave que tienen acceso al kernel del sistema operativo de aquellos con privilegios bajos y de poca confianza (como los de muchas aplicaciones). Esto permite que un atacante pueda aprovechar esta función para que el procesador anticipe datos que no debería, precisamente gracias a esa ejecución especulativa.
Diferencia con Spectre y Mecanismo Específico
A diferencia de vulnerabilidades previas como Spectre, Spoiler se dirige a un área diferente del procesador conocida como Memory Order Buffer. Esta es una función crucial utilizada para administrar las operaciones de memoria y está estrechamente relacionada con la memoria caché.
Métodos de Explotación y Alcance
Según la investigación, un atacante puede explotar Spoiler mediante diversas técnicas. Estas incluyen el uso de un JavaScript malicioso dentro de una pestaña del navegador web, la ejecución de malware en un sistema, o incluso ataques de tipo Rowhammer contra la memoria dinámica de acceso aleatorio (DRAM), muy común en terminales Android. Los ambientes para explotarlo van desde malware hasta código JavaScript en el navegador, sin necesidad de ningún permiso elevado. Esto implica que Spoiler puede explotarse mucho más fácilmente que otras vulnerabilidades que requerían múltiples pasos previos o incluso acceso local con permisos de administrador.
La vulnerabilidad afecta a todos los procesadores de Intel desde la primera generación Core hasta la última, la novena. Es independiente del sistema operativo sobre el que se ejecute, haciendo que todos sean vulnerables, y funciona incluso desde máquinas virtuales y entornos de espacio aislado.
ORDENAMIENTO DE MEMORIA | LITTLE-ENDIAN VS BIG-ENDIAN | ARQUITECTURA DE PROCESADORES
Desafíos en la Mitigación de Spoiler
Según los expertos, Spoiler no se puede resolver con una simple actualización a nivel de software, ni siquiera combinando actualizaciones de BIOS y sistema operativo. La única opción que tiene Intel para una solución definitiva es abordarla a nivel de silicio en sus próximos procesadores. Las mitigaciones implementadas para Spectre tampoco son efectivas contra Spoiler.
Los investigadores han concluido que la solución total y definitiva para estar libre de Spoiler pasa por reemplazos en el mismo silicio, es decir, cambiando el procesador. La solución definitiva ni existe ni existirá en la generación actual de procesadores, ya que exige una nueva arquitectura que modifique o elimine las técnicas de ejecución especulativa. Dada la naturaleza de este fallo a nivel de arquitectura, los investigadores no creen que Intel pueda ofrecer una solución a corto plazo, estimando que podrían pasar al menos cinco años antes de una solución arquitectónica. La vulnerabilidad es crítica, aunque en su momento se desconocía su alcance total y posibilidades de explotación.
Cronología de la Divulgación
Intel fue informado de esta investigación el 1 de diciembre de 2018. Su divulgación guardó el periodo de gracia de 90 días, un protocolo común en la comunidad de seguridad para la revelación responsable de vulnerabilidades.
Downfall (AVX2/AVX-512): Fuga de Datos en Registros Internos
Alcance y Procesadores Afectados
Otra vulnerabilidad significativa, conocida como Intel Downfall AVX2/AVX-512, afecta específicamente a los procesadores que utilizan los conjuntos de instrucciones AVX2 y AVX-512. Este fallo de seguridad microarquitectónico en las CPU de Intel impacta a diversas CPU desde Skylake hasta Tiger Lake/Ice Lake. El impacto de Downfall se extiende a los procesadores Xeon Scalable Ice Lake del lado del servidor y los procesadores del lado del cliente desde Tiger Lake hasta Skylake.
Es importante destacar que Alder Lake, Raptor Lake y Sapphire Rapids estaban exentos del alcance inicial de Downfall, aunque Intel rápidamente proporcionó mitigaciones de microcódigo en respuesta.
Mecanismo de Fuga de Datos
Downfall se caracteriza por hacer accesibles involuntariamente al software los registros internos del hardware, como una minimización de memoria. La fuente de esta vulnerabilidad es la instrucción AVX GATHER, que accidentalmente expone datos del archivo de registro vectorial interno durante la ejecución especulativa. Esta exposición posibilita la fuga potencial de datos, permitiendo que software no fiable acceda a información que idealmente debería permanecer inaccesible.

Impacto en el Rendimiento y Mitigaciones
Las mitigaciones proporcionadas por Intel, sin embargo, conllevan una advertencia crucial: las posibles consecuencias para el rendimiento del microcódigo. Las cargas de trabajo que requieren una alta vectorización, como las que utilizan AVX2/AVX-512, pueden sufrir importantes caídas de rendimiento. Sectores como la inteligencia artificial (IA), la computación de alto rendimiento (HPC), la codificación de vídeo y la transcodificación pueden verse especialmente afectados. Aunque Intel se ha abstenido de hacer promesas concretas de rendimiento, sus socios han informado de posibles implicaciones de hasta el 50%.
Los usuarios que consideren que sus sistemas no están afectados tienen la opción de desactivar el cambio de microcódigo como parte de la respuesta de Intel a Downfall. Aunque Intel destaca la dificultad de llevar a cabo un ataque Downfall fuera de circunstancias controladas, persiste el desacuerdo sobre la viabilidad de tales ataques en situaciones reales.
La próxima actualización del microcódigo de la CPU de Intel y las correcciones relacionadas del kernel de Linux buscan proporcionar una recuperación efectiva a Downfall. Debido al posible impacto del microcódigo en el rendimiento, se han realizado numerosas pruebas comparativas para evaluar sus efectos.
Notificación y Relevancia
Daniel Moghimi informó a Intel de la existencia de Downfall en agosto de 2022, pero la información pública no se divulgó hasta un año después. Debido a este riesgo para la seguridad de los datos, la vulnerabilidad AVX-512 Downfall ocupa una posición crucial en el panorama del desarrollo de vulnerabilidades de los procesadores. Es fundamental que los usuarios se informen sobre la mitigación, los impactos y los pasos para proteger sus sistemas.
CacheOut (L1DES) y Vector Register Sampling (VRS): Amenazas Adicionales
L1D Eviction Sampling (CacheOut/L1DES)
L1D Eviction Sampling, también conocido como L1DES o CacheOut, es otra de las amenazas que se suman a la lista de vulnerabilidades que permiten atacar las CPU Intel a través de la ejecución de código especulativo. A un nivel alto, CacheOut fuerza la contención en el caché L1-D para desalojar los datos que apunta desde el caché.
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 denomina 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).
Vector Register Sampling (VRS)
Otra de las vulnerabilidades reveladas que Intel rastrea como Vector Register Sampling (VRS), se considera menos crítica. Intel ha indicado que esta falla es menos grave debido a la alta complejidad del ataque y las bajas posibilidades de que un atacante obtenga datos relevantes.
VRS 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. 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.
