EntrySign affecte également les processeurs AMD Zen 5 et compromet la vérification du microcode.

Le logo de vulnérabilité EntrySign

Il y a quelques semaines, nous avons partagé ici sur le blog l'actualité de la Vulnérabilité EntrySign qui permet d'échapper au mécanisme de vérification de la signature numérique lors des mises à jour du microcode dans les processeurs AMD.

Comme Au début, cela ressemblait à un bug limité aux générations Zen 1 à Zen 4, Elle s'étend désormais à des puces aussi actuelles que les Ryzen 9000, EPYC 9005, Ryzen AI 300 et Ryzen 9000HX. Cette faille permet, sous certaines conditions, de modifier le microcode du CPU en contournant le mécanisme de vérification de la signature numérique, avec de graves implications pour la sécurité des systèmes virtualisés.

La racine du problème il est dans utilisation inappropriée de l'algorithme CMAC pendant le processus de validation du microcode. DMLA utilise traditionnellement une clé RSA privée de signer numériquement le contenu de ces mises à jour, et une clé publique incluse dans le patch pour vérifier l'authenticité du microcode au moment du chargement. Cependant, le hachage de clé publique qui devrait garantir cette intégrité est généré à l'aide d'AES-CMAC, un MAC cryptographique qui, contrairement à une fonction de hachage robuste, n'offre aucune garantie contre les collisions.

Cette conception, ajouté au fait qu'AMD a utilisé une clé de cryptage commune pour tous vos CPU depuis Zen 1, a permis aux chercheurs d'extraire la clé de tout processeur affecté et le réutiliser pour manipuler les correctifs de microcode sur d'autres ordinateurs. Étonnamment, cette clé correspond à un exemple public de pratiques de chiffrement NIST SP 800-38B, démontrant une utilisation négligente de bonnes pratiques cryptographiques.

Faux microcode, signatures valides

De cette faiblesse, le Les chercheurs ont réussi à générer des clés publiques qui produisent le même hachage que la clé originale d'AMD., qu'ils a permis la construction de faux correctifs capables de contourner les contrôles d'intégrité. Ces collisions sont obtenues en insérant des blocs supplémentaires à la fin du microcode, apparemment aléatoires mais soigneusement calculés, permettant à la signature numérique de rester apparemment intacte. De cette manière, le comportement interne du processeur peut être modifié sans déclencher de mécanismes d’alerte.

Ce processus a été facilité par des outils d’analyse comme Zentool, un ensemble d'utilitaires open source qui vous permet d'étudier le microcode d'AMD et de préparer des correctifs modifiés. Pour que ce type d'attaque se matérialise, l'attaquant doit disposer des privilèges Ring 0, c'est-à-dire d'un accès au plus haut niveau du système d'exploitation, ce qui est réalisable dans les environnements virtualisés si l'hyperviseur est compromis ou via des configurations non sécurisées de technologies telles que VT-x ou AMD-V.

Impact sur AMD SEV et la virtualisation sécurisée

Au-delà de la manipulation du microcode, EntrySign représente une menace directe pour AMD SEV (Secure Encrypted Virtualization) et son extension SEV-SNP (Secure Nested Paging), des technologies conçues pour garantir l'intégrité et la confidentialité des machines virtuelles même face aux attaques de l'hyperviseur ou du système hôte. Cette vulnérabilité permet d'interférer avec les registres de processeur protégés, de modifier les tables de pages imbriquées et de modifier le comportement des systèmes invités, compromettant ainsi leur sécurité à un niveau profond.

Mesures de réponse et d'atténuation de la DMLA

Dans cette situation, AMD a commencé à distribuer des mises à jour du microcode qui corrigent le bogue.ou, bien que sur les systèmes utilisant SEV-SNP, il soit également nécessaire de mettre à jour le firmware du module SEV, ce qui nécessite une mise à jour du BIOS. L'entreprise a déjà envoyé un nouveau colis aux fabricants appelé ComboAM5PI 1.2.0.3c AGESA, mais on estime que les correctifs finaux pourraient prendre des semaines, voire des mois, pour être disponibles pour les utilisateurs finaux.

En plus de cela, le Les ingénieurs d'AMD ont proposé un correctif pour le noyau Linux qui bloque le chargement du microcode. non officiel. Cette mesure vise à empêcher la propagation de correctifs modifiés par des tiers, tels que ceux créés par des passionnés à partir de fragments de BIOS extraits. En attendant, il est fortement recommandé d'attendre les mises à jour officielles du BIOS et de s'abstenir d'installer des versions non vérifiées.

Enfin, si vous souhaitez en savoir plus, vous pouvez vérifier les détails dans le lien suivant