LVI: o nouă clasă de atacuri de execuție speculativă pe procesoarele Intel

Informatii despre o nouă clasă de atacuri LVI în mecanism execuție speculativă care afectează Intel, care poate fi folosit pentru derivarea de chei și date sensibile din enclave Intel SGX și alte procese.

Noua clasă de atacuri se bazează pe manipulări cu aceleași structuri microarhitecturale ca în atacurile MDS, Spectre și Meltdown. În același timp, atacurile noi nu sunt blocate de metodele existente protecție împotriva Meltdown, Spectre, MDS și alte atacuri similare.

Despre LVI

Problema a fost identificat în aprilie anul trecut de cercetătorul Jo Van Bulck de la Universitatea din Leuven, după care, cu participarea a 9 cercetători din alte universități, au fost dezvoltate cinci metode de bază de atac, fiecare dintre ele permite opțiuni mai specifice.

Oricum, în luna februarie a acestui an, Cercetătorii Bitdefender au descoperit, de asemenea, una dintre opțiunile de atac LVI și a raportat-o ​​la Intel.

Opțiunile de atac se disting prin utilizarea diferitelor structuri microarhitecturale, cum ar fi Store Buffer (SB, Store Buffer), Fill Buffer (LFB, Line Fill Buffer), FPU Context Switch Buffer și First Level Cache (L1D), utilizate anterior în atacuri precum ZombieLoad, RIDL, Fallout, LazyFP, Foreshadow și Topire.

Principala diferență între Îi atacLVI și MDS înseamnă că MDS manipulează determinarea conținutului a structurilor microarhitecturale care rămân în cache după manipularea erorilor speculative sau operațiunile de încărcare și stocare, în timp ce Atacurile LVI permit atacatorului să fie înlocuit în structuri microarhitecturale să influențeze executarea speculativă ulterioară a codului victimei.

Folosind aceste manipulări, un atacator poate extrage conținutul structurilor de date închise în alte procese în timp ce execută anumite coduri în nucleul procesorului țintă.

Pentru exploatare, problemele trebuie găsite în codul procesului și trimite secvențe de coduri speciale (gadget-uri) în care valoarea controlată de atacator este încărcată și încărcarea acestei valori provoacă excepții care renunță la rezultat și reexecută instrucțiunea.

La procesarea unei excepții, apare o fereastră speculativă în timpul căreia datele procesate în gadget sunt filtrate.

În special procesorul începe să execute speculativ o bucată de cod (un obiect gadget), apoi determină că predicția nu a fost justificată și inversează operațiunile, dar datele procesate În timpul execuției speculative sunt depuse în memoria cache și tampoane L1D microarhitectură și pot fi extrase din acestea folosind metode cunoscute pentru a determina datele reziduale de pe canale terțe.

Principala dificultate să atace alte procese șicum să inițieze asistență prin manipularea procesului victimei.

În prezent, nu există modalități fiabile de a face acest lucru, dar în viitor constatarea sa nu este exclusă. Până în prezent, posibilitatea unui atac a fost confirmată doar pentru enclavele Intel SGX, alte scenarii sunt teoretice sau reproductibile în condiții sintetice.

Posibili vectori de atac

  • Scurgerea datelor din structurile nucleului către procesul de la nivel de utilizator. Protecție kernel Linux împotriva atacurilor Spectre 1 și a mecanismului de protecție SMAP (Supervisor Mode Access Prevention) reduce semnificativ probabilitatea unui atac LVI. Introducerea unei protecții suplimentare a nucleului poate fi necesară atunci când se identifică metode mai simple pentru a efectua un atac LVI în viitor.
  • Scurgerea datelor între diferite procese. Un atac necesită prezența anumitor fragmente de cod în aplicație și determinarea metodei pentru a ridica o excepție în procesul țintă.
  • Scurgerea datelor din mediul gazdă către sistemul de oaspeți. Atacul este clasificat ca fiind prea complex, necesitând implementarea mai multor pași greu de implementat și predicții de activitate pe sistem.
  • Scurgerea datelor între procese în diferite sisteme de oaspeți. Vectorul de atac este aproape de organizarea scurgerii de date între diferite procese, dar necesită și manipulări complexe pentru a evita izolarea între sistemele oaspeți.

Pentru a oferi o protecție eficientă împotriva LVI, sunt necesare modificări hardware ale procesorului. Organizând protecția programatic, adăugând instrucțiunea LFENCE a compilatorului după fiecare operație de încărcare din memorie și înlocuind instrucțiunea RET cu POP, LFENCE și JMP, remediază prea mult; Potrivit cercetătorilor, protecția software completă va duce la o degradare a performanței de 2 până la 19 ori.

Fuente: https://www.intel.com


Lasă comentariul tău

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

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  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.