VMScape: Az új sebezhetőség, amely megtöri a virtuális gépek és a hipervizor közötti izolációt

sebezhetőség

Az ETH Zürich kutatói egy blogbejegyzésben jelentették be, hogy Új támadás, VMScape néven (CVE-2025-40300), képes a következőkre megkerülheti a Spectre-BTI védelmeit és veszélyeztetheti a biztonságot virtualizált környezetekben. Ez a módszer lehetővé teszi egy virtuális gépen belüli folyamat számára, hogy érzékeny adatokat nyerjen ki a felhasználói térben futó hipervizor-összetevőkből, például a QEMU-KVM-ből.

Az aggasztó dolog az az Ezen alkatrészek memóriája kritikus információkat tartalmazhat, például titkosított lemezekhez való hozzáférési kulcsok vagy más vendégrendszerekből származó érzékeny adatmaradványok. A kutatók egy exploittal igazolták a támadás megvalósíthatóságát akinek sikerült kiszivárogtatnia a titkosítási kulcsokat egy virtio illesztőprogramból a QEMU-ban, másodpercenként 32 bájt szivárgási sebességet elérve AMD Zen 4 CPU-kkal rendelkező rendszereken.

Hogyan működik a VMScape

A VMScape manipuláción alapul az ág célpufferéből (BTB), amelyeket a CPU-k használnak az elágazások előrejelzésére spekulatív végrehajtás során. Mesterséges elágazási célpontok befecskendezésével a támadó téves előrejelzéseket kényszeríthet ki, és a processzor gyorsítótárának kihasználásával érzékeny információk kinyerésére szolgálhat.

Habár A modern rendszerek már tartalmaznak védelmet a Spectre-BTI ellen, Ezek nem gondoltak arra, hogy mind a vendégfolyamatok, például hipervizor komponensek felhasználói térben azonos szintű védelmet élveztekEz lehetővé tette a BTB bemenetek összekeverését a kettő között, megtörve a várt izolációt.

A védelmi tartományok izolálásának szisztematikus elemzése azt mutatja, hogy a jelenlegi mechanizmusok túl általánosak: az összes AMD Zen CPU-n, beleértve a legújabb Zen 5-öt is, az elágazás-előrejelző nem tud különbséget tenni a gazda- és a vendégvégrehajtás között, lehetővé téve a primitív keresztvirtualizációs BTI (vBTI) támadási gyakorlatokat. Bár a legújabb Intel CPU-k jobb izolációt kínálnak, a hiányosságok továbbra is fennállnak.

Ezen vBTI primitívek egyikének felhasználásával létrehoztunk egy átfogó sérülékenységet, a VMScape-et. A VMScape lehetővé teszi egy rosszindulatú KVM vendég számára, hogy bizalmas információkat, például titkosítási/dekódolási kulcsokat szivárogtasson ki egy felhasználói térbeli hipervizorból, például a QEMU-ból. Az alábbiakban egy demót láthat a VMScape AMD Zen 4-en történő futtatásáról.

A biztonsági költség nem elhanyagolható, mivel a hatás attól függ, hogy milyen gyakran adja át a rendszer az irányítást a felhasználói térnek. Emulált eszközöket tartalmazó környezetben (alapértelmezett a QEMU-ban), A teljesítménycsökkenés átlagosan akár 10%-ot is elérhet., míg intenzív tesztek, például a Virtio-val végzett lemezműveletek során akár 51%-os romlást is megfigyeltek. Kis terhelések, például az UnixBench esetében a hatás alig éri el az 1%-ot.

Érintett processzorok

Sebezhetőség az összes AMD Zen processzort érinti (beleértve az 5. generációt is), Hygon processzorokhoz már régebbi Intel modellek, például a Coffee Lake-en alapulók (2017). Az újabb CPU-k, mint például a Cascade Lake és az Alder Lake, részleges kockázatot jelentenek. Ezzel szemben az Intel legújabb generációi tartalmazzák az eIBRS technológiát, amely javítja a host-guest izolációt, bár nem szünteti meg teljesen az ágelőzmény-manipuláción (vBHI) alapuló támadásokat.

A támadás korlátai

Egyelőre A VMScape-et csak KVM-et és QEMU-t használó rendszereken mutatták be. felhasználói térbeli eszközemulációhoz. A Xenhez hasonló hipervizorokat ez nem érinti, míg másokat, például a VMware-t és a Hyper-V-t még nem vizsgálták meg alaposan.

Enyhítések a Linux kernelben

Hogy ezt a támadást elhárítsa, Megjelentek a Linux kernel frissítései (6.16.7, 6.12.47, 6.6.106, 6.1.152, 5.15.193 és 5.10.244 verziók). A megoldás az IBPB utasítás használatát valósítja meg. (Indirect Branch Prediction Barrier), amely a virtuális gépről a felhasználói térbe való minden átmenet után törli az elágazás-előrejelző állapotát.

A védelem engedélyezhető a kernel boot opcióján keresztül:

vmscape={ki|ibpb|kényszerít}

Con Az ibpb-mérséklés csak sebezhető processzorokon engedélyezett, míg a force minden architektúrára alkalmazza. A sebezhetőségi állapot és az aktív védelmek itt találhatók:

/sys/devices/system/cpu/vulnerabilities/vmscape

Végül, ha többet szeretne megtudni róla, a részletekről tájékozódhat a következő link.