Microcode Decryptor, et værktøj, der giver dig mulighed for at afkode mikrokoden for Intel-processorer

En gruppe af Sikkerhedsforskere fra uCode-teamet frigivet udgivelse af projektets kildekode mikrokodedekryptering og det gør det muligt at gøre præcis, hvad navnet antyder: det er et værktøj, som består af tre Python-scripts og er tilgængeligt på GitHub.

Mikrokodedekryptering gør det muligt at afkode mikrokoden for nogle Intel-processorer såsom Atom, Pentium og Celeron baseret på Goldmont og Goldmont Plus mikroarkitekturer, hvilket åbner døren til forskellige scenarier, såsom at forstå, hvordan Intel har implementeret visse processorfunktioner eller implementeret forskellige funktioner og sikkerhedsrettelser.

Red Unlock-teknikken udviklet af de samme forskere i 2020 kan bruges til at udtrække den krypterede mikrokode. Den foreslåede mulighed for at dechifrere mikrokoden gør det muligt at udforske den interne struktur af mikrokoden og metoderne til at implementere x86 maskininstruktioner. Derudover gendannede forskerne firmwareopdateringsformatet, krypteringsalgoritmen og nøglen, der blev brugt til at beskytte mikrokoden (RC4).

For at bestemme, hvilken krypteringsnøgle der skal bruges, en sårbarhed i Intel TXE blev brugt til at aktivere en udokumenteret fejlretningstilstand, kodenavnet "Red Unlock" af forskerne. I debug-tilstand lykkedes det os at indlæse et dump med en fungerende mikrokode direkte fra CPU'en og udtrække algoritmen og nøglerne fra den.

Mikrokodedekryptering det tillader kun at dechifrere mikrokoden, men det tillader ikke at ændre det, da mikrokodens integritet desuden verificeres af en digital signatur baseret på RSA-algoritmen.

Med hensyn til hvordan udviklingen af ​​Microcode Decryptor var mulig, nævner de, at det skete for tre år siden, da Goryachy og Ermolov fandt en kritisk sårbarhed, indekseret som Intel SA-00086, der gjorde det muligt for dem at udføre koden efter eget valg i den chip-uafhængige kerne, som inkluderede et undersystem kendt som Intel Management Engine.

Intel har rettet fejlen og udgivet en patch, men fordi chips altid kan rulles tilbage til en tidligere firmwareversion og derefter udnyttes, er der ingen måde at fjerne sårbarheden effektivt på.

Efter det (for fem måneder siden), var trioen af ​​videnskabsmænd i stand til at bruge sårbarheden til at få adgang til en servicetilstand indbygget i Intel-chips, i et nik til filmen The Matrix, navngav forskerne deres værktøj til at få adgang til denne debugger tidligere udokumenterede Chip Red Pille, fordi det giver forskere mulighed for at opleve den indre funktion af en chip, der normalt er off limits.

En talsmand for Intel sagde, at:

"Der bør ikke være nogen sikkerhedsrisiko" som følge af tilgængeligheden af ​​værktøjet. Faktisk sagde virksomheden, at det at lade flere mennesker gennemgå Intels mikrokode kunne hjælpe chipproducenten med at identificere flere sårbarheder i fremtiden. For alle, der har succes med at gøre det, betyder det potentielt at tjene nogle penge gennem Intels bug bounty-program.

“Forskeres evne til at analysere mikrokode kan gøre det muligt at opdage nye sårbarheder. Da denne mikrokode er blevet afsløret, inviterer Intel forskere til at deltage i microcode bug bounty-programmet i tilfælde af, at der bliver opdaget problemer,” fortalte de os.

For deres del kommenterede udviklerne af dette værktøj det

"Muligheden for at læse CPU-mikrokode kan hjælpe med at forstå, hvordan Intel implementerede teknologier som Intel Trusted Execution Technology (TXT) eller afbød alvorlige sårbarheder som Meltdown og Spectre."

Yermolov, en af ​​de andre videnskabsmænd, tilføjet, at tilgængeligheden af ​​værktøjet betyder at folket nu kan du udforske XuCode, en 86-bit-tilstand x64-kodevariant, der bruges til at implementere dele af Intel SGX, der downloades som en mikrokodeopdatering. SGX er Intels teknologi til at skabe sikre hukommelsesenklaver: Disse er beskyttede områder, som andre programmer og brugere, inklusive operativsystemet eller hypervisoren, ikke kan forstyrre.

XuCode er ret interessant: de x86-specifikke instruktioner til styring af SGX-enklaver er så komplekse, at de er opdelt i sekvenser af XuCode-instruktioner, der udfører de nødvendige operationer.

Disse XuCode-instruktioner er standard for 86-bit x64-arkitekturen med nogle udvidelser og er opdelt i almindelige x86-mikrooperationer af processoren. Når en applikation bruger en SGX-instruktion på højt niveau, kan processoren hoppe til sin XuCode for at arbejde.

Disse XuCode-sekvenser er gemt i mikrokode og kan nu ekstraheres med ovenstående Python-scripts og analyseres med standard x86 reverse engineering-sæt.

Endelig hvis du er interesseret i at vide mere om det Om værktøjet kan du tjekke detaljerne på følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.