Sårbarhet i Linux 6.2-kärnan som kan kringgå attackskyddet Spectre v2

En sårbarhet (CVE-6.2-2023) har identifierats i Linux-kärnan 1998, som inaktiverar skydd mot Spectre v2-attacker, som tillåter åtkomst till minnet för andra processer som körs i olika SMT- eller Hyper Threading-trådar, men på samma fysiska processor kärna. Sårbarheten kan bland annat användas för att orsaka dataläckage mellan virtuella maskiner i molnsystem. Problemet påverkar endast Linux 6.2-kärnan och orsakas av felaktig implementering av optimeringar utformade för att minska den betydande omkostnaden för att tillämpa Spectre v2-skydd. Sårbarheten åtgärdades i den experimentella grenen av Linux 6.3-kärnan.

I användarutrymmet, för att skydda mot Spectre-attacker, kan processer selektivt inaktivera spekulativ exekvering av instruktioner med prctl PR_SET_SPECULATION_CTRL eller använda systemanropsfiltrering baserat på seccomp-mekanismen. Enligt forskarna som identifierade problemet lämnade felaktig optimering i kärnan 6.2 virtuella maskiner från minst en större molnleverantör utan ordentligt skydd, trots införandet av spöke-BTI-attackblockeringsläget via prctl. Sårbarheten dyker också upp på vanliga servrar med kärna 6.2, när man laddar dem används inställningen “spectre_v2=ibrs”.

Kärnan i sårbarheten är att när man valde IBRS- eller eIBRS-skyddslägen, inaktiverade de införda optimeringarna användningen av STIBP-mekanismen (Single Thread Indirect Branch Predictors), som är nödvändig för att blockera läckor vid användning av simultan multithreading-teknik (SMT eller Hyper- Träning). Det är dock endast eIBRS-läget som ger skydd mot läckage mellan trådar, men inte IBRS-läget, eftersom i detta fall IBRS-biten, som ger skydd mot läckage mellan logiska kärnor, rensas av prestandaskäl när kontrollen återgår till användarutrymmet, vilket gör trådar i användarutrymme som inte är skyddade från Spectre v2-attacker.

Källa: opennet.ru

Lägg en kommentar