Intel vállalat információk két új Intel CPU sérülékenységről, amelyeket az L1D gyorsítótár adatszivárgása okoz (, L1DES — L1D Eviction Sampling) és a vektoregiszterek (, VRS — Vector Register Sampling). A sérülékenységek a (Microarchitectural Data Sampling) osztályba tartoznak, és a mikroarchitektúrás struktúrákra vonatkozóan végzett oldalsó csatornás elemzési módszerek alkalmazásán alapulnak. Az AMD, ARM és egyéb processzorok nem érintettek a problémákban.
A legnagyobb veszélyt az L1DES sérülékenység jelenti, amely a kikerült gyorsítótárazott adatok (cache line) felhalmozódását, amelyeket az első szintű (L1D) gyorsítótárból kiutasítottak, a kitöltő pufferben (Fill Buffer), amely ezen a ponton üresnek kellene lennie. A kitöltő pufferben felhalmozódott adatok meghatározásához oldalsó csatornás elemzési módszerek alkalmazhatók, amelyeket korábban támadásokban javasoltak (Microarchitectural Data Sampling) és (Transactional Asynchronous Abort). A MDS és TAA korábban megvalósított védelmének lényege a mikroarchitektúrás pufferek törlése a kontextusváltás előtt, de kiderült, hogy bizonyos körülmények között az adatok spekulatívan visszakerülnek a pufferekbe a törlési művelet után, ezért a MDS és TAA módszerek továbbra is alkalmazhatók.
Végül a támadó képes lehet meghatározni a kiutasított adatokat az első szintű gyorsítóból, amelyeket a program futtatása során módosítottak, mielőtt az a jelenlegi CPU magot foglalta el, vagy más logikai szálakon (hyperthread) párhuzamosan futó alkalmazások esetén a CPU ugyanazon magjában (a HyperThreading letiltása csökkenti a támadás hatékonyságát). A L1DES támadással ellentétben nem lehet kiválasztani a konkrét fizikai címeket ellenőrzésre, de lehetőséget ad a más logikai szálakban bekövetkező aktivitás passzív nyomon követésére, amely a memóriába történő betöltéssel vagy elmentéssel kapcsolatos értékekkel áll kapcsolatban.

Az L1DES alapján különféle kutatócsoportok több támadási variációt dolgoztak ki, amelyek potenciálisan lehetővé teszik a bizalmas információk kinyerését más folyamatokból, operációs rendszerekből, virtuális gépekből és védett SGX enclávékból. A VUSec csapata
alkalmazta
- a RIDL támadási módszert az L1DES sérülékenységre. Elérhető метод атаки RIDL для уязвимости L1DES. Доступен , amely magában foglalja az Intel MDS védekezési módszerek megkerülését, amely a VERW utasításon alapul a mikroarchitektúrák puffereinek törlésére a kernelből a felhasználói térbe való visszatéréskor, vagy a host rendszerhez való átadáskor (a kutatók eredetileg azt állították, hogy a VERW (mikroarchitektúrák puffereinek törlése) védelemhez nem elegendő, és teljes L1 cache törlés szükséges minden kontextusváltáskor).
- A parancs frissítette az L1DES sebezhetőség figyelembevételével.
- A Michigan Állami Egyetem kutatói kifejlesztettek egy saját támadási módszert (), amely lehetővé teszi bizalmas információk kinyerését az operációs rendszer kerneléből, virtuális gépekből és a védett SGX zónákból. A módszer alapja az aszinkron műveleti megszakítások mechanizmusával (TAA, TSX Asynchronous Abort) a L1D cache-ből való adatkiáramlás utáni puffer tartalmának meghatározásához.
A második sebezhetőség a VRS (Vector Register Sampling) a tároló pufferbe (Store Buffer) történő adatkiáramláshoz, amely a vektoregisterekből olvasott eredményeket tartalmazza, amelyeket vektoros utasítások (SSE, AVX, AVX-512) végrehajtása során módosítottak ugyanazon a CPU magon. A szivárgás elegendően ritka körülmények között történik, és az okozza, hogy a spekulatív módon végrehajtott művelet, amely a vektoregisterek állapotának tükrözéséhez vezet a tároló pufferben, késlekedik és a törlés után fejeződik be, nem pedig előtte. Hasonlóan az L1DES sebezhetőséghez, a tároló puffer tartalma ezután a MDS és TAA támadási módszereivel határozható meg.
A VUSec csoport kutatói , amely lehetővé teszi a CPU magjának ugyanazon logikai folyamatában végzett számítások eredményeként előállt vektoregisterek értékeinek meghatározását. Az Intel a VRS sebezhetőséget túl bonyolultnak tartotta a valós támadások végrehajtásához, és a kockázat szintet minimálisra (2.8 CVSS) állította be.
A problémákra vonatkozó információkat 2019 májusában adta át az Intelnek a grazi műszaki egyetem Zombieload csapata és az amszterdami szabad egyetem VUSec csoportja, majd később, más MDS támadási vektorok elemzése után, néhány más kutató is megerősítette a sebezhetőségeket. Az első MDS jelentésben az L1DES és VRS problémákról szóló információk nem szerepeltek a javítás hiánya miatt. A javítás jelenleg sem elérhető, de a megállapított titoktartási időszak lejárt.
Mint védelmi megoldás, ajánlott a HyperThreading letiltása. A sebezhetőség kernel oldali blokkolásához javasolt a L1 cache törlése minden kontextusváltásnál (MSR MSR_IA32_FLUSH_CMD bitje) és a TSX kiterjesztés letiltása (MSR MSR_IA32_TSX_CTRL és MSR_TSX_FORCE_ABORT bitek).
Intel a mikrokód frissítés kiadását, amely megvalósítja a problémák blokkolására vonatkozó mechanizmusokat a közeljövőben. Az Intel azt is megjegyzi, hogy a 2018-ban javasolt támadás elleni védelmi módszerek alkalmazása (L1 Terminal Fault) lehetővé teszi az L1DES sebezhetőség kihasználásának blokkolását virtuális környezetekből. A támadás az Intel Core processzorok, kezdve a hatodik generációtól (Sky, Kaby, Coffee, Whiskey, Amber Lake stb.), valamint néhány Intel Xeon és Xeon Scalable modell.
További megjegyzésként , amely lehetővé teszi a támadási módszerek alkalmazását a root jelszó hash tartalmának meghatározására a /etc/shadow fájlból időszakos hitelesítési kísérletek során. Ha az eredetileg javasolt exploit 24 óra alatt határozta meg a jelszó hash-t, , akkor a TAA (TSX Asynchronous Abort) működése közben fellépő kiszivárgás alkalmazásával a hasonló művelet 36 másodperc alatt valósult meg. , míg az újabb változat 4 másodperc alatt végzi el a támadást.

Forrás: opennet.ru
