Amsterdam Free University teadlaste grupp avastas uue rĂŒnnaku meetodi âNative BHIâ (CVE-2024-2201), mis vĂ”imaldab Intel protsessoritega sĂŒsteemides tuvastada Linuxi tuuma mĂ€lu sisu, kui ekspluateerimine toimub kasutajaruumi. Virtuaaliseerimise sĂŒsteemide rĂŒnnakul vĂ”ib rĂŒndaja kĂŒlalisĂŒsteemist tuvastada hostkeskkonna vĂ”i teiste kĂŒlalisĂŒsteemide mĂ€lu sisu.
Native BHI meetod pakub BHI (Branch History Injection, CVE-2022-0001) haavatavuse kasutamise jaoks muud tehnikat, mis möödub varem rakendatud kaitsemeetoditest. 2022. aastal ette pandud BHI rĂŒnnaku meetod eeldas haavatavuse kasutamist ĂŒhe privileegitaseme raames, mille korral eksploit pĂ”hines kasutaja poolt tuumas kĂ€idustatud eBPF programmi tĂ€itmisel. Haavatavuse blokeerimiseks piisab eBPF koodi tĂ€itmise juurdepÀÀsu piiramise rakendamisest tavalistele kasutajatele.
Uus Native BHI meetod ei nĂ”ua eBPF juurdepÀÀsu ja vĂ”imaldab rĂŒnnakut teostada vĂ€hem privileegitud kasutajana kasutajaruumist. Meetod pĂ”hineb tuuma koodis olemasolevate gadget'ide â kĂ€skude jĂ€rjestuste tĂ€itmisel, mis pĂ”hjustavad spekulatiivsete kĂ€su tĂ€itmist. Tuuma sobivate gadget'ide leidmiseks on vĂ€lja töötatud spetsiaalne tööriist InSpectre Gadget, mis analĂŒĂŒsis 6.6-rc4 tuuma ja leidis 1511 Spectre gadgeti ning 2105 abil gadget'i, mida kasutatakse haldamise jaoks.

Leitud gadget'id pÔhjal on teadlased valmistanud eksploidimise, mis vÔimaldab vÀlja vÔtta mÀlu puhvrist root kasutaja parooli rÀsimÀrgi, mis on laaditud failist /etc/shadow. Andmete vÀljavÔtmise kiirus tuuma mÀlu juurest on umbes 3,5 KB sekundis.

BHI meetod on laiendatud variant Spectre-v2 rĂŒnnakust, kus andmete leke saavutatakse lisatud kaitse (Intel eIBRS ja Arm CSV2) möödumise ja vÀÀrtuste asendamise kaudu globaalsete harukĂ€ikude ajaloo puhvri (Branch History Buffer) kaudu, mida CPU kasutab harukĂ€ikude ennustamise tĂ€psuse suurendamiseks, arvestades mineviku harukĂ€ikude ajalugu. RĂŒnnaku kĂ€igus luuakse harukĂ€ikude ajaloo manipuleerimise kaudu tingimused vale harukĂ€igu ennustamiseks ja spekulatiivsete kĂ€skude tĂ€itmiseks, mille tulemus jÀÀb vahemĂ€llu.
Erinevused Spectre-v2 rĂŒnnaku ja Native BHI vahel seisnevad harukĂ€ikude ajaloo puhvri (Branch History Buffer) kasutamises harukĂ€ikude ennustamise puhvri (Branch Target Buffer) asemel. Andmete mĂ€lu vĂ€ljavĂ”tmiseks peab rĂŒndaja looma tingimused, kus spekulatiivse operatsiooni tĂ€itmisel aadress vĂ”etakse alalt, mille sisu tuleb tuvastada. PĂ€rast spekulatiivse kaudse harukĂ€igu tĂ€itmist jÀÀb mĂ€lu aadressi lugemise tulemus vahemĂ€lusse, mille sealt edaspidi saab vĂ€lja vĂ”tta ĂŒhe meetodi abil, mis pĂ”hineb vahemĂ€lu juurdepÀÀsu aja muutuste analĂŒĂŒsil.
Native BHI rĂŒnnaku eest ei kaitse Intel IBT (Indirect Branch Tracking) ja Linuxi tuumas rakendatud segamismehhanism FineIBT, mis ĂŒhendab IBT pĂ”higa negatiivsete instruktsioonide ja programmi kaitsest (kernel Control Flow Integrity) juhuslike tĂ€itmisjĂ€rgude rikkumise blokki. FineIBT lubab kaudse hĂŒppe tĂ€itmist ainult siis, kui hĂŒpe toimub ENDBR instruktsiooni juurde, mis asub funktsiooni alguses. TĂ€iendavalt (sarnaselt kCFI mehhanismiga) tehakse jĂ€rgnev kontroll, mis tagab osutajate muutumatuse.
Uue rĂŒnnaku variandi kaitseks on Linuxi tuuma lisatud muudatus, mis rakendab tĂ€iendavat kaitse reĆŸiimi, kasutades Intel'i soovitatud riistvarakaitse (BHI_DIS_S) vĂ”i alternatiivset programmkaitset, mis on rakendatud hĂŒperviisori kaitseks. KVMHĂŒperviisori Xen arendajad on samuti vĂ€lja andnud paranduse, mis pĂ”hineb BHI_DIS_S reĆŸiimi kasutamisel, piirates harukĂ€ikude pĂ”hjalikule ennustusele juurdepÀÀsu. BHI_DIS_S tugi on saadaval alates Intel Alder Lakeâi protsessorites ning serveri CPU-des alates Intel Sapphire Rapids. Saadaval on ka programmkaitse reĆŸiim, mis pĂ”hineb harukĂ€ikude ajaloo puhvri puhastamise jada kasutamisel, kuid see toob kaasa mĂ€rgatava jĂ”udluse vĂ€henemise.
Allikas: opennet.ru
