CPU Intel y AMD en Linux afectadas por el bypass Spectre recientemente revelado

CPU Intel y AMD en Linux afectadas por el bypass Spectre recientemente revelado

Las últimas generaciones de procesadores Intel, incluidos los chips Xeon, y las microarquitecturas AMD más antiguas bajo Linux son vulnerables a nuevos ataques de ejecución especulativa que eluden las mitigaciones “Spectre” existentes.

Las vulnerabilidades afectan a las generaciones 12, 13 y 14 de chips Intel para consumidores y a las generaciones 5 y 6 de procesadores Xeon para servidores, así como a los procesadores AMD Zen 1, Zen 1+ y Zen 2.

Los ataques socavan la barrera de predicción de rama indirecta (IBPB) en los procesadores x86, un mecanismo de defensa crítico contra ataques de ejecución especulativa.

La ejecución especulativa es una característica de optimización del rendimiento en los procesadores modernos que ejecuta instrucciones antes de saber si son necesarias para tareas futuras, acelerando así el proceso cuando la predicción es correcta. Las instrucciones ejecutadas en base a un error de predicción se denominan transitorios y se sobrescriben.

Este mecanismo ha sido una fuente de riesgos secundarios, como Spectre, porque el proceso de especulación invoca datos confidenciales que podrían recuperarse del caché de la CPU.

Nuevos ataques tipo fantasma

Johannes Wikner y Kaveh Razavi, investigadores de ETH Zurich, explican que a pesar de los esfuerzos de mitigación realizados durante varios años para contener los ataques de Spectre, muchas variantes eluden las defensas existentes.

Su contribución es un ataque entre procesos (en Intel) y un ataque de inicio de PB (en AMD) que permiten secuestrar objetivos de rendimiento especulativos incluso después de aplicar IBPB, eludiendo así las protecciones actuales y revelando información sensible.

En el primer caso, el ataque explota una falla en el microcódigo de Intel donde IBPB no invalida por completo las predicciones de retorno después de un cambio de contexto.

El atacante manipula la ejecución especulativa de las instrucciones de devolución, lo que permite que las predicciones obsoletas filtren información confidencial, como el hash de la contraseña raíz, de un proceso suid.

En los procesadores AMD, el IBPB al ingresar al kernel de Linux no se aplica correctamente, lo que hace que el predictor de retroalimentación conserve predicciones obsoletas incluso después del IBPB.

El atacante maneja mal el predictor de retorno antes de activar IBPB, secuestrándolo para escapar de la memoria privilegiada del kernel después de la barrera.

Vuelven las predicciones sobre Intel y AMD que siguen siendo vulnerables después de IBPB
Vuelven las predicciones sobre Intel y AMD que siguen siendo vulnerables después de IBPB
Fuente: ETH Zúrich

Medidas de respuesta y mitigación

Los investigadores notificaron a Intel y AMD sobre estos problemas en junio de 2024.

Intel respondió diciendo que ya habían descubierto el problema internamente y le asignaron el CVE-2023-38575 identificador.

La compañía lanzó un parche de microcódigo disponible a través de una actualización de firmware en marzo, pero los investigadores señalan que el código no ha llegado a todos los sistemas operativos, entre ellos Ubuntu.

AMD también confirmó la vulnerabilidad y afirmó que la falla ya había sido documentada y rastreada como CVE-2022-23824. Cabe señalar que el aviso de AMD incluye como afectados los productos Zen 3, los cuales no figuran en Artículo de ETH Zurich.

Sin embargo, AMD clasifica el problema como un error de software y no como un defecto de hardware. Las antiguas arquitecturas afectadas y el hecho de que AMD se enteró del error hace mucho tiempo pueden explicar la decisión de la compañía de no lanzar el microcódigo del parche.

Aunque ambos proveedores de procesadores estaban al tanto de la omisión de Spectre, las empresas señalaron en sus avisos que tenían un impacto potencial. A través de su trabajo, los investigadores de ETH Zurich pudieron demostrar que el ataque funciona incluso en Linux 6.5, que tiene las defensas de ingreso IBPB consideradas las más poderosas contra la explotación de Spctre.

El equipo de ETH Zurich está trabajando con los mantenedores del kernel de Linux para desarrollar un parche para los procesadores AMD, que Estará disponible aquí cuando esté listo.