A Plundervolt egy új támadási módszer az Intel processzorai ellen, amely az SGX technológiát érinti

Intel megjelent mikrokód frissítés, amely javít sebezhetőség (CVE-2019-14607) lehetővé téve a CPU dinamikus feszültség- és frekvenciavezérlő mechanizmusának manipulálásával károsíthatja az adatcellák tartalmát, beleértve az izolált Intel SGX enklávékban számításokhoz használt területeket is. A támadás neve Plundervolt, és potenciálisan lehetővé teszi a helyi felhasználók számára, hogy kiterjesszék jogosultságaikat a rendszeren, szolgáltatásmegtagadást idézzenek elő, és hozzáférjenek érzékeny adatokhoz.

A támadás csak az SGX enklávékban végzett számításokkal végzett manipulációk esetén veszélyes, mivel a végrehajtásához root jogokra van szükség a rendszerben. A legegyszerűbb esetben a támadó az enklávéban feldolgozott információk torzulását érheti el, de bonyolultabb forgatókönyvek esetén az enklávéban tárolt, titkosításhoz használt privát kulcsok RSA-CRT és AES-NI algoritmusok segítségével történő újrateremtésének lehetősége nem lehetséges. kizárva. A technika arra is használható, hogy hibákat generáljon az eredetileg helyes algoritmusokban, hogy sebezhetőséget idézzen elő a memóriával való munka során, például a lefoglalt puffer határain kívül eső területhez való hozzáférés megszervezéséhez.
Prototípus kód támadás végrehajtásához közzétett a GitHubon

A módszer lényege, hogy olyan feltételeket teremtsen az SGX-ben végzett számítások során váratlan adatsérülések előfordulására, amelyektől az enklávéban a titkosítás és a memória hitelesítés használata nem véd. A torzítás bevezetésére kiderült, hogy a frekvencia és a feszültség szabályozására szabványos szoftveres interfészek használhatók, amelyeket általában az energiafogyasztás csökkentésére használnak a rendszer üresjárati idejében, és a maximális teljesítmény aktiválására intenzív munka során. A frekvencia- és feszültségjellemzők az egész chipet lefedik, beleértve az elszigetelt enklávéban végzett számítások hatását is.

A feszültség változtatásával olyan körülményeket teremthetünk, amelyek mellett a töltés nem elegendő egy memóriacella regenerálásához a CPU-ban, és annak értéke megváltozik. Legfontosabb különbség a támadástól SorHammer Az, hogy a RowHammer lehetővé teszi a DRAM-memória egyes biteinek tartalmának megváltoztatását a szomszédos cellákból származó adatok ciklikus kiolvasásával, míg a Plundervolt lehetővé teszi a CPU-n belüli bitek megváltoztatását, amikor az adatokat már betöltötték a memóriából a számításhoz. Ez a funkció lehetővé teszi, hogy megkerülje az SGX-ben a memóriában lévő adatokhoz használt integritás-ellenőrzési és titkosítási mechanizmusokat, mivel a memóriában lévő értékek helyesek maradnak, de torzulhatnak a velük végzett műveletek során, mielőtt az eredményt a memóriába írnák.

Ha ezt a módosított értéket használja a titkosítási folyamat szorzási folyamatában, akkor a kimenet hibás rejtjelezéssel elutasításra kerül. Mivel a támadó képes felvenni a kapcsolatot egy kezelővel az SGX-ben, hogy titkosítsa adatait, a támadó hibákat okozva statisztikákat gyűjthet a kimeneti titkosított szöveg változásairól, és néhány percen belül visszaállíthatja az enklávéban tárolt kulcs értékét. Az eredeti bemeneti szöveg és a helyes kimeneti rejtjelezett szöveg ismert, a kulcs nem változik, és a hibás rejtjelezett szöveg kimenete azt jelzi, hogy valamilyen bit az ellenkező értékűre torzult.

A különböző meghibásodások során felhalmozott helyes és sérült titkosított szövegek értékpárjának elemzése, differenciális hibaelemzési módszerekkel (DFA, Differenciál hibaelemzés) tud megjósolni Az AES szimmetrikus titkosításhoz használt valószínű kulcsokat, majd a különböző készletekben lévő kulcsok metszéspontjait elemezve határozza meg a kívánt kulcsot.

Az Intel processzorok különböző modelljeit érinti a probléma, beleértve a 6-os Intel Core CPU-kat is
10. generációja, valamint a Xeon E3 ötödik és hatodik generációja, az Intel Xeon Scalable első és második generációja, a Xeon D,
Xeon W és Xeon E.

Emlékeztetjük Önöket, hogy az SGX technológia (Software Guard kiterjesztések) jelent meg a hatodik generációs Intel Core processzorokban (Skylake) és ajánlatok utasítások sorozata, amelyek segítségével a felhasználói szintű alkalmazások zárt memóriaterületeket – enklávékat – lefoglalhatnak, amelyek tartalmát még a ring0, SMM és VMM módban futó kernel és kód sem tudja elolvasni, módosítani. Az enklávéban lévő kódra a hagyományos ugrásfüggvényekkel, valamint a regiszterekkel és a veremmel végzett manipulációkkal nem lehet vezérlést átvinni, az enklávéba történő vezérléshez pedig egy speciálisan létrehozott új utasítást használnak, amely jogosultságellenőrzést végez. Ebben az esetben az enklávéba helyezett kód klasszikus hívási módszereket használhat az enklávé belsejében lévő funkciók eléréséhez, és speciális utasításokat a külső függvények hívásához. Az enclave memóriatitkosítás a hardveres támadások, például a DRAM-modulhoz való csatlakozás elleni védelemre szolgál.

Forrás: opennet.ru

Hozzászólás