AEPIC Leak, napad, ki uhaja iz ključev Intel SGX in vpliva na 10., 11. in 12. generacijo

Pred kratkim objavljene so bile informacije o nov napad na Intelove procesorje, imenovan "Uhajanje AEPIC" (že katalogiziran pod CVE-2022-21233), ta novi napad vodi do uhajanja občutljivih podatkov iz izolirane enklave intel sgx (Razširitve programske opreme Guard).

Za razliko od napadov razreda Spectre, uhajanje v AEPIC Leak se zgodi brez uporabe obnovitvenih metod tretjih oseb, saj se informacije o občutljivih podatkih prenašajo neposredno tako, da se vsebina registrov odraža na pomnilniški strani MMIO (pomnilniško preslikan V/I).

Na splošno napad omogoča določitev podatkov, ki se prenašajo med predpomnilniki druge in zadnje ravni, vključno z vsebino registrov in rezultati operacij branja pomnilnika, ki so bili predhodno obdelani na istem jedru CPE.

Skeniranje V/I naslovov na procesorjih Intel, ki temeljijo na mikroarhitekturi Sunny Cove razkrila, da dodeljeni zapisinapredni programabilni lokalni prekinitveni krmilnik (APIC) v pomnilniku niso
pravilno inicializiran. Posledično arhitekturno branje teh registrov vrne zastarele podatke iz mikroarhitekture, tako da prek teh registrov ni mogoče prebrati nobenih podatkov, prenesenih med L2 in predpomnilnikom zadnje ravni.

Kot naslovni prostor za V/I je dostopen le privilegiranim uporabnikom, Puščanje ÆPIC cilja na Intelov TEE, SGX. ÆPIC lahko uhaja podatke iz enklav SGX, ki se izvajajo v istem fizičnem jedru. Medtem ko bi puščanje ÆPIC predstavljalo ogromno grožnjo v virtualiziranih okoljih, hipervizorji običajno poskrbijo, da ne izpostavljajo lokalnih dnevnikov APIC virtualnim strojem, kar odpravi grožnjo v scenarijih v oblaku.

Podobno kot pri prejšnjem napadu s prehodnim izvajanjem, ki cilja na SGX, je ÆPIC Leak najbolj učinkovit, če se izvaja vzporedno z enklavo na sorodnem hiperprocesu. Vendar puščanje ÆPIC ne zahteva hipernitnosti in lahko povzroči tudi uhajanje podatkov enklave, če hipernitnost ni na voljo ali je onemogočena.

Predstavljamo dve novi tehniki za filtriranje podatkov v uporabi, to je vrednosti registra enklave, in podatkov v mirovanju, to je podatkov, shranjenih v pomnilniku enklave. Z zamrznitvijo predpomnilniške vrstice uvajamo tehniko, ki ciljno izvaja pritisk na hierarhijo predpomnilnika, ne da bi prepisala zastarele podatke ...
Videti je, da te vrstice predpomnilnika še vedno potujejo skozi hierarhijo predpomnilnika, vendar ne prepišejo zastarelih podatkov. V ta namen beležimo uhajanja vrednosti vrstice predpomnilnika v območju varnega stanja (SSA).

Druga tehnika, Enclave Shaking, izkorišča zmožnost operacijskega sistema, da varno zamenja strani enklave. Z izmenično zamenjavo strani enklave ven in noter predpomnjene strani silijo podatke skozi hierarhijo predpomnilnika, kar ÆPIC omogoča filtriranje vrednosti, ne da bi sploh nadaljeval izvajanje enklave. Izkoriščamo ÆPIC Leak v kombinaciji z
Zamrznitev vrstice predpomnilnika in stresanje enklave za ekstrahiranje ključev AES-NI in ključev RSA iz knjižnice Intel IPP in Intel SGX. Naš napad uhaja iz pomnilnika enklave s hitrostjo 334,8 B/s in 92,2-odstotno stopnjo zadetkov.

Od takrat napad zahteva dostop do fizičnih strani APIC MMIO, kar pomeni, da so potrebne skrbniške pravice, metoda je omejena na napad na enklave SGX, do katerih skrbnik nima neposrednega dostopa.

Raziskovalci so razvili nabor orodij, ki v nekaj sekundah omogočajo določitev ključev AES-NI in RSA, shranjenih v SGX, kot tudi atestacijske ključe Intel SGX in parametre generatorja psevdonaključnih števil. Koda napada je objavljena na GitHubu.

Intel je sporočil, da pripravlja popravek v obliki posodobitve mikrokode, ki dodaja podporo za izpiranje medpomnilnika in dodaja dodatne ukrepe za zaščito podatkov enklave.

Pripravljena je bila tudi nova različica SDK za Intel SGX s spremembami za preprečevanje uhajanja podatkov. Razvijalcem OS in hipervizorjev priporočamo uporabo načina x2APIC namesto starejšega načina xAPIC, ki za dostop do registrov APIC uporablja registre MSR namesto MMIO.

Težava vpliva na procesorje Intel 10., 11. in 12. generacije (vključno z novima serijama Ice Lake in Alder Lake) in je posledica arhitekturne napake, ki omogoča dostop do neinicializiranih podatkov, ki so ostali v procesorjih. APIC (Advanced Programmable Interrupt Controller) beleži iz prejšnje operacije.

končno če si zanima več o tem, podrobnosti lahko preverite v naslednjo povezavo.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.