ESET Research publiceert een gedetailleerde blog over het grondige onderzoek naar misbruik door kwetsbare kernstuurprogramma’s. De kwetsbaarheden van ondertekende stuurprogramma’s worden voornamelijk gebruikt door ontwikkelaars van cheatgames om anti-cheatmechanismen te omzeilen, maar men stelde vast dat ze ook worden gebruikt door verschillende APT-groepen en in kernmalware.
11 januari 2022 — ESET Research publiceert een gedetailleerde blog over het grondige onderzoek naar misbruik door kwetsbare kernstuurprogramma’s. De kwetsbaarheden van ondertekende stuurprogramma’s worden voornamelijk gebruikt door ontwikkelaars van cheatgames om anti-cheatmechanismen te omzeilen, maar men stelde vast dat ze ook worden gebruikt door verschillende APT-groepen en in kernmalware. De blog bespreekt veelvoorkomende kwetsbaarheden in stuurprogramma’s, biedt verschillende case-study’s van malware die deze kwetsbare stuurprogramma’s gebruiken, analyseert voorbeelden van kwetsbare stuurprogramma’s ontdekt tijdens onderzoek en beschrijft effectieve hulptechnieken tegen dergelijke uitbuiting. Voor misdadigers worden deze stuurprogramma’s vaak onbeschermde gateways naar de Windows-kern.
Bij de verschillende soorten kernstuurprogramma’s (centraal onderdeel van het Windows-besturingssysteem), zijn er “software”-stuurprogramma’s die specifieke functionaliteit bieden die niet-hardwaregerelateerd zijn, zoals diagnostiek en foutopsporing in software, systeemanalyse, enz. Ze kunnen het aanvalsoppervlak aanzienlijk vergroten. Hoewel in nieuwere versies van Windows het direct laden van een niet-ondertekend kwaadaardig stuurprogramma niet mogelijk is en kernrootkits als verleden tijd worden beschouwd, is er nog steeds een manier om kwaadaardige code in de kern te laden, vooral bij het misbruiken van legitieme ondertekende stuurprogramma’s. Er zijn veel stuurprogramma’s van verschillende hardware- en softwareleveranciers die functionaliteiten bieden om met minimale inspanning toegang te krijgen tot de kern.
De meest voorkomende kwetsbaarheden in stuurprogramma’s zijn:
· Controles niet kunnen toevoegen die de lees- en schrijftoegang tot kritieke model-specifieke registers (MSR’s) beperken;
· De mogelijkheid blootstellen om fysiek geheugen toe te wijzen vanuit de gebruikersmodus voor lezen/schrijven;
· De mogelijkheid blootstellen om vanuit de gebruikersmodus toegang te krijgen tot het virtuele kerngeheugen voor lezen/schrijven
“Als misdadigers kwaadaardige code moeten uitvoeren in de Windows-kern op x64-systemen met de handhaving van de handtekening van het stuurprogramma, lijkt het installeren van een kwetsbaar ondertekend kernstuurprogramma een geldige optie om dit te doen. Deze techniek staat bekend als Bring Your Own Vulnerable Driver-BYOVD en is ‘in the wild’ waargenomen zowel bij vooraanstaande APT-spelers als in commodity-malware”, legt Peter Kálnai uit, een van de deelnemers aan dit onderzoek.
Onder de misdadigers die de BYOVD-techniek gebruiken, is de Slingshot APT-groep, die Cahnadr – hun hoofdmodule – heeft geïmplementeerd als een kernmodusstuurprogramma dat kan worden geladen door kwetsbare ondertekende stuurprogramma’s. Een ander voorbeeld is de InvisiMole APT-groep, die in 2018 door ESET-onderzoekers werd ontdekt. Een nieuwere variant van de InvisiMole-malware is, tot op heden, het enige geval dat ESET heeft waargenomen en die de exploitatie van MSR op Windows 10 x 64 systemen ‘in the wild’ wordt gebruikt
Een ander voorbeeld is de RobbinHood-ransomware die als basismalware zoveel mogelijk mensen probeert te bereiken. Deze ransomware een BYOVD-techniek zien gebruiken is zeldzaam maar krachtig. Deze gebruikt een kwetsbaar GIGABYTE-moederbordstuurprogramma om de toepassing voor het ondertekenen van stuurprogramma’s uit te schakelen en zijn eigen schadelijke stuurprogramma te installeren. Ten slotte gebruikte LoJax, een andere ontdekking van ESET in 2018 en de allereerste UEFI-rootkit die ‘in the wild’ werd gebruikt, het RWEverything-stuurprogramma om toegang te krijgen tot de UEFI-modules van slachtoffers.
ESET-onderzoekers hebben niet enkel bestaande kwetsbaarheden gecatalogeerd, maar zochten ook naar nieuwe. Een volledige lijst van de ontdekte kwetsbaarheden staat op de blog. Leveranciers waarmee ESET contact heeft opgenomen, waren zeer proactief tijdens het openbaar maken van deze kwetsbaarheden en wilden die graag corrigeren.
“Hoewel er verschillende mechanismen zijn die door de CPU en/of het besturingssysteem worden gebruikt, kunnen de meeste omzeild worden met slimme technieken en zijn ze niet erg effectief als de aanvaller zich goed erop heeft voorbereid”, legt Kálnai uit.
De blog biedt ook volgende handige technieken om hieraan te verhelpen:
· Beveiliging op basis van virtualisatie: een in Windows 10 geïntroduceerde functie die gebruikmaakt van virtualisatie van hardware om de kern in een sandbox te plaatsen en het besturingssysteem met verschillende technieken te beveiligen.
· Intrekken van het certificaat: Op moderne Windows-systemen moeten de stuurprogramma’s een geldige handtekening hebben op basis van een “aanvaardbaar” certificaat. Daarom zou het intrekken van het certificaat van een kwetsbaar driver een gemakkelijke manier zijn om het te “ontwapenen” en in de meeste gevallen onbruikbaar te maken.
· Blocklisting van stuurprogramma’s: deze praktijk wordt zowel door Microsoft toegepast als door verschillende externe leveranciers van beveiligingsproducten, waaronder ESET, om de meest beruchte kwetsbare stuurprogramma’s te detecteren en te verwijderen als ze op een systeem aangetroffen worden.