Microcode Decryptor – įrankis, leidžiantis iššifruoti Intel procesorių mikrokodą

Grupė Saugumo tyrinėtojai iš „uCode“ komandos paskelbė projekto šaltinio kodo išleidimas mikrokodo iššifratorius ir tai leidžia daryti būtent tai, ką rodo pavadinimas: tai įrankis, susidedantis iš trijų Python scenarijų ir pasiekiamas GitHub.

Mikrokodo iššifratorius leidžia iššifruoti kai kurių Intel procesorių mikrokodą pvz., „Atom“, „Pentium“ ir „Celeron“, pagrįsti „Goldmont“ ir „Goldmont Plus“ mikroarchitektūromis, atveriančios duris skirtingiems scenarijams, pavyzdžiui, suprasti, kaip „Intel“ įdiegė tam tikras procesoriaus funkcijas arba įdiegė įvairias funkcijas ir saugos pataisymus.

Sukurta Red Unlock technika tų pačių tyrinėtojų 2020 m gali būti naudojamas užšifruotam mikrokodui išgauti. Siūloma mikrokodo iššifravimo galimybė leidžia ištirti vidinę mikrokodo struktūrą ir x86 mašinos instrukcijų įgyvendinimo būdus. Be to, mokslininkai atkūrė programinės aparatinės įrangos atnaujinimo formatą, šifravimo algoritmą ir raktą, naudojamą apsaugoti mikrokodą (RC4).

Norėdami nustatyti, kurį šifravimo raktą naudoti, Intel TXE pažeidžiamumas buvo panaudotas norint įjungti nedokumentuotą derinimo režimą, tyrėjų kodiniu pavadinimu „Red Unlock“. Debug režimu pavyko įkelti iškrovą su veikiančiu mikrokodu tiesiai iš procesoriaus ir iš jo išgauti algoritmą bei raktus.

Mikrokodo iššifratorius leidžia tik iššifruoti mikrokodą, tačiau jo keisti neleidžia, nes mikrokodo vientisumas papildomai patikrinamas skaitmeniniu parašu, paremtu RSA algoritmu.

Kalbant apie tai, kaip buvo įmanoma sukurti „Microcode Decryptor“, jie mini, kad tai atsitiko prieš trejus metus, kai Goryachy ir Ermolovas rado kritinį pažeidžiamumą, indeksuotą kaip „Intel SA-00086“, leidžiantį jiems vykdyti pasirinktą kodą nepriklausomoje nuo lusto sistemoje. branduolys, kuris apėmė posistemį, žinomą kaip „Intel Management Engine“.

„Intel“ ištaisė klaidą ir išleido pataisą, tačiau kadangi lustai visada gali būti grąžinti į ankstesnę programinės aparatinės įrangos versiją ir tada jais išnaudojami, nėra būdo veiksmingai pašalinti pažeidžiamumą.

Po to (prieš penkis mėnesius) mokslininkų trijulė sugebėjo pasinaudoti pažeidžiamumu, kad pasiektų „Intel“ lustuose integruotą aptarnavimo režimą, linktelėdami į filmą „Matrica“, tyrėjai pavadino savo įrankį pasiekti šį derintuvą, anksčiau nedokumentuotą „Chip Red“. Pill, nes tai leidžia tyrėjams patirti vidinį lusto veikimą, kuris paprastai neribojamas.

„Intel“ atstovas spaudai sakė, kad:

„Neturėtų kilti jokios rizikos saugumui“, nes įrankis yra prieinamas. Tiesą sakant, bendrovė teigė, kad leisdama daugiau žmonių peržiūrėti „Intel“ mikrokodą, lustų gamintoja ateityje galėtų nustatyti daugiau pažeidžiamumų. Kiekvienam, kuriam tai pavyksta, tai reiškia, kad jie gali uždirbti šiek tiek pinigų per „Intel“ klaidų kompensavimo programą.

„Tyrėjų gebėjimas analizuoti mikrokodą gali padėti atrasti naujų pažeidžiamumų. Kadangi šis mikrokodas buvo atskleistas, „Intel“ kviečia tyrėjus dalyvauti mikrokodų klaidų programoje, jei būtų aptikta kokių nors problemų“, – sakė jie.

Savo ruožtu šio įrankio kūrėjai tai pakomentavo

„Galimybė skaityti procesoriaus mikrokodą gali padėti suprasti, kaip „Intel“ įdiegė tokias technologijas kaip „Intel Trusted Execution Technology“ (TXT) arba sumažino rimtus pažeidžiamumus, tokius kaip „Meltdown“ ir „Spectre“.

Yermolovas, vienas iš kitų mokslininkų, pridūrė, kad priemonės prieinamumas reiškia kad žmonės dabar galite tyrinėti XuCode86 bitų režimo x64 kodo variantas, naudojamas Intel SGX dalims įdiegti, atsisiunčiamas kaip mikrokodo naujinys. SGX yra „Intel“ saugios atminties anklavų kūrimo technologija: tai yra saugomos sritys, kurių kitos programos ir vartotojai, įskaitant operacinę sistemą ar hipervizorių, negali kištis.

XuCode yra gana įdomus: x86 specifinės SGX anklavų valdymo instrukcijos yra tokios sudėtingos, kad yra suskirstytos į XuCode instrukcijų sekas, kurios atlieka būtinas operacijas.

Šios „XuCode“ instrukcijos yra standartinės 86 bitų x64 architektūrai su kai kuriais plėtiniais ir procesoriaus suskirstytos į įprastas x86 mikrooperacijas. Kai programa naudoja aukšto lygio SGX instrukcijas, procesorius gali pereiti prie savo XuCode, kad veiktų.

Šios XuCode sekos saugomos mikrokode ir dabar jas galima išgauti naudojant aukščiau nurodytus Python scenarijus ir analizuoti naudojant standartinius x86 atvirkštinės inžinerijos rinkinius.

Pagaliau jei norite sužinoti daugiau apie tai Išsamią informaciją apie įrankį galite patikrinti adresu šią nuorodą.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.