Noticia AMD revela una nueva clase de vulnerabilidades en sus procesadores Zen 3 y Zen 4

vulnerabilidad


Se ha dado a conocer información sobre una nueva amenaza de seguridad en procesadores AMD con la revelación de una técnica de ataque microarquitectónico bautizada como TSA (Transient Speculation Attack o Ataque de Programador Transitorio).

Los ataques TSA constituyen una nueva clase de vulnerabilidades especulativas de canal lateral que explotan el comportamiento del procesador bajo ciertas condiciones microarquitectónicas. Se basan en el análisis del tiempo que tarda una instrucción en ejecutarse, lo cual puede revelar información sensible cuando el procesador toma decisiones especulativas incorrectas.

En escenarios específicos, esta diferencia de tiempo puede ser aprovechada por un atacante para inferir datos que deberían permanecer aislados, lo que se traduce en una fuga de información que compromete directamente los mecanismos de aislamiento entre procesos y niveles de privilegio.

¿Qué es TSA y cómo compromete la seguridad?​


Transient Speculation Attack o TSA, explota la ejecución especulativa y las estructuras internas de la CPU para acceder a información que, en condiciones normales, debería permanecer completamente aislada entre procesos o entre sistemas invitados en una máquina virtual.

El ataque se basa en una condición conocida como “falsa finalización” de una instrucción, donde el procesador, asumiendo que ciertos datos están disponibles (por ejemplo, en la caché L1), lanza prematuramente operaciones especulativas que dependen del resultado de esa instrucción.

En este caso, las operaciones dependientes pueden programarse para su ejecución antes de que se detecte la falsa finalización. Como la carga no se completó, los datos asociados a ella se consideran inválidos. La carga se volverá a ejecutar posteriormente para completarse correctamente, y cualquier operación dependiente se volverá a ejecutar con los datos válidos cuando estén listos.

Si más tarde se descubre que la información no estaba disponible, la operación se invalida y se reinicia, pero las operaciones especulativas ya han dejado rastros temporales que pueden ser medidos a través del análisis del tiempo de ejecución. Aunque estas operaciones no modifican la caché ni el TLB, sí influyen en la latencia de instrucciones posteriores, lo que permite extraer indirectamente información sensible.

Si bien los datos inválidos asociados con una falsa finalización pueden reenviarse a las operaciones dependientes, las instrucciones de carga y almacenamiento que consumen estos datos no intentarán obtener datos ni actualizar el estado de la caché o la TLB. Por lo tanto, el valor de estos datos no válidos no puede inferirse mediante métodos estándar de canal lateral transitorio.

CVE-2024-36350 y CVE-2024-36357​


Se han identificado dos variantes específicas del ataque TSA:

  • CVE-2024-36350 (TSA-SQ): Explotación del búfer de escritura (Store Queue), que permite deducir el resultado de operaciones de escritura en memoria.
  • CVE-2024-36357 (TSA-L1): Explotación de la caché de datos de primer nivel (L1D), mediante la cual se puede inferir información procesada a nivel de kernel.

Estas vulnerabilidades permiten a un atacante eludir los mecanismos tradicionales de separación entre usuario y kernel, o incluso entre máquinas virtuales, comprometiendo así la confidencialidad de los datos procesados en entornos compartidos.

¿Qué procesadores están afectados?​


La amenaza afecta a los procesadores AMD basados en las microarquitecturas Zen 3 y Zen 4. Esto incluye una amplia gama de productos tanto para usuarios finales como para centros de datos:

  • AMD Ryzen 5000, 6000, 7000 y 8000.
  • AMD EPYC Milan, Milan-X, Genoa, Genoa-X, Bergamo y Siena.
  • AMD Instinct MI300A.
  • AMD Ryzen Threadripper PRO 7000 WX.
  • AMD EPYC Embedded 7003, 8004, 9004 y 97X4.
  • AMD Ryzen Embedded 5000, 7000 y V3000.

El hecho de que TSA impacte una porción tan amplia del catálogo actual de AMD lo convierte en un riesgo de seguridad de alto alcance.

Mitigaciones disponibles y consideraciones​


AMD ha desarrollado mitigaciones que están siendo distribuidas a través de actualizaciones de firmware desde diciembre. Estos parches incluyen ajustes en el firmware PI (Platform Initialization) enviados a los fabricantes OEM, y se están integrando también en los sistemas operativos y plataformas de virtualización.

En el caso de Linux, se han propuesto parches para el kernel que permiten desactivar la protección mediante la opción tsa=off en la línea de comandos. Esta posibilidad se ofrece porque, si bien la mitigación bloquea el ataque, también puede introducir degradaciones en el rendimiento del sistema.

El hipervisor Xen también ha incorporado medidas para mitigar el riesgo que representa TSA, consolidando su postura frente a amenazas dirigidas a la infraestructura de virtualización.

TSA se suma a una lista creciente de ataques que explotan la ejecución especulativa para filtrar datos sensibles desde el hardware, como ya lo hicieron en su momento Meltdown, Spectre y otros derivados. Esta nueva vulnerabilidad resalta la complejidad de mantener la seguridad en arquitecturas modernas que priorizan el rendimiento a través de optimizaciones como la predicción de instrucciones.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Continúar leyendo...