Un equipo de investigadores del MIT CSAIL ha presentado un nuevo método de ataque capaz de sortear las barreras de Spectre v2 en procesadores actuales de Intel y AMD. La técnica, bautizada como 'Interrupt Injection', explota la posibilidad de que un programa Linux sin privilegios controle el momento exacto de una interrupción de hardware para que coincida con el intervalo entre la limpieza del predictor de saltos y su utilización por el kernel, logrando así re-contaminar el predictor una vez que la defensa ya ha actuado.
Los investigadores Daniël Trujillo y Mengjia Yan demostraron el ataque en una máquina AMD Zen 2 con Linux 6.14 y todas las mitigaciones de Spectre v2 activadas por defecto. Su exploit logró extraer memoria arbitraria del kernel a una velocidad de 5.47 bytes por segundo con una precisión del 91.97%, suficiente para localizar y leer el archivo /etc/shadow, que contiene los hashes de contraseñas del sistema, en cinco de cada diez intentos. El ataque no requiere privilegios especiales, solo la capacidad de ejecutar código local, lo que lo hace especialmente relevante en entornos compartidos con procesadores afectados.
Los investigadores notificaron a AMD e Intel el 5 de febrero. AMD ha indicado que planea un parche de kernel y, según el MIT, ya se ha lanzado uno que se incluirá en las actualizaciones normales del sistema operativo. AMD publicó un boletín el 6 de agosto, AMD-SB-7061, titulado 'Safe RET Interrupt Vulnerability', que enumera los procesadores Zen 1 a Zen 4 como afectados. El boletín confirma que un atacante podría inyectar una interrupción en un momento preciso para alterar Safe RET, debilitando la protección y potencialmente permitiendo la divulgación de información. AMD también señala que el problema parece asociado con la implementación de Linux de la mitigación Safe RET. El boletín no incluye una versión de parche, commit de kernel ni CVE, lo que dificulta a los administradores verificar si sus sistemas ya tienen el parche.
Los investigadores no consideran que la falta de divulgación en Intel sea una barrera. En declaraciones a The Hacker News, afirmaron: 'las predicciones erróneas son una condición necesaria pero no suficiente para un ataque Spectre, pero creemos que un ataque de extremo a extremo es posible en Intel también combinando nuestra primitiva de Inyección de Interrupciones con trabajos previos que ya han demostrado la existencia de gadgets de divulgación en los kernels'.
Las defensas de Spectre v2, tanto en Intel como en AMD, funcionan sanitizando o aislando el estado del predictor de saltos para evitar que el entrenamiento previo de un atacante pueda influir en las ramas del kernel. Intel lo hace a la entrada del kernel con eIBRS y, dependiendo del procesador, con un bucle de limpieza del búfer de historial de ramas o el control BHI_DIS_S. AMD lo hace justo antes de cada retorno de kernel con 'saferet'. Sin embargo, todas estas defensas asumen que no hay actividad hostil en el intervalo entre la neutralización y el uso. Los investigadores denominan a esta clase de vulnerabilidades TONTOU (Time-of-Neutralization to Time-of-Use), en analogía con las carreras TOCTOU del software. Las interrupciones rompen esa suposición, ya que pueden dispararse en casi cualquier punto y Linux permite a cualquier usuario programarlas con granularidad de nanosegundos.
En el procesador AMD Zen 2, la ventana de oportunidad es de solo dos instrucciones (seis bytes). Los investigadores ampliaron sus posibilidades expulsando esos bytes de la caché L1 y L2 mediante un hilo hipervisor hermano y seleccionando la llamada al sistema 'write', que les permitía controlar dos registros. Las interrupciones aterrizaron dentro de la ventana entre el 5% y el 12% de las veces, y alrededor del 2% con los registros bajo control del atacante. Una vez dentro, el manejador de interrupciones se convirtió en el gadget de entrenamiento, utilizando la vulnerabilidad Inception (CVE-2023-20569) para llenar el búfer de la pila de retorno con un destino elegido por el atacante. Las predicciones erróneas se observaron en tres de las cuatro máquinas probadas, con tasas de éxito del 0.75% en Zen 2, 0.22% en Intel Arrow Lake y 0.037% en Cascade Lake Refresh. En Zen 4 no se produjeron en esa prueba, y no se demostró una fuga de extremo a extremo en Intel, donde el atacante también necesitaría un gadget de divulgación útil en el kernel.
Intel, por su parte, pagó una bonificación discrecional por error pero, según el artículo, 'no considera que se requiera una mitigación', argumentando que la explotabilidad depende de muchos factores y que la técnica está cubierta por las guías existentes. The Hacker News revisó la guía INTEL-SA-00598 en su versión actualizada de mayo de 2025 y no encontró ninguna mención a las interrupciones. La solución propuesta por los investigadores es una segunda neutralización en la salida de una interrupción, como rellenar el búfer de la pila de retorno antes de iret, o usar IBHF en las partes más nuevas de Intel. Bloquear las interrupciones durante la ventana conllevaría un costo de rendimiento no cuantificado en el artículo. El trabajo se presentó en Black Hat USA y se expondrá en USENIX Security en Baltimore. El repositorio de artefactos mencionado aún no es público.



















Deja una respuesta