Microcode Decryptor, nástroj, ktorý umožňuje dekódovať mikrokód procesorov Intel

Skupina Vydali bezpečnostní výskumníci z tímu uCode vydanie zdrojového kódu projektu dešifrovač mikrokódov a to umožňuje robiť presne to, čo názov napovedá: je to nástroj, ktorý pozostáva z troch skriptov Python a je dostupný na GitHub.

Microcode Decryptor umožňuje dekódovať mikrokód niektorých procesorov Intel ako napríklad Atom, Pentium a Celeron založené na mikroarchitektúrach Goldmont a Goldmont Plus, čo otvára dvere rôznym scenárom, ako je napríklad pochopenie toho, ako spoločnosť Intel implementovala určité funkcie procesora alebo implementovala rôzne funkcie a bezpečnostné opravy.

Vyvinula sa technika Red Unlock od tých istých výskumníkov v roku 2020 možno použiť na extrahovanie zašifrovaného mikrokódu. Navrhovaná možnosť dešifrovania mikrokódu umožňuje preskúmať vnútornú štruktúru mikrokódu a metódy implementácie x86 strojových inštrukcií. Okrem toho vedci obnovili formát aktualizácie firmvéru, šifrovací algoritmus a kľúč používaný na ochranu mikrokódu (RC4).

Ak chcete určiť, ktorý šifrovací kľúč použiť, zraniteľnosť v Intel TXE bola použitá na aktiváciu nezdokumentovaného režimu ladenia, výskumníci s kódovým názvom „Red Unlock“. V režime ladenia sa nám podarilo načítať výpis s funkčným mikrokódom priamo z CPU a extrahovať z neho algoritmus a kľúče.

Microcode Decryptor umožňuje iba dešifrovať mikrokód, ale neumožňuje to zmeniť, pretože integrita mikrokódu je dodatočne overená digitálnym podpisom na základe algoritmu RSA.

Pokiaľ ide o to, ako bol možný vývoj Microcode Decryptor, spomínajú, že sa to stalo pred tromi rokmi, keď Goryachy a Ermolov našli kritickú zraniteľnosť, indexovanú ako Intel SA-00086, ktorá im umožnila spustiť kód podľa vlastného výberu v nezávislom od čipu. jadro, ktoré zahŕňalo podsystém známy ako Intel Management Engine.

Intel chybu opravil a vydal opravu, ale keďže čipy je možné vždy vrátiť späť na predchádzajúcu verziu firmvéru a následne zneužiť, neexistuje spôsob, ako túto zraniteľnosť efektívne odstrániť.

Potom (pred piatimi mesiacmi) trio vedcov dokázalo využiť túto zraniteľnosť na prístup k servisnému režimu zabudovanému do čipov Intel, v súhlase s filmom Matrix výskumníci pomenovali svoj nástroj na prístup k tomuto debuggeru, ktorý predtým nebol zdokumentovaný Chip Red. Pilulka, pretože umožňuje výskumníkom zažiť vnútorné fungovanie čipu, ktorý je zvyčajne mimo limitov.

Hovorca Intelu povedal, že:

„Nemalo by existovať žiadne bezpečnostné riziko“ v dôsledku dostupnosti nástroja. V skutočnosti spoločnosť uviedla, že umožniť viacerým ľuďom preskúmať mikrokód Intelu by mohlo pomôcť výrobcovi čipov identifikovať viac zraniteľností v budúcnosti. Pre každého, kto je v tom úspešný, to znamená potenciálne zarobiť nejaké peniaze prostredníctvom programu Intel bug bounty.

„Schopnosť výskumníkov analyzovať mikrokód by mohla umožniť objavenie nových zraniteľností. Keďže tento mikrokód bol odhalený, Intel pozýva výskumníkov, aby sa zúčastnili na programe odmeny za chyby v mikrokóde v prípade, že sa objavia nejaké problémy,“ povedali nám.

Vývojári tohto nástroja to komentovali

"Príležitosť čítať mikrokód CPU by mohla pomôcť pochopiť, ako Intel implementoval technológie ako Intel Trusted Execution Technology (TXT) alebo zmiernil vážne zraniteľnosti ako Meltdown a Spectre."

Yermolov, jeden z ďalších vedcov, dodal, že dostupnosť nástroja znamená že ľudia teraz môžete preskúmať XuCode, variant kódu x86 v 64-bitovom režime používaný na implementáciu častí Intel SGX, ktorý sa sťahuje ako aktualizácia mikrokódu. SGX je technológia spoločnosti Intel na vytváranie bezpečných pamäťových enkláv: Ide o chránené oblasti, do ktorých iné programy a používatelia, vrátane operačného systému alebo hypervízora, nemôžu zasahovať.

XuCode je celkom zaujímavý: inštrukcie špecifické pre x86 na správu enkláv SGX sú také zložité, že sú rozdelené do sekvencií pokynov XuCode, ktoré vykonávajú potrebné operácie.

Tieto inštrukcie XuCode sú štandardné pre 86-bitovú architektúru x64 s niektorými rozšíreniami a procesor ich rozdelí na bežné x86 mikrooperácie. Keď aplikácia používa inštrukciu SGX na vysokej úrovni, procesor môže prejsť na svoj XuCode, aby začal pracovať.

Tieto sekvencie XuCode sú uložené v mikrokóde a teraz je možné ich extrahovať pomocou vyššie uvedených skriptov Python a analyzovať pomocou štandardných súprav x86 reverzného inžinierstva.

Konečne ak máte záujem dozvedieť sa o tom viac Podrobnosti o nástroji si môžete pozrieť na nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.