Sårbarhet i eBPF möjliggör bypass-skydd mot Spectre-attacker

Igår publicerade vi nyheterna på bloggen här Aya, ett bibliotek för att skapa eBPF-drivrutiner i Rust och är att syftet med detta är att skapa säkrare drivrutiner eller Prossimo-projekt för att säkerställa minne av Linux-kärnan med Rust (två fantastiska projekt som kommer att ge mycket att prata om de följande månaderna).

Och det på kort tid har olika sårbarheter rapporterats i vilken dra nytta av buggar i eBPF och att det är en fråga där kärnutvecklarna inte har slutat fungera och kanske Rust är lösningen.

Anledningen till att beröra detta ämne är att nyligen släpptes nyheten att de har identifierat "Annat" sårbarhet i Linux-kärnan (CVE-2021-33624) för kringgå skydd mot Specter-klassens sårbarheter, eftersom detta gör det möjligt att använda eBPF-delsystemet för att kunna bestämma innehållet i minnet som ett resultat av skapandet av villkor för spekulationer om exekvering av vissa operationer.

Det nämns att sårbarheten det orsakas av fel i verifieraren, som används för att upptäcka fel och ogiltig aktivitet i BPF-program. Verifieraren listar möjliga sökvägar för kodkörning, men ignorerar eventuella förgreningsalternativ som inte är giltiga ur inställningsarkitektursemantiken.

När du kör ett BPF-program kan förgreningsalternativ som inte har beaktats av verifieraren förutsägas felaktigt av processorn och köras i spekulativt läge.

På berörda system kan ett okontrollerat BPF-program utnyttja denna sårbarhet för att filtrera innehållet i godtyckligt kärnminne (och därmed allt fysiskt minne) genom en sidokanal.

T.ex. vid analys av "last" -operationen antar verifieraren att instruktionen använder ett register med en adress vars värde alltid ligger inom de angivna gränserna, men en angripare kan skapa förutsättningar under vilken processorn kommer spekulativt att försöka utföra en handel med en adress som inte uppfyller verifieringsvillkoren.

Spectre-attacken kräver närvaron av ett specifikt skript i den privilegierade koden, vilket leder till spekulativt genomförande av instruktioner. Genom att manipulera BPF-programmen som skickas för körning är det möjligt att generera sådana instruktioner i eBPF och filtrera innehållet i kärnminnet och godtyckliga områden av fysiskt minne genom sidokanaler.

Dessutom, du kan markera en anteckning om prestandapåverkan av tillgångar för att skydda mot Spectre-klassen av sårbarheter.

Denna anteckning sammanfattar resultaten rr (Record and Replay) felsökningsoptimering, en gång skapad av Mozilla för att felsöka svårt att upprepa fel i Firefox. Att cachelagra de systemanrop som används för att verifiera förekomsten av kataloger minskade operationen "rr sources" för testprojektet från 3 minuter 19 sekunder till 36 sekunder.

Optimeringsförfattaren bestämde sig för att kontrollera hur mycket kommer att förändras efter att Spectre-skyddet har inaktiverats. Efter att ha startat systemet med parametern «mitigations = off» var körningstiden för «rr-källor» utan optimering 2 minuter 5 sekunder (1.6 gånger snabbare) och med optimering 33 sekunder (9% snabbare).

Nyfiket, inaktiverar Spectre-skydd inte bara minskad körtid av kärnnivåkoden på 1.4 gånger (från 2 min 9s till 1 min 32s), det halverade också körningstiden i användarutrymmet (från 1 min 9s till 33s), antagligen på grund av en minskning av effektiviteten CPU-cache och TLB återställs när Spectre-skydd är aktiverat.

Problemet har uppstått sedan 4.15-kärnversionen och har fixats i form av lappar, som för närvarande fortfarande inte når alla distributioner, så det rekommenderas att användare idag gör de relevanta uppdateringarna så snart de får aviseringarna.

Si du vill veta mer om detkan du kontrollera detaljerna I följande länk.


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.