A projekt nemrég A Grsecurity egy publikáción keresztül ismertté vált részletek és bemutató támadási módszer egy új sebezhetőséghez (már mint CVE-2021 26341-).
Sebezhetőség lehetővé teszi a processzor számára a spekulatív feldolgozást az utasítás közvetlenül az ugrás (SLS) utasítás után a memóriában spekulatív végrehajtás során. Ugyanakkor az ilyen optimalizálás nem csak a feltételes ugrás operátoroknál működik, hanem olyan utasításoknál is, amelyek közvetlen feltétel nélküli ugrással járnak, mint például a JMP, RET és CALL.
A feltétel nélküli elágazási utasításokat tetszőleges, végrehajtásra nem szánt adatok követhetik. Miután megállapította, hogy az elágazás nem foglalja magában a következő utasítás végrehajtását, a processzor egyszerűen visszaállítja az állapotot, és figyelmen kívül hagyja a spekulatív végrehajtást, de az utasításvégrehajtási nyomkövetés az általános gyorsítótárban marad, és elérhető oldalcsatornás visszakeresési módszerekkel történő elemzésre.
Az AMD frissítést biztosít az ajánlott mérsékléshez, a G-5 csökkentéshez a „Szoftvertechnikák az AMD processzorok spekulációjának kezelésére” című tanulmányban. A G-5 mérséklése segít az ági utasítások spekulatív viselkedésével kapcsolatos lehetséges sebezhetőségek kezelésében.
Az AMD processzorok átmenetileg végrehajthatnak utasításokat egy feltétel nélküli előre ágat követően, ami gyorsítótár tevékenységet eredményezhet
Akárcsak a Spectre kiaknázása esetében,v1, egy támadáshoz bizonyos szekvenciák jelenléte szükséges utasítások (gadgetek) a kernelben, ami spekulatív végrehajtáshoz vezet.
Ebben az esetben a sérülékenység blokkolása az ilyen eszközök azonosítását jelenti a kódban, és további utasításokat ad hozzájuk, amelyek blokkolják a spekulatív végrehajtást. A spekulatív végrehajtás feltételei az eBPF virtuális gépen futó, nem privilegizált programokkal is létrehozhatók.
A vizsgálat eredményeként egy új biztonsági rést fedeztek fel, a CVE-2021-26341. [1] , amelyet ebben a cikkben részletesen tárgyalunk. Szokás szerint a sérülékenység technikai vonatkozásaira, az AMD által javasolt enyhítésekre és a kihasználási szempontokra koncentrálunk.
Az eBPF használatával történő eszközök létrehozásának megakadályozása érdekében ajánlott letiltani az eBPF-hez való jogosulatlan hozzáférést a rendszerben ("sysctl -w kernel.unprivileged_bpf_disabled=1").
A sérülékenység a Zen1 és Zen2 mikroarchitektúrán alapuló processzorokat érinti:
Íróasztal
- AMD Athlon™ X4 processzor
- AMD Ryzen™ Threadripper™ PRO processzor
- XNUMX. generációs AMD Ryzen™ Threadripper™ processzorok
- XNUMX. generációs AMD Ryzen™ Threadripper™ processzorok
- XNUMX. generációs AMD A-sorozatú APU
- AMD Ryzen™ 2000 sorozatú asztali processzorok
- AMD Ryzen™ 3000 sorozatú asztali processzorok
- AMD Ryzen™ 4000 sorozatú asztali processzorok Radeon™ grafikus kártyával
Mozgó
- AMD Ryzen™ 2000 sorozatú mobil processzor
- AMD Athlon™ 3000 sorozatú mobil processzorok Radeon™ grafikus kártyával
- AMD Ryzen™ 3000 sorozatú mobilprocesszorok vagy XNUMX. generációs AMD Ryzen™ mobilprocesszorok Radeon™ grafikával
- AMD Ryzen™ 4000 sorozatú mobil processzorok Radeon™ grafikus kártyával
- AMD Ryzen™ 5000 sorozatú mobil processzorok Radeon™ grafikus kártyával
Chromebook
- AMD Athlon™ mobilprocesszorok Radeon™ grafikus kártyával
szerver
- Első generációs AMD EPYC™ processzorok
- XNUMX. generációs AMD EPYC™ processzorok
Megemlítik, hogy ha a támadás sikeres, a sérülékenység tetszőleges memóriaterületek tartalmának meghatározását teszi lehetővé.
A biztonsági rés miatt lehetséges lehet olyan jóindulatú kódkonstrukciók azonosítása, amelyek korlátozott, de potenciálisan kihasználható SLS-eszközöket alkotnak az érintett CPU-kon. Amint azt az eBPF-példa is bemutatta, a sebezhetőséget kézzel épített, saját befecskendezésű eszközökkel is ki lehet használni. A bemutatott módszer használható például a Linux kernel KASLR-csökkentésének megtörésére.
Például a kutatók elkészítettek egy exploitot, amely lehetővé teszi a cím elrendezésének meghatározását és a KASLR (kernel memória véletlenszerűsítés) védelmi mechanizmusának megkerülését oly módon, hogy az eBPF kernel alrendszerében jogosultságok nélkül hajt végre kódot, az Egyéb támadási forgatókönyvek mellett, amelyek kiszivároghatnak a a kernelmemória tartalma nincs kizárva.
Végül ha érdekel egy kicsit többet megtudni róla, ellenőrizheti a részleteket A következő linken.