EntrySign afecta también a procesadores AMD Zen 5 y pone en jaque la verificación de microcódigo
Hace algunas semanas compartimos aquí en el blog la noticia de la vulnerabilidad EntrySign la cual permite evadir el mecanismo de verificación de firma digital durante la actualización del microcódigo en procesadores AMD.
Lo que inicialmente parecía un fallo limitado a las generaciones Zen 1 a Zen 4, ahora se extiende a chips tan actuales como los Ryzen 9000, EPYC 9005, Ryzen AI 300 y Ryzen 9000HX. Esta falla permite, en determinadas condiciones, modificar el microcódigo de la CPU eludiendo el mecanismo de verificación de firmas digitales, con implicaciones graves para la seguridad de sistemas virtualizados.
La raíz del problema está en el uso inapropiado del algoritmo CMAC durante el proceso de validación del microcódigo. AMD emplea tradicionalmente una clave RSA privada para firmar digitalmente el contenido de estas actualizaciones, y una clave pública incluida en el parche para verificar la autenticidad del microcódigo en el momento de la carga. Sin embargo, el hash de la clave pública que debería garantizar esta integridad se genera utilizando AES-CMAC, un MAC criptográfico que, a diferencia de una función hash robusta, no ofrece garantías frente a colisiones.
Este diseño, sumado al hecho de que AMD ha utilizado una clave de cifrado común para todas sus CPU desde Zen 1, ha permitido a los investigadores extraer dicha clave de cualquier procesador afectado y reutilizarla para manipular parches de microcódigo en otros equipos. Sorprendentemente, esta clave coincide con un ejemplo público de las prácticas de cifrado del estándar NIST SP 800-38B, lo que evidencia un uso descuidado de buenas prácticas criptográficas.
Microcódigo falso, firmas válidas
A partir de esta debilidad, los investigadores lograron generar claves públicas que producen el mismo hash que la clave original de AMD, lo que les permitió construir parches falsos capaces de eludir los controles de integridad. Estas colisiones se logran insertando bloques adicionales al final del microcódigo, de apariencia aleatoria pero cuidadosamente calculados, lo que permite mantener la firma digital aparentemente intacta. De esta forma, se puede alterar el comportamiento interno del procesador sin activar mecanismos de alerta.
Este proceso ha sido facilitado por herramientas de análisis como Zentool, un conjunto de utilidades de código abierto que permite estudiar el microcódigo de AMD y preparar parches modificados. Para que este tipo de ataque se materialice, el atacante debe contar con privilegios de Ring 0, es decir, acceso al nivel más alto del sistema operativo, lo cual es factible en entornos virtualizados si se vulnera el hipervisor o mediante configuraciones inseguras de tecnologías como VT-x o AMD-V.
Impacto en AMD SEV y virtualización segura
Más allá de la manipulación del microcódigo, EntrySign representa una amenaza directa para AMD SEV (Secure Encrypted Virtualization) y su extensión SEV-SNP (Secure Nested Paging), tecnologías diseñadas para garantizar la integridad y confidencialidad de las máquinas virtuales incluso frente a ataques desde el hipervisor o el sistema host. Con esta vulnerabilidad, es posible interferir con los registros protegidos del procesador, modificar tablas de páginas anidadas y alterar el comportamiento de sistemas invitados, comprometiendo su seguridad a niveles profundos.
Respuesta de AMD y medidas de mitigación
Ante esta situación, AMD ha comenzado a distribuir actualizaciones de microcódigo que corrigen el fallo, aunque en sistemas que utilizan SEV-SNP también es necesario actualizar el firmware del módulo SEV, lo cual requiere una actualización del BIOS. La compañía ya ha enviado a los fabricantes un nuevo paquete denominado ComboAM5PI 1.2.0.3c AGESA, pero se estima que los parches finales podrían tardar semanas o incluso meses en estar disponibles para los usuarios finales.
Adicional a ello, los ingenieros de AMD han propuesto un parche para el kernel de Linux que bloquea la carga de microcódigo no oficial. Esta medida apunta a evitar la propagación de parches modificados por terceros, como los creados por entusiastas a partir de fragmentos extraídos del BIOS. Mientras tanto, se recomienda encarecidamente esperar las actualizaciones oficiales del BIOS y abstenerse de instalar versiones no verificadas.
Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.