De BadRAM-aanval die in staat is de SEV-SNP -authenticatiemechanismen in AMD CPU's te omzeilen

Een groep onderzoekers van de universiteiten van Leuven, Lübeck en Birmingham heeft een aanvalsmethode ontwikkeld genaamd BadRAM (CVE-2024-21944), die het mogelijk maakt om het authenticatiemechanisme te omzeilen en omgevingen te compromitteren die zijn beveiligd met behulp van de SEV-SNP-extensie in AMD-processors. Voor de uitvoering van de aanval moet de aanvaller, met enkele uitzonderingen, fysieke toegang tot de geheugenmodules krijgen en in staat zijn om code uit te voeren op het ring0-niveau op de server die beveiligde gastomgevingen draait.

De AMD SEV (Secure Encrypted Virtualization)-extensies zijn gericht op het bieden van waarborgen voor de integriteit van het geheugen van virtuele machines, evenals hun bescherming tegen inmenging en analyse door een beheerder van de hostsystemen die in staat is om code op hypervisor-niveau uit te voeren. Aanvankelijk beperkte de bescherming van AMD SEV zich tot het versleutelen van de inhoud van het geheugen van het gastbesturingssysteem en het isoleren van registers, maar later werd er in AMD EPYC-processors een aanvullende SEV-SNP (Secure Nested Paging)-extensie geïmplementeerd voor veilige verwerking met geneste paginatabellen, die garant staat voor de integriteit van het geheugen en niet toestaat dat wijzigingen worden aangebracht in het geheugen van het gastbesturingssysteem door de hypervisor.

Het AMD SEV-SNP-mechanisme is ontwikkeld zodat inlichtingendiensten of personeel van datacenters en cloudproviders, waar beveiligde gastsystemen draaien, niet kunnen binnendringen in de werking van het gastbesturingssysteem. De voorgestelde BadRAM-aanvalsmethode maakt het mogelijk om de geboden garanties te omzeilen door de metadata van SPD (Serial Presence Detect) in DDR4- of DDR5-geheugenmodules te wijzigen. Bij een succesvolle aanval kan de aanvaller gecodeerde gegevens in het geheugen van het gastbesturingssysteem (op het niveau van ciphertext, zonder de mogelijkheid van decryptie) overschrijven en het attesteringsmechanisme omzeilen, bijvoorbeeld om de invoeging van een backdoor in een virtuele machine die is beveiligd met SEV-SNP-technologie te verbergen.

De aanval is gebaseerd op het instellen van valse parameters in de SPD van het geheugenchip, waardoor de processor verzoeken doet aan niet-bestaande adressen die worden weergegeven op bestaande geheugengebieden. De aanvaller kan de SPD zodanig aanpassen dat het geheugenchip de processor een grootte retourneert die groter is dan de werkelijke kenmerken van het modul. Vervolgens kan de aanvaller een mapping maken van de uitgevonden niet-bestaande geheugen op een werkelijke locatie in DRAM, die al versleuteld is in beveiligde gastsystemen. Dit leidt tot een situatie waarin verschillende adressen naar hetzelfde fysieke geheugen verwijzen (twee gebieden zijn gereflecteerd op één gebied in de DRAM-chip), dat wil zeggen dat je via het adres van het valse gereflecteerde geheugen kunt verwijzen naar al gebruikt echt geheugen en de geheugenbeveiligingsmechanismen in de CPU kunt omzeilen.

De BadRAM-aanval die in staat is de SEV-SNP -authenticatiemechanismen in AMD CPU's te omzeilen

Voor het uitvoeren van de aanval is het voldoende om een eenvoudige programmer te verzamelen van ongeveer 10 dollar, bestaande uit een Raspberry Pi Pico microcontroller, een aansluiting voor DDR4/DDR5-modules en een voeding. De tools die voor de aanval worden gebruikt, evenals de kernelmodule en prototypes van exploits zijn beschikbaar op GitHub.

De BadRAM-aanval die in staat is de SEV-SNP -authenticatiemechanismen in AMD CPU's te omzeilen

Voor chips van sommige fabrikanten waarin de herschrijfbeveiliging van de SPD niet is uitgevoerd, is het mogelijk om de aanval programmatisch uit te voeren zonder fysieke toegang tot de server. Zo kunnen de parameters van Corsair-geheugenmodules met RGB-verlichting bijvoorbeeld programmatisch worden gewijzigd. In het geval van een volledig programmatische aanval kan het systeem worden gecompromitteerd, bijvoorbeeld door het toepassen van een malware BIOS-update of door een actie van de beheerders. servers in cloudservices.

De BadRAM-aanval die in staat is de SEV-SNP -authenticatiemechanismen in AMD CPU's te omzeilen

Ter bevestiging van de werking van de methode zijn twee aanvallen gedemonstreerd. In de eerste aanval wordt de mogelijkheid tot het reproduceren van de ciphertext getoond — bij het gebruik van AMD SEV worden gegevens in het geheugen in versleutelde vorm opgeslagen en kan de aanvaller de inhoud niet detecteren, maar heeft hij de mogelijkheid om de versleutelde gegevens te lezen en deze vervolgens in plaats van andere versleutelde inhoud in te voegen.

In de tweede aanval werd de mogelijkheid gedemonstreerd om het SEV-SNP attestatiemechanisme te omzeilen, dat cryptografische bevestiging van de integriteit van een virtuele machine levert die in een beveiligde omgeving wordt uitgevoerd. De aanvaller kan het rapport van de attestatie van de correcte virtuele machine onderscheppen en vervolgens dit rapport gebruiken voor de gecompromitteerde virtuele machine, bijvoorbeeld door sporen van een backdoor-injectie te verbergen.

Het probleem betreft de 3e en 4e generatie AMD EPYC-processors, geleverd onder de codenamen Milan, Milan-X, Genoa, Bergamo, Genoa-X en Siena. Om de kwetsbaarheid te verhelpen, heeft AMD al een SEV-firmware-update uitgebracht waarin de ALIAS_CHECK is geïmplementeerd, die manipulatie van geheugen, zoals in dit geval, voorkomt.

De door Intel aangeboden technologieën Scalable SGX en TDX zijn niet kwetsbaar voor deze aanval, aangezien noodzakelijke controles vanaf het begin aanwezig zijn. De klassieke Intel SGX-technologie, die in 2021 door Intel als verouderd werd geclassificeerd, is gedeeltelijk kwetsbaar (zoals bij de eerder bekende MemBuster-aanval kan een aanvaller de toegang tot versleuteld geheugen analyseren, wat betekent dat alleen lezen van ciphertext mogelijk is, maar geen herschrijving). Testen van de CCA (Confidential Compute Architecture) -uitbreidingen in ARM-processors zijn niet uitgevoerd.

Er wordt ook melding gemaakt van een andere kwetsbaarheid met betrekking tot AMD SEV-SNP. Deze kwetsbaarheid is ontdekt in de door AMD ontwikkelde QEMU-emulatorfork, die bedoeld is voor het draaien virtuele machines met SEV-SNP. Het probleem stelt een beheerder van de hostomgeving in staat om roottoegang tot gastsystemen te krijgen door manipulatie van ACPI-tabellen. De kwetsbaarheid ontstaat doordat bij het opstarten van het gastbesturingssysteem een integriteitscontrole van de Linux-kernel, de initiële RAM-schijf en kernelparameters wordt uitgevoerd, maar de ACPI-tabellen niet worden in ogenschouw genomen, waardoor de hypervisor speciaal geschreven AML (ACPI Machine Language) code kan injecteren, bedoeld voor uitvoering in de gastomgeving. Er wordt gesteld dat het probleem niet specifiek is voor QEMU en zich manifesteert in alle hypervisors en emulators, omdat de Linux-kernel elke ACPI-gegevens die van de hypervisor komen vertrouwt.

Video afspelen
Video afspelen


Bron: opennet.ru
Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster