Två nya sårbarheter i eBPF tillåter bypass -skydd mot Spectre 4

Spectre-logotyp

Nyligen bröt nyheten ut det två sårbarheter identifierades i Linux -kärnan det tillåta att använda delsystemet eBPF för att kringgå skyddet mot Spectre 4 -attack (SSB, spekulativ butikskoppling). Det nämns att genom att använda ett oprivilegerat BPF -program kan en angripare skapa förutsättningar för det spekulativa utförandet av vissa operationer och bestämma innehållet i godtyckliga områden i kärnminnet.

Spectre attack -metoden 4 förlitar sig på att återställa data som är fångade i processorcache efter att ha kastat resultatet av spekulativt utförande av operationer vid behandling av interfolierade läs- och skrivoperationer med indirekt adressering.

När en läsoperation följer en skrivoperation, förskjutningen av läsriktningen kan redan vara känd på grund av liknande operationer (läsoperationer utförs mycket oftare och läsning kan göras från cacheminnet) och processorn kan spekulativt läsa innan du skriver, utan att vänta på att den indirekta skrivriktningsförskjutningen beräknas.

Om, efter beräkning av förskjutningen, en skärningspunkt mellan minnesområden för skrivning och läsning detekteras, kommer processorn helt enkelt att kasta det läsresultat som redan erhållits spekulativt och upprepa denna operation. Denna funktion gör att läsinstruktionen får åtkomst till det tidigare värdet i någon riktning medan sparningen fortfarande väntar.

Efter att ha uteslutit en misslyckad spekulativ handel, spår av dess körning finns kvar i cachen, varefter en av metoderna för att bestämma innehållet i cacheminnet kan användas för att hämta det baserat på analys av förändringar i cacheadkomsttid och cachade data.

Observera att varje ämne kan missbrukas oberoende av det andra, beroende på i fel som inte överlappar varandra.

PoC har delats privat med underhållarna av BPF -delsystemet till hjälp med arrangemangsutveckling.

Den första sårbarheten CVE-2021-35477: det orsakas av en brist i valideringsmekanismen för BPF-programmet. För att skydda mot Spectre 4 -attacken lägger brickan till en ytterligare instruktion efter potentiellt besvärliga lagringsoperationer i minnet och lagrar ett nollvärde för att kompensera spår av den tidigare operationen.

Det antogs att nollskrivningsoperationen skulle vara mycket snabb och skulle blockera spekulativ körning eftersom den endast beror på BPF -stackrampekaren. Men i själva verket var det möjligt att skapa förutsättningar där instruktionen som leder till spekulativt genomförande hinner genomföras före den förebyggande räddningsoperationen.

Den andra sårbarheten CVE-2021-3455: är relaterat till det faktum att när BPF-kontrollen upptäcker potentiellt farliga lagringsoperationer i minnetignoreras de oinitialiserade områdena i BPF -stacken, den första skrivoperationen där den inte är skyddad.

Denna funktion leder till möjligheten att utföra en spekulativ läsoperation, beroende på det oinitialiserade minnesområdet, innan lagringsinstruktionen utförs. Det nya minnet för BPF -stacken tilldelas utan att kontrollera innehållet som redan finns i det tilldelade minnet, och i steget innan BPF -programmet startas finns det ett sätt att hantera innehållet i minnesområdet, som sedan kommer att allokeras till BPF -stacken.

Den tillgängliga lösningen implementerar återigen begränsningstekniker för att fortsätta rekommenderas av CPU -leverantörer och finns i huvudkärnan git -arkiv.

Slutligen nämns att underhållarna av eBPF -delsystemen i kärnan fick tillgång till en exploateringsprototyp som visar möjligheten att utföra attacker i praktiken.

Problemen åtgärdas i form av patchar, som kommer att ingå i nästa Linux -kärnuppdatering, så uppdateringar för de olika distributionerna kommer att börja komma under de närmaste dagarna.

Fuente: https://www.openwall.com/


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.