Microcode Decryptor, un outil qui permet de décoder le microcode des processeurs Intel

Un groupe de Des chercheurs en sécurité de l'équipe uCode libérés publication du code source du projet décrypteur de microcode et qui permet de faire exactement ce que son nom l'indique : c'est un outil, qui se compose de trois scripts Python et est disponible sur GitHub.

Décrypteur de microcode permet de décoder le microcode de certains processeurs Intel tels que Atom, Pentium et Celeron basés sur les microarchitectures Goldmont et Goldmont Plus, ce qui ouvre la porte à différents scénarios, comme comprendre comment Intel a implémenté certaines fonctionnalités du processeur ou implémenté diverses fonctionnalités et correctifs de sécurité.

La technique Red Unlock développée par les mêmes chercheurs en 2020 peut être utilisé pour extraire le microcode crypté. La possibilité proposée de déchiffrer le microcode permet d'explorer la structure interne du microcode et les méthodes d'implémentation des instructions machine x86. De plus, les chercheurs ont récupéré le format de mise à jour du micrologiciel, l'algorithme de cryptage et la clé utilisée pour protéger le microcode (RC4).

Pour déterminer quelle clé de chiffrement utiliser, une vulnérabilité dans Intel TXE a été utilisée pour activer un mode de débogage non documenté, nom de code « Red Unlock » par les chercheurs. En mode débogage, nous avons réussi à charger un dump avec un microcode fonctionnel directement depuis le CPU et à en extraire l'algorithme et les clés.

Décrypteur de microcode il permet uniquement de déchiffrer le microcode, mais il ne permet pas de le modifier, puisque l'intégrité du microcode est en outre vérifiée par une signature numérique basée sur l'algorithme RSA.

Quant à savoir comment le développement de Microcode Decryptor a été possible, ils mentionnent que cela s'est produit il y a trois ans lorsque Goryachy et Ermolov ont découvert une vulnérabilité critique, répertoriée sous le nom d'Intel SA-00086, qui leur a permis d'exécuter le code de leur choix dans le processeur indépendant de la puce. noyau, qui comprenait un sous-système connu sous le nom d'Intel Management Engine.

Intel a corrigé le bogue et publié un correctif, mais comme les puces peuvent toujours être restaurées à une version précédente du micrologiciel, puis exploitées, il n'y a aucun moyen de supprimer efficacement la vulnérabilité.

Après cela (il y a cinq mois), le trio de scientifiques a pu utiliser la vulnérabilité pour accéder à un mode de service intégré aux puces Intel, en clin d'œil au film The Matrix, les chercheurs ont nommé leur outil pour accéder à ce débogueur jusqu'alors non documenté Chip Red Pilule, car elle permet aux chercheurs de découvrir le fonctionnement interne d'une puce qui est généralement interdite.

Un porte-parole d'Intel a déclaré que :

"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 permettre à davantage de personnes d'examiner le microcode d'Intel pourrait aider le fabricant de puces à identifier davantage de vulnérabilités à l'avenir. Pour quiconque réussit à le faire, cela signifie potentiellement gagner de l'argent grâce au programme de primes de bogues d'Intel.

« La capacité des chercheurs à 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 au programme de prime de bogue du microcode au cas où des problèmes seraient découverts », nous ont-ils dit.

Pour leur part, les développeurs de cet outil ont fait remarquer que

"La possibilité de lire le microcode du processeur pourrait aider à comprendre comment Intel a mis en œuvre des technologies telles que Intel Trusted Execution Technology (TXT) ou atténué de graves vulnérabilités telles que Meltdown et Spectre."

Yermolov, l'un des autres scientifiques, ajouté que la disponibilité de l'outil signifie que les gens maintenant vous pouvez explorer XuCode, une variante de code x86 en mode 64 bits utilisée pour implémenter des parties d'Intel SGX qui est téléchargée en tant que mise à jour du microcode. SGX est la technologie d'Intel permettant de créer des enclaves de mémoire sécurisées : il s'agit de zones protégées avec lesquelles d'autres programmes et utilisateurs, y compris le système d'exploitation ou l'hyperviseur, ne peuvent pas interférer.

XuCode est assez intéressant : les instructions spécifiques à x86 pour gérer les enclaves SGX sont si complexes qu'elles sont décomposées en séquences d'instructions XuCode qui effectuent les opérations nécessaires.

Ces instructions XuCode sont standard pour l'architecture x86 64 bits avec quelques extensions, et sont décomposées en micro-opérations x86 régulières par le processeur. Lorsqu'une application utilise une instruction SGX de haut niveau, le processeur peut sauter à son XuCode pour fonctionner.

Ces séquences XuCode sont stockées dans un microcode et peuvent maintenant être extraites avec les scripts Python ci-dessus et analysées avec des kits de rétro-ingénierie x86 standard.

Enfin si vous souhaitez en savoir plus À propos de l'outil, vous pouvez vérifier les détails sur le lien suivant.


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.