Microcode Decryptor, nástroj, který umožňuje dekódovat mikrokód procesorů Intel

Skupina Bezpečnostní výzkumníci z týmu uCode zveřejnili vydání zdrojového kódu projektu dešifrovač mikrokódů a to umožňuje dělat přesně to, co název napovídá: je to nástroj, který se skládá ze tří Python skriptů a je dostupný na GitHubu.

Microcode Decryptor umožňuje dekódovat mikrokód některých procesorů Intel jako jsou Atom, Pentium a Celeron založené na mikroarchitekturách Goldmont a Goldmont Plus, což otevírá dveře různým scénářům, jako je pochopení toho, jak Intel implementoval určité funkce procesoru nebo implementoval různé funkce a bezpečnostní opravy.

Vyvinula se technika Red Unlock stejnými výzkumníky v roce 2020 lze použít k extrahování zašifrovaného mikrokódu. Navrhovaná možnost dešifrování mikrokódu umožňuje prozkoumat vnitřní strukturu mikrokódu a způsoby implementace strojových instrukcí x86. Kromě toho výzkumníci obnovili formát aktualizace firmwaru, šifrovací algoritmus a klíč používaný k ochraně mikrokódu (RC4).

Chcete-li určit, který šifrovací klíč použít, zranitelnost v Intel TXE byla použita k povolení nezdokumentovaného režimu ladění, výzkumníci s kódovým označením „Red Unlock“. V režimu ladění se nám podařilo načíst výpis s funkčním mikrokódem přímo z CPU a extrahovat z něj algoritmus a klíče.

Microcode Decryptor umožňuje pouze dešifrovat mikrokód, ale neumožňuje to změnit, protože integrita mikrokódu je navíc ověřena digitálním podpisem založeným na algoritmu RSA.

Pokud jde o to, jak byl vývoj Microcode Decryptor možný, zmiňují, že se to stalo před třemi lety, když Goryachy a Ermolov našli kritickou zranitelnost, indexovanou jako Intel SA-00086, která jim umožnila spouštět kód podle vlastního výběru v rámci nezávislého čipu. kernel, který zahrnoval subsystém známý jako Intel Management Engine.

Intel chybu opravil a vydal opravu, ale protože čipy lze vždy vrátit zpět na předchozí verzi firmwaru a poté je zneužít, neexistuje způsob, jak zranitelnost účinně odstranit.

Poté (před pěti měsíci) bylo trio vědců schopno využít zranitelnost pro přístup k servisnímu režimu zabudovanému do čipů Intel, v souhlasu s filmem Matrix pojmenovali výzkumníci svůj nástroj pro přístup k tomuto debuggeru dříve nezdokumentovaný Chip Red. Pilulka, protože umožňuje výzkumníkům zažít vnitřní fungování čipu, který je obvykle mimo limity.

Mluvčí Intelu řekl, že:

„Nemělo by existovat žádné bezpečnostní riziko“ v důsledku dostupnosti nástroje. Ve skutečnosti společnost uvedla, že umožnit více lidem zkontrolovat mikrokód Intelu by mohlo v budoucnu pomoci výrobci čipů identifikovat další zranitelnosti. Pro každého, kdo je v tom úspěšný, to znamená potenciálně vydělat nějaké peníze prostřednictvím programu Intel bug bounty.

„Schopnost výzkumníků analyzovat mikrokód by mohla umožnit objevování nových zranitelností. Vzhledem k tomu, že tento mikrokód byl odhalen, Intel zve výzkumníky, aby se zapojili do programu odměny za chyby v mikrokódu v případě, že se objeví nějaké problémy,“ řekli nám.

Vývojáři tohoto nástroje to komentovali

"Příležitost číst mikrokód CPU by mohla pomoci pochopit, jak Intel implementoval technologie jako Intel Trusted Execution Technology (TXT) nebo zmírnil závažná zranitelnost jako Meltdown a Spectre."

Yermolov, jeden z dalších vědců, dodal, že dostupnost nástroje znamená že lidé nyní můžete prozkoumat XuCode, varianta kódu x86 v 64bitovém režimu používaná k implementaci částí Intel SGX, která se stahuje jako aktualizace mikrokódu. SGX je technologie společnosti Intel pro vytváření bezpečných paměťových enkláv: Jedná se o chráněné oblasti, do kterých jiné programy a uživatelé, včetně operačního systému nebo hypervizoru, nemohou zasahovat.

XuCode je docela zajímavý: instrukce specifické pro x86 pro správu enkláv SGX jsou tak složité, že jsou rozděleny do sekvencí instrukcí XuCode, které provádějí potřebné operace.

Tyto instrukce XuCode jsou standardní pro 86bitovou architekturu x64 s některými rozšířeními a procesor je rozděluje na běžné mikrooperace x86. Když aplikace používá instrukci SGX na vysoké úrovni, procesor může přejít na svůj XuCode, aby mohl pracovat.

Tyto sekvence XuCode jsou uloženy v mikrokódu a lze je nyní extrahovat pomocí výše uvedených skriptů Python a analyzovat pomocí standardních x86 sad reverzního inženýrství.

Konečně pokud máte zájem o tom vědět více Podrobnosti o nástroji můžete zkontrolovat na následující odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.