Microcode Decryptor, työkalu, jonka avulla voit purkaa Intel-prosessorien mikrokoodin

Ryhmä Tietoturvatutkijat uCode-tiimistä julkaisivat projektin lähdekoodin julkaisu mikrokoodin salauksen purkaja ja se mahdollistaa juuri sen, mitä nimi ehdottaa: se on työkalu, joka koostuu kolmesta Python-skriptistä ja on saatavilla GitHubissa.

Mikrokoodin salauksen purkuohjelma mahdollistaa joidenkin Intel-suorittimien mikrokoodin purkamisen kuten Atom, Pentium ja Celeron, jotka perustuvat Goldmont- ja Goldmont Plus -mikroarkkitehtuureihin, mikä avaa oven erilaisiin skenaarioihin, kuten ymmärrykseen siitä, kuinka Intel on toteuttanut tiettyjä prosessoriominaisuuksia tai toteuttanut erilaisia ​​ominaisuuksia ja tietoturvakorjauksia.

Red Unlock -tekniikka kehitettiin samojen tutkijoiden toimesta vuonna 2020 voidaan käyttää salatun mikrokoodin purkamiseen. Ehdotettu mahdollisuus mikrokoodin purkamiseen mahdollistaa mikrokoodin sisäisen rakenteen ja x86-konekäskyjen toteuttamismenetelmien tutkimisen. Lisäksi tutkijat saivat takaisin laiteohjelmiston päivitysmuodon, salausalgoritmin ja mikrokoodin suojaamiseen käytetyn avaimen (RC4).

Jotta voit määrittää käytettävän salausavaimen, Intel TXE:n haavoittuvuutta käytettiin ottamaan käyttöön dokumentoimaton virheenkorjaustila, tutkijoiden koodinimeltään "Red Unlock". Debug-tilassa onnistuimme lataamaan toimivan mikrokoodin sisältävän dumpin suoraan CPU:sta ja poimimaan siitä algoritmin ja avaimet.

Mikrokoodin salauksen purkuohjelma se mahdollistaa vain mikrokoodin purkamisen, mutta se ei salli sitä muuttaa, koska mikrokoodin eheys varmistetaan lisäksi RSA-algoritmiin perustuvalla digitaalisella allekirjoituksella.

Mitä tulee siihen, miten Microcode Decryptorin kehittäminen oli mahdollista, he mainitsevat, että se tapahtui kolme vuotta sitten, kun Goryachy ja Ermolov löysivät kriittisen haavoittuvuuden, joka on indeksoitu nimellä Intel SA-00086, jonka ansiosta he pystyivät suorittamaan valitsemansa koodin siruista riippumattomassa järjestelmässä. ydin, joka sisälsi Intel Management Engine -nimisen alijärjestelmän.

Intel on korjannut virheen ja julkaissut korjaustiedoston, mutta koska sirut voidaan aina palauttaa aiempaan laiteohjelmistoversioon ja sitten niitä voidaan hyödyntää, haavoittuvuutta ei voida poistaa tehokkaasti.

Sen jälkeen (viisi kuukautta sitten) tutkijakolmio pystyi käyttämään haavoittuvuutta päästäkseen Intel-siruihin sisäänrakennettuun palvelutilaan, nyökkäyksenä Matrix-elokuvalle, tutkijat nimesivät työkalunsa käyttää tätä aiemmin dokumentoimatonta viankorjausohjelmaa Chip Red. Pilleri, koska sen avulla tutkijat voivat kokea sirun sisäisen toiminnan, joka on yleensä rajaton.

Intelin tiedottaja sanoi, että:

"Turvallisuusriskiä ei pitäisi olla" työkalun saatavuuden vuoksi. Itse asiassa yhtiö sanoi, että jos useammat ihmiset voivat tarkastella Intelin mikrokoodia, se voisi auttaa siruvalmistajaa tunnistamaan lisää haavoittuvuuksia tulevaisuudessa. Kaikille, jotka onnistuvat siinä, se tarkoittaa potentiaalista ansaita rahaa Intelin bug bounty -ohjelman kautta.

”Tutkijoiden kyky analysoida mikrokoodia voi mahdollistaa uusien haavoittuvuuksien löytämisen. Koska tämä mikrokoodi on paljastettu, Intel kutsuu tutkijoita osallistumaan mikrokoodivirhepalkkioohjelmaan, jos ongelmia havaitaan", he kertoivat meille.

Tämän työkalun kehittäjät puolestaan ​​kommentoivat tätä

"Mahdollisuus lukea suorittimen mikrokoodia voisi auttaa ymmärtämään, kuinka Intel otti käyttöön tekniikoita, kuten Intel Trusted Execution Technology (TXT) tai lievensi vakavia haavoittuvuuksia, kuten Meltdown ja Spectre."

Yermolov, yksi muista tutkijoista, lisäsi, että työkalun saatavuus tarkoittaa että ihmiset nyt voit tutkia XuCodea, 86-bittisen tilan x64-koodivariantti, jota käytetään mikrokoodipäivityksenä ladattavan Intel SGX:n osien toteuttamiseen. SGX on Intelin tekniikka suojattujen muistien luomiseen: Nämä ovat suojattuja alueita, joihin muut ohjelmat ja käyttäjät, mukaan lukien käyttöjärjestelmä tai hypervisor, eivät voi puuttua.

XuCode on varsin mielenkiintoinen: x86-kohtaiset ohjeet SGX-enklaavien hallintaan ovat niin monimutkaisia, että ne on jaettu XuCode-käskysarjoiksi, jotka suorittavat tarvittavat toiminnot.

Nämä XuCode-ohjeet ovat vakiona 86-bittiselle x64-arkkitehtuurille joissakin laajennuksissa, ja prosessori jakaa ne tavallisiin x86-mikrooperaatioihin. Kun sovellus käyttää korkean tason SGX-käskyä, prosessori voi siirtyä XuCodeensa toimiakseen.

Nämä XuCode-sekvenssit on tallennettu mikrokoodiin, ja ne voidaan nyt purkaa yllä olevilla Python-skripteillä ja analysoida tavallisilla x86-reverse engineering -sarjoilla.

Vihdoin jos olet kiinnostunut tietämään siitä lisää Tietoja työkalusta voit tarkistaa osoitteesta seuraava linkki.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.