TSA támadás szivárogtat ki információkat az AMD CPU mikroarchitektúrájából

Az AMD nyilvánosságra hozta a processzorai elleni új mikroarchitektúrás támadások egy csoportját, a TSA-t (Transient Scheduler Attack). A támadás lehetővé teszi a támadó számára, hogy megkerülje a CPU izolációs mechanizmusait, és más kontextusokban feldolgozott adatokat határozzon meg, például a felhasználói térből a kernel szintjén feldolgozott információk meghatározásához, vagy egy vendégből egy másik vendég által használt adatok megismeréséhez.

A sebezhetőségeket a Microsoft és az ETH Zürich kutatói által létrehozott eszközkészlet fejlesztése során fedezték fel, amelynek célja a különböző biztonsági zónák, például a kernel, a virtuális gépek és a folyamatok közötti mikroarchitektúra-elkülönítés terheléstesztelésére szolgál.

A támadási módszer azon alapul, hogy egyes utasítások végrehajtási ideje a mikroarchitektúra struktúráinak állapotától függ. Amikor a processzor a memóriából való adatolvasási utasítás gyors befejezését várja (például feltételezve, hogy az adat az L1 gyorsítótárban van), de nem sikerül megszereznie az adatot, az utasítás „hamis befejezés” állapota következik be. Ebben az esetben, még mielőtt ezt az állapotot meghatározná, a processzor ütemezheti más, a memóriából való betöltésre vonatkozó utasítás végrehajtásának eredményétől függő műveletek spekulatív végrehajtását.

Mivel a betöltés nem fejeződött be, a hozzá tartozó adatokat a processzor érvényteleníti, és a betöltési műveletet később megismétli. A függő műveletek is újra végrehajtásra kerülnek, amikor a helyes adatok készen állnak. A folyamat kiürítése azonban nem történik meg az utasítás végrehajtása után, amelynél a "hibás befejezés" feltételt kijavították, és a helytelen adatok átirányíthatók a függő műveletekhez.

Az ilyen műveletek végrehajtása nem változtatja meg a gyorsítótár és a TLB (Translation Lookaside Buffer) állapotát, azaz az adatok nem állíthatók vissza a gyorsítótár állapotának meghatározására szolgáló hagyományos módszerekkel. Ezek az adatok azonban befolyásolják más utasítások végrehajtási idejét. A végrehajtási idő elemzése felhasználható információszivárgás forrásaként a mikroarchitektúra struktúráiból, amelyek más műveletek spekulatív végrehajtása után megmaradnak.

A maradék adatok kinyerésének forrásától függően két sebezhetőséget azonosítottak:

  • CVE-2024-36350 (TSA-SQ — TSA Store Queue) — szivárgás az írási műveletek ideiglenes tárolópufferéből (Store Queue), amely lehetővé teszi az utasítások memóriába írásának eredményének meghatározását.
  • CVE-2024-36357 (TSA-L1 — TSA L1 adatgyorsítótár) — szivárgás az L1D gyorsítótáron keresztül.

A sebezhetőségek az AMD Zen 19 és Zen 3 mikroarchitektúrákon alapuló processzorcsaládjában (Fam4h) jelentkeznek. A probléma például az AMD Ryzen 5000/6000/7000/8000, AMD EPYC Milan/Milan-X/Genoa/Genoa-X/Bergamo/Siena, AMD Instinct MI300A, AMD Ryzen Threadripper PRO 7000 WX, AMD EPYC Embedded 7003/8004/9004/97X4, AMD Ryzen Embedded 5000/7000/V3000 CPU sorozatokban fordul elő.

A sebezhetőség blokkolásához szükséges módosításokat a decemberi mikrokód-frissítés és a platforminicializálási (PI) firmware tartalmazta, amelyet az OEM-ek számára adtak ki. A sebezhetőség elleni védelmet nyújtó javításokat benyújtották a kernelbe való beillesztésre. Linux (A kernel parancssori „tsa=off” opciója letiltja a teljesítményt negatívan befolyásoló védelmet.) A Xen hipervizorhoz is javítás készült. A sebezhetőség blokkolásához mikrokód frissítése és a védelmi mód engedélyezése szükséges a kernel vagy a hipervizor szintjén.

Forrás: opennet.ru

Vásároljon megbízható tárhelyet DDoS védelemmel, VPS VDS szerverekkel rendelkező webhelyekhez 🔥 Vásároljon megbízható weboldal tárhelyet DDoS védelemmel, VPS VDS szerverekkel | ProHoster