Microcode Decryptor, et verktøy som lar deg dekode mikrokoden til Intel-prosessorer

En gruppe av Sikkerhetsforskere fra uCode-teamet er sluppet prosjektkildekodeutgivelse mikrokodedekryptering og som gjør det mulig å gjøre akkurat det navnet antyder: det er et verktøy som består av tre Python-skript og er tilgjengelig på GitHub.

Mikrokodedekryptering lar deg dekode mikrokoden til enkelte Intel-prosessorer slik som Atom, Pentium og Celeron basert på Goldmont og Goldmont Plus mikroarkitekturer, som åpner døren til forskjellige scenarier, for eksempel å forstå hvordan Intel har implementert visse prosessorfunksjoner eller implementert ulike funksjoner og sikkerhetsfikser.

Red Unlock-teknikken utviklet av de samme forskerne i 2020 kan brukes til å trekke ut den krypterte mikrokoden. Den foreslåtte muligheten for å dechiffrere mikrokoden gjør det mulig å utforske den interne strukturen til mikrokoden og metodene for å implementere x86-maskininstruksjoner. I tillegg gjenopprettet forskerne fastvareoppdateringsformatet, krypteringsalgoritmen og nøkkelen som ble brukt til å beskytte mikrokoden (RC4).

For å finne ut hvilken krypteringsnøkkel som skal brukes, en sårbarhet i Intel TXE ble brukt til å aktivere en udokumentert feilsøkingsmodus, kodenavnet "Red Unlock" av forskerne. I feilsøkingsmodus klarte vi å laste en dump med en fungerende mikrokode direkte fra CPU og trekke ut algoritmen og nøklene fra den.

Mikrokodedekryptering den tillater bare å dechiffrere mikrokoden, men det tillater ikke å endre det, siden integriteten til mikrokoden i tillegg bekreftes av en digital signatur basert på RSA-algoritmen.

Når det gjelder hvordan utviklingen av Microcode Decryptor var mulig, nevner de at det skjedde for tre år siden da Goryachy og Ermolov fant en kritisk sårbarhet, indeksert som Intel SA-00086, som gjorde det mulig for dem å utføre koden etter eget valg innenfor den chip-uavhengige kjerne som inkluderte et undersystem kjent som Intel Management Engine.

Intel har fikset feilen og gitt ut en patch, men fordi brikker alltid kan rulles tilbake til en tidligere fastvareversjon og deretter utnyttes, er det ingen måte å effektivt fjerne sårbarheten.

Etter det (for fem måneder siden), var trioen av forskere i stand til å bruke sårbarheten for å få tilgang til en tjenestemodus innebygd i Intel-brikker, i et nikk til filmen The Matrix, kalte forskerne verktøyet deres for å få tilgang til denne feilsøkeren som tidligere var udokumentert Chip Red Pill, fordi den lar forskere oppleve den indre funksjonen til en brikke som vanligvis er forbudt.

En talsperson for Intel sa at:

"Det skal ikke være noen sikkerhetsrisiko" som følge av tilgjengeligheten til verktøyet. Faktisk sa selskapet at det å la flere personer se gjennom Intels mikrokode kunne hjelpe brikkeprodusenten med å identifisere flere sårbarheter i fremtiden. For alle som lykkes med å gjøre det, betyr det potensielt å tjene litt penger gjennom Intels bug-bounty-program.

«Forskeres evne til å analysere mikrokode kan gjøre det mulig å oppdage nye sårbarheter. Siden denne mikrokoden har blitt avslørt, inviterer Intel forskere til å delta i microcode bug bounty-programmet i tilfelle noen problemer blir oppdaget,» fortalte de oss.

På sin side kommenterte utviklerne av dette verktøyet det

"Muligheten til å lese CPU-mikrokode kan bidra til å forstå hvordan Intel implementerte teknologier som Intel Trusted Execution Technology (TXT) eller dempet alvorlige sårbarheter som Meltdown og Spectre."

Yermolov, en av de andre forskerne, la til at tilgjengeligheten av verktøyet betyr at folket nå kan du utforske XuCode, en 86-bits modus x64-kodevariant som brukes til å implementere deler av Intel SGX som lastes ned som en mikrokodeoppdatering. SGX er Intels teknologi for å lage sikre minneenklaver: Dette er beskyttede områder som andre programmer og brukere, inkludert operativsystemet eller hypervisoren, ikke kan forstyrre.

XuCode er ganske interessant: de x86-spesifikke instruksjonene for å administrere SGX-enklaver er så komplekse at de brytes ned i sekvenser av XuCode-instruksjoner som utfører de nødvendige operasjonene.

Disse XuCode-instruksjonene er standard for 86-bit x64-arkitekturen med noen utvidelser, og er delt opp i vanlige x86-mikrooperasjoner av prosessoren. Når en applikasjon bruker en SGX-instruksjon på høyt nivå, kan prosessoren hoppe til XuCode for å fungere.

Disse XuCode-sekvensene er lagret i mikrokode og kan nå ekstraheres med Python-skriptene ovenfor og analyseres med standard x86 reverse engineering-sett.

Endelig hvis du er interessert i å vite mer om det Om verktøyet kan du sjekke detaljene på følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.