eBPF alamprogrammi haavatavused, mis vĂ”imaldavad Spectre rĂŒnnakute kaitse ĂŒmber minna

Linuxi tuumas avastati haavatavus (CVE-2021-33624), mis vĂ”imaldab kasutada eBPF-alamsĂŒsteemi Spektri-tĂŒĂŒpi haavatavuste kaitse ĂŒmberminekuks, vĂ”imaldades mÀÀrata mĂ€lu sisu spetsiifiliste operatsioonide spekulatiivse tĂ€itmise tingimuste loomise tagajĂ€rjel. Spektri rĂŒnnaku jaoks on vajalik, et privileege omavas koodis oleks kindel kĂ€suseade jĂ€rjestus, mis viib spekulatiivsete kĂ€skude tĂ€itmiseni. BPF-programmide tĂ€itmiseks edastatud parameetrite manipuleerimise kaudu on vĂ”imalik genereerida sarnaseid kĂ€ske eBPF-s ja saavutada tuuma mĂ€lu ja suvaliste fĂŒĂŒsilise mĂ€lu alade vĂ€ljalasketĂ€iendamine kĂ”rvalkanalite kaudu.

Haavatavus tuleneb puudustest verifikaatoris, mida kasutatakse BPF-programmide vigade ja ebasobiva tegevuse tuvastamiseks. Verifikaator lĂ€bib vĂ”imalikke koodide tĂ€itmisviise, kuid jĂ€tab kĂ”rvale harude variandid, mis on semantika seisukohalt arhitketuurile sobimatud. BPF-programmi tĂ€itmisel vĂ”ivad aga sellised harude variandid, mida verifikaator ei arvesse vĂ”tnud, olla protsessori poolt valesti ennustatud ja spekulatiivselt tĂ€idetud. NĂ€iteks analĂŒĂŒsides 'load' operatsiooni arvutab verifikaator, et kĂ€skluses kasutatakse registrit, mille aadressi vÀÀrtus on alati seatud piiretes, kuid rĂŒndaja vĂ”ib luua tingimusi, mille korral protsessor proovib spekulatiivselt tĂ€ita kĂ€sklust aadressiga, mis ei vasta kontrollimiseks seatud tingimustele.

Probleem ilmneb alates tuuma versioonist 4.15 ja on lahendatud plaastrite (1, 2, 3, 4) kujul. Distrodes jÀÀb haavatavus hetkel parandamata (Debian, RHEL, Ubuntu, Fedora, SUSE, Arch).

Lisaks tasub mĂ€rkida, et Spectre klassi haavatavuste kaitsevahendite mĂ”ju jĂ”udlusele on oluliselt vĂ”etud kokku. MĂ€rkmes on esitatud tulemused veaparanduse tööriista rr (Record and Replay) optimeerimisest, mis kunagi loodi Mozilla poolt Firefoxi raskesti korratavates vigades silumiseks. SĂŒsteemikĂ”nede vahemĂ€lu, mida kasutatakse kaustade olemasolu kontrollimiseks, vĂ€hendas „rr sources” toimingu kestust testprojektil 3 minutit 19 sekundilt 36 sekundile.

Optimeerimise autor soovis kontrollida, kui palju muutub jĂ”udlus pĂ€rast Spectre kaitse keelamist. PĂ€rast sĂŒsteemi kĂ€ivitamist parameetriga „mitigations=off” kestis „rr sources” ilma optimeerimiseta 2 minutit 5 sekundit (1,6 korda kiiremini), ja optimeerimisega 33 sekundit (9% kiiremini). Huvi pakub, et Spectre kaitse keelamine mitte ainult ei vĂ€hendanud koodi kestust tuuma tasemel 1,4 korda (2m9s-lt 1m32s-le), vaid vĂ€hendas ka kasutaja ruumi toimingute aega kaks korda (1m9s-lt 0m33s-le), tĂ”enĂ€oliselt seoses CPU vahemĂ€lu ja TLB eemaldamiste efektiivsuse vĂ€henemisega, kui Spectre kaitse oli sisse lĂŒlitatud.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster