Au identificat un nou tip de atac care afectează procesoarele Intel și AMD

Sigla Bug Inside Intel

Un grup de cercetătorii de la Universitatea din Virginia și California au prezentat un nou tip de atac la structurile microarhitecturale ale procesoarelor Intel și AMD.

Metoda de atac propusă este asociat cu utilizarea unui cache intermediar pentru micro-operații (cache micro-op) în procesoare, care poate fi folosit pentru a extrage informații care s-au stabilit în cursul execuției speculative a instrucțiunilor.

Se observă că noua metodă depășește semnificativ atacul Spectre v1 În ceea ce privește performanța, face ca atacul să fie dificil de detectat și nu este blocat de metodele existente de protecție împotriva atacurilor pe canal lateral, concepute pentru a bloca vulnerabilitățile cauzate de execuția speculativă a instrucțiunilor.

De exemplu, utilizarea instrucțiunii LFENCE blochează scurgerile în etapele târzii ale execuției speculative, dar nu protejează împotriva scurgerilor prin structurile microarhitecturale.

Metoda afectează modelele de procesoare Intel și AMD lansate începând cu 2011, inclusiv seria Intel Skylake și AMD Zen. Procesoarele moderne descompun instrucțiunile complexe ale procesorului în micro-operații mai simple, asemănătoare RISC, care sunt stocate în cache într-un cache separat.

Acest cache Este fundamental diferit de cache-urile de nivel superior, nu este direct accesibil și acționează ca un buffer de flux pentru a accesa rapid rezultatele decodării instrucțiunilor CISC într-o microinstrucțiune RISC.

Cu toate acestea, cercetătorii au găsit o modalitate de a crea condițiile care apar în timpul unui conflict de acces la cache și permit judecarea conținutului cache-ului de micro-operații prin analiza diferențelor de timp de execuție a anumitor acțiuni.

Cache-ul micro-op de pe procesoarele Intel este segmentat în raport cu firele CPU (Hyper-Threading), în timp ce procesoare AMD Zen utilizează un cache partajat, care creează condiții pentru scurgerea datelor nu numai în cadrul unui fir de execuție, ci și între diferite fire în SMT (scurgerea datelor este posibilă între codul executat pe diferite nuclee logice ale CPU).

Cercetătorii au propus o metodă de bază pentru a detecta modificări în memoria cache-ului micro-ops și diferite scenarii de atac care permit crearea de canale ascunse de transmisie a datelor și utilizarea codului vulnerabil pentru a scurge date sensibile, atât în ​​cadrul unui singur proces (de exemplu, pentru a organiza un proces de scurgere de date atunci când rulează cod terță parte). pe motoarele JIT și în mașinile virtuale) și între nucleu și procese din spațiul utilizatorului.

Prin organizarea unei variante a atacului Spectre folosind cache-ul micro-op, cercetătorii au reușit să atingă un throughput de 965.59 Kbps cu o rată de eroare de 0.22% și 785.56 Kbps la utilizarea corectării erorilor, în cazul unei scurgeri în același spațiu de date. . adrese. și nivelul de privilegiu.

Cu o scurgere care acoperă diferite niveluri de privilegii (între kernel și spațiu de utilizator), debitul a fost de 85,2 Kbps cu remedieri de erori adăugate și 110,96 Kbps cu o rată de eroare de 4%.

La atacarea procesoarelor AMD Zen, care creează o scurgere între diferitele nuclee logice ale procesorului, performanța a fost de 250 Kbps cu o rată de eroare de 5,59% și 168,58 Kbps cu corectarea erorilor. În comparație cu metoda clasică Spectre v1, noul atac s-a dovedit a fi de 2,6 ori mai rapid.

Se anticipează că atenuarea unui atac de cache micro-op ar necesita mai multe modificări care degradează performanța decât atunci când apărările Spectre au fost activate.

Ca compromis optim, se propune blocarea unor astfel de atacuri nu prin dezactivarea caching-ului, ci la nivelul monitorizării anomaliilor și determinării stărilor de cache tipice atacurilor.

Similar cu atacurile lui Spectre, Organizarea unei scurgeri a nucleului sau a altor procese necesită executarea unui anumit script (gadget-uri) pe partea proceselor victimei, ducând la executarea speculativă a instrucțiunilor.

În nucleul Linux au fost găsite aproximativ 100 de astfel de dispozitive, care vor fi eliminate, dar periodic se găsesc soluții pentru a le genera, de exemplu cele asociate cu lansarea programelor BPF special concepute în kernel.

În cele din urmă dacă sunteți interesat să aflați 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: 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.