Microcode Decryptor, alat koji vam omogućava dekodiranje mikrokoda Intel procesora

Grupa od Istraživači sigurnosti iz uCode tima objavili su izdanje izvornog koda projekta dekriptor mikrokoda i to omogućava da se uradi upravo ono što ime sugeriše: to je alat koji se sastoji od tri Python skripte i dostupan je na GitHubu.

Microcode Decryptor omogućava dekodiranje mikrokoda nekih Intel procesora kao što su Atom, Pentium i Celeron zasnovani na Goldmont i Goldmont Plus mikroarhitekturama, što otvara vrata različitim scenarijima, kao što je razumijevanje kako je Intel implementirao određene karakteristike procesora ili implementirao različite funkcije i sigurnosne ispravke.

Razvijena tehnika crvenog otključavanja od istih istraživača 2020 može se koristiti za izdvajanje šifriranog mikrokoda. Predložena mogućnost dešifrovanja mikrokoda omogućava da se istraži unutrašnja struktura mikrokoda i metode za implementaciju x86 mašinskih instrukcija. Osim toga, istraživači su oporavili format ažuriranja firmvera, algoritam šifriranja i ključ korišten za zaštitu mikrokoda (RC4).

Da biste odredili koji ključ za šifriranje koristiti, ranjivost u Intel TXE korištena je za omogućavanje nedokumentovanog načina za otklanjanje grešaka, pod kodnim nazivom “Red Unlock” od strane istraživača. U modu za otklanjanje grešaka, uspjeli smo učitati dump sa radnim mikrokodom direktno iz CPU-a i iz njega izdvojiti algoritam i ključeve.

Microcode Decryptor omogućava samo dešifriranje mikrokoda, ali ne dozvoljava njegovu promjenu, jer se integritet mikrokoda dodatno provjerava digitalnim potpisom baziranim na RSA algoritmu.

Što se tiče toga kako je razvoj Microcode Decryptor bio moguć, spominju da se to dogodilo prije tri godine kada su Goryachy i Ermolov pronašli kritičnu ranjivost, indeksiranu kao Intel SA-00086, koja im je omogućila da izvrše kod po svom izboru unutar nezavisnog od čipa. kernel, koji je uključivao podsistem poznat kao Intel Management Engine.

Intel je ispravio grešku i izdao zakrpu, ali pošto se čipovi uvek mogu vratiti na prethodnu verziju firmvera i zatim iskoristiti, ne postoji način da se ta ranjivost efikasno ukloni.

Nakon toga (prije pet mjeseci), trio naučnika je bilo u mogućnosti da iskoristi ranjivost za pristup servisnom modu ugrađenom u Intelove čipove, u znak pažnje na film The Matrix, istraživači su nazvali svoj alat za pristup ovom debugeru ranije nedokumentiranom Chip Red. Pilula, jer omogućava istraživačima da iskuse unutrašnji rad čipa koji je obično van granica.

Portparol Intela je rekao da:

„Ne bi trebalo postojati sigurnosni rizik“ kao rezultat dostupnosti alata. U stvari, kompanija je rekla da bi omogućavanje većem broju ljudi da pregledaju Intelov mikrokod moglo pomoći proizvođaču čipova da identifikuje više ranjivosti u budućnosti. Za svakoga ko bude uspješan u tome, to znači potencijalno zarađivati ​​nešto novca kroz Intelov program za nagrađivanje grešaka.

„Sposobnost istraživača da analiziraju mikrokod mogla bi omogućiti otkrivanje novih ranjivosti. Pošto je ovaj mikrokod otkriven, Intel poziva istraživače da učestvuju u programu za nagrađivanje grešaka u mikrokodovima u slučaju da se otkriju bilo kakvi problemi”, rekli su nam.

Sa svoje strane, programeri ovog alata su to komentirali

"Prilika za čitanje mikrokoda CPU-a mogla bi pomoći u razumijevanju kako je Intel implementirao tehnologije poput Intel Trusted Execution Technology (TXT) ili ublažio ozbiljne ranjivosti kao što su Meltdown i Spectre."

Jermolov, jedan od drugih naučnika, dodao je da dostupnost alata znači da ljudi sada možete istražiti XuCode, 86-bitna varijanta x64 koda koja se koristi za implementaciju dijelova Intel SGX-a koji se preuzima kao ažuriranje mikrokoda. SGX je Intelova tehnologija za kreiranje sigurnih memorijskih enklava: Ovo su zaštićene oblasti u koje drugi programi i korisnici, uključujući operativni sistem ili hipervizor, ne mogu da ometaju.

XuCode je prilično zanimljiv: instrukcije specifične za x86 za upravljanje SGX enklavama su toliko složene da su razbijene na sekvence XuCode instrukcija koje izvode potrebne operacije.

Ove XuCode instrukcije su standardne za 86-bitnu x64 arhitekturu sa nekim ekstenzijama, a procesor ih rastavlja na redovne x86 mikro operacije. Kada aplikacija koristi SGX instrukciju visokog nivoa, procesor može skočiti na svoj XuCode da bi radio.

Ove XuCode sekvence su pohranjene u mikrokodu i sada se mogu izdvojiti pomoću gore navedenih Python skripti i analizirati standardnim x86 kompletima za obrnuti inženjering.

Konačno ako ste zainteresirani da saznate više o tome O alatu možete provjeriti detalje na sljedeći link.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.