Microcode Decryptor, una eina que permet descodificar el microcodi de processadors Intel

Un grup de investigadors de seguretat de l'equip d'uCode van donar a conèixer l'alliberament del codi font del projecte Microcode Decryptor i que permet fer exactament el que suggereix el nom: és una eina, que consta de tres scripts de Python i està disponible a GitHub.

Microcode Decryptor permet descodificar el microcodi d'alguns processadors Intel com Atom, Pentium i Celeron basat en microarquitectures Goldmont i Goldmont Plus, cosa que obre la porta a diferents escenaris, com comprendre com Intel ha implementat certes funcions del processador o ha implementat diverses funcions i arranjaments de seguretat.

La tècnica Red Unlock desenvolupada pels mateixos investigadors el 2020 es pot utilitzar per extreure el microcodi xifrat. La possibilitat proposada de desxifrar el microcodi permet explorar l'estructura interna del microcodi i els mètodes per implementar instruccions de màquina x86. A més, els investigadors van recuperar el format d'actualització del microprogramari, l'algorisme de xifratge i la clau utilitzada per protegir el microcodi (RC4).

Per determinar quina clau de xifratge utilitzar, es va utilitzar una vulnerabilitat a Intel TXE per habilitar un mode de depuració no documentat, el nom del qual en codi és «Red Unlock» pels investigadors. En el mode de depuració, aconseguim carregar un bolcat amb un microcodi en funcionament directament des de la CPU i extreure'n l'algorisme i les claus.

Microcode Decryptor només permet desxifrar el microcodiperò no permet canviar-lo, ja que la integritat del microcodi es verifica addicionalment mitjançant una signatura digital basada en l'algorisme RSA.

Quant al com va ser possible el desenvolupament de Microcode Decryptor, esmenten que es va produir fa tres anys quan Goryachy i Ermolov van trobar una vulnerabilitat crítica, indexada com a Intel SA-00086, que els permetia executar el codi de la seva elecció dins del nucli independent de xips que incloïa un subsistema conegut com a Intel Management Engine.

Intel va solucionar l'error i va llançar un pegat, però pel fet que els xips sempre es poden revertir a una versió de microprogramari anterior i després explotar, no hi ha manera d'eliminar la vulnerabilitat de manera efectiva.

Posterior a això (fa cinc mesos), el trio de científics va poder utilitzar la vulnerabilitat per accedir a un mode de servei integrat als xips Intel, en una picada d'ullet a la pel·lícula The Matrix, els investigadors van trucar a la seva eina per accedir a aquest depurador prèviament indocumentat Chip Red Pill, perquè permet als investigadors experimentar el funcionament intern d'un xip que generalment és fora dels límits.

Un portaveu d'Intel va dir que:

"no hi hauria d'haver cap risc de seguretat" com a resultat de la disponibilitat de l'eina. De fet, la companyia va dir que permetre que més persones revisin el microcodi d'Intel podria ajudar el fabricant de xips a identificar més vulnerabilitats en el futur. Per a qualsevol que tingui èxit en fer-ho, això significa potencialment guanyar una mica de diners a través del programa de recompenses per errors dIntel.

«La capacitat dels investigadors per analitzar el microcodi podria permetre el descobriment de noves vulnerabilitats. Atès que aquest microcodi ha estat exposat, Intel convida els investigadors a participar al programa de recompenses per errors de microcodi en cas que es descobreixi algun problema», ens van dir.

Per part seva, els desenvolupadors d'aquesta eina han comentat que

«l'oportunitat de llegir el microcodi de la CPU podria ajudar a comprendre com Intel va implementar tecnologies com Intel Trusted Execution Technology (TXT) o va mitigar vulnerabilitats greus com Meltdown i Spectre.»

Yermolov, un dels altres científics, va afegir que la disponibilitat de l'eina significa que les persones ara poden explorar XuCode, una variant de codi x86 en mode de 64 bits utilitzada per implementar parts d'Intel SGX que es descarrega com una actualització de microcodi. SGX és la tecnologia d'Intel per crear enclavaments de memòria segurs: aquestes són àrees protegides on altres programes i usuaris, fins i tot el sistema operatiu o l'hipervisor, no poden interferir.

XuCode és força interessant: les instruccions específiques de x86 per administrar enclavaments SGX són tan complexes que es divideixen en seqüències d'instruccions XuCode que fan les operacions necessàries.

Aquestes instruccions de XuCode són estàndard per a l'arquitectura x86 de 64 bits amb algunes extensions i el processador les divideix en microoperacions x86 regulars. Quan una aplicació utilitza una instrucció SGX d'alt nivell, el processador pot saltar al XuCode per treballar.

Aquestes seqüències de XuCode s'emmagatzemen en microcodi i ara es poden extreure amb els scripts de Python anteriors i analitzar-se amb kits d'enginyeria inversa x86 estàndard.

Finalment si estàs interessat en poder conèixer més a l'respecte sobre l'eina, pots consultar els detalls a el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.