A SWAPGS egy új spekulatív végrehajtási sebezhetőséget

Swapgs-exploit-2

sok A Bitdefender kutatói új sebezhetőséget fedeztek fel az utasítások spekulatív végrehajtásának mechanizmusában a modern processzorokban, aki megkapta a SWAPGS nevet, Megfelel a problémát okozó processzor utasításának.

Sebezhetőség lehetővé teszi egy kiváltságos támadó számára, hogy meghatározza a kernel memóriaterületeinek tartalmát vagy virtuális gépek futtatása. A probléma megerősítést nyert az Intel processzorain (x86_64), és részben érinti azokat az AMD processzorokat, amelyeknél az elsődleges támadási vektor nem jelenik meg.

A korábban bevezetett Spectre és Meltdown anti-sebezhetőségi módszerek nem védenek az SWAPGS-támadások ellen Intel processzorok használatával, de már javasoltak megoldásokat Linuxra, ChromeOS-ra, Androidra és Windows-ra.

A sérülékenység a Spectre v1 osztályba tartozik és azon az elképzelésen alapszik, hogy adatokat kérjen le a processzor gyorsítótárából, amelyek az utasítások spekulatív végrehajtása után maradnak.

A modern CPU-k konverziós előrejelző blokkjai néhány, valószínűleg végrehajtandó utasítás proaktív végrehajtását használják a teljesítmény javítása érdekében, de nem várják meg a végrehajtásukat meghatározó összes tényező kiszámítását (például amikor az utasítások átállási feltételei vagy hozzáférési paramétereket még nem számolták ki).

Ha az előrejelzés nem kerül megerősítésre, a processzor elveti a spekulatív futtatás eredményét, de a futtatás során feldolgozott adatokat a processzor gyorsítótárba helyezi, és a gyorsítótár tartalmának csatornákon keresztüli meghatározására szolgáló módszerekkel visszaállíthatja azokat. a gyorsítótárazott és nem gyorsítótárazott adatok hozzáférési idejének változása.

A SWAPGS-ről

Az új támadás sajátossága az SWAPGS utasítás spekulatív végrehajtása során felmerülő szivárgás használata, amelyet az operációs rendszerek használnak a GS regiszter értékének kicserélésére, amikor a vezérlést a felhasználói térről az operációs rendszer kernelére helyezik át (a felhasználói térben használt GS értéket felváltja a kernel műveleteiben használt érték).

A GS Linux kernelje tárolja a per_cpu mutatót, amelyet a kernel adatainak elérésére használunk, és rámutat a TLS-re (Thread Local Storage) a felhasználói térben.

Az SWAPGS-utasítás kettős meghívásának kizárása után a kerneltérből történő ismételt kernel-hozzáférés vagy a GS-regiszter cseréjét nem igénylő kód végrehajtása után az utasítás előtt ellenőrizni és feltételes átmenetet kell végrehajtani.

A spekulatív végrehajtási mechanizmus megelőzi a kód végrehajtását az SWAPGS utasítással, anélkül, hogy megvárná az ellenőrzési eredményt, és ha a kiválasztott elágazást nem erősítik meg, dobja el az eredményt.

Ezért, olyan helyzet állhat elő, amikor az SWAPGS végrehajtását meghatározó fiókot spekulatív módon választják ki, de a spekulatív végrehajtás során a GS regiszter értékét az SWAPGS utasítás megváltoztatja, és a memória függő műveletekben fogja használni, amelyeket a CPU tárol.

A kutatók két támadási forgatókönyvet javasoltak amelyekhez prototípusokat használtak fel.

  • Az első forgatókönyv azon a helyzeten alapul, amikor az SWAPGS utasítást nem spekulatív módon hajtják végre, annak ellenére, hogy a tényleges végrehajtás során használják, és a második forgatókönyv ezzel ellentétes, amikor az SWAPGS utasítást spekulatív módon hajtják végre, bár valójában nem kellene.
  • Minden forgatókönyv esetében két működési lehetőség van: a támadó meghatározhatja az értéket egy adott címben az alapterületen, a támadó pedig egy adott értéket kereshet véletlen címekben a magban.

A megoldáshoz a rendszermag frissítésének telepítése szükséges mind a fő rendszerre, mind a vendégkörnyezetre, majd a rendszer újraindítása. A védelem letiltásához Linuxon használhatja a "nospectre_v1" beállítást, amely szintén letiltja az SWAPGS biztonsági rés blokkolásának intézkedéseit.

A megoldás a Linux kernel javításaként érhető el, amely már szerepel a 4.19.65, 5.2.7, 4.14.137, 4.9.188 és 4.4.188 verziókban, míg a különböző Linux disztribúciók esetében a vonatkozó javítások ezen és a következő hét időszakában érkeznek.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.