CROSSTalk — egy Intel CPU sebezhetőség, amely adatszivárgást okoz a magok között

A kutatócsoport az Amszterdami Szabad Egyetemről új vulnerability (CVE-2020-0543) felfedezést tett az Intel processzorok mikroarchitekturális struktúráin, ami figyelemre méltó, mivel lehetővé teszi bizonyos utasítások végrehajtásának eredményeinek helyreállítását, amelyek egy másik CPU magon futottak. Ez az első spekulatív végrehajtási mechanizmushoz kapcsolódó sebezhetőség, amely adatszivárgást okoz a különböző CPU magok között (korábban az adatszivárgások egyetlen mag különböző szálaira korlátozódtak). A kutatók a problémát CROSSTalk néven ismerték, de az Intel dokumentumaiban a sebezhetőséget SRBDS (Special Register Buffer Data Sampling) néven említik.

A sebezhetőség a másfél évvel ezelőtt bemutatott MDS (Microarchitectural Data Sampling) problémák osztályához tartozik, és a mikroarchitekturális struktúrákban található adatok oldalsó csatornás elemzésének módszereire alapoz. Működési elv A CROSSTalk hasonló a RIDL, de eltér a szivárgás forrásától.
Az új sebezhetőség egy korábban nem dokumentált köztes puffert manipulál, amelyet minden CPU mag közösen használ.

CROSSTalk - egy Intel CPU sebezhetőség, amely a magok közötti adatkis泄félést eredményez.

The essence of the problem abban, hogy a mikroprocesszor bizonyos utasításai, beleértve az RDRAND, RDSEED és SGX EGETKEY utasításokat, a belső mikroarchitekturális SRR (Special Register Reads) művelet segítségével valósulnak meg. A sebezhető processzorokon a SRR-nek visszaadott adatok egy közös köztes puffertel csapódnak le, amely minden CPU maghoz tartozik, majd azokat egy, az olvasási műveletet kezdeményező konkrét fizikai CPU maghoz kapcsolódó kitöltő pufferbe továbbítják. Ezután az érték a kitöltő pufferből a figyelmes alkalmazások számára látható regiszterekbe másolódik.

A közös köztes pufferméret megegyezik a cache sorának méretével, ami általában nagyobb, mint a beolvasott adatok mérete, és különböző olvasási műveletek különböző eltolódásokat érintenek a puffernél. Mivel a közös puffert teljes egészében átmásolják a kitöltő pufferbe, nemcsak a jelenlegi művelethez szükséges részesedés, hanem más műveletek végrehajtása nyomán megmaradt adatok is, amelyeket más CPU magokon hajtottak végre, átkerülnek.

CROSSTalk - egy Intel CPU sebezhetőség, amely a magok közötti adatkis泄félést eredményez.

CROSSTalk - egy Intel CPU sebezhetőség, amely a magok közötti adatkis泄félést eredményez.

Ha a támadás sikeresen megvalósul, a rendszerben hitelesített helyi felhasználó meg tudja határozni az RDRAND, RDSEED és EGETKEY utasítások végrehajtásának eredményét egy másik folyamatban vagy az Intel SGX zónaszigetén belül, függetlenül attól, hogy melyik CPU magon fut a kód.
A problémát felfedező kutatók közzétették Egy exploit prototípusa, amely bemutatja a véletlenszerű értékek RDRAND és RDSEED utasításokon keresztüli kiszivárgásának lehetőségét az ECDSA zárkulcs helyreállításához, amely az Intel SGX titkos környezetében kerül feldolgozásra, miután a rendszerben egyetlen digitális aláírási művelet történt.


Videó lejátszása

Probléma érintett széles körű asztali, mobil és szerverprocesszorok az Intel-től, beleértve a Core i3, i5, i7, i9, m3, Celeron (J, G és N sorozatok), Atom (C, E és X sorozatok), Xeon (E3, E5, E7, W és D családok), Xeon Scalable, stb. Érdekes megjegyezni, hogy az Intel 2018 szeptembere óta tudott a sebezhetőségről, és 2019 júliusában bemutatták az exploit prototípusát, amely adatkis泄félést mutatott be a CPU magjai között, de a javítás kidolgozását a megvalósítás bonyolultsága miatt elhúzódott. A ma javasolt mikrokód-frissítés a problémát azáltal blokkolja, hogy módosítja az RDRAND, RDSEED és EGETKEY utasítások viselkedését, hogy redundáns adatfelülírást hajtson végre a közös pufferen, megakadályozva ezzel a maradék információ felhalmozódását. Ezenkívül késlelteti a pufferhez való hozzáférést a tartalom olvasási és felülírási műveleteinek befejezéséig.

Az ilyen védelem mellékhatása a RDRAND, RDSEED és EGETKEY végrehajtásának késleltetése, valamint a különböző logikai processzorokon párhuzamosan végrehajtott utasítások sávszélességének csökkenése. A RDRAND, RDSEED és EGETKEY végrehajtása szintén késlelteti a memória hozzáférést más logikai processzorokból. Ezek a sajátosságok negatívan befolyásolhatják egyes szerveralkalmazások teljesítményét, ezért a firmware-ben van egy mechanizmus (RNGDS_MITG_DIS) az RDRAND és RDSEED utasítások védelmének letiltására, amelyeket az Intel SGX-en kívül hajtanak végre.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster