Downfall y Zenbleed son vulnerabilidades que afectan a los procesadores, específicamente a los Intel Core (de la 6.ª a la 11.ª generación) y a los AMD Zen 2, respectivamente. Ambas permiten a un atacante acceder a datos que deberían estar protegidos dentro del procesador.
Los procesadores modernos incorporan características avanzadas que les permiten realizar tareas de forma rápida y eficiente. Sin embargo, esas mismas características pueden tener errores que un atacante es capaz de aprovechar.
Downfall: la función «Gather» en procesadores Intel
Downfall afecta a una función llamada Gather, que proporciona una forma optimizada de acceder a múltiples ubicaciones no contiguas de la memoria, algo crucial para ciertas aplicaciones y algoritmos.
Usando esta técnica, un atacante podría extraer datos de otros usuarios que comparten el mismo núcleo de CPU. El objetivo natural son las credenciales de alto valor, como contraseñas y claves de cifrado. Recuperar ese material no solo rompe la confidencialidad: abre la puerta a ataques posteriores que comprometen también la integridad y la disponibilidad del sistema.
Zenbleed: la función «Zeroupper» en procesadores AMD
Zenbleed se relaciona con una función llamada Zeroupper, diseñada para limpiar la mitad superior de los registros YMM, de 256 bits. Debido a un error, en lugar de poner a cero esos datos como debería, deja residuos de información antigua que un atacante podría leer.
La ironía es que Zeroupper existe precisamente para optimizar y prevenir problemas de rendimiento: es ese error de implementación el que acaba provocando la fuga.
Aspectos clave
- Afectados: Downfall afecta a Intel Core (6.ª-11.ª generación) y Zenbleed a AMD Zen 2.
- Datos filtrados: Downfall puede filtrar registros completos, mientras que Zenbleed solo expone la mitad superior de ciertos registros. Los registros YMM son de 256 bits, el doble que los XMM: la «mitad inferior» son los primeros 128 bits —equivalentes en tamaño a un registro XMM— y la «mitad superior», los 128 bits restantes.
- Cómo se descubrieron: Downfall, mediante análisis microarquitectónico; Zenbleed, mediante fuzzing, la técnica que consiste en probar instrucciones de forma aleatoria hasta que alguna provoca un error o una fuga de datos en el sistema examinado.
- Impacto en el rendimiento de la mitigación: Downfall puede penalizar entre un 0 % y un 50 % según la tarea; en Zenbleed el impacto es insignificante y, por tanto, más difícil de detectar.
Solución
Ambos problemas se corrigieron con actualizaciones de microcódigo.
Downfall se reportó el 24 de agosto de 2022 y se solucionó el 8 de agosto de 2023. Zenbleed se reportó el 15 de mayo de 2023 y se solucionó el 19 de julio de 2023. Google, que descubrió ambas vulnerabilidades, trabajó con socios de la industria para informarles y coordinar las soluciones, y publicó boletines de seguridad detallando su respuesta a cada una.
Más información
- Downfall se presentó el 9 de agosto de 2023 en BlackHat USA 2023, con el identificador CVE-2022-40982.
- Página oficial de la vulnerabilidad: downfall.page.
- Zenbleed: el post publicado por su descubridor recoge el detalle técnico completo.