
AMD a publié des mises à jour d’atténuation et de micrologiciel pour remédier à une vulnérabilité de gravité élevée qui peut être exploitée pour charger un microcode CPU malveillant sur des périphériques non corrigés.
La faille de sécurité (CVE-2024-56161) est causée par une faiblesse de vérification de signature incorrecte dans le chargeur de correctifs de microcode CPU ROM d’AMD.
Les attaquants disposant de privilèges d’administrateur local peuvent exploiter cette faiblesse, entraînant la perte de confidentialité et d’intégrité d’un invité confidentiel s’exécutant sous AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP).
Selon les ressources de développement d’AMD, SEV isole les invités et l’hyperviseur les uns des autres, et SEV-SNP ajoute une protection de l’intégrité de la mémoire qui crée un environnement d’exécution isolé en aidant à prévenir les attaques malveillantes basées sur l’hyperviseur (par exemple, la relecture des données, le remappage de la mémoire, etc.).
AMD fournit désormais une atténuation nécessitant une mise à jour du microcode sur toutes les plates-formes affectées pour bloquer l’exécution malveillante du microcode.
Certaines plates-formes nécessitent également une mise à jour du micrologiciel SEV pour l’attestation SEV-SNP, les utilisateurs devant mettre à jour le BIOS du système et redémarrer pour activer l’attestation de l’atténuation.
Pour confirmer que l’atténuation a été correctement installée, vérifiez si la ou les versions du microcode correspondent à celles répertoriées dans le tableau ci-dessous.
Code Name | Family | CPUID |
Naples | AMD EPYC 7001 Series | 0x00800F12 |
Rome | AMD EPYC 7002 Series | 0x00830F10 |
Milan | AMD EPYC 7003 Series | 0x00A00F11 |
Milan-X | AMD EPYC 7003 Series | 0x00A00F12 |
Genoa | AMD EPYC 9004 Series | 0x00A10F11 |
Genoa-X | AMD EPYC 9004 Series | 0x00A10F12 |
Bergamo/Siena | AMD EPYC 9004 Series | 0x00AA0F02 |
« Nous avons démontré la capacité de créer des correctifs de microcode malveillants arbitraires sur les processeurs Zen 1 à Zen 4. La vulnérabilité est que le processeur utilise une fonction de hachage non sécurisée dans la validation de la signature pour les mises à jour du microcode », a déclaré l’équipe de sécurité de Google.
« Cette vulnérabilité pourrait être utilisée par un adversaire pour compromettre des charges de travail informatiques confidentielles protégées par la dernière version de la virtualisation cryptée sécurisée AMD, SEV-SNP, ou pour compromettre la Mesure dynamique de la Racine de confiance. »
Les chercheurs en sécurité de Google, crédités d’avoir trouvé et signalé cette faille à AMD, ont également partagé un exploit de preuve de concept (PoC) (testé sur les processeurs AMD EPYC et AMD Ryzen 9) qui montre comment les attaquants peuvent créer des correctifs de microcode arbitraires.
Leur exploit PoC fait que l’instruction RDRAND sur les processeurs AMD Zen vulnérables renvoie toujours 4, ce qui définit également l’indicateur de report (CF) sur 0. Cela indique que la valeur de retour n’est pas valide et garantit que l’exploit ne peut pas être utilisé « pour compromettre des charges de travail informatiques confidentielles fonctionnant correctement. »
Cette semaine, AMD a également reçu un rapport de Li-Chung Chiang de la NTU (Université Nationale de Taiwan) détaillant les attaques par canal latéral basées sur le cache contre la virtualisation cryptée sécurisée (SEV) qui affectent les processeurs de centre de données (AMD EPYC de 1ère à 4ème génération) et embarqués (AMD EPYC 3000/7002/7003/9004).
AMD a conseillé aux développeurs de suivre les meilleures pratiques pour les attaques prime et probe (par exemple, les algorithmes à temps constant), d’éviter autant que possible les données dépendantes du secret et de suivre les instructions concernant les attaques de type Spectre.