BHI Spectre klaseko ahultasun berria da Intel eta ARM prozesadoreetan

Vrije Universiteit Amsterdam-eko ikertzaile talde batek Intel eta ARM prozesadoreen mikroarkitekturako egituretan ahultasun berri bat identifikatu du, hau da, Spectre-v2 ahultasunaren bertsio hedatua, prozesadoreei gehitutako eIBRS eta CSV2 babes-mekanismoak saihesteko aukera ematen duena. . Zaurgarritasunari hainbat izen jarri zaizkio: BHI (Branch History Injection, CVE-2022-0001), BHB (Branch History Buffer, CVE-2022-0002) eta Spectre-BHB (CVE-2022-23960), zeinak agerpen desberdinak deskribatzen dituzten. arazo bera (BHI - pribilegio-maila ezberdinei eragiten dien erasoa, adibidez, erabiltzaile-prozesua eta nukleoa, BHB - pribilegio-maila bereko erasoa, adibidez, eBPF JIT eta nukleoa).

Ikertzaileek funtzionatzen duen ustiapena frogatu dute, kerneleko memoriatik datu arbitrarioak erabiltzailearen espaziotik ateratzea ahalbidetzen duena. Adibidez, erakusten da nola, prestatutako exploit bat erabiliz, /etc/shadow fitxategitik kargatutako root erabiltzailearen pasahitzaren hash batekin kate bat atera daitekeen nukleo-bufferetatik. Explotazioak pribilegio maila batean (kerneletik nukleoko erasoa) ahultasun bat ustiatzeko aukera erakusten du erabiltzaileak kargatutako eBPF programa bat erabiliz. Era berean, posible da eBPF-ren ordez lehendik dauden Spectre gadgetak erabiltzea nukleoaren kodean, aginduen sekuentziak instrukzioak exekuzio espekulatibora eramaten dituztenak.

Ahultasuna egungo Intel prozesadore gehienetan agertzen da, Atom familiako prozesadoreetan izan ezik. ARM prozesadoreen artean, Cortex-A15, Cortex-A57, Cortex-A7*, Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1 eta, agian, Cortex-R txip batzuk arazoaren eraginpean daude. Ikerketaren arabera, ahultasuna ez da agertzen AMD prozesadoreetan. Arazoa kentzeko, ahultasuna blokeatzeko hainbat software metodo proposatu dira, etorkizuneko CPU ereduetan hardware babesa agertu aurretik erabil daitekeena.

eBPF azpisistemaren bidez erasoak blokeatzeko, pribilegiorik gabeko erabiltzaileek eBPF programak deskargatzeko gaitasuna lehenespenez desgaitzea gomendatzen da 1 idatziz "/proc/sys/kernel/unprivileged_bpf_disabled" fitxategian edo "sysctl -w kernel" komandoa exekutatuz. unprivileged_bpf_disabled=1”. Gadget-erasoak blokeatzeko, LFENCE instrukzioa exekuzio espekulatiboa izan dezaketen kode-eremuetan erabiltzea gomendatzen da. Nabarmentzekoa da Linux banaketa gehienen konfigurazio lehenetsiak dagoeneko ikertzaileek frogatutako eBPF erasoa blokeatzeko beharrezko babes-neurri nahikoak dituela. Intel-ek eBPFrako pribilegiorik gabeko sarbidea desgaitzeko gomendioak ere lehenetsiak dira Linux kernel 5.16tik aurrera eta aurreko adarretara eramango dira.

Kontzeptuki, BHI Spectre-v2 erasoaren bertsio hedatua da, eta bertan, babes gehigarria (Intel eIBRS eta Arm CSV2) saihesteko eta datu-ihesak antolatzeko, balio-ordezkapena erabiltzen da Branch History Buffer-en, CPUan erabiltzen den iragarpena areagotzeko. zehaztasuna adarkatzea iraganeko trantsizioen historia kontuan hartuta. Erasoan zehar, trantsizioen historiarekin egindako manipulazioen bidez, trantsizioaren iragarpen okerra eta beharrezko argibideen exekuzio espekulatiborako baldintzak sortzen dira, eta horren emaitza cachean amaitzen da.

Branch History Buffer bat erabiltzearen ordez Branch Target Buffer bat izan ezik, eraso berria Spectre-v2-ren berdina da. Erasotzailearen zeregina baldintzak sortzea da, helbidea, eragiketa espekulatiboa egitean, zehaztutako datuen eremutik ateratzeko. Zeharkako jauzi espekulatiboa egin ondoren, memoriatik irakurritako salto-helbidea cachean geratzen da, eta, ondoren, cachearen edukia zehazteko metodoetako bat erabil daiteke hura berreskuratzeko, cachean gordetako eta cache gabeko sarbide-denboraren aldaketen azterketan oinarrituta. datuak.

Iturria: opennet.ru

Gehitu iruzkin berria