Mikrokoda atšifrētājs, rīks, kas ļauj atšifrēt Intel procesoru mikrokodu

Grupa Atbrīvoti drošības pētnieki no uCode komandas projekta pirmkoda izlaišana mikrokoda atšifrētājs un tas ļauj darīt tieši to, ko norāda nosaukums: tas ir rīks, kas sastāv no trim Python skriptiem un ir pieejams GitHub.

Mikrokoda atšifrētājs ļauj atšifrēt dažu Intel procesoru mikrokodu piemēram, Atom, Pentium un Celeron, pamatojoties uz Goldmont un Goldmont Plus mikroarhitektūrām, kas paver durvis dažādiem scenārijiem, piemēram, izpratnei par to, kā Intel ir ieviesis noteiktas procesora funkcijas vai ieviesis dažādas funkcijas un drošības labojumus.

Izstrādāta Red Unlock tehnika tie paši pētnieki 2020. gadā var izmantot, lai izvilktu šifrētu mikrokodu. Piedāvātā mikrokoda atšifrēšanas iespēja ļauj izpētīt mikrokoda iekšējo struktūru un metodes x86 mašīnas instrukciju ieviešanai. Turklāt pētnieki atguva programmaparatūras atjaunināšanas formātu, šifrēšanas algoritmu un atslēgu, ko izmantoja mikrokoda aizsardzībai (RC4).

Lai noteiktu, kuru šifrēšanas atslēgu izmantot, Intel TXE ievainojamība tika izmantota, lai iespējotu nedokumentētu atkļūdošanas režīmu, ko pētnieki nodēvējuši par “Red Unlock”. Atkļūdošanas režīmā mums izdevās ielādēt izgāztuvi ar strādājošu mikrokodu tieši no CPU un izvilkt no tā algoritmu un atslēgas.

Mikrokoda atšifrētājs tas ļauj tikai atšifrēt mikrokodu, taču tas neļauj to mainīt, jo mikrokoda integritāti papildus pārbauda ar digitālo parakstu, kas balstīts uz RSA algoritmu.

Runājot par to, kā bija iespējama mikrokoda atšifrētāja izstrāde, viņi min, ka tas notika pirms trim gadiem, kad Gorjačijs un Ermolovs atrada kritisku ievainojamību, kas indeksēta kā Intel SA-00086, kas ļāva viņiem izpildīt izvēlēto kodu no mikroshēmas neatkarīgajā sistēmā. kodols., kas ietvēra apakšsistēmu, kas pazīstama kā Intel Management Engine.

Intel ir izlabojis kļūdu un izlaidis ielāpu, taču, tā kā mikroshēmas vienmēr var atgriezt uz iepriekšējo programmaparatūras versiju un pēc tam tās izmantot, ievainojamību nevar efektīvi novērst.

Pēc tam (pirms pieciem mēnešiem) zinātnieku trijotne varēja izmantot ievainojamību, lai piekļūtu servisa režīmam, kas iebūvēts Intel mikroshēmās, un, atsaucoties uz filmu The Matrix, pētnieki nosauca savu rīku, lai piekļūtu šim iepriekš nedokumentētajam atkļūdotājam, Chip Red. Tabletes, jo tas ļauj pētniekiem izjust mikroshēmas iekšējo darbību, kas parasti nav ierobežota.

Intel pārstāvis teica, ka:

Rīka pieejamības dēļ "drošības riskam nevajadzētu būt". Faktiski uzņēmums teica, ka, ļaujot vairāk cilvēkiem pārskatīt Intel mikrokodu, mikroshēmu ražotājs nākotnē varētu identificēt vairāk ievainojamību. Ikvienam, kuram tas ir izdevies, tas nozīmē potenciāli nopelnīt naudu, izmantojot Intel kļūdu atlīdzības programmu.

"Pētnieku spēja analizēt mikrokodu varētu ļaut atklāt jaunas ievainojamības. Tā kā šis mikrokods ir atklāts, Intel aicina pētniekus piedalīties mikrokoda kļūdu atlīdzības programmā, ja tiek atklātas kādas problēmas, ”viņi mums teica.

No savas puses šī rīka izstrādātāji to komentēja

"Iespēja lasīt CPU mikrokodu varētu palīdzēt saprast, kā Intel ieviesa tādas tehnoloģijas kā Intel Trusted Execution Technology (TXT) vai mazināja nopietnas ievainojamības, piemēram, Meltdown un Spectre."

Jermolovs, viens no citiem zinātniekiem, piebilda, ka instrumenta pieejamība nozīmē ka cilvēki tagad varat izpētīt XuCode86 bitu režīma x64 koda variants, ko izmanto, lai ieviestu Intel SGX daļas, kas tiek lejupielādētas kā mikrokoda atjauninājums. SGX ir Intel tehnoloģija drošu atmiņas anklāvu izveidei: tās ir aizsargātas zonas, kuras nevar traucēt citas programmas un lietotāji, tostarp operētājsistēma vai hipervizors.

XuCode ir diezgan interesants: x86 specifiskās instrukcijas SGX anklāvu pārvaldīšanai ir tik sarežģītas, ka tiek sadalītas XuCode instrukciju secībās, kas veic nepieciešamās darbības.

Šīs XuCode instrukcijas ir standarta 86 bitu x64 arhitektūrai ar dažiem paplašinājumiem, un procesors tos sadala parastās x86 mikrooperācijās. Ja lietojumprogramma izmanto augsta līmeņa SGX instrukciju, procesors var pāriet uz savu XuCode, lai strādātu.

Šīs XuCode sekvences tiek glabātas mikrokodā, un tagad tās var iegūt ar iepriekš minētajiem Python skriptiem un analizēt ar standarta x86 reversās inženierijas komplektiem.

Beidzot ja jūs interesē uzzināt vairāk par to Detalizētu informāciju par rīku varat pārbaudīt vietnē šo saiti.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.