Windows 8 en nieuwer hebben een veiligheid probleem

Onderzoekers van Eclypsium hebben ontdekt dat Windows kampt met een beveiligingsprobleem. Dit zorgt ervoor dat het fysieke toegang toelaat op afstand, met en via andere apparaten in de netwerk code is uit te voeren. Het is aanwezig in elke Windows-versie sinds Windows 8.

nbsp

Het onderzoek

Een van de onderzoekers:

In juni 2021 hebben we BIOSDisconnect openbaar gemaakt, een set van vier kwetsbaarheden die ons in staat stelden om uitvoering op afstand binnen de firmware van een apparaat te verkrijgen tijdens een BIOS-update. We konden deze aanval met name uitvoeren op de meest recente en beveiligde Dell platforms, waaronder Secured Core pc’s. Vervolgens hebben we de volledige technische details van deze kwetsbaarheden gepresenteerd op DEFCON 29, waarbij we een demo lieten zien van een exploit op een Secured Core pc laptop met alle beschikbare beveiligingen ingeschakeld, eindigend met een kwaadaardig uitvoerbaar bestand dat werd gedeponeerd in de Windows opstart map.

Windows Defender

Om precies te zijn zit het probleem in de Windows Platform Binary Table (wpbt). Dat maakt het mogelijk om rootkits ongezien door de beveiliging van Windows Defender te laten komen. Wpbt wordt door pc fabrikanten gebruikt om systeemspecifieke drivers en applicaties te installeren. Het is al sinds Windows 8 geïntegreerd in het Windows besturingssysteem. Microsoft is zich er bewust van dat dit mechanisme het os kwetsbaarder maakt. Volgens Microsofts documentatie moet de gebruiker instemmen met de aanwezigheid van de software om het risico te beperken.

Door het firmware updateproces in gevaar te brengen, konden onderzoekers hun eigen implantaat DXE driver laden die verschillende opstartgerelateerde functies bestuurt. Omdat UEFI ACPI protocollen stuurprogramma’s in staat stellen om ACPI tabellen aan te passen, konden ze een nieuwe WPBT-tabel naar keuze toevoegen. De WPBT-tabel specificeert de werkelijke locatie van het systeem binaire bestand dat Windows zal uitvoeren. Als gevolg hiervan konden onderzoekers hun eigen “kwaadaardige” driver gebruiken om een ​​WPBT-tabel te maken die verwijst naar de payload van hun keuze. Als alternatief hadden ze een bestaande tabel kunnen patchen met technieken zoals die worden getoond in het SignedUEFIShell project op GitHub.

Dit had echter officieel NIET mogen werken, omdat WPBT vereist dat binaire bestanden correct zijn ondertekend. 

WPBT

In het WPBT beleid voor het ondertekenen van codes staat:

Alle binaire bestanden die naar Windows worden gepubliceerd met behulp van het WPBT mechanisme dat in dit document wordt beschreven, moeten worden ingesloten, ondertekend en voorzien van een tijdstempel. Deze afbeeldingen moeten worden gekoppeld aan de optie /INTEGRITYCHECK en worden ondertekend met het opdrachtregel programma SignTool met de schakeloptie /nph om pagina hashes te onderdrukken.

Het is belangrijk om op te merken dat deze zwakte op verschillende manieren kan worden uitgebuit. In dit voorbeeld begonnen onderzoekers in een bijzonder bevoorrechte positie omdat zij de firmware van het systeem al hadden aangetast tijdens het updateproces. Dit type aanval is echter mogelijk met elke techniek die naar het geheugen kan schrijven waar de ACPI tabellen (inclusief WPBT) zich bevinden. 

“U kijkt naar NT stuurprogramma’s in het kernelgeheugen terwijl u had moeten letten op EFI binaire bestanden in gereserveerde PFN’s”

Dit kan ook worden gedaan door een kwaadwillende boot loader. Die kan worden geïntroduceerd door de wijdverbreide BootHole kwetsbaarheid of via een DMA-aanval die wordt gestart vanaf een kwetsbaar onderdeel of randapparaat.

Met dit in gedachten moeten beveiligingsteams rekening houden met de volgende potentiële bedreigingsvectoren:

Bron: Microsoft, Windows Platform binaire tabel 

Aanvaller met fysieke toegang

Een aanvaller met fysieke toegang kan een DMA aanval starten om het systeemgeheugen direct te lezen en te schrijven en zo de WPBT-tabel te patchen. Sommige DMA-aanvallen kunnen worden uitgevoerd zonder het chassis van het apparaat te openen. Terwijl andere de meer ingrijpende stap vereisen van het openen van het apparaat zelf.


Tegenmaatregelen: Beveiligingsteams moeten apparaten scannen om componenten te identificeren die kwetsbaar zijn voor DMA-aanvallen en om te controleren of alle DMA-beveiligingen van leveranciers correct zijn ingeschakeld.

Externe aanvaller

Externe aanvallers kunnen op verschillende manieren apparaten binnendringen. Malware zoals TrickBot kan kwetsbare UEFI firmware identificeren die direct kan worden aangetast. Met controle over firmware kan de aanvaller WPBT rechtstreeks besturen. Ook kunnen malware of externe aanvallers kwetsbaarheden zoals BootHole gebruiken om een ​​kwaadaardige boot loader uit te voeren die WPBT kan bijwerken.

Tegenmaatregelen: Beveiligingsteams moeten apparaten scannen op een van de vele kwetsbaarheden waardoor aanvallers de firmware of het opstartproces kunnen compromitteren. Teams moeten ook controleren of alle beschikbare leveranciersbeveiligingen zijn ingeschakeld. Inclusief beveiligingen die zijn inbegrepen bij UEFI, chipsetverkoper, OS-leverancier en eventuele OEM-specifieke beveiligingen. Teams moeten er ook voor zorgen dat hun UEFI dbx intrekkingsdatabase up-to-date is. Verder moeten teams de integriteit van alle firmware controleren, scannen op bekende implantaten en het gedrag of de firmware op het apparaat controleren.

Supply Chain Attack

Schadelijke firmware kan ook worden geïntroduceerd in het updateproces van de toeleveringsketen of leverancier. In het voorbeeld van de onderzoekers waren ze in staat om het geldige firmware-updateproces van het apparaat in gevaar te brengen. Dus het is belangrijk op te merken dat een dergelijk compromis kan plaatsvinden zowel voor als nadat een apparaat is aangeschaft. Naast compromissen met UEFI/BIOS-firmware, kan firmware in DMA-compatibele apparaten zoals SSD, netwerkadapters of PCIe-interfaces leiden tot een beschadiging van de WPBT-tabel.

Tegenmaatregelen: Beveiligingsteams moeten de integriteit van alle systeem- en componentfirmware verifiëren om te controleren of deze overeenkomt met de goedgekeurde door de leverancier geleverde firmwareversie. Nogmaals, teams zullen moeten scannen op de aanwezigheid van bekende firmware-bedreigingen en implantaten. Bovendien is het met name belangrijk voor teams om firmware te controleren op abnormaal of afwijkend gedrag. Aangezien in het geval van een supply chain-aanval de goedgekeurde, door de leverancier geleverde firmware mogelijk al in gevaar is.

Tot slot

Aangezien dit een zwak punt is in de implementatie van WPBT door Microsoft, zal het probleem van invloed zijn op vrijwel alle Windows-machines. De onderzoekers zijn terug gegaan naar Windows 8 toen WPBT werd geïntroduceerd (oktober 2012).

Microsoft raadt klanten aan om Windows Defender Application Control (WDAC) te gebruiken om te beperken wat er op hun apparaten mag worden uitgevoerd. Het WDAC beleid wordt ook afgedwongen voor binaire bestanden die zijn opgenomen in de WPBT en zou dit probleem moeten verhelpen. We raden klanten aan een WDAC beleid te implementeren dat zo beperkend is als praktisch is voor hun omgeving. 

 U kunt documentatie vinden op WDAC:  https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/wdac-and-applocker-overview.

Bron: Eclypsium