Amsterdam Free University'i uurijate rĂŒhm avastas mitu uut Spectre-v2 klassi haavatavust, mis on avaldatud koodinimega Training Solo ja vĂ”imaldavad mööda hiilida mĂ€lu isoleerimise mehhanismidest. Virtuaalsete sĂŒsteemide kontekstis vĂ”imaldavad haavatavused mÀÀrata host-keskkonna mĂ€lu sisu kĂŒlalisĂŒsteemidest, ja serverite kontekstis vĂ”imaldavad need mÀÀrata tuumamĂ€lu sisu kasutajaruumi eksploidi kĂ€ivitamisel. NĂ€ited eksploatidest sarnaste rĂŒnnakute teostamiseks on avaldatud GitHubis. Esitatud ekspLOATid vĂ”imaldavad vĂ€lja tĂ”mmata juhuslikke andmeid tuumamĂ€lust kiirusel 17 KB/s ning hĂŒperviisori mĂ€lust kiirusel 8,5 KB/s.
Spectre-v2 klassi rĂŒnnakutes kasutatakse andmelekete korraldamiseks harude sihtmĂ€rgi bufferi (Branch Target Buffer) vĂ”i harude ajaloo bufferi (Branch History Buffer) vÀÀrtuste asendamist, mis on vajalikud jĂ€rgmise harude operatsiooni ennustamiseks. Harude ajaloo manipuleerimise kaudu luuakse tingimused vale ennustamise jaoks spekuleerivas instruktsioonide tĂ€itmisel. RĂŒndaja ĂŒlesanne on tagada, et spekuleeriva haruoperatsiooni kĂ€igus vĂ”etakse sihtmĂ€rgi aadress soovitud mĂ€lu alalt. PĂ€rast spekuleeriva ĂŒlemineku sooritamist jÀÀb protsessorikassasse salvestatud aadress, millest loetakse vajalikud andmed rĂŒndajale mĂ€lu. Kassi sisu vĂ€ljatĂ”mbamiseks vĂ”ib kasutada ĂŒhte kohandusele pĂ”hinevat meetodit, mis analĂŒĂŒsib juurdepÀÀsu aega vahemĂ€lus ja vahemĂ€lust vĂ€ljaspool.
Training Solo rĂŒnnakumeetodid on suunatud tĂ€itmisalade isoleerimise mehhanismide, nagu IBPB, eIBRS ja BHI_NO, mööda hiilimisele, mida kasutatakse Spectre-v2 klassi rĂŒnnakute blokeerimiseks. NĂ€iteks IBPB juhis (Indirect Branch Prediction Barriers) tagab harude ennustamisploki oleku lĂ€htestamise igal konteksti vahetamisel â kasutajaruumi ja tuuma vĂ”i kĂŒlalisĂŒsteemi ja host-keskkonna vahel juhtimise edastamisel. Oleku lĂ€htestamine blokeerib vĂ”imaluse kasutada iseseisvat koodi, et mĂ”jutada varjatud haruharude ennustamisploki kĂ€itumist.
Training Solo meetodite erinevus seisneb selles, et ennustamisiirde bloki mĂ”jutamiseks ei soovitata kĂ€ivitada rĂŒndajale kontrolli all olevat koodi, vaid kasutada juba privileege omavas tĂ€itmispiirkonnas (tuum vĂ”i hĂŒperviisor) olevat koodi, mille lekkeid rĂŒndaja pĂŒĂŒab. Muude meetodite puhul meenutavad need klassikalist Spectre-v2 rĂŒnnakut. Lisaks tuvastasid teadlased kaks riistvaraprobleemi (CVE-2024-28956 ja CVE-2025-24495), mis vĂ”imaldavad tĂ€ielikult mööda minna tĂ€itmispiirkondade eraldatusest ning teostada lekkeid teiste kasutajate protsessidest, teiste virtuaalmasinate sĂŒsteemidest vĂ”i hostkeskkonnast.

