Los microprocesadores superescalares contemporáneos con ejecución desordenada utilizan varias formas de aumentar su rendimiento. El subproceso múltiple simultáneo (ejecutar más de un subproceso de código en un núcleo de CPU) es una de las formas más eficientes de mejorar el rendimiento del procesador.
Pero la implementación de SMT de AMD parece ser vulnerable al llamado ataque de canal lateral SQUIP que puede revelar una clave RSA de 4096 bits con bastante rapidez.
Todas las microarquitecturas Zen de AMD tienen colas de programación separadas por unidad de ejecución (al igual que las CPU de la serie M1 de Apple). Cada uno de estos programadores mantiene colas separadas desde donde se emiten los μops para las unidades de ejecución correspondientes. El programador de AMD con SMT habilitado introduce interferencias en las cargas de trabajo, lo que abre las puertas para observar la contención de la cola del programador a través de contadores de rendimiento y lecturas de temporizador no serializadas en subprocesos hermanos en el mismo núcleo. Tal preparación y sondeo le permite realizar un ataque de canal lateral en las preguntas del programador. Los investigadores llaman al método Scheduler Queue Usage (es decir, ocupación) a través de Interference Probing o SQUIP.
La vulnerabilidad afecta a todos los procesadores Ryzen existentes de AMD con microarquitecturas Zen 1/2/3. Para explotar la debilidad y obtener acceso a los datos procesados por el mismo núcleo de la CPU, los perpetradores primero deben ejecutar un código malicioso en ese núcleo de la CPU, lo cual no es particularmente fácil. Mientras tanto, la mitigación completa de SQUIP podría requerir la desactivación de la tecnología SMT en todos los procesadores basados en Zen existentes de AMD, lo que afectará gravemente su rendimiento.
«Un atacante que se ejecuta en el mismo host y núcleo de CPU que usted podría espiar qué tipos de instrucciones está ejecutando debido al diseño de programador dividido en las CPU de AMD», explicó Daniel Gruss, investigador informático de la Universidad Tecnológica de Graz, en una conversación con The Register. «El M1 de Apple (probablemente también el M2) sigue el mismo diseño, pero aún no se ve afectado, ya que aún no han introducido SMT en sus CPU».
Según los informes, AMD confirmó el problema, actualmente llamado AMD-SB-1039: vulnerabilidad de canal lateral de contención del programador de la unidad de ejecución en los procesadores AMD, y dijo que la compañía lo considera una amenaza de «gravedad media».
«AMD recomienda que los desarrolladores de software empleen las mejores prácticas existentes, incluidos los algoritmos de tiempo constante y eviten los flujos de control dependientes de secretos cuando sea apropiado para ayudar a mitigar esta vulnerabilidad potencial», se lee en la mitigación de AMD.