Twee nieuwe kwetsbaarheden in eBPF maken bypass-bescherming tegen Spectre mogelijk

Spectre-logo

Dat maakte onlangs het nieuws bekend er zijn twee kwetsbaarheden vastgesteld in linux-kernel dat laten gebruiken het subsysteem eBPF om bescherming tegen Spectre 4-aanval te omzeilen (SSB, speculatieve winkelomleiding). Er wordt vermeld dat een aanvaller door het gebruik van een onbevoorrecht BPF-programma voorwaarden kan scheppen voor de speculatieve uitvoering van bepaalde bewerkingen en de inhoud van willekeurige gebieden van het kernelgeheugen kan bepalen.

De Spectre-aanvalsmethode vertrouwt op het herstellen van gegevens die zijn vastgelopen in de processorcache na het weggooien van het resultaat van speculatieve uitvoering van bewerkingen bij het verwerken van interleaved lees- en schrijfbewerkingen met behulp van indirecte adressering.

Wanneer een leesbewerking volgt op een schrijfbewerking, de offset van de leesrichting is mogelijk al bekend vanwege vergelijkbare bewerkingen (leesbewerkingen worden veel vaker uitgevoerd en het lezen kan worden gedaan vanuit de cache) en de processor kan speculatief lezen alvorens te schrijven, zonder te wachten tot de indirecte schrijfrichting-offset is berekend.

Indien na het berekenen van de offset een snijpunt van geheugengebieden voor schrijven en lezen wordt gedetecteerd, zal de processor eenvoudigweg het speculatief verkregen leesresultaat weggooien en deze bewerking herhalen. Met deze functie kan de leesinstructie in een bepaalde richting toegang krijgen tot de vorige waarde terwijl de opslagbewerking nog in behandeling is.

Na het uitsluiten van een mislukte speculatieve handel, sporen van uitvoering blijven in de cache, waarna een van de methoden om de inhoud van de cache te bepalen, kan worden gebruikt om deze op te halen gebaseerd op analyse van wijzigingen in de toegangstijd van de cache en gegevens in de cache.

Merk op dat elk onderwerp onafhankelijk van het andere kan worden misbruikt, afhankelijk van: in fouten die elkaar niet overlappen.

De PoC's zijn privé gedeeld met de beheerders van het BPF-subsysteem om: helpen bij het ontwikkelen van arrangementen.

De eerste kwetsbaarheid CVE-2021-35477: het wordt veroorzaakt door een fout in het validatiemechanisme van het BPF-programma. Om te beschermen tegen de Spectre 4-aanval, voegt de checker een extra instructie toe na mogelijk lastige opslagbewerkingen in het geheugen, waarbij een nulwaarde wordt opgeslagen om sporen van de vorige bewerking te compenseren.

Er werd aangenomen dat de nulschrijfbewerking erg snel zou zijn en speculatieve uitvoering zou blokkeren omdat deze alleen afhangt van de BPF-stackframe-aanwijzer. Maar in feite was het mogelijk om voorwaarden te creëren waarin de instructie die tot speculatieve uitvoering leidt, tijd heeft om uit te voeren vóór de preventieve opslagbewerking.

De tweede kwetsbaarheid CVE-2021-3455: houdt verband met het feit dat wanneer de BPF-checker potentieel gevaarlijke opslagbewerkingen in het geheugen detecteert, worden de niet-geïnitialiseerde gebieden van de BPF-stack, de eerste schrijfbewerking waarin deze niet is beveiligd, genegeerd.

Deze eigenschap leidt tot de mogelijkheid om een ​​speculatieve leesbewerking uit te voeren, afhankelijk van het niet-geïnitialiseerde geheugengebied, voordat de opslaginstructie wordt uitgevoerd. Het nieuwe geheugen voor de BPF-stack wordt toegewezen zonder de inhoud te controleren die zich al in het toegewezen geheugen bevindt, en in de fase voordat het BPF-programma start, is er een manier om de inhoud van het geheugengebied te beheren, die vervolgens wordt toegewezen aan de BPF-stack.

De beschikbare oplossing implementeert mitigatietechnieken opnieuw om door te gaan aanbevolen door CPU-leveranciers en beschikbaar in de hoofdkernel git-opslagplaats.

Ten slotte wordt vermeld dat de beheerders van de eBPF-subsystemen in de kernel toegang hebben gekregen tot een exploit-prototype dat de mogelijkheid aantoont om in de praktijk aanvallen uit te voeren.

De problemen zijn opgelost in de vorm van patches, die zullen worden opgenomen in de volgende Linux-kernelupdate, dus updates voor de verschillende distributies zullen de komende dagen binnenkomen.

bron: https://www.openwall.com/


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.