Az Intel processzorok új sérülékenységi osztályát vezették be

Intel közzétett információk az újról sebezhetőségi osztály a processzoraikban - MDS (Microarchitectural Data Sampling). A korábbi Spectre-támadásokhoz hasonlóan az új problémák privát adatok kiszivárgásához vezethetnek az operációs rendszerből, a virtuális gépekből és más folyamatokból. Állítólag a problémákat először az Intel alkalmazottai és partnerei azonosították egy belső audit során, majd független kutatók hasonló problémákról adtak információkat az Intelnek. Az AMD és ARM processzorokat nem érinti a probléma.

A Grazi Műszaki Egyetem (Ausztria) kutatói által azonosított problémák alapján fejlett Néhány gyakorlati oldalcsatorna támadás:

  • ZombieLoad (PDF) - lehetővé teszi bizalmas információk kinyerését más folyamatokból, az operációs rendszerből, a virtuális gépekből és a védett enklávéból (TEE, Trusted Execution Environment). Bemutatták például, hogy egy másik virtuális gépen futó Tor böngészőben meg lehet határozni az oldalak megnyitásának előzményeit, valamint az alkalmazásokban használt hozzáférési kulcsokat és jelszavakat;


  • RIDL (PDF) - lehetővé teszi az információszivárgást az Intel processzorok különböző elszigetelt területei között, például a töltőpufferek, a tárolási pufferek és a betöltési portok között. Példák a támadásokra, amelyek más folyamatokból, az operációs rendszerből, a virtuális gépekből és a védett enklávékból származó szivárgásokat szerveznek. Például megmutatja, hogyan lehet kideríteni a root jelszó kivonatának tartalmát az /etc/shadow fájlból időszakos hitelesítési kísérletek során (a támadás 24 óráig tartott);

    Ezenkívül a SpiderMonkey motor rosszindulatú oldalának megnyitásakor egy példa látható egy JavaScript és WebAssembly használatával (a modern, teljes értékű böngészőkben az ilyen támadás nem valószínű az időzítő korlátozott pontossága és a Spectre elleni védelem miatt);

  • Fallout (PDF) - lehetővé teszi az operációs rendszer által nemrégiben írt adatok beolvasását és az operációs rendszer memória elrendezésének meghatározását az egyéb támadások egyszerűsítése érdekében;
  • Store-to-leak továbbítás - kihasználja a CPU optimalizálást a tárolópufferrel való munkavégzéshez, és használható a kernel címterének véletlenszerűsítési mechanizmusának (KASLR) megkerülésére, az operációs rendszer állapotának figyelésére vagy szervezetek szivárog a Spectre módszereken alapuló kütyükkel kombinálva.

Azonosított sebezhetőségek:

  • CVE-2018-12126 – MSBDS (Microarchitectural Store Buffer Data Sampling), tárolópufferek tartalmának helyreállítása. Fallout támadásban használják. A veszélyességi fokot 6.5 pontban határozzák meg (CVSS);
  • CVE-2018-12127 - MLPDS (Microarchitectural Load Port Data Sampling), betöltőport tartalmának helyreállítása. A RIDL támadásban használták. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Microarchitectural Fill Buffer Data Sampling), a kitöltőpuffer tartalmának helyreállítása. ZombieLoad és RIDL támadásokban használatos. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Microarchitectural Data Sampling Uncacheable Memory), nem gyorsítótárazott memóriatartalmak helyreállítása. A RIDL támadásban használták. CVSS 3.8.

szív problémákat azonosított az oldalcsatornás elemzési módszerek alkalmazásának lehetőségében olyan mikroarchitektúra-struktúrákban lévő adatokra, amelyekhez az alkalmazások közvetlenül nem férnek hozzá. Olyan alacsony szintű struktúrákról beszélünk, mint a kitöltő pufferek (Line Fill Buffer), a tárolási pufferek (Store Buffer) és a betöltési portok (Load Port), amelyek kisebb építőelemek, mint az első szintű gyorsítótár (L1D), adatbetöltési gyorsítótár ( RDCL ) vagy L1TF (L1 terminálhiba), ennek megfelelően kevesebb információt tartalmaznak, és intenzívebben frissülnek.

Az Intel processzorok új sérülékenységi osztályát vezették be

A mikroarchitektúra-struktúrák elleni oldalcsatornás támadásokat sokkal nehezebb végrehajtani a gyorsítótár tartalmának visszaállítási módszereihez képest, és jelentős mennyiségű adat nyomon követését és elemzését teszik szükségessé, hogy meghatározzák kapcsolatukat a memóriában lévő bizonyos címekkel (lényegében a támadó nem tud szándékosan elfogni bizonyos adatokat de előfordulhat, hogy idővel felhalmozódik a szivárgás, és statisztikai módszereket alkalmazhat bizonyos típusú adatok rekonstruálására). Ezenkívül a támadás csak a támadó kódjával azonos fizikai CPU magon lévő adatokat érinti.

A mikroarchitektúra struktúrák tartalmának meghatározására javasolt módszerek azon a tényen alapulnak, hogy ezeket a struktúrákat kivételek (hiba) spekulatív kezelése vagy terhelési és tárolási műveletek során használják.
A spekulatív végrehajtás során a belső struktúrák tartalma regiszterekbe vagy gyorsítótárakba kerül feldolgozásra. A spekulatív műveletek nem fejeződnek be, és az eredményt eldobják, de az átirányított tartalom meghatározható oldalcsatornás gyorsítótár elemzési technikákkal.

A terhelési portokat a processzor arra használja, hogy adatokat fogadjon a memóriából vagy az I/O alrendszerből, és továbbítsa a kapott információkat a CPU regisztereihez. Az implementáció miatt a régi letöltési műveletek adatai a portokban maradnak mindaddig, amíg új adatok felül nem írják őket, ami lehetővé teszi a letöltési porton lévő adatok állapotának közvetett meghatározását a kivételek (hiba) és az SSE/AVX/ manipulálásával. AVX-512 utasítások, amelyek több mint 64 bites adatot töltenek be. Ilyen körülmények között a betöltési műveletek spekulatív módon a belső struktúrák elavult adatértékeit függő műveletek elé teszik. Hasonló módon a szivárgás a tárolópufferen keresztül szerveződik, amely a CPU-gyorsítótárba való írás felgyorsítására szolgál, és tartalmazza a címek, értékek és zászlók táblázatát, valamint a kitöltési pufferen keresztül, amely olyan adatokat tartalmaz, még nincs az L1 gyorsítótárban (cache-miss), egyelőre más szintű gyorsítótárakból tölt be.

Az Intel processzorok új sérülékenységi osztályát vezették be

probléma érinti 2011 óta gyártott Intel processzormodellek (a 6. generációtól kezdve). Ebben az esetben a hardver sérülékenysége blokkolva van néhány 8. és 9. generációs Intel Core és 2. generációs Intel Xeon Scalable modelltől kezdve (az IA32_ARCH_CAPABILITIES MSR ARCH_CAP_MDS_NO bitjével ellenőrizheti). A sebezhetőségek is már vannak Eltüntetett firmware, mikrokód és operációs rendszerek szintjén. Az Intel a legtöbb felhasználó teljesítménycsökkenését becsüli a javítás aktiválása után kevesebb, mint 3%. Ha a Hyper-Threading technológia le van tiltva, a teljesítményromlás elérheti a 9%-ot a SPECint_rate_base tesztben, akár a 11%-ot az aktív egész számok számításánál, és akár a 19%-ot is, amikor szerveroldali Java-alkalmazásokat futtat (ha a HT engedélyezve van, majdnem nincs teljesítményromlás). A javítások csekély hatással vannak az I/O teljesítményre.

A Linux kernel véd az MDS ellen tette hozzá a maiban frissítéseket 5.1.2, 5.0.16,
4.19.43, 4.14.119 és 4.9.176. Védelmi módszer építés alatt a mikroarchitektúrás pufferek tartalmának törléséről a kernelből a felhasználói térbe való visszatéréskor vagy a vezérlés vendégrendszerre való átadásakor, amelyhez a VERW utasítást használjuk. A védelem működéséhez az MD_CLEAR mód támogatása szükséges, amelyet a legújabb mikrokód-frissítés implementál. A teljes védelem érdekében a Hyper Threading letiltása is javasolt. Annak ellenőrzésére, hogy a rendszer mennyire van kitéve a Linux kernel sebezhetőségeinek - tette hozzá kezelő "/sys/devices/system/cpu/vulnerabilities/mds". A különféle sebezhetőséget blokkoló módok beépítésének szabályozására a kernelhez hozzáadták az „mds=” paramétert, amely a „full”, „full,nosmt” (hiperszálak letiltása), „vmwerv” és "ki".

A csomag frissítései már megjelentek RHEL и Ubuntu, de egyelőre nem elérhető Debian, Fedora и SUSE.
Javítás a virtuális gépek adatszivárgásának blokkolására is alakított a Xen hipervizor számára. Az L1D_FLUSH parancsot kiadó virtualizációs rendszerek védelméhez, mielőtt átadnák a vezérlést egy másik virtuális gépre, valamint az Intel SGX enklávéinak védelméhez elegendő egy mikrokód frissítés.

Forrás: opennet.ru

Hozzászólás