Egy másik sebezhetőséget azonosítottak az AMD processzorokban, amely lehetővé teszi a Meltdown támadásokat

A Grazi Műszaki Egyetem (Ausztria) és a Helmholtz Center for Information Security (CISPA) kutatócsoportja minden AMD processzorban felfedett egy biztonsági rést (CVE-2021-26318), amely lehetővé teszi a Meltdown-osztályú mellékhatások végrehajtását. csatornatámadások (kezdetben azt feltételezték, hogy az AMD processzorokat nem érinti a Meltdown sebezhetősége). Gyakorlatilag a támadás felhasználható rejtett kommunikációs csatornák létrehozására, a kernel tevékenységének megfigyelésére, vagy a kernelmemóriában lévő címekre vonatkozó információk megszerzésére a KASLR védelem megkerülésére, miközben kihasználja a kernel sebezhetőségeit.

Az AMD nem tartja helyénvalónak speciális intézkedések megtételét a probléma megakadályozására, mivel a sérülékenység, mint egy augusztusban felfedezett hasonló támadás, valós körülmények között kevéssé hasznos, a folyamat címterének jelenlegi határai korlátozzák, és bizonyos kész utasítássorozatok (gadgetek) a kernelben. A támadás bemutatására a kutatók saját kernelmoduljukba töltöttek be egy mesterségesen hozzáadott kütyüt. Valós körülmények között a támadók használhatják például az eBPF alrendszer rendszeresen felbukkanó sebezhetőségeit a szükséges szekvenciák helyettesítésére.

Az új típusú támadások elleni védelem érdekében az AMD olyan biztonságos kódolási technikák használatát javasolta, amelyek segítenek blokkolni a Meltdown támadásokat, például az LFENCE utasításokat. A problémát azonosító kutatók azt javasolják, hogy engedélyezzék a korábban csak Intel processzorokhoz használt, szigorúbb memórialaptábla-elválasztást (KPTI).

A kísérlet során a kutatóknak sikerült információt szivárogtatniuk a kernelből a felhasználói térben lévő folyamatokba 52 bájt/másodperc sebességgel, mivel a kernelben található egy modul, amely végrehajtja az „if (offset < data_len) tmp = LUT[adat[eltolás] * 4096];” . Számos módszert javasoltak az oldalcsatornákon keresztüli információk lekérésére, amelyek a spekulatív végrehajtás során a gyorsítótárba kerülnek. Az első módszer a „PREFETCH” (Prefetch+Time) processzorutasítás végrehajtási idejének eltéréseinek elemzésén alapul, a második pedig a „PREFETCH” (Prefetch+Power) végrehajtása során az energiafogyasztás változásának megváltoztatásán alapul.

Emlékezzünk vissza, hogy a klasszikus Meltdown sebezhetőség azon 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 folyamattól. A programban a spekulatívan végrehajtott blokkot a fő kódtól egy feltételes ág választja el, amely valós körülmények között mindig elindul, 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 preemptív végrehajtása során. a kódot, minden elágazási opciót spekulatív módon hajtanak végre.

Mivel a spekulatív módon végrehajtott műveletek ugyanazt a gyorsítótárat használják, mint a normál végrehajtású utasítások, 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 az egyes bitek tartalmát egy privát memóriaterületen, majd a normál végrehajtású kódban az értékük időzítéssel történő meghatározásához. elemzési hozzáférést biztosít a gyorsítótárazott és nem gyorsítótárazott adatokhoz.

Forrás: opennet.ru

Hozzászólás