Outil de décryptage publié pour le microcode du processeur Intel • The Register

Outil de décryptage publié pour le microcode du processeur Intel • The Register

Les boffins d’Infosec ont publié un outil pour déchiffrer et décompresser le microcode pour une classe de processeurs Intel à faible consommation d’énergie, ouvrant un moyen de voir comment le fabricant de puces a mis en œuvre divers correctifs et fonctionnalités de sécurité ainsi que des éléments tels que la virtualisation.

Publié lundi sur GitHub, le Décrypteur de microcode Intel est une collection de trois scripts Python que les utilisateurs peuvent exécuter pour décoder le microcode – y compris le SGX XuCode – de certains processeurs Atom, Pentium et Celeron basés sur les microarchitectures Goldmont et Goldmont Plus d’Intel. Le travail a été effectué par trois chercheurs – Maxim Goryachy, Mark Ermolov et Dmitry Skylarov – qui ont déjà découvert plusieurs vulnérabilités dans les processeurs Intel.

Les chercheurs ont noté que l’outil ne peut pas être utilisé pour créer une mise à jour personnalisée du microcode car le “microcode a une signature RSA pour la protection de l’intégrité”. En d’autres termes, des contrôles sont en place pour empêcher les personnes, y compris les malfaiteurs, de créer leurs propres mises à jour de microcode pour modifier le fonctionnement des cœurs de processeur.

En réponse aux questions de Le registreIntel semblait assez détendu à propos de la sortie de l’outil, même si le géant américain a déclaré qu’il n’avait pas été alerté à l’avance des plans des chercheurs.

Un porte-parole d’Intel nous a dit “qu’il ne devrait y avoir aucun risque de sécurité” en raison de la disponibilité de l’outil. En fait, la société a déclaré que laisser davantage de personnes examiner le microcode d’Intel pourrait aider le fabricant de puces à identifier davantage de vulnérabilités à l’avenir. Pour quiconque y parvient, cela signifie potentiellement gagner de l’argent grâce au programme de primes de bogues d’Intel.

“La possibilité pour les chercheurs d’analyser le microcode pourrait permettre la découverte de nouvelles vulnérabilités. Depuis que ce microcode a été exposé, Intel invite les chercheurs à participer à la programme de primes de bogue du microcode au cas où des problèmes seraient découverts », nous a-t-on dit.

Pourquoi l’accès au microcode est un gros problème

Quand Goryachy internautes alertés aux scripts de décryptage de microcode sur Twitter, il a fait tourner plus d’une tête dans les communautés de l’informatique et de la sécurité.

Il s’agit d’une réalisation importante car elle lève le voile sur le monde complexe de la conception des processeurs.

Les concepteurs de puces comme Intel utilisent depuis longtemps le microcode pour traduire les instructions machine de bas niveau en opérations au niveau du circuit dans les cœurs de processeur. Le microcode peut être chargé par le processeur à partir de la mémoire, et ainsi des mises à jour de ce code peuvent être émises pour corriger les bogues. Ces mises à jour arrivent généralement sous forme de correctifs logiciels système et de mises à niveau du BIOS.

Goryachy a déclaré que Intel Microcode Decryptor peut être utilisé pour comprendre, par exemple, comment le géant des puces a atténué la vulnérabilité Spectre dans les processeurs Goldmont. Il a ajouté que les scripts peuvent également aider les gens à comprendre comment Intel a mis en œuvre diverses technologies, comme Intel Trusted Execution Technology (TXT), Intel Software Guard Extensions (SGX) et Intel Virtualization Technology (VT-x).

Ermolov, l’un des autres boffins, ajoutée que la disponibilité de l’outil signifie que les gens peuvent désormais rechercher XuCodeName, une variante du code x86 en mode 64 bits utilisé pour implémenter des parties d’Intel SGX qui est chargée en tant que mise à jour du microcode. SGX est la technologie d’Intel pour créer des enclaves sécurisées dans la mémoire : ce sont des zones protégées que d’autres logiciels et utilisateurs ne peuvent pas altérer, pas même le système d’exploitation ou l’hyperviseur.

XuCode est assez intéressant : les instructions x86 spéciales pour gérer les enclaves SGX sont tellement impliquées qu’elles sont décomposées en séquences d’instructions XuCode qui effectuent les opérations souhaitées.

Ces instructions XuCode sont des x86 64 bits standard avec quelques extensions, et sont ensuite décomposées par le processeur en micro-opérations x86 habituelles. Lorsqu’une application utilise une instruction SGX de haut niveau, le processeur peut sauter à son XuCode pour effectuer le travail.

Ces séquences XuCode sont stockées dans le microcode et peuvent maintenant être extraites à l’aide des scripts Python ci-dessus et analysées à l’aide de suites de rétro-ingénierie x86 standard.

Au moment de l’exécution, le XuCode est stocké dans une RAM spécialement protégée, de sorte que certaines instructions SGX passent effectivement à des sous-programmes de type x86.

La genèse des outils et un mélange de réactions

Selon les chercheurs, le décrypteur de microcode Intel a été rendu possible après que le trio a trouvé des vulnérabilités dans les chipsets d’Intel au début de 2020 qui leur ont permis d’activer un mode de débogage non documenté appelé Déverrouillage rouge. Cela a conduit les boffins à trouver la clé de déchiffrement qui leur a permis d’extraire et de déchiffrer le microcode.

Intel avait un récit légèrement différent de la genèse de l’outil. Le porte-parole de la société nous a dit que les chercheurs avaient signalé la vulnérabilité Red Unlock au fabricant de puces en 2017. Les boffins ont utilisé cette vulnérabilité pour analyser et documenter la structure du microcode en mai 2021, qui comprenait la publication d’un script de désassemblage, a souligné Intel. La divulgation du problème Red Unlock a incité Intel à lancer un programme de primes de bogues pour les vulnérabilités du microcode.

La réponse aux derniers outils en ligne a été un mélange d’admiration, d’intrigue et d’horreur, certaines personnes craignant que les scripts ne soient utilisés à des fins malveillantes tandis que d’autres l’ont salué comme une percée dans la compréhension de la façon dont au moins une partie du silicium incroyablement complexe d’Intel œuvres. Jetez juste un coup d’oeil au citer des tweets et réponses pour le tweet original de Goryachy.

La publication des scripts a reçu un coup de chapeau de Gal Diskin, un ancien employé d’Intel qui a dirigé la sécurité des produits pour SGX et a contribué à la conception et à l’architecture de la fonctionnalité.

Lorsqu’on lui a demandé si l’accès au microcode SGX pouvait conduire à de nouveaux types d’attaques, Diskin avait ceci à dire: “Nous avons toujours supposé que notre code serait un jour open source, et n’avons jamais autorisé la sécurité par l’obscurité. C’est du moins ainsi que nous avons travaillé lorsque j’ai dirigé l’évaluation de la sécurité pour SGX.” Diskin a cependant noté qu’il n’était plus chez Intel depuis 2013. ®

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.