Microcode Decryptor, een tool waarmee u de microcode van Intel-processors kunt decoderen

Een groep Beveiligingsonderzoekers van het uCode-team vrijgegeven projectbroncode vrijgeven microcode decryptor en dat maakt het mogelijk om precies te doen wat de naam doet vermoeden: het is een tool, die bestaat uit drie Python-scripts en beschikbaar is op GitHub.

Microcode-decryptor maakt het mogelijk om de microcode van sommige Intel-processors te decoderen zoals Atom, Pentium en Celeron op basis van Goldmont- en Goldmont Plus-microarchitecturen, wat de deur opent naar verschillende scenario's, zoals inzicht in hoe Intel bepaalde processorfuncties heeft geïmplementeerd of verschillende functies en beveiligingsoplossingen heeft geïmplementeerd.

De Red Unlock-techniek ontwikkeld door dezelfde onderzoekers in 2020 kan worden gebruikt om de versleutelde microcode te extraheren. De voorgestelde mogelijkheid om de microcode te ontcijferen maakt het mogelijk om de interne structuur van de microcode en de methoden om x86-machine-instructies te implementeren, te onderzoeken. Daarnaast hebben de onderzoekers het firmware-updateformaat, het coderingsalgoritme en de sleutel die wordt gebruikt om de microcode (RC4) te beschermen, teruggevonden.

Om te bepalen welke coderingssleutel moet worden gebruikt, een kwetsbaarheid in Intel TXE is gebruikt om een ​​ongedocumenteerde debug-modus in te schakelen, met de codenaam "Red Unlock" door de onderzoekers. In debug-modus zijn we erin geslaagd om een ​​dump met een werkende microcode rechtstreeks van de CPU te laden en het algoritme en de sleutels eruit te extraheren.

Microcode-decryptor het staat alleen toe om de microcode te ontcijferen, maar het staat niet toe om deze te wijzigen, omdat de integriteit van de microcode bovendien wordt geverifieerd door een digitale handtekening op basis van het RSA-algoritme.

Wat betreft hoe de ontwikkeling van Microcode Decryptor mogelijk was, vermelden ze dat het drie jaar geleden gebeurde toen Goryachy en Ermolov een kritieke kwetsbaarheid ontdekten, geïndexeerd als Intel SA-00086, waardoor ze de code van hun keuze binnen de chip-onafhankelijke kernel. die een subsysteem bevatte dat bekend staat als de Intel Management Engine.

Intel heeft de bug verholpen en een patch uitgebracht, maar omdat chips altijd kunnen worden teruggedraaid naar een eerdere firmwareversie en vervolgens worden uitgebuit, is er geen manier om de kwetsbaarheid effectief te verwijderen.

Daarna (vijf maanden geleden) was het drietal wetenschappers in staat om de kwetsbaarheid te gebruiken om toegang te krijgen tot een servicemodus ingebouwd in Intel-chips, in een knipoog naar de film The Matrix, noemden de onderzoekers hun tool om toegang te krijgen tot deze debugger, voorheen ongedocumenteerde Chip Red Pill, omdat het onderzoekers in staat stelt om de innerlijke werking van een chip te ervaren die normaal gesproken verboden terrein is.

Een Intel-woordvoerder zei dat:

"Er mag geen veiligheidsrisico zijn" als gevolg van de beschikbaarheid van de tool. Het bedrijf zei zelfs dat het toestaan ​​van meer mensen om Intel's microcode te beoordelen, de chipmaker zou kunnen helpen om in de toekomst meer kwetsbaarheden te identificeren. Voor iedereen die hierin slaagt, betekent dat mogelijk wat geld verdienen via Intel's bug bounty-programma.

“Het vermogen van onderzoekers om microcode te analyseren zou de ontdekking van nieuwe kwetsbaarheden mogelijk maken. Sinds deze microcode is onthuld, nodigt Intel onderzoekers uit om deel te nemen aan het microcode bug bounty-programma voor het geval er problemen worden ontdekt”, vertelden ze ons.

Van hun kant merkten de ontwikkelaars van deze tool op dat:

"De mogelijkheid om CPU-microcode te lezen zou kunnen helpen begrijpen hoe Intel technologieën zoals Intel Trusted Execution Technology (TXT) heeft geïmplementeerd of ernstige kwetsbaarheden zoals Meltdown en Spectre heeft verminderd."

Yermolov, een van de andere wetenschappers, voegde eraan toe dat de beschikbaarheid van de tool betekent: dat de mensen nu kun je XuCode verkennen, een 86-bit-modus x64-codevariant die wordt gebruikt om delen van Intel SGX te implementeren die wordt gedownload als een microcode-update. SGX is Intel's technologie voor het creëren van veilige geheugen-enclaves: dit zijn beschermde gebieden waar andere programma's en gebruikers, waaronder het besturingssysteem of de hypervisor, zich niet mee kunnen bemoeien.

XuCode is best interessant: de x86-specifieke instructies voor het beheren van SGX-enclaves zijn zo complex dat ze worden opgesplitst in reeksen XuCode-instructies die de nodige bewerkingen uitvoeren.

Deze XuCode-instructies zijn standaard voor de 86-bit x64-architectuur met enkele extensies, en worden door de processor opgesplitst in normale x86-microbewerkingen. Wanneer een applicatie een SGX-instructie op hoog niveau gebruikt, kan de processor naar zijn XuCode springen om te werken.

Deze XuCode-reeksen worden opgeslagen in microcode en kunnen nu worden geëxtraheerd met de bovenstaande Python-scripts en geanalyseerd met standaard x86 reverse engineering-kits.

Eindelijk als u er meer over wilt weten Over de tool, u kunt de details bekijken op: de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.