eBPF alamsĂŒsteemi haavatavused, mis vĂ”imaldavad Spectre rĂŒnnakute kaitse ĂŒletamist

Linuxi sĂŒdames avastati haavatavus (CVE-2021-33624), mis vĂ”imaldab kasutada eBPF alamsĂŒsteemi Spectre tĂŒĂŒpi haavatavuste kaitse ĂŒletamiseks, mis vĂ”ivad vĂ”imaldada mĂ€lusisalduse mÀÀramist teatud operatsioonide spekulatiivse tĂ€itmise tingimuste loomise kaudu. Spectre rĂŒnnaku jaoks on vaja, et privileege omavas koodis oleks kindel kĂ€skude jada, mis viib spekulatiivsete instruktsioonide tĂ€itmiseni. BPF-programmide tĂ€itmiseks edastatavate manipuleerimiste kaudu on vĂ”imalik generatsiooni sarnaseid instruktsioone eBPF-s ning saavutada mĂ€lusisalduse ja juhuslike fĂŒĂŒsilise mĂ€luruumide vĂ€ljalekkeid kĂŒljelt.

Haavatavus on pĂ”hjustatud tulemuslikkuse leidmise veidrustest, mis on rakendatud BPF-programmide vigade ja lubamatu aktiivsuse mÀÀramiseks. Verifikaator lĂ€bib koodi tĂ€itmise vĂ”imalikke teid, kuid jĂ€tab vahele haru valikud, mis on semantika arhitektuuri kĂ€su komplekti vaatepunktist sobimatud. BPF-programmi tĂ€itmise ajal vĂ”ivad verifikaatori arvestamata jĂ€etud haru valikud protsessori poolt vale ennustuse tĂ”ttu spekulatiivselt tĂ€ituda. NĂ€iteks 'load' operatsiooni analĂŒĂŒsi kĂ€igus arvutab verifikaator, et kĂ€sus on kasutusel register aadressiga, mille vÀÀrtus jÀÀb alati ettenĂ€htud piiridesse, kuid rĂŒndaja vĂ”ib luua tingimused, mille tĂ”ttu protsessor ĂŒritab spekulatiivselt tĂ€ita operatsiooni aadressiga, mis ei vasta kontrolltingimustele.

Probleem ilmneb alates tuuma versioonist 4.15 ja on kÔrvaldatud patchide (1, 2, 3, 4) kujul. Jaotustes jÀÀb haavatavus siiski parandamata (Debian, RHEL, Ubuntu, Fedora, SUSE, Arch).

Lisaks on mĂ€rgitud, et Spectre tĂŒĂŒpi haavatavustega kaitsevahendite mĂ”ju jĂ”udlusele on mĂ€rkimisvÀÀrne. MĂ€rkmes on kokkuvĂ”tlikult esitatud optimiseerimise tulemused debuggeri rr (Record and Replay) osas, mis loodi omal ajal Mozilla poolt Firefoxis korduvate vigade tĂ”rkeotsimiseks. SĂŒsteemivabade alluvate kutsungite vahemĂ€lustamine vĂ”imaldas vĂ€hendada 'rr sources' operatsiooni tĂ€itmise aega testprojekti puhul 3 minutist 19 sekundist 36 sekundini.

Optimeerimise autor kontrollis, kui palju muutub jĂ”udlus pĂ€rast Spectre'i kaitse vĂ€lja lĂŒlitamist. PĂ€rast sĂŒsteemi kĂ€ivitamist parameetriga "mitigations=off" oli optimeerimata "rr sources" töötlusaeg 2 minutit 5 sekundit (1,6 korda kiiremini), ning optimeeritud versiooni puhul 33 sekundit (9% kiiremini). Huvi pakub, et Spectre'i kaitse vĂ€lja lĂŒlitamine mitte ainult ei lĂŒhendanud koodi töötlusaega tuumatasemel 1,4 korda (2m9s-lt 1m32s-ks), vaid ka halvendas kasutaja ruumis töötlusaega kaks korda (1m9s-lt 0m33s-ks), eeldatavasti seoses CPU vahemĂ€lu ja TLB tĂŒhjendamise efektiivsuse vĂ€henemisega Spectre'i kaitse sisselĂŒlitamise korral.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster