AEPIC Leak — uzbrukums, kas nopludina Intel SGX atslēgas un ietekmē 10., 11. un 12. paaudzi

Nesen tika izlaista informācija par jauns uzbrukums Intel procesoriem, ko sauc "AEPIC noplūde" (jau kataloģizēts ar CVE-2022-21233), šis jaunais uzbrukums noved pie sensitīvu datu noplūdes no izolēti anklāvi intel sgx (Software Guard paplašinājumi).

Atšķirībā no Spectre klases uzbrukumiem, AEPIC Leak noplūde notiek, neizmantojot trešās puses atkopšanas metodes, jo informācija par sensitīviem datiem tiek pārsūtīta tieši, iegūstot reģistru saturu, kas atspoguļots MMIO (atmiņas kartējuma I/O) atmiņas lapā.

Vispār, uzbrukums ļauj noteikt datus, kas tiek pārsūtīti starp otrā un pēdējā līmeņa kešatmiņām, ieskaitot reģistru saturu un atmiņas nolasīšanas operāciju rezultātus, kas iepriekš tika apstrādāti tajā pašā CPU kodolā.

I/O adrešu skenēšana uz Intel CPU, kuru pamatā ir Sunny Cove mikroarhitektūra atklāja, ka piešķirtie ierakstis atmiņā esošais uzlabotais programmējamais pārtraukšanas lokālais kontrolieris (APIC) tie nav
pareizi inicializēts. Rezultātā šo reģistru arhitektūras nolasīšana atgriež novecojušus datus no mikroarhitektūras, tāpēc šajos reģistros nevar nolasīt datus, kas pārsūtīti starp L2 un pēdējā līmeņa kešatmiņu.

Kā adreses telpa I/O ir pieejams tikai priviliģētiem lietotājiem, ÆPIC noplūde ir vērsta uz Intel TEE, SGX. ÆPIC var nopludināt datus no SGX anklāviem, kas darbojas tajā pašā fiziskajā kodolā. Lai gan ÆPIC noplūde radītu milzīgus draudus virtualizētā vidē, hipervizori parasti liek tiem nepakļaut vietējos APIC žurnālus virtuālajām mašīnām, tādējādi novēršot draudus mākoņdatošanas scenārijos.

Līdzīgi kā iepriekšējam pārejošas izpildes uzbrukumam, kura mērķis ir SGX, ÆPIC noplūde ir visefektīvākā, ja tā tiek izpildīta paralēli brāļa un māsas hiperprocesa anklāvam. Tomēr ÆPIC noplūdei nav nepieciešama hiperpavediena izveide, un tā var arī noplūst anklāva datus, ja hiperpavediens nav pieejams vai ir atspējots.

Mēs ieviešam divus jaunus izmantoto datu filtrēšanas paņēmienus, tas ir, anklāva reģistra vērtības un datus miera stāvoklī, tas ir, anklāva atmiņā saglabātos datus. Izmantojot kešatmiņas līnijas iesaldēšanu, mēs ieviešam paņēmienu, kas rada mērķtiecīgu spiedienu uz kešatmiņas hierarhiju, nepārrakstot novecojušus datus...
Šķiet, ka šīs kešatmiņas rindas joprojām pārvietojas pa kešatmiņas hierarhiju, taču tās nepārraksta novecojušos datus. Šim nolūkam mēs reģistrējam kešatmiņas līniju vērtību noplūdes drošā stāvokļa apgabalā (SSA).

Otrais paņēmiens, Enclave Shaking, izmanto operētājsistēmas spēju droši apmainīt anklāvu lapas. Pārmaiņus mainot anklāva lapas uz āru un uz iekšu, kešatmiņā saglabātās lapas izspiež datus caur kešatmiņas hierarhiju, ļaujot ÆPIC filtrēt vērtības, pat neturpinot anklāva izpildi. Mēs izmantojam ÆPIC Leak kombinācijā ar
Kešatmiņas līnijas iesaldēšana un anklāva kratīšana, lai iegūtu AES-NI atslēgas un RSA atslēgas no Intel IPP bibliotēkas un Intel SGX. Mūsu uzbrukuma noplūde aptver atmiņu ar ātrumu 334,8 B/s un trāpījumu līmeni 92,2%.

Kopš tā laika uzbrukumam ir nepieciešama piekļuve APIC MMIO fiziskajām lapām, t.i., ir nepieciešamas administratora privilēģijas, metode ir ierobežota ar uzbrukumu SGX anklāviem, kuriem administratoram nav tiešas piekļuves.

Pētnieki ir izstrādājuši rīku komplektu, kas ļauj dažu sekunžu laikā noteikt SGX saglabātās AES-NI un RSA atslēgas, kā arī Intel SGX atestācijas atslēgas un pseidogadījuma skaitļu ģeneratora parametrus. Uzbrukuma kods ir publicēts vietnē GitHub.

Intel paziņoja, ka gatavo labojumu atjauninājuma veidā mikrokoda, kas papildina atbalstu bufera izskalošanai un pievieno papildu pasākumus anklāva datu aizsardzībai.

Ir sagatavota arī jauna Intel SGX SDK versija ar izmaiņām, lai novērstu datu noplūdi. OS un hipervizora izstrādātāji tiek aicināti izmantot x2APIC režīmu, nevis mantoto xAPIC režīmu, kas izmanto MSR reģistrus, nevis MMIO, lai piekļūtu APIC reģistriem.

Problēma skar Intel 10., 11. un 12. paaudzes CPU (tostarp jauno Ice Lake un Alder Lake sēriju), un to izraisa arhitektūras defekts, kas ļauj piekļūt CPU atstātajiem neinicializētiem datiem. APIC (Advanced Programmable Interrupt Controller) ieraksti no iepriekšējās operācijas.

beidzot, ja esi interesē uzzināt vairāk par to, sīkāku informāciju varat pārbaudīt š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.