O eroare în Linux 6.2 a permis ocolirea protecției împotriva atacurilor Spectre v2

vulnerabilitate

Dacă sunt exploatate, aceste defecte pot permite atacatorilor să obțină acces neautorizat la informații sensibile sau, în general, pot cauza probleme

Recent, au fost făcute publice informații despre a vulnerabilitate identificată în nucleul Linux 6.2 (deja enumerate sub CVE-2023-1998) și care iese în evidență pentru că este dezactivați protecția împotriva atacurilor Spectre v2 care permit accesul la memorie de către alte procese care rulează pe fire diferite SMT sau Hyper Threading, dar pe același nucleu de procesor fizic.

Vulnerabilitatea este notabilă printre altele pentru că poate fi folosit pentru organizați scurgerile de date între mașini virtuale în sistemele cloud. 

Pentru cei care nu știu despre Spectre, ar trebui să știe că asta este una dintre cele două vulnerabilități originale ale CPU cu execuție tranzitorie (celălalt este Meltdown), care implică atacuri microarhitecturale pe canale laterale. Acestea afectează microprocesoarele moderne care efectuează predicții de salt și alte forme de speculație.

Pe majoritatea procesoarelor, execuția speculativă care rezultă dintr-o predicție greșită a ramurilor poate lăsa efecte secundare observabile care pot dezvălui date private. De exemplu, dacă tiparul de acces la memorie realizat printr-o astfel de execuție speculativă depinde de datele private, starea rezultată a cache-ului de date constituie un canal lateral prin care un atacator poate extrage informații despre datele private folosind un atac în timp.

De la dezvăluirea Spectre și Meltdown în ianuarie 2018, au apărut mai multe variante și noi tipuri de vulnerabilități legate de acestea.

Nucleul Linux permite proceselor userland să activeze atenuări prin apelarea prctl cu PR_SET_SPECULATION_CTRL, care dezactivează funcția spec, precum și prin utilizarea seccomp. Am descoperit că pe mașinile virtuale de la cel puțin un furnizor important de cloud, nucleul a lăsat în continuare procesul victimei deschis pentru atac în unele cazuri, chiar și după ce a activat atenuarea spectrului-BTI cu prctl. 

În ceea ce privește vulnerabilitatea, se menționează că în spațiul utilizatorului, pentru a proteja împotriva atacurilor de la Spectre, procesele pot dezactiva selectiv execuția de declarații speculative cu prctl PR_SET_SPECULATION_CTRL sau utilizați filtrarea apelurilor de sistem bazată pe seccomp.

Potrivit cercetătorilor care au identificat problema, optimizare incorectă în mașinile virtuale lăsate de kernel 6.2 de la cel puțin un furnizor mare de cloud fără o protecție adecvată în ciuda includerii modului de blocare a atacului spectre-BTI prin prctl. Vulnerabilitatea se manifestă și pe serverele normale cu kernel 6.2, care sunt pornite cu configurația „spectre_v2=ibrs”.

Esența vulnerabilității este aceea prin alegerea modurilor de protecție IBRS sau eIBRS, optimizările efectuate au dezactivat utilizarea mecanismului STIBP (Single Thread Indirect Branch Predictors), care este necesar pentru a bloca scurgerile atunci când se utilizează tehnologia Simultaneous Multi-Threading (SMT sau Hyper-Threading). )

La rândul său, doar modul eIBRS oferă protecție împotriva scurgerilor între fire, nu modul IBRS, deoarece odată cu acesta bitul IBRS, care oferă protecție împotriva scurgerilor între nucleele logice, este șters din motive de performanță atunci când controlul revine utilizatorului spațiului, ceea ce face ca fire de execuție în spațiul utilizatorului neprotejate împotriva atacurilor din clasa Spectre v2.

Testul constă din două procese. Atacatorul otrăvește în mod constant un apel indirect pentru a-l redirecționa în mod speculativ către o adresă de destinație. Procesul victimă măsoară rata de predicție greșită și încearcă să atenueze atacul apelând PRCTL sau scriind direct la MSR folosind un modul kernel care expune operațiunile de citire și scriere MSR în spațiul utilizatorului.

Problema afectează doar nucleul Linux 6.2 și se datorează implementării incorecte a optimizărilor concepute pentru a reduce cheltuielile generale semnificative atunci când se aplică protecție împotriva Spectre v2. vulnerabilitate a fost remediat în ramura experimentală a nucleului Linux 6.3.

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

  1.   Deiki el a spus

    Cei cu parametrul kernel mitigations=off:

    Bravo domnilor 👌😎🔥