L1DES (CacheOut) și VRS — noi vulnerabilități în structurile microarhitecturale ale CPU-urilor Intel

Compania Intel a dezvăluit informații despre două noi vulnerabilități în CPU Intel, cauzate de scurgeri de date din cache-ul L1D (CVE-2020-0549, L1DES — L1D Eviction Sampling) și registrele vectoriale (CVE-2020-0548, VRS — Vector Register Sampling). Vulnerabilitățile se încadrează în clasa MDS (Microarchitectural Data Sampling) și se bazează pe utilizarea metodologiilor de analiză pe canale laterale pentru datele din structurile microarhitecturale. AMD, ARM și alte procesoare nu sunt afectate de aceste probleme.

Cea mai mare amenințare este vulnerabilitatea L1DES, care perminte stocarea blocurilor de date cached (cache line), care sunt eliminate din cache-ul de nivel 1 (L1D), în bufferul de completare (Fill Buffer), care în acest stadiu ar trebui să fie gol. Pentru a determina datele stocate în bufferul de completare, se pot aplica metodologii de analiză pe canale laterale, propuse anterior în atacurile MDS (Microarchitectural Data Sampling) și TAA (Transactional Asynchronous Abort). Esența protecției implementate anterior împotriva
MDS și TAA constă în curățarea bufferelor microarhitecturale înainte de schimbarea contextului, dar, așa cum s-a constatat, în anumite condiții, datele sunt resetate speculativ în bufere după operațiunea de curățare, astfel încât metodologiile MDS și TAA rămân aplicabile.

L1DES (CacheOut) și VRS - noi vulnerabilități în structurile microarhitecturale ale CPU-urilor Intel

În consecință, atacatorul poate obține determinarea datelor eliminate din cache-ul de nivel 1 care au fost modificate în timpul executării unei aplicații care a ocupat anterior nucleul CPU curent sau aplicații care rulează în paralel în alte fire logice (hyperthread) pe același nucleu CPU (dezactivarea HyperThreading anulează eficiența atacului). Spre deosebire de atacul L1TF, L1DES nu permite selectarea unor adrese fizice specifice pentru verificare, dar oferă posibilitatea de a monitoriza pasiv activitatea din alte fire logice, asociată cu încărcarea sau salvarea în memorie a valorilor.

Pe baza L1DES, diverse echipe de cercetare au dezvoltat mai multe variante de atacuri care permit potențial extragerea informațiilor confidențiale din alte procese, sistemul de operare, mașini virtuale și enclave protejate SGX.

  • Echipa VUSec a adaptat metoda de atac RIDL pentru vulnerabilitatea L1DES. Disponibil un prototip de exploit, care include metodele Intel de protecție împotriva MDS, bazate pe instruirea VERW pentru a curăța conținutul buffer-elor microarhitecturale în momentul revenirii din kernel în spațiul utilizatorului sau la transmiterea controlului către sistemul gazdă (cercetătorii au insistat inițial că VERW (curățarea buffer-elor microarhitecturale) nu este suficient pentru protecție și este necesar un reset complet al cache-ului L1 la fiecare schimbare de context).
  • Comanda ZombieLoad a actualizat metoda de atac având în vedere vulnerabilitatea L1DES.
  • Cercetătorii de la Universitatea Michigan au dezvoltat propria metodă de atac CacheOut (PDF), permițând extragerea informațiilor confidențiale din kernelul sistemului de operare, mașini virtuale și enclave securizate SGX. Metoda se bazează pe manipulări cu mecanismul de interupere a operațiunilor asincrone (TAA, TSX Asynchronous Abort) pentru a determina conținutul buffer-ului de umplere după scurgeri de date din cache-ul L1D.

    L1DES (CacheOut) și VRS - noi vulnerabilități în structurile microarhitecturale ale CPU-urilor Intel

A doua vulnerabilitate VRS (Vector Register Sampling) se leagă de scurgerile în bufferul de stocare (Store Buffer) a rezultatelor operațiunilor de citire din registrele vectoriale, modificate în timpul executării instrucțiunilor vectoriale (SSE, AVX, AVX-512) pe același nucleu CPU. Scurgerea apare în circumstanțe suficient de rare și este cauzată de faptul că o operațiune executată speculativ, care duce la reflectarea stării registrelor vectoriale în bufferul de stocare, întârzie și se finalizează după curățarea bufferului, nu înainte. În mod similar cu vulnerabilitatea L1DES, conținutul bufferului de stocare poate fi apoi determinat cu ajutorul metodologiilor de atac MDS și TAA.

Cercetătorii din grupul VUSec au pregătit un prototip de exploit, permițând determinarea valorilor registrelor vectoriale obținute în urma calculilor dintr-un alt fir logic al aceluiași nucleu CPU. Compania Intel a evaluat vulnerabilitatea VRS ca fiind prea complexă pentru a fi realizate atacuri reale și i-a atribuit un nivel minim de pericol (2.8 CVSS).

Informații despre problemele au fost transmise Intel în mai 2019 de echipa Zombieload de la Universitatea Tehnică din Graz (Austria) și grupul VUSec de la Universitatea Liberă din Amsterdam, iar ulterior, după analiza altor vectori de aplicare a atacului MDS, vulnerabilitățile au fost confirmate de alți cercetători. În primul raport MDS, informațiile despre problemele L1DES și VRS nu au fost incluse din cauza lipsei unei soluții. Soluția nu este disponibilă nici acum, dar termenul de nepublicare convenit a expirat.
Ca metode de protecție alternative, se recomandă dezactivarea HyperThreading-ului. Pentru a bloca vulnerabilitatea pe partea nucleului, se sugerează resetarea cache-ului L1 la fiecare schimbare de context (bit MSR MSR_IA32_FLUSH_CMD) și dezactivarea extensiei TSX (bitele MSR MSR_IA32_TSX_CTRL și MSR_TSX_FORCE_ABORT).

Intel promite să emită o actualizare a microcodului cu implementarea mecanismelor pentru blocarea problemelor în cel mai scurt timp. Intel menționează de asemenea că aplicarea metodologiilor de protecție propuse în 2018 împotriva atacului L1TF (L1 Terminal Fault) permite blocarea exploatării vulnerabilității L1DES din medii virtuale. Atacul sunt expuse procesoarele Intel Core, începând din a șasea generație (Sky, Kaby, Coffee, Whiskey, Amber Lake etc.), precum și unele modele Intel Xeon și Xeon Scalable.

apariția perfectionare exploatului, care permite aplicarea metodelor de atac RIDL pentru determinarea conținutului hash-ului parolei root din /etc/shadow în timpul unor încercări de autentificare periodice. Dacă inițial exploatul propus determina hash-ul parolei în 24 de ore, iar după aplicarea scurgerii în timpul functionării mecanismului de întrerupere asincronă a operațiunilor (TAA, TSX Asynchronous Abort) efectua aceeași operație în 36 de secunde, noua variantă efectuează atacul în 4 secunde.

Redați video

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster