AEPIC Leak, un atac care scurge cheile Intel SGX și afectează generația a 10-a, a 11-a și a 12-a

recent au fost publicate informații despre un nou atac asupra procesoarelor Intel, numit „Scurgere AEPIC” (deja catalogat sub CVE-2022-21233), acest nou atac duce la scurgeri de date sensibile din enclave izolate de intel sgx (Software Guard eXtensions).

Spre deosebire de atacurile din clasa Spectre, o scurgere în AEPIC Leak are loc fără utilizarea unor metode de recuperare terță parte, deoarece informațiile despre datele sensibile sunt transmise direct prin obținerea conținutului registrelor reflectate în pagina de memorie MMIO (memory mapped I/O).

În general, atacul permite determinarea datelor transferate între cache-urile celui de-al doilea și ultimul nivel, inclusiv conținutul registrelor și rezultatele operațiilor de citire a memoriei, care au fost procesate anterior pe același nucleu CPU.

Scanarea adreselor I/O pe procesoarele Intel bazate pe microarhitectura Sunny Cove a dezvăluit că înregistrările atribuiteController local de întrerupere programabil avansat în memorie (APIC) nu sunt
corect initializata. Ca rezultat, citirea arhitecturală a acestor registre returnează date învechite din microarhitectură, astfel încât nicio dată transferată între L2 și memoria cache de ultimul nivel nu poate fi citită prin aceste registre.

Ca spațiu de adresă al I/O este accesibil numai utilizatorilor privilegiați, ÆPIC Leak vizează TEE, SGX de la Intel. ÆPIC poate scurge date din enclavele SGX care rulează pe același nucleu fizic. În timp ce ÆPIC Leak ar reprezenta o amenințare imensă în mediile virtualizate, hipervizoarele de obicei îi fac să nu expună jurnalele APIC locale la mașinile virtuale, eliminând amenințarea în scenariile bazate pe cloud.

Similar cu atacul de execuție tranzitoriu anterior care vizează SGX, ÆPIC Leak este cel mai eficient atunci când este executat în paralel cu enclava din hiperprocesul frate. Cu toate acestea, scurgerea ÆPIC nu necesită hyperthreading și poate, de asemenea, să scurgă date din enclavă dacă hyperthreading nu este disponibil sau este dezactivat.

Introducem două tehnici noi pentru filtrarea datelor în uz, adică valorile registrului enclavei și datele în repaus, adică datele stocate în memoria enclavei. Cu Cache Line Freezing, introducem o tehnică care pune presiune țintită asupra ierarhiei cache fără a suprascrie datele învechite...
Aceste linii de cache par să călătorească în continuare prin ierarhia cache, dar nu suprascriu datele învechite. În acest scop, înregistrăm scurgerile de valori ale liniei cache în zona de stare sigură (SSA).

A doua tehnică, Enclave Shaking, exploatează capacitatea sistemului de operare de a schimba în siguranță paginile enclavei. Schimbând alternativ paginile din enclavă, paginile stocate în cache forțează datele prin ierarhia cache, permițând ÆPIC să filtreze valorile fără măcar a continua execuția enclavei. Exploatăm ÆPIC Leak în combinație cu
Cache Line Freezing și Enclave Shaking pentru a extrage cheile AES-NI și cheile RSA din biblioteca Intel IPP și Intel SGX. Atacul nostru scurge memoria enclavei la 334,8 B/s și o rată de lovituri de 92,2%.

dat fiind faptul că atacul necesită acces la paginile fizice ale APIC MMIO, adică sunt necesare privilegii de administrator, metoda se limitează la atacarea enclavelor SGX la care administratorul nu are acces direct.

Cercetătorii au dezvoltat un set de instrumente care permit, în câteva secunde, să se determine cheile AES-NI și RSA stocate în SGX, precum și cheile de atestare Intel SGX și parametrii generatorului de numere pseudoaleatoare. Codul atacului este publicat pe GitHub.

Intel a anunțat că pregătește o remediere sub forma unei actualizări de microcod care adaugă suport pentru spălarea tamponului și adaugă măsuri suplimentare pentru a proteja datele din enclavă.

O nouă versiune a SDK-ului pentru Intel SGX a fost, de asemenea, pregătită cu modificări pentru a preveni scurgerile de date. Dezvoltatorii de sisteme de operare și hypervisor sunt încurajați să folosească modul x2APIC în loc de modul xAPIC vechi, care utilizează registre MSR în loc de MMIO pentru a accesa registrele APIC.

Problema afectează procesoarele Intel din generațiile a 10-a, a 11-a și a 12-a (inclusiv noile serii Ice Lake și Alder Lake) și este cauzată de un defect arhitectural care permite accesul la datele neinițializate rămase pe procesoare. Înregistrările APIC (Advanced Programable Interrupt Controller) de la operațiuni anterioare.

in sfarsit daca esti interesat să afle mai multe despre asta, puteți verifica detaliile în următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.