Microcode Decryptor, un instrument care vă permite să decodați microcodul procesoarelor Intel

Un grup de Cercetătorii de securitate din echipa uCode au lansat lansarea codului sursă al proiectului decriptor de microcoduri și care vă permite să faceți exact ceea ce sugerează numele: este un instrument, care constă din trei scripturi Python și este disponibil pe GitHub.

Microcode Decryptor permite decodarea microcodului unor procesoare Intel precum Atom, Pentium și Celeron bazate pe microarhitecturile Goldmont și Goldmont Plus, care deschide ușa către diferite scenarii, cum ar fi înțelegerea modului în care Intel a implementat anumite caracteristici ale procesorului sau a implementat diverse caracteristici și remedieri de securitate.

S-a dezvoltat tehnica Red Unlock de aceiași cercetători în 2020 poate fi folosit pentru a extrage microcodul criptat. Posibilitatea propusă de descifrare a microcodului permite explorarea structurii interne a microcodului și a metodelor de implementare a instrucțiunilor mașinii x86. În plus, cercetătorii au recuperat formatul de actualizare a firmware-ului, algoritmul de criptare și cheia folosită pentru a proteja microcodul (RC4).

Pentru a determina ce cheie de criptare să utilizați, o vulnerabilitate în Intel TXE a fost folosită pentru a activa un mod de depanare nedocumentat, cu numele de cod „Red Unlock” de către cercetători. În modul de depanare, am reușit să încărcăm un dump cu un microcod funcțional direct din CPU și să extragem algoritmul și cheile din acesta.

Microcode Decryptor permite doar descifrarea microcodului, dar nu permite schimbarea acestuia, deoarece integritatea microcodului este verificată suplimentar printr-o semnătură digitală bazată pe algoritmul RSA.

În ceea ce privește modul în care a fost posibilă dezvoltarea Microcode Decryptor, ei menționează că s-a întâmplat în urmă cu trei ani, când Goryachy și Ermolov au găsit o vulnerabilitate critică, indexată ca Intel SA-00086, care le-a permis să execute codul la alegere în cadrul unui cip independent. kernel, care includea un subsistem cunoscut sub numele de Intel Management Engine.

Intel a remediat bug-ul și a lansat un patch, dar deoarece cipurile pot fi întotdeauna retrocedate la o versiune anterioară de firmware și apoi exploatate, nu există nicio modalitate de a elimina eficient vulnerabilitatea.

După aceea (cu cinci luni în urmă), trio-ul de oameni de știință a reușit să folosească vulnerabilitatea pentru a accesa un mod de serviciu încorporat în cipurile Intel, într-un semn de cap la filmul The Matrix, cercetătorii și-au numit instrumentul pentru a accesa acest depanator nedocumentat anterior Chip Red. Pilulă, deoarece permite cercetătorilor să experimenteze funcționarea interioară a unui cip care este de obicei interzis.

Un purtător de cuvânt al Intel a spus că:

„Nu ar trebui să existe niciun risc de securitate” ca urmare a disponibilității instrumentului. De fapt, compania a spus că permiterea mai multor persoane să revizuiască microcodul Intel ar putea ajuta producătorul de cipuri să identifice mai multe vulnerabilități în viitor. Pentru oricine care reușește să facă acest lucru, asta înseamnă potențial să câștige niște bani prin programul Intel de recompense pentru erori.

„Abilitatea cercetătorilor de a analiza microcodul ar putea permite descoperirea de noi vulnerabilități. Deoarece acest microcod a fost expus, Intel invită cercetătorii să participe la programul de recompensă pentru erori de microcod în cazul în care sunt descoperite probleme”, ne-au spus ei.

La rândul lor, dezvoltatorii acestui instrument au comentat că

„Oportunitatea de a citi microcodul CPU ar putea ajuta la înțelegerea modului în care Intel a implementat tehnologii precum Intel Trusted Execution Technology (TXT) sau a atenuat vulnerabilități grave precum Meltdown și Spectre”.

Yermolov, unul dintre ceilalți oameni de știință, a adăugat că disponibilitatea instrumentului înseamnă că oamenii acum puteți explora XuCode, o variantă de cod x86 în mod pe 64 de biți utilizată pentru a implementa părți ale Intel SGX care este descărcată ca actualizare de microcod. SGX este tehnologia Intel pentru crearea de enclave de memorie securizate: acestea sunt zone protejate cu care alte programe și utilizatori, inclusiv sistemul de operare sau hypervisor, nu pot interfera.

XuCode este destul de interesant: instrucțiunile specifice x86 pentru gestionarea enclavelor SGX sunt atât de complexe încât sunt împărțite în secvențe de instrucțiuni XuCode care efectuează operațiunile necesare.

Aceste instrucțiuni XuCode sunt standard pentru arhitectura x86 pe 64 de biți cu unele extensii și sunt împărțite în micro-operații x86 obișnuite de către procesor. Când o aplicație folosește o instrucțiune SGX de nivel înalt, procesorul poate sări la XuCode pentru a funcționa.

Aceste secvențe XuCode sunt stocate în microcod și pot fi acum extrase cu scripturile Python de mai sus și analizate cu kituri standard de inginerie inversă x86.

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta Despre instrument, puteți verifica detaliile la următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.