Egy csoportja A kínai és az egyesült államokbeli egyetemek kutatói új sebezhetőséget azonosítottak processzorokban Az Intel információszivárgáshoz vezet a harmadik fél csatornáin végzett spekulatív műveletek eredményeként, amelyek felhasználhatók például a folyamatok közötti rejtett kommunikációs csatorna megszervezésére vagy a Meltdown támadások során bekövetkező szivárgások észlelésére.
A sérülékenység lényege az EFLAGS processzor nyilvántartásának változása, amely az utasítások spekulatív végrehajtásának eredményeként következett be, befolyásolja a JCC utasítások későbbi végrehajtási idejét (ugrás, ha meghatározott feltételek teljesülnek).
A spekulatív műveletek nem fejeződnek be, és az eredményt eldobják, de az elvetett EFLAGS változást a JCC utasítások végrehajtási idejének elemzésével lehet meghatározni. A spekulatívan végrehajtott ugrás előtti összehasonlítási műveletek, ha az összehasonlítás sikeres, kis késleltetést eredményeznek, amely mérhető és tartalomillesztési funkcióként használható.
Az átmeneti végrehajtási támadás a CPU-optimalizálási technológiák sebezhetőségét kihasználó támadások egyik fajtája. Gyorsan megjelennek az új támadások. Az oldalsó csatorna kulcsfontosságú része az adatok kiszűrésére irányuló átmeneti végrehajtási támadásoknak.
Ebben a munkában egy biztonsági rést fedeztünk fel, amely megváltoztatta az EFLAGS regisztert az átmeneti végrehajtás során, ami mellékhatással járhat az Intel CPU-kon lévő Jcc (Jump Condition Code) utasításra. Felfedezésünk alapján egy új oldalcsatornás támadást javasolunk, amely az átmeneti végrehajtási időzítést és a Jcc utasításokat használja ki az adatok továbbítására.
Ez a támadás a rendszerleíró adatbázis megváltoztatásával titkosítja a titkos adatokat, aminek következtében a végrehajtási idő kissé lelassul, és amelyet a támadó mérhet az adatok dekódolásához. Ez a támadás nem a gyorsítótár-rendszertől függ.
Más támadásokkal ellentétben hasonló harmadik fél csatornáin keresztül, az új módszer nem elemzi a gyorsítótárazott adatok elérési idejének változását és nincs gyorsítótárazott, és nem szükséges az EFLAGS-rekord visszaállítása a kezdeti állapotba, ami megnehezíti a támadás észlelését és blokkolását.
demóhoz, a kutatók megvalósították a Meltdown támadás egy változatát, amelyben egy új módszert használva információt szerezhet egy spekulatív művelet eredményéről. Az információszivárgás megszervezésére szolgáló módszer működése Meltdown támadás során sikeresen bemutatták Intel Core i7-6700 és i7-7700 CPU-kkal rendelkező rendszereken Ubuntu 22.04 kernellel és Linux 5.15-tel rendelkező környezetben. Intel i9-10980XE CPU-val rendelkező rendszeren a támadás csak részben volt sikeres.
A Meltdown sebezhetőség azon a tényen alapul, hogy az utasítások spekulatív végrehajtása során, a processzor hozzáférhet egy privát adatterülethez, majd elveheti az eredményt, mivel a beállított jogosultságok tiltják az ilyen hozzáférést a felhasználói folyamat számára.
A programban a spekulatívan végrehajtott blokkot egy feltételes ugrás választja el a főkódtól, ami valós körülmények között mindig aktiválódik, de abból kifolyólag, hogy a feltételes utasítás olyan számított értéket használ, amelyet a processzor nem ismer a megelőző kódolás során. . végrehajtás, az összes elágazási opció spekulatív módon kerül végrehajtásra.
A klasszikus Meltdownban, mivel ugyanazt a gyorsítótárat használják a spekulatívan végrehajtott műveletekhez, mint a normálisan végrehajtott utasításokhoz, a spekulatív végrehajtás során lehetőség van a gyorsítótárban olyan markereket beállítani, amelyek tükrözik a zárt memóriaterület egyes biteinek tartalmát, majd a normál végrehajtásban. kódot, hogy meghatározza jelentését a gyorsítótárazott és nem gyorsítótárazott adatokhoz való hozzáférési idő elemzésével.
Az új változat az EFLAGS nyilvántartás változását használja szivárgás jelzőjeként. A Covert Channel demóban az egyik folyamat modulálta az elküldött adatokat az EFLAGS rekord tartalmának módosítása érdekében, egy másik folyamat pedig a JCC futási környezetében történt változást elemezte, hogy újra létrehozza az első folyamat által küldött adatokat.
Végül, ha érdekel, hogy többet tudjon meg róla, keresse fel a részletek a következő linken.