Két újabb sebezhetőségen keresztül támadhatók az egyes Intel CPU-k

Ráadásul ismét az SGX technológia az áldozat, amit eredetileg a biztonságért terveztek, végül átjáróház lett.

Újabb sebezhetőségekre derült fény, amelyek az Intel processzorait érintik. Egészen pontosan a korábban már igen sokat püfölt SGX (Software Guard Extensions) a célpont, ami azért érdekes, mert az Intelnek ez a technológiája pont a biztonságot szolgálná, ugyanis olyan védett környezetet teremt az adott program számára, amelyben az allokált memóriaszelethez se az operációs rendszer, se a hypervisor nem tud hozzáférni, nem beszélve a többi futtatott alkalmazásról. A memóriának ezeket a privát régióit beékelt területnek szokás nevezni. Ezeken belül kifejezetten kényes információkat lehet tárolni, például titkosítási kulcsokat, és a biztonság érdekében eléggé el van szeparálva ez a rész a processzor többi memóriájától, ráadásul szoftveresen is védve van. Nagyon leegyszerűsítve az SGX technológia felel azért, hogy kialakíthatók legyenek az adatbiztonság szempontjából szükséges, megbízható futtatási környezetek.

A gond az, hogy az SGX eléggé sérülékenynek tűnik. Korábban is sikerült különböző sebezhetőségeket találni, amelyek ellen maga a technológia nem ér semmit, vagy akár még meg is könnyíti a támadás kivitelezését, gondolva itt a legutóbbi lehetőségekre. Ezeket réseket az Intel folyamatosan foltozza az új mikrokódokkal, illetve platformszoftvert frissítésein keresztül, de most ismét érkezett két új, SGX-et célzó támadási technika, amelyet az SGAxe és a CrossTalk neveket kapták meg.

Az SGAxe az MDS gyűjtőnéven futó biztonsági rések egy új variánsának számít, és ugyanaz a csapat fedezte fel, amely a CacheOutot. Tulajdonképpen ennek az evolúciójáról van szó, és specifikusan az SGX enklávékat célozza. A lényege, hogy a lapozással juttatja el az kódolt adatot a processzor L1 adat gyorsítótárába, ahol ki lesz kódolva, és úgy már a CacheOut, majd pedig a RIDL technikák segítségével el is lopható.

A védekezés szempontjából az Intel az úgynevezett linkable signature mode-ot ajánlja, amely a platformkulcsok illetéktelen felhasználása ellen való, így pedig az L1 Terminal Fault rés szempontjából már befoltozott rendszereken a CacheOut, illetve az SGAxe nem jelent veszélyt. Daniel Genkin, a Michigani Egyetem kutatója, illetve az említett technikák egyik megtalálója szerint azonban a linkable signature mode-ot nem mindig praktikus használni, és nem nyújt teljes védelmet, ahogy a L1 Terminal Faultra adott javítás sem, csupán megnehezíti a támadást.

A CrossTalk már érdekesebb módszer, ugyanis egy teljesen új támadási technikára épít, amelynek az alapja egy olyan, minden processzormag által elérhető puffer, amelyet az Intel nem is dokumentál. Ezt az Amszterdamban található Vrije Egyetem és a zürichi ETH fedezte fel, és a staging puffer nevet adták neki. Ennek azért van hatalmas jelentősége, mert ez a tároló két olyan utasításnak is megőrzi a kimeneti adatait, amelyek a kriptográfiai kulcsok generálásához szükséges véletlenszerű számokat biztosítják. Vagyis elég csak ezeket a számot megszerezni, és már ki is következtethető a kulcs.

A CrossTalk ráadásul egy különösen veszélyes tényezőt is behoz a támadásokhoz. Eddig az összes korábbi technika alapvetően egy magra korlátozódott, vagyis mindenképpen azt a processzormagot kellett célozni, amely tárolta az adatokat. Ilyen formában tudta az Intel az egyes sebezhetőségeket úgy levédeni, hogy módosította a Hyper-Threadinget, esetleg teljesen kikapcsolta azt. A staging pufferrel azonban megszületett az első, több magon keresztül is kivitelezhető támadási módszer. Itt már nem lesznek elegek azok a trükkök, hogy a szoftverben szándékosan külön magra helyezik a megbízható és nem megbízható kódokat, a CrossTalk teljesen más biztonsági megoldások kifejlesztését fogja igényelni.

A CrossTalk felfedezői szerint a 2015 és 2019 között megjelent Intel processzorok jelentős része sérülékeny az új támadással szemben. Az Intel szerint az Atom és a skálázható Xeon sorozat, illetve a tizedik generációs Core generáció számít védettnek, míg a többi fejlesztés esetében új mikrokód szükséges, amely befoltozza a rést. Ezt azonban úgy teszi, hogy lezárja a teljes memóriabuszt arra az időre, amíg a staging puffer frissül. Mivel ez egy nagyon durva beavatkozás a rendszer működésbe, és alapvetően teljesen lefagyasztja az adatmozgást, az Intel csak a biztonságkritikus utasítások végrehajtásakor alkalmazza. Ez azt jelenti, hogy a többi utasítás során a processzor továbbra is szivárogtathatja az adatokat a processzormagok között. Természetesen itt egy kényszerű lépésről van szó, ha minden, potenciálisan veszélyes esetben le lenne zárva a memóriabusz, akkor a processzor teljesítménye a mostani töredékére csökkenne, ami nyilván nem alternatíva az Intel nézőpontjából.

Azóta történt

Hirdetés