Az AMD Linux-mérnöke, Borislav Petkov egy új javítást adott ki, amely a Speculative Return Stack Overflow (SRSO) vagy más néven „Inception” sebezhetőség kezelését érinti. Ez a hiba 2023 augusztusában került nyilvánosságra, és a Zen 1-től Zen 4-ig terjedő AMD CPU-kat érinti. A kernel.org dokumentáció szerint a hiba a következőképpen írható le:
Az AMD CPU-k a visszatérési (RET) utasításokat egy "Visszatérési Cím Előrejelző" (Return Address Predictor, RAP) segítségével jósolják meg. Egyes esetekben egy nem architekturális hívás (CALL) utasítás is belépést hozhat létre a RAP-ben, amelyet egy későbbi RET utasítás céljának megjóslására használnak.
A sebezhetőséget kihasználva támadók megzavarhatják a CPU előrejelzési rendszerét, amely információszivárgást eredményezhet.
A frissítés tartalma
A legújabb frissítés két új bitet vezet be: a "SRSO_USER_KERNEL_NO" és a "SRSO_MSR_FIX" bitet, amelyek segítségével a Linux jobb védelmet nyújthat az SRSO ellen az érintett Ryzen és EPYC CPU-k esetében. Ezek a következőket jelzik:
- SRSO_USER_KERNEL_NO: ha az értéke 1, akkor a CPU-t nem érinti az SRSO sebezhetőség a felhasználói és kernel mód közötti határon.
- SRSO_MSR_FIX: ha az értéke 1, a szoftver a BpSpecReduce módot alkalmazhatja az SRSO mitigálására.
A javítás részletezése szerint, ha az adott CPU-n a CPUID Fn8000_0021_EAX[30] bit értéke 1, akkor a rendszer az IBPB-on-VMEXIT (Indirect Branch Predictor Barrier) eljárást használja az SRSO elleni védekezésre, amely VM-ek futtatása esetén aktiválódik. A CPUID Fn8000_0021_EAX[31] bit esetében pedig engedélyezett lesz a BpSpecReduce beállítás.
Miért csak most érkezett a javítás?
Bár az újabb SRSO védelmi képességek már 2024 februárjában megjelentek egy technikai frissítésben, a Linux kernel most lett frissítve, hogy támogatást nyújtson ezekhez. A javítás jelenleg elérhető a Linux kernel levelezőlistáján, ahol további véleményezésre vár.
Az AMD processzorokat érinti az INCEPTION sebezhetőség (CVE-2023-20569), amely egy régebbi probléma, ami javításra került. Az új spekulatív oldalcsatornás támadás minden Zen alapú processzort érint. Mind a Zen 3, mind a Zen 4 processzorok mikrokód frissítést igényelnek, míg a korábbi Zen CPU-k Linux kernel, vagy az adott operációs rendszer alapú megoldást igényelnek. Az INCEPTION enyhítése várhatóan nem csökkenti a teljesítményt. Ez az oldalcsatornás sebezhetőség lehetővé teheti a támadó számára, hogy befolyásolja a visszatérési cím előrejelzését. Ez spekulatív végrehajtást eredményezhet a támadó által ellenőrzött címen, ami potenciálisan információ felfedéséhez vezethet. A gyártó szerint:
A támadás spekulatív végrehajtást eredményezhet egy támadó által ellenőrzött címen, ami potenciálisan információk felfedéséhez vezethet. Ez a támadás hasonló a korábbi, ág-előrejelzésen alapuló támadásokhoz, mint például a Spectrev2 és a Branch Type Confusion (BTC)/RetBleed. A hasonló támadásokhoz hasonlóan a spekuláció az aktuális címtartományra korlátozódik, és a kihasználáshoz a támadónak ismernie kell a címtartományt és elegendő regisztert kell irányítania a RET (return from procedure) spekuláció idején. Ezért az AMD úgy véli, hogy ez a sebezhetőség csak helyileg, például letöltött rosszindulatú szoftverek segítségével kihasználható, és azt ajánlja, hogy az ügyfelek alkalmazzák a legjobb biztonsági gyakorlatokat, beleértve a naprakész szoftverek és rosszindulatú szoftvereket felismerő eszközök használatát. Az AMD-nek jelenleg nincs tudomása arról, hogy az "Inception"-t a kutatási környezeten kívül bárki is kihasználná.
A kihasználás bemutatott módja:
- Az AMD biztonsági hibaközlése: AMD-SB-7005
- Technical Update Regarding Speculative Return Stack Overflow
- Az INCEPTION hiba honlapja
A Sebezhetőség
A RAS akkor frissül, amikor egy CALL utasítás előrejelzése megtörténik, nem pedig a a csővezeték egy későbbi pontján. A RAS azonban alapvetően egy körkörös verem. Lehetőség van az elágazás típusának és a cél előrejelzésének mérgezésére, így hogy a támadó által kiválasztott ponton az elágazás előrejelzője elég CALL-t jósol egymás után, hogy a teljes RAS-t körbejárja és a helyes visszatérési előrejelzést felülírja a támadó egyik visszatérési előrejelzésével. választásával. Ez lehetővé teszi a támadó számára a RET-spekuláció irányítását az áldozat kontextusában, és ennek eredményeképpen tetszőleges adatokat szivárogtathat ki.
Megoldás
Az AMD azt ajánlja, hogy az ügyfelek a „Zen 3” és „Zen 4” CPU-architektúrán alapuló termékek esetében vagy az önálló µcode javítást, vagy a µcode javítást tartalmazó BIOS-frissítést alkalmazzák. Az AMD az alábbiakban felsorolt céldátumokban tervezi a frissített AGESA™-verziók kiadását az eredetiberendezés-gyártók (OEM), az eredeti tervezőgyártók (ODM) és az alaplapgyártók (MB) számára. A gyártó arra kéri a felhasználókat, hogy forduljanak az OEM-hez, ODM-hez vagy MB-hez a termékére jellemző BIOS-frissítésért, amely adott esetben az alábbiakban felsorolt időpontok után következik. A „Zen” vagy „Zen 2” CPU-architektúrán alapuló termékek esetében nincs szükség µcode-javításra vagy a µcode-javítást tartalmazó BIOS-frissítésre, mivel ezek az architektúrák már úgy vannak kialakítva, hogy az ágtípus-előrejelzéseket az elágazás-előrejelzőből ki lehessen üríteni.
Az operációs rendszer (OS) konfigurációs lehetőségei is rendelkezésre állhatnak a sebezhetőség bizonyos aspektusainak enyhítésére. Az AMD azt javasolja, hogy a felhasználók értékeljék kockázati környezetüket (beleértve a nem megbízható helyi kód futtatásának kockázatát), amikor az operációs rendszerrel kapcsolatos enyhítési lehetőségekről döntenek, és az operációs rendszerre vonatkozó dokumentációban találnak útmutatást. A "Zen 3" és "Zen 4" alapú rendszereknek a BIOS frissítésbe beépített µcode javítófoltra lesz szükségük az operációs rendszer konfigurációs opcióinak engedélyezése előtt.
Érintett processzorok
Az INCEPTION sérülékenységgel érintett processzorok listája:
Adatközpont termékek
A mikrokód frissítés vagy új AGESA firmware telepítése szükséges.
Mitigation details |
1st Gen AMD EPYC™ Processors |
2nd Gen AMD EPYC™ Processors |
3rd Gen AMD EPYC™ |
4th Gen AMD EPYC™ |
---|---|---|---|---|
µcode |
Not applicable | Not applicable | Milan B0 – 0x0A001079 Milan B1 – 0x0A0011CF or 0x0A0011D1 Milan-X B2 – 0x0A001234 |
Genoa B1: 0x0A10113E Genoa-X B2: 0x0A10123E Bergamo A1: 0x0AA00116 Bergamo A2: 0x0AA00212 |
SEV |
Not applicable | Not applicable | 01.01.37.08 | 01.01.37.16 |
AGESA™ Firmware |
Not applicable | Not applicable | MilanPI 1.0.0.C (Target Dec 2023) |
GenoaPI 1.0.0.9 (2023-07-28) |
OS Config Options |
Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor |
Asztali termékek
Mitigation details |
AMD Ryzen™ 3000 Series Desktop Processors |
AMD Ryzen™ 5000 Series Desktop Processors |
AMD Ryzen™ 4000 Series Desktop Processors with Radeon™ Graphics |
AMD Ryzen™ 5000 Series Desktop Processor with Radeon™ Graphics |
AMD Ryzen™ 7000 Series Desktop Processors |
---|---|---|---|---|---|
AGESA™ Firmware |
Not applicable | ComboAM4v2PI 1.2.0.B (Target Aug 2023) |
Not applicable | ComboAM4v2PI 1.2.0.B (Target Aug 2023) |
ComboAM5 1.0.8.0 (Target August 2023) |
OS Config Options |
Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor |
High End Desktop (HEDT) termékek
Mitigation details |
AMD Ryzen™ Threadripper™ 3000 Series Processors |
---|---|
AGESA™ Firmware |
Not applicable |
OS Config Options |
Refer to your OS vendor |
Munkaállomás termékek
Mitigation details |
AMD Ryzen™ Threadripper™ PRO 3000WX Series Processors |
AMD Ryzen™ Threadripper™ PRO 5000WX Processors |
---|---|---|
AGESA™ Firmware |
Not applicable | ChagallWSPI-sWRX8 1.0.0.7 (Target Dec 2023) |
OS Config Options |
Refer to your OS vendor | Refer to your OS vendor |
Mobile – AMD Ryzen™ termékek
Mitigation details |
AMD Ryzen™ 3000 Series Mobile Processor with Radeon™ Graphics |
AMD Ryzen™ 4000 Series Mobile Processors with Radeon™ Graphics |
AMD Ryzen™ 5000 Series Mobile Processors with Radeon™ Graphics |
AMD Ryzen™ 5000 Series Mobile Processors with Radeon™ Graphics |
AMD Ryzen™ 7020 Series Mobile Processors with Radeon™ Graphics |
---|---|---|---|---|---|
AGESA™ Firmware |
Not applicable | Not applicable | Not applicable | CezannePI-FP6 1.0.0.Fa (Target Aug 2023) |
Not applicable |
OS Config Options |
Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor |
Mitigation details |
AMD Ryzen™ 6000 Series Processors with Radeon™ Graphics |
AMD Ryzen™ 7035 Series Processors with Radeon™ Graphics |
AMD Ryzen™ 5000 Series Processors with Radeon™ Graphics |
AMD Ryzen™ 7030 Series Processors with Radeon™ Graphics |
AMD Ryzen™ 7040 Series Mobile Processors with Radeon™ Graphics |
AMD Ryzen™ 7045 Series Processors |
---|---|---|---|---|---|---|
AGESA™ Firmware |
RembrandtPI-FP7_1.0.0.9a (Target Aug 2023) |
RembrandtPI-FP7_1.0.0.9a (Target Aug 2023) |
CezannePI-FP6 1.0.0.Fa (Target Aug 2023) |
CezannePI-FP6 1.0.0.Fa (Target Aug 2023) |
PhoenixPI-FP8-FP7_1.0.0.2a (Target Aug 2023) |
DragonRangeFL1PI 1.0.0.3b (Target Aug 2023) |
OS Config Options |
Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor | Refer to your OS vendor |
Mobile – AMD Athlon™ termékek
Mitigation details |
AMD Athlon™ 3000 Series Mobile Processors with Radeon™ Graphics |
AMD Athlon™ 3000 Series Mobile Processors with Radeon™ Graphics |
---|---|---|
AGESA™ Firmware |
Not applicable | Not applicable |
OS Config Options |
Refer to your OS vendor | Refer to your OS vendor |
Az előző javítás
CPU mikrokód frissítéssel, operációs rendszer frissítéssel javítandó. A Linux kernelhez készített frissített mikrókód fájlok itt találhatóak, így azt a Linux rendszerek frissítésével már telepíthető, vagy hamarosan telepíthető lesz - ahogy ez a javítás utat talál magának a régebbi LTS kernelekhez és GNU + Linux terjesztésekhez.
- RedHat
- Ubuntu
- Suse
- Microsoft
- CVE-2023-20569 | AMD CPU Return Address Predictor
- Microsoft Knowledge Base Article 4073119.
- Microsoft Knowledge Base Article 4072698
További információk, hivatkozások
- https://www.amd.com/en/corporate/product-security/bulletin/AMD-SB-7005
- http://xenbits.xen.org/xsa/advisory-434.html
- http://www.openwall.com/lists/oss-security/2023/08/08/4
- https://comsec.ethz.ch/research/microarch/inception/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/L4E4TZNMLYL2KETY23IPA43QXFAVJ46V/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PKK3IA63LSKM4EC3TN4UM6DDEIOWEQIG/