EntrySign afecta també processadors AMD Zen 5 i posa en perill la verificació de microcodi

El logotip de vulnerabilitat de EntrySign

Fa algunes setmanes vam compartir aquí al bloc la notícia de la vulnerabilitat EntrySign que permet evadir el mecanisme de verificació de signatura digital durant l'actualització del microcodi en processadors AMD.

El que inicialment semblava una fallada limitada a les generacions Zen 1 a Zen 4, ara s'estén a xips tan actuals com Ryzen 9000, EPYC 9005, Ryzen AI 300 i Ryzen 9000HX. Aquesta falla permet, en determinades condicions, modificar el microcodi de la CPU eludint el mecanisme de verificació de signatures digitals, amb implicacions greus per a la seguretat de sistemes virtualitzats.

L'arrel de el problema està en el ús inapropiat de l'algorisme CMAC durant el procés de validació del microcodi. AMD empra tradicionalment una clau RSA privada per signar digitalment el contingut d'aquestes actualitzacions, i una clau pública inclosa al pegat per verificar l'autenticitat del microcodi en el moment de la càrrega, però, el hash de la clau pública que hauria de garantir aquesta integritat es genera utilitzant AES-CMAC, un MAC criptogràfic que, a diferència d'una funció hash robusta, no ofereix garanties davant de col·lisions.

Aquest disseny, sumat al fet que AMD ha utilitzat una clau de xifratge comú per a totes les CPU des de Zen 1, ha permès als investigadors extreure aquesta clau de qualsevol processador afectat i reutilitzar-la per manipular pegats de microcodi en altres equips. Sorprenentment, aquesta clau coincideix amb un exemple públic de les pràctiques de xifratge de l'estàndard NIST SP 800-38B, cosa que evidencia un ús descuidat de bones pràctiques criptogràfiques.

Microcodi fals, firmes vàlides

A partir d'aquesta feblesa, els investigadors van aconseguir generar claus públiques que produeixen el mateix hash que la clau original d'AMD, el que els va permetre construir pegats falsos capaços d'eludir els controls d'integritat. Aquestes col·lisions s'aconsegueixen inserint blocs addicionals al final del microcodi, d'aparença aleatòria però acuradament calculats, cosa que permet mantenir la signatura digital aparentment intacta. D'aquesta manera, podeu alterar el comportament intern del processador sense activar mecanismes d'alerta.

Aquest procés ha estat facilitat per eines d'anàlisi com Zentool, un conjunt d'utilitats de codi obert que permet estudiar el microcodi d'AMD i preparar pegats modificats. Perquè aquest tipus d'atac es materialitzi, l'atacant ha de tenir privilegis de Ring 0, és a dir, accés al nivell més alt del sistema operatiu, la qual cosa és factible en entorns virtualitzats si es vulnera l'hipervisor o mitjançant configuracions insegures de tecnologies com ara VT-x o AMD-V.

Impacte a AMD SEV i virtualització segura

Més enllà de la manipulació del microcodi, EntrySign representa una amenaça directa per a AMD SEV (Secure Encrypted Virtualization) i la seva extensió SEV-SNP (Secure Nested Paging), tecnologies dissenyades per garantir la integritat i confidencialitat de les màquines virtuals fins i tot davant d'atacs des de l'hipervisor. Amb aquesta vulnerabilitat, és possible interferir amb els registres protegits del processador, modificar taules de pàgines imbricades i alterar el comportament de sistemes convidats, comprometent la seva seguretat a nivells profunds.

Resposta d'AMD i mesures de mitigació

Davant d'aquesta situació, AMD ha començat a distribuir actualitzacions de microcodi que corregeixen el fallo, encara que en sistemes que utilitzen SEV-SNP també cal actualitzar el microprogramari del mòdul SEV, la qual cosa requereix una actualització del BIOS. La companyia ja ha enviat als fabricants un nou paquet anomenat ComboAM5PI 1.2.0.3c AGESA, però s'estima que els pegats finals podrien trigar setmanes o fins i tot mesos a estar disponibles per als usuaris finals.

Addicional a això, els enginyers d'AMD han proposat un pegat per al nucli de Linux que bloqueja la càrrega de microcodi no oficial. Aquesta mesura apunta a evitar la propagació de pegats modificats per tercers, com els creats per entusiastes a partir de fragments extrets del BIOS. Mentrestant, es recomana esperar les actualitzacions oficials del BIOS i abstenir-se d'instal·lar versions no verificades.

Finalment, si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls al següent enllaç.