Pakutakse kolme tĂŒĂŒpi Training Solo rĂŒnnakut:
- Ăleminekuennustuse loogika moonutamine juba olemasolevate tuuma kĂ€su jĂ€rjestuste (gadgetide) kaudu, mis mĂ”jutavad ĂŒleminekute ajaloo puutu sisu. Sellistena soovitatakse kasutada SECCOMP sĂŒsteemikutsungite juurdepÀÀsulimiidi mehhanismi, mis vĂ”imaldab vale kaudse ĂŒlemineku saavutada spekuleeriva reĆŸiimi kaudu, asendades oma BPF-filteritega (SECCOMP-i filtrid mÀÀratakse klassikalise cBPF abil, mis on vaikimisi lubatud, erinevalt eBPF-st). Intel Tiger Lake ja Lion Cove CPU-testimise kĂ€igus saavutati selle meetodi kasutamisel lekke kiirus 1.7KB/sek.
- IP-kollisioone (Instruction Pointer) kasutamine ĂŒleminekuennustuse blokis. RĂŒndaja vĂ”ib luua tingimused, mille korral spekuleeriva ĂŒlemineku aadress valitakse ainult juba olemasolevast ĂŒlemineku aadressist puutus, arvestamata ĂŒlemineku ajaloo. Idee on, et ĂŒks kaudne ĂŒleminekuoperatsioon vĂ”ib mĂ”jutada teist, kui nende aadresside hashi salvestamisel tekib BTB-s (Branch Target Buffer) kollisioon.
- Otseste ĂŒleminekute mĂ”ju kasutamine kaudsete ĂŒleminekute ennustamiseks. Selline kĂ€itumine on pĂ”hjustatud kahest riistvaralisest haavatavusest: CVE-2024-28956 â ITS (Indirect Target Selection) ja CVE-2025-24495 â probleemi olemasolust Intel CPU-de Lion Cove tuumadega. Selle meetodi kasutamine andmete lekkimiseks mĂ€lu seest tĂ”i kaasa 17 KB/sek. Demonstreeritud eksploaadi kĂ€igus, millega mÀÀratakse root-kasutaja paroolihash, mis salvestati mĂ€lu pĂ€rast âpasswd -sâ kĂ€su kĂ€ivitamist, kulus 60 sekundit.

RĂŒnnak, mis moonutab kĂŒlastuste ajalugu, mĂ”jutab kĂ”iki Intel CPU-sid, mis toetavad eIBRS mehhanismi, sealhulgas Intel Coffee Lake ja Lion Cove protsessoreid. Haavatavuse blokeerimiseks on Intel vĂ€lja andnud mikrokoodi uuenduse, mis sisaldab uut kĂ€sku IBHF (Indirect Branch History Fence), mida soovitatakse kasutada pĂ€rast koodi, mis mĂ”jutab kĂŒlastuste ajaloo puhversĂ€ilitust. Vanemate Intel CPU-de puhul on soovitatav kasutada kĂŒlastuste ajaloo puhastamise tarkvaralist meetodit. Linuxi kerneli on vastu vĂ”etud muudatus, mis lisab tarkvaralise ja riistvaralise rĂŒnnakute kaitse, mis on teostatavad cBPF-i abil. AMD on teatanud, et tema CPU-dele see rĂŒnnakumeetod ei kehti. ARM teatas, et probleem mĂ”jutab ainult vanu ARM protsessoreid, mis on haavatavad Spectre-v2 rĂŒnnakute suhtes ega toeta FEAT_CSV2_3 ja FEAT_CLRBHB laiendusi.
Indirect Target Selection (ITS, CVE-2024-28956) haavatavus mĂ”jutab Intel Core 9.-11. pĂ”lvkonna (Cascade Lake, Cooper Lake, Whiskey Lake V, Coffee Lake R, Comet Lake, Ice Lake, Tiger Lake ja Rocket Lake) ja Intel Xeon 2.-3. pĂ”lvkonna protsessoreid. CVE-2025-24495 haavatavus avaldub Lunar Lake ja Arrow Lake mikroarhitektuuril pĂ”hinevates CPU-des. Probleemid on kĂ”rvaldatud eilse mikrokoodi uuenduse kaudu. Linuxi kerneli on vastu vĂ”etud muudatus, mis blokeerib probleemi, viies kaudsed ĂŒleminekud vahemĂ€lu ĂŒlemisse ossa.
Allikas: opennet.ru
