Nieuwe variant van de BHI-aanval op Intel CPU's, waardoor de bescherming in de kernel van Linux kan worden omzeild

Een onderzoeksgroep van de Vrije Universiteit Amsterdam heeft een nieuwe aanvalsmethode ontdekt genaamd 'Native BHI' (CVE-2024-2201), waarmee op systemen met Intel-processors de inhoud van het Linux-kerngeheugen kan worden bepaald bij het uitvoeren van een exploit in de gebruikersruimte. In het geval van virtualisatiesystemen kan de aanvaller vanuit het gast-systeem de inhoud van het geheugen van de host of andere gast-systemen vaststellen.

De Native BHI-methode biedt een andere techniek voor het uitbuiten van de BHI-kwetsbaarheid (Branch History Injection, CVE-2022-0001), waardoor eerder geïmplementeerde beschermingsmethodes worden omzeild. De in 2022 voorgestelde BHI-aanvalsmethode vereiste het uitbuiten van een kwetsbaarheid binnen één niveau van toestemming, waarvoor de exploit gebaseerd was op de uitvoering van een eBPF-programma dat door de gebruiker in de kernel was geladen. Om de kwetsbaarheid te blokkeren, volstond het om de toegang tot de uitvoering van eBPF-code voor gewone gebruikers te beperken.

De nieuwe Native BHI-methode vereist geen toegang tot eBPF en stelt een niet-geprivilegieerde gebruiker in staat om een aanval uit te voeren vanuit de gebruikersruimte. De methode is gebaseerd op de uitvoering van bestaande gadgets in de kernelcode - volgorde van instructies die leidt tot speculatieve uitvoering. Voor het zoeken naar geschikte gadgets in de kernel is een speciale tool ontwikkeld genaamd InSpectre Gadget, die bij de analyse van kernel 6.6-rc4 1511 Spectre-gadgets en 2105 ondersteunende dispatch-gadgets blootlegde.

Nieuwe variant van de BHI-aanval op Intel CPU's, waardoor de bescherming in de kernel van Linux kan worden omzeild

Op basis van de gevonden gadgets hebben de onderzoekers een exploit ontwikkeld die de mogelijkheid biedt om een string met de hash van het wachtwoord van de root-gebruiker, geladen vanuit het bestand /etc/shadow, uit de buffers van de kernel te extraheren. De snelheid van gegevensextractie uit het kerngeheugen bedraagt ongeveer 3,5 KB per seconde.

Video afspelen

De BHI-methode is een uitgebreide variant van de Spectre-v2-aanval, waarbij waarden in de Branch History Buffer, die door CPU's worden gebruikt om de precisie van takvoorspellingen te verbeteren door rekening te houden met de geschiedenis van eerdere takken, worden ingevoegd om de toegevoegde bescherming (Intel eIBRS en Arm CSV2) te omzeilen en gegevenslekken te realiseren. Tijdens de aanval ontstaan er door manipulatie van de takgeschiedenis omstandigheden voor onjuiste takvoorspellingen en speculatieve uitvoering van noodzakelijke instructies, waarvan de resultaten in de cache worden opgeslagen.

De verschillen met de Spectre-v2-aanval komen voort uit het gebruik van een Branch History Buffer in plaats van een Branch Target Buffer. Om gegevens uit het geheugen te extraheren, moet de aanvaller omstandigheden creëren waarin het adres tijdens een speculatieve operatie wordt genomen uit een gebied dat moet worden vastgesteld. Na het uitvoeren van een speculatieve indirecte sprong blijft het uit het geheugen gelezen sprongadres in de cache, waarna een van de methoden voor het bepalen van de cache-inhoud kan worden gebruikt op basis van de analyse van de toegangsmodificatietijd tot gecachte en niet-gecacheerde gegevens.

De aanval Native BHI wordt niet beschermd door het gebruik van Intel-instructies IBT (Indirect Branch Tracking) en de in de Linux-kernel geïmplementeerde hybride mechanismen voor de bescherming van de uitvoering volgorde van instructies, genaamd FineIBT, die gebruikmaken van hardware-instructies IBT en softwarebescherming kCFI (kernel Control Flow Integrity) om schending van de normale uitvoeringvolgorde te blokkeren. FineIBT staat een sprong via een indirecte sprong alleen toe als er wordt overgestapt naar de instructie ENDBR, die aan het begin van een functie wordt geplaatst. Daarnaast wordt (analogisch aan het kCFI-mechanisme) een hash-controle uitgevoerd om de onveranderlijkheid van de aanwijzers te waarborgen.

Om te beschermen tegen de nieuwe variant van de aanval is er een wijziging in de Linux-kernel toegevoegd met de implementatie van een extra beschermingsmodus, die de door Intel voorgestelde hardwarebescherming toepast (BHI_DIS_S) of een alternatieve softwarebescherming die is geïmplementeerd om de hypervisor te beveiligen. KVMDe ontwikkelaars van de Xen-hypervisor hebben ook een patch vrijgegeven, gebaseerd op het gebruik van de BHI_DIS_S-modus, die voorspellingen op basis van de spronggeschiedenis beperkt. Ondersteuning voor BHI_DIS_S is beschikbaar in processoren, beginnend met Intel Alder Lake, en ook in server-CPU's, beginnend met Intel Sapphire Rapids. Er is ook een softwarebeschermingsmodus beschikbaar, die gebaseerd is op het gebruik van reeksen voor het wissen van de spronggeschiedenisbuffer, maar deze leidt tot een meer merkbare prestatieverlaging.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster