Informatie over de kwetsbaarheid (CVE-2021-33164) in UEFI-firmware is onthuld, waarmee code kan worden uitgevoerd op SMM-niveau (System Management Mode), dat een hogere prioriteit heeft dan de hypervisor en het zero-ring niveau van bescherming, en onbeperkte toegang biedt tot het gehele systeemgeheugen. De kwetsbaarheid, die de codenaam RingHopper heeft gekregen, is gerelateerd aan de mogelijkheid van een tijdsaanval via DMA (Direct Memory Access) om geheugen te beschadigen in code die op SMM-niveau wordt uitgevoerd. De aanwezigheid van de kwetsbaarheid is bevestigd in de firmwares van Intel, Dell en Insyde Software (er wordt gesteld dat de kwestie acht fabrikanten betreft, maar de andere vijf zijn nog niet bekendgemaakt). AMD-, Phoenix- en Toshiba-firmwares zijn niet kwetsbaar voor dit probleem.
De uitbuiting van kwetsbaarheden kan worden uitgevoerd vanuit het besturingssysteem, waarbij gebruik wordt gemaakt van kwetsbare SMI-handlers (System Management Interrupt), waarvoor administratorrechten nodig zijn om toegang te krijgen. Een aanval kan ook worden uitgevoerd bij fysiek toegang op een vroeg stadium van opstarten, vóór de initialisatie van het besturingssysteem. Om het probleem te blokkeren, wordt Linux-gebruikers aangeraden de firmware bij te werken via de LVFS (Linux Vendor Firmware Service), met behulp van de tool fwupdmgr (fwupdmgr get-updates; fwupdmgr update) uit het fwupd-pakket.
De vereiste voor administratorrechten om een aanval uit te voeren beperkt de ernst van het probleem, maar staat het gebruik ervan niet in de weg als een tweede-lijns kwetsbaarheid om hun aanwezigheid te behouden na het uitbuiten van andere kwetsbaarheden in het systeem of het toepassen van sociale-engineeringmethoden. Toegang tot SMM (Ring -2) maakt het mogelijk om code uit te voeren op een niveau dat niet onder controle staat van het besturingssysteem, wat kan worden gebruikt voor het modificeren van firmwares en het plaatsen van verborgen malware of rootkits in SPI Flash, die niet vanuit het besturingssysteem kunnen worden gedetecteerd, evenals voor het uitschakelen van verificatie tijdens het opstarten (UEFI Secure Boot, Intel BootGuard) en aanvallen op hypervisors om de integriteitscontroles van virtuele omgevingen te omzeilen.
Het probleem wordt veroorzaakt door een raceconditie in de SMI (System Management Interrupt) handler, die optreedt op het moment tussen de toegang controle en de aanroep naar SMRAM. Voor het bepalen van het juiste moment tussen de statuscontrole en het gebruik van het controle resultaat kan analyse via externe kanalen worden gebruikt met behulp van DMA. Uiteindelijk, door de asynchrone aard van de toegang tot SMRAM via DMA, kan een aanvaller het juiste moment bepalen en de inhoud van SMRAM overschrijven met behulp van DMA om de SMI-handler API te omzeilen. Processors die mechanismen van Intel-VT en Intel VT-d ondersteunen, bevatten bescherming tegen DMA-aanvallen, gebaseerd op het gebruik van IOMMU (Input-Output Memory Management Unit), maar deze bescherming is effectief voor het blokkeren van hardwarematige DMA-aanvallen uitgevoerd met behulp van door de aanvaller voorbereide apparaten, en beschermt niet tegen aanvallen via SMI-handlers.
Bron: opennet.ru
