Vulnerabilitatea în nucleul Linux 6.2 care ar putea ocoli protecția împotriva atacurilor Spectre v2

A fost identificată o vulnerabilitate în nucleul Linux 6.2 (CVE-2023-1998) care dezactivează protecția împotriva atacurilor Spectre v2 care permit accesul la memoria altor procese care rulează pe fire SMT sau Hyper Threading diferite, dar pe același nucleu fizic de procesor. Vulnerabilitatea, printre altele, poate fi folosită pentru a organiza scurgerile de date între mașinile virtuale din sistemele cloud. Problema afectează numai nucleul Linux 6.2 și este cauzată de o implementare incorectă a optimizărilor menite să reducă supraîncărcarea semnificativă la aplicarea protecției împotriva Spectre v2. Vulnerabilitatea a fost remediată în ramura experimentală a nucleului Linux 6.3.

În spațiul utilizatorului, pentru a proteja împotriva atacurilor Spectre, procesele pot dezactiva selectiv execuția instrucțiunilor speculative cu prctl PR_SET_SPECULATION_CTRL sau pot utiliza filtrarea apelurilor de sistem bazată pe seccomp. Potrivit cercetătorilor care au identificat problema, optimizarea incorectă în nucleul 6.2 a lăsat mașinile virtuale ale cel puțin unui mare furnizor de cloud fără protecție adecvată, în ciuda includerii modului de blocare a atacului spectre-BTI prin prctl. Vulnerabilitatea se manifestă și pe serverele obișnuite cu nucleul 6.2, care sunt pornite folosind setarea „spectre_v2=ibrs”.

Esența vulnerabilității este că la 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 folosește tehnologia multithreading simultană (SMT sau Hyper-Threading). ). În același timp, numai modul eIBRS oferă protecție împotriva scurgerilor între fire, dar nu și modul IBRS, deoarece cu acesta bitul IBRS, care oferă protecție împotriva scurgerilor între nucleele logice, este șters din motive de performanță atunci când controlul revine în spațiul utilizatorului, ceea ce face ca firele din spațiul utilizatorului să nu fie protejate de atacurile din clasa Spectre v2.

Sursa: opennet.ru

Adauga un comentariu