Kwetsbaarheid in UEFI-firmware die code-uitvoering op SMM-niveau mogelijk maakt

Er is informatie bekendgemaakt over een kwetsbaarheid (CVE-2021-33164) in UEFI-firmware waarmee code kan worden uitgevoerd op het SMM-niveau (System Management Mode), dat een hogere prioriteit heeft dan de hypervisormodus en een nulring van bescherming, en onbeperkte toegang tot al het systeemgeheugen. Het beveiligingslek, met de codenaam RingHopper, omvat de mogelijkheid van een timingaanval waarbij gebruik wordt gemaakt van 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 firmware van Intel, Dell en Insyde Software (er wordt vermeld dat het probleem 8 fabrikanten treft, maar de overige 5 zijn nog niet bekendgemaakt). AMD-, Phoenix- en Toshiba-firmware hebben geen last van het probleem.

Exploitatie van kwetsbaarheden kan vanuit het besturingssysteem worden uitgevoerd met behulp van kwetsbare SMI-handlers (System Management Interrupt), waarvoor beheerdersrechten nodig zijn. De aanval kan ook worden uitgevoerd als er al in een vroeg stadium van het opstarten fysieke toegang is, voordat het besturingssysteem wordt geïnitialiseerd. Om het probleem te blokkeren, wordt Linux-gebruikers aangeraden de firmware bij te werken met behulp van de LVFS-service (Linux Vendor Firmware Service) met behulp van het hulpprogramma fwupdmgr (fwupdmgr get-updates; fwupdmgr update) uit het fwupd-pakket.

De noodzaak om beheerdersrechten te hebben om een ​​aanval uit te voeren beperkt het gevaar van het probleem, maar verhindert niet dat het wordt gebruikt als een tweedelijns kwetsbaarheid om aanwezig te blijven na misbruik van andere kwetsbaarheden in het systeem of door gebruik te maken van social engineering-methoden. Met toegang tot SMM (Ring -2) kunt u code uitvoeren op een niveau dat niet wordt beheerd door het besturingssysteem, wat kan worden gebruikt om de firmware te wijzigen en verborgen kwaadaardige code of rootkits in de SPI Flash te plaatsen die niet door het besturingssysteem worden gedetecteerd. evenals het uitschakelen van verificatie tijdens de opstartfase (UEFI Secure Boot, Intel BootGuard) en aanvallen op hypervisors om mechanismen voor het controleren van de integriteit van virtuele omgevingen te omzeilen.

Het probleem wordt veroorzaakt door een race condition in de SMI-handler (System Management Interrupt) die optreedt tussen de toegangscontrole en de toegang tot SMRAM. Met zijkanaalanalyse met behulp van DMA kan het juiste moment worden bepaald tussen het controleren van de status en het gebruiken van het resultaat van de controle. Als gevolg hiervan kan een aanvaller, vanwege de asynchrone aard van toegang tot SMRAM via DMA, het juiste moment bepalen en de inhoud van SMRAM overschrijven met behulp van DMA, waarbij de SMI-handler-API wordt omzeild. Processors die Intel-VT- en Intel VT-d-mechanismen ondersteunen, omvatten bescherming tegen DMA-aanvallen op basis van het gebruik van IOMMU (Input-Output Memory Management Unit), maar deze bescherming is effectief bij het blokkeren van hardware-DMA-aanvallen die worden uitgevoerd met behulp van door de aanvaller voorbereide apparaten beschermt niet tegen aanvallen via SMI-handlers.

Bron: opennet.ru