Fabricantes crearon accidentalmente una arquitectura que espía a sus propios usuarios.
La empresa AMD informó sobre la detección de una nueva clase de vulnerabilidades en sus procesadores, denominadas Transient Scheduler Attacks (TSA). Estos ataques están relacionados con canales laterales especulativos que surgen bajo ciertas condiciones microarquitectónicas y pueden provocar la filtración de información confidencial. El problema afecta a una amplia gama de chipsets, incluidos procesadores para servidores, equipos de escritorio y dispositivos móviles.
Las vulnerabilidades fueron descubiertas como parte de una investigación conjunta entre especialistas de Microsoft y el Instituto Federal Suizo de Tecnología en Zúrich, dirigida a comprobar la resistencia de las CPU modernas frente a la ejecución especulativa de instrucciones. Las pruebas se realizaron con un enfoque en el aislamiento entre dominios de seguridad —el sistema operativo, las máquinas virtuales y los procesos de usuario. Como resultado, se identificaron cuatro vulnerabilidades, a las que se asignaron los siguientes identificadores:
La compañía clasificó TSA como un nuevo tipo de canal lateral especulativo, aclarando que los ataques TSA no están relacionados con mecanismos conocidos como el Predictive Store Forwarding (PSF). El vector principal de vulnerabilidad radica en la finalización errónea de operaciones de carga de datos. En este estado, el procesador considera erróneamente que la instrucción de carga se ha completado y permite la ejecución de operaciones dependientes. Aunque los datos aún no estén disponibles en ese momento, pueden ser utilizados y afectar al tiempo de ejecución de las siguientes instrucciones, lo que permite a un atacante inferir información mediante el análisis de estos desajustes temporales.
AMD ha identificado dos variantes del ataque TSA — TSA-L1 y TSA-SQ. La primera se basa en un error en el uso de etiquetas internas de la caché L1 al buscar datos. La segunda está relacionada con que una operación de carga utiliza prematuramente datos de la cola de escritura del procesador, aunque dichos datos aún no hayan sido generados. En ambos casos, la vulnerabilidad permite leer información a la que el proceso actual no debería tener acceso —ya sea caché del núcleo del sistema operativo, del hipervisor o de otro proceso de usuario.
En el peor de los escenarios, estos ataques podrían romper los límites entre distintos niveles de privilegio: una aplicación podría acceder al núcleo del sistema operativo, una máquina virtual invitada al hipervisor y un proceso de usuario a otro. Sin embargo, la explotación exitosa de TSA requiere la ejecución de código malicioso en el dispositivo vulnerable, lo que hace que estos ataques no sean posibles a través de navegadores web o contenido común en internet.
Entre los dispositivos afectados se encuentran los procesadores AMD EPYC de tercera y cuarta generación, el chip AMD Instinct MI300A, así como modelos de escritorio y móviles Ryzen de las series 5000, 6000, 7000, 7035, 7040, 8000 y 8040. Además, las vulnerabilidades también afectan a los procesadores Ryzen Threadripper PRO 7000 WX y a las soluciones integradas EPYC y Ryzen Embedded.
AMD destaca que para explotar exitosamente TSA, el atacante necesita ejecutar múltiples veces el código de la víctima para crear de manera consistente las condiciones necesarias para la finalización errónea de instrucciones. Esto solo es posible si ya existe un canal de comunicación establecido entre ambas partes, por ejemplo, entre una aplicación y el núcleo del sistema operativo.