Met ASR-regels houd je aanvallers buiten de deur
Een mogelijke eerste stap voor een cybercrimineel is toegang verkrijgen tot een werkstation of laptop van een gebruiker. Cybercriminelen gebruiken hiervoor verschillende aanvalsvectoren. Om de kans van slagen van dit soort aanvallen te verminderen heeft Microsoft Attack Surface Reduction (ASR) regels geïntroduceerd. Deze regels verbeteren de beveiliging van een systeem waardoor het voor een aanvaller moeilijker wordt om toegang te krijgen.
Welke ASR-regels zijn er?
Microsoft heeft een set ASR-regels gedefinieerd. Deze regels zijn gericht op applicaties die veel misbruikt worden om toegang te krijgen tot een systeem. Hieronder is een overzicht gegeven van de huidige ASR-regels, daarbij wordt het effect beschrevenen en waarom de ASR-regels ingeschakeld dient te worden.
- Block abuse of exploited vulnerable signed drivers
Een aanvaller met toegang tot een applicatie kan een kwetsbare signed driver wegschrijven. Hiermee kan een aanvaller direct met de Windows-kernel communiceren om daarna geïnstalleerde beveiligingsmaatregelen te omzeilen. Deze regel voorkomt dat een applicatie signed drivers aan kan maken - Block all Office applications from creating child processes
Door deze regel in te schakelen kunnen Office-applicaties zoals Word, Excel, Teams, etc. geen child processen maken. Dit zijn processen die onder het proces van het programma draaien. Kwaadaardige macro’s maken gebruik van child processen om hun code uit te voeren. Door child processen te blokkeren kan een macro geen child processen meer starten en kan de kwaadaardige code niet uitgevoerd worden. - Block all Office applications from injecting code into other processes
Deze regel voorkomt dat Office-applicaties zoals Word, Excel, Teams, etc. code kunnen injecteren in andere processen. Een aanvaller kan door middel van een kwaadaardige macro code injecteren in een ander proces. Hiermee is het mogelijk om malafide activiteiten te maskeren achter een geldig proces. Ook geeft het een aanvaller langer toegang tot het getroffen systeem. Door de regel te implementeren kan de macro geen code meer naar andere processen schrijven. - Block Office applications from creating executable content
Naast het injecteren van code in andere processen of het aanmaken van nieuwe processen kan een kwaadaardige macro ook een uitvoerbaar bestand downloaden of maken. Hiermee is het alsnog mogelijk om code uit te voeren op het systeem. Door deze regel in te schakelen kunnen Office-producten geen uitvoerbare bestanden maken. - Block Win32 API calls from Office macros
Standaard mag Microsoft Office gebruik maken van Win32 API’s. Een aanvaller kan deze API’s aanroepen om geavanceerde macro’s te schrijven. Deze macro’s zijn moeilijker te detecteren en hebben meer functionaliteiten. Door de regel in te schakelen wordt het gebruik van Win32 API’s geblokkeerd. - Block Adobe Reader from creating child processes
Net zoals bij Office-applicaties is het mogelijk om onder het proces van Adobe Reader nieuwe child processen te starten. Dit kan misbruikt worden door aanvallers om code uit te voeren. Door deze regel in te schakelen kan het programma Adobe Reader geen child processen meer starten. - Block credential stealing from the Windows Local Security Authority Subsystem (LSASS)
Het Windows-besturingssysteem slaat de gehashte wachtwoorden van ingelogde gebruiker op in het Windows Local Security Authority Subsytem (LSASS) proces. Aanvallers met administratieve toegang tot een systeem kan gehashte wachtwoorden extraheren uit dit proces. Dit kan een aanvaller toegang geven tot andere gebruikers. Door deze regel in te schakelen is het niet meer mogelijk om vanuit een ander proces de LSASS te benaderen. - Block executable content from email client and webmail
Naast het versturen van Word- of PDF-bestanden, kan een aanvaller ook uitvoerbare bestanden mailen. Een gebruiker kan dit bestand vervolgens downloaden en uitvoeren. Hierdoor kan kwaadaardige code uitgevoerd worden op het systeem van de gebruiker. Door deze regel in te schakelen worden uitvoerbare bestanden geblokkeerd door Microsoft Outlook. Bestanden met de extensie .exe, .dll, .scr, .ps1, .js en .vbs worden als uitvoerbaar gezien en dus geblokkeerd. - Block execution of potentially obfuscated scripts
Aanvallers met toegang tot een systeem proberen zo min mogelijk op te vallen. Zo proberen zij hun commando’s te verbergen. Eén techniek om dit te doen heet obfuscation, waarbij bijvoorbeeld extra
karakters worden geïntroduceerd om het originele commando te verbergen. Hiermee proberen aanvallers beveiligingsmaatregelen te omzeilen. Door deze regel in te schakelen wordt extra beveiliging aangezet die dit soort obfuscated scripts blokkeert. Als kanttekening: PowerShell-scripts worden tijdelijk niet geblokkeerd door Microsoft. - Block JavaScript or VBScript from launching downloaded executable content
Enkele bestandsformaten ondersteunen het uitvoeren van JavaScript of VBScript. Deze scripttalen kunnen gebruikt worden om uitvoerbare bestanden te downloaden en uit te voeren. Hiermee kan een aanvaller toegang krijgen tot het systeem. Door deze regel in te schakelen worden kwaadaardige bestanden die gedownload zijn middels JavaScript of VBScript geblokkeerd. Dit betekent dat de gedownloade bestanden niet meer uitgevoerd kunnen worden. - Block persistence through WMI event subscription
Nadat een aanvaller toegang heeft verkregen tot een systeem wilt de aanvaller toegang houden tot het systeem. Dit wordt persistence genoemd. Een aanvaller kan dit bereiken door een event aan te maken in Windows Management Instrumentation (WMI). Door deze regel in te schakelen worden dit soort events geblokkeerd. Dit betekent dat een aanvaller geen gebruik kan maken van WMI events om toegang te behouden op het systeem. Er zijn echter nog veel andere technieken die een aanvaller kan gebruiken om dit doel te bereiken. - Block process creations originating from PSExec and WMI commands
De programma’s PSExec en WMI worden gebruikt om vanaf een afstand commando’s uit te voeren op een systeem. Een aanvaller kan dit misbruiken wanneer hij of zij geldige inloggegevens heeft voor het systeem. Hiermee is het mogelijk om toegang te krijgen tot het onderliggende systeem. Deze regel blokkeert het uitvoeren van processen die via PsExec en WMI zijn aangemaakt. - Block untrusted and unsigned processes that run from USB
Een aanvaller met fysieke toegang kan een USB-stick aansluiten op een systeem en vervolgens programma’s van de USB uit te voeren. Door de regel in te schakelen worden bestanden met de volgende extensies geblokkeerd: .exe, .dll en .scr. - Use advanced protection against ransomware
Deze regel biedt een extra bescherming tegen ransomware. Wanneer deze regel is toegepast worden mogelijk malafide bestanden uitgevoerd in een sandbox. Dit is een beschermde omgeving waarin Windows Defender het gedrag van de applicatie kan analyseren. Als het bestand op ransomware lijkt wordt deze geblokkeerd.
ASR-regels in de praktijk
Om ASR-regels tastbaarder te maken hebben wij een simpel voorbeeld voorbereid. In dit voorbeeld hebben wij de ASR-regel “Block credential stealing from the Windows local security authority subsystem” ingeschakeld op een Windows-machine. Zoals hierboven vermeld, blokkeert deze regel toegang tot het LSASS-proces.
In het onderstaande scenario heeft een aanvaller administratieve toegang gekregen tot een systeem en probeert de aanvaller wachtwoorden uit het LSASS-proces te lezen door middel van het hulpprogramma Mimikatz. In eerste instantie voeren wij dit uit zonder de ASR-regel in te schakelen. De schermafbeelding hieronder laat zien dat de inhoud van het LSASS-proces succesvol geëxtraheerd is en worden er gehashte wachtwoorden getoond:
Daarna hebben wij de ASR-regel ingeschakeld. Als wij nu nog een keer met Mimikatz wachtwoorden proberen te extraheren mislukt dit. Dit komt omdat Mimikatz niet meer met het LSASS-proces mag communiceren. Dit resulteert in een foutmelding die in de schermafbeelding hieronder wordt getoond:
Wat te doen met ASR-regels?
ASR-regels verbeteren de beveiliging van een systeem en maakt deze weerbaarder tegen veelvoorkomende aanvallen. Om deze reden bevelen wij aan om zoveel mogelijk ASR-regels te implementeren op alle systemen in het bedrijfsnetwerk. In een volgende blogpost gaan wij verder in op de implementatie van ASR-regels en wat daar bij komt kijken.