Nieuwe Windows-stuurprogramma-handtekening omzeiling maakt installatie van kernel-rootkits mogelijk

Aanvallers kunnen Windows kernel-componenten downgraden om beveiligingsfuncties zoals Driver Signature Enforcement te omzeilen en rootkits op volledig gepatchte systemen te installeren.

Dit is mogelijk door de controle over het Windows Update-proces over te nemen en verouderde, kwetsbare softwarecomponenten op een up-to-date machine te introduceren, zonder dat het besturingssysteem de volledig gepatchte status wijzigt.

Windows downgraden

SafeBreach beveiligingsonderzoeker Alon Leviev meldde het probleem van het overnemen van updates, maar Microsoft wees het van de hand met de verklaring dat het geen gedefinieerde beveiligingsgrens overschreed, hoewel het mogelijk was door kernel-code-executie als beheerder te verkrijgen.

Leviev toonde dit jaar op de BlackHat en DEFCON beveiligingsconferenties aan dat de aanval haalbaar was, maar het probleem blijft onopgelost, waardoor downgrade/version-rollbackaanvallen mogelijk blijven.

De onderzoeker publiceerde een tool genaamd Windows Downdate, waarmee aangepaste downgrades kunnen worden gemaakt en een schijnbaar volledig bijgewerkt doelsysteem kan worden blootgesteld aan al gerepareerde kwetsbaarheden via verouderde componenten zoals DLL’s, drivers en de NT-kernel.

“Ik was in staat om een volledig gepatchte Windows-machine vatbaar te maken voor eerdere kwetsbaarheden, waardoor gerepareerde kwetsbaarheden ongerepareerd werden en de term ‘volledig gepatcht’ zinloos werd op elke Windows-machine ter wereld” – Alon Leviev

Ondanks dat de beveiliging van de kernel in de loop der jaren aanzienlijk is verbeterd, slaagde Leviev erin de Driver Signature Enforcement (DSE)-functie te omzeilen, waarmee hij liet zien hoe een aanvaller niet-ondertekende kernel-drivers kon laden om rootkit-malware te implementeren die beveiligingscontroles uitschakelt en activiteiten verbergt die zouden kunnen leiden tot het detecteren van de compromittering.

“In recente jaren zijn er aanzienlijke verbeteringen doorgevoerd om de beveiliging van de kernel te versterken, zelfs onder de aanname dat deze met beheerderrechten kan worden gecompromitteerd,” zegt Leviev.

Hoewel de nieuwe beschermingen het moeilijker maken om de kernel te compromitteren, “maakt de mogelijkheid om componenten die zich in de kernel bevinden te downgraden het voor aanvallers veel eenvoudiger”, legt de onderzoeker uit.

Leviev noemde zijn exploitatiemethode “ItsNotASecurityBoundary” DSE bypass omdat het deel uitmaakt van de valse bestandsonschendbaarheidsfouten, een nieuwe kwetsbaarheidsklasse in Windows beschreven in onderzoek van Gabriel Landau van Elastic als een manier om willekeurige code-uitvoering met kernel-rechten te bereiken.

Na Landau’s rapport heeft Microsoft de ItsNotASecurityBoundary admin-to-kernel privilege-escalatie gepatcht. Dit beschermt echter niet tegen een downgrade-aanval.

De kernel aanvallen

In nieuw onderzoek dat vandaag is gepubliceerd, laat Leviev zien hoe een aanvaller het Windows Update-proces zou kunnen misbruiken om DSE-bescherming te omzeilen door een gepatchte component te downgraden, zelfs op volledig bijgewerkte Windows 11-systemen.

De aanval is mogelijk door ‘ci.dll’, een bestand dat verantwoordelijk is voor het afdwingen van DSE, te vervangen door een niet-gepatchte versie die stuurprogramma-handtekeningen negeert, waardoor Windows’ beschermende controles feitelijk worden omzeild.

Deze vervanging wordt geactiveerd door Windows Update, waarbij een dubbele-leesconditie wordt uitgebuit waarbij het kwetsbare exemplaar van ci.dll in het geheugen wordt geladen direct nadat Windows begint met het controleren van de nieuwste kopie van ci.dll.

De oude DLL laden terwijl Windows de laatste versie verifieert
De oude DLL laden terwijl Windows de laatste versie verifieert
Bron: SafeBreach

Dit “race window” maakt het mogelijk dat de kwetsbare ci.dll wordt geladen terwijl Windows denkt dat het bestand is geverifieerd, waardoor niet-ondertekende stuurprogramma’s in de kernel kunnen worden geladen.

In de onderstaande video demonstreert de onderzoeker hoe hij de DSE-patch ongedaan maakte via een downgrade-aanval en vervolgens de component uitbuitte op een volledig gepatchte Windows 11 23H2 machine.

Leviev beschrijft ook methodes om Microsoft’s Virtualization-based Security (VBS) uit te schakelen of te omzeilen, dat een geïsoleerde omgeving creëert voor Windows om essentiële bronnen en beveiligingsactiva te beschermen, zoals het mechanisme voor kerncode-integriteit (skci.dll) en geauthenticeerde gebruikersreferenties.

VBS rely typically on protectors like UEFI locks and registry configurations to prevent unauthorized changes, but it can be disabled if it is not configured with max security (“verplichte” vlag) by performing targeted registry key modification.

Wanneer VBS gedeeltelijk is ingeschakeld, kunnen belangrijke VBS-bestanden zoals ‘SecureKernel.exe’ worden vervangen door corrupte versies die de werking van VBS verstoren en de weg openen voor ‘ItsNotASecurityBoundary’ bypass en vervanging van ‘ci.dll’.

De VBS-configuratie negeren tijdens het opstarten
De VBS-configuratie negeren tijdens het opstarten
Bron: SafeBreach

Het werk van Leviev toont aan dat downgrade-aanvallen nog steeds mogelijk zijn via verschillende wegen, zelfs als ze soms sterke toegangsrechten vereisen.

De onderzoeker benadrukt de noodzaak voor endpoint-veiligheidstools om downgrade-procedures nauwlettend te volgen, zelfs die welke geen kritieke beveiligingsgrenzen overschrijden.

---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
Opzoek naar de laatste updates uit onze securitylog?
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----