Microsoft Defender Voor Endpoint: Advanced Hunting Queries En Threat Hunting

💼 Management Samenvatting

Advanced Hunting queries vormen de kern van proactieve bedreigingsdetectie binnen Microsoft Defender voor Endpoint door security analisten in staat te stellen om uitgebreide query's uit te voeren over endpointtelemetrie met behulp van Kusto Query Language (KQL). Deze queries bieden toegang tot een rijke dataset met informatie over processen, netwerkverbindingen, bestandsacties, registry-wijzigingen, authenticatiegebeurtenissen en vele andere endpointactiviteiten die worden verzameld door de Defender voor Endpoint sensor. Het effectief gebruiken van Advanced Hunting queries is essentieel voor het identificeren van bedreigingen die door automatische detectieregels worden gemist, het uitvoeren van forensische analyses na security incidenten, en het proactief jagen op geavanceerde persistente bedreigingen (APTs) die maandenlang onder de radar kunnen opereren.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
9/10
Implementatie
72u (tech: 32u)
Van toepassing op:
Microsoft 365 E5
Microsoft Defender voor Endpoint Plan 2
Microsoft Defender XDR

Traditionele security monitoring tools vertrouwen op signature-based detectie en vooraf gedefinieerde regels die alleen bekende bedreigingspatronen kunnen identificeren. Deze aanpak mist moderne aanvalstechnieken zoals fileless malware die kwaadaardige code direct in het geheugen uitvoert zonder detecteerbare bestanden, living-off-the-land aanvallen die legitieme systeemgereedschappen zoals PowerShell en WMI gebruiken om kwaadaardige activiteiten te verbergen, zero-day exploits die gebruikmaken van onbekende kwetsbaarheden, en geavanceerde persistente bedreigingen die maandenlang opereren door gebruik te maken van geautoriseerde tools en technieken die legitiem lijken. Zonder Advanced Hunting queries blijven deze bedreigingen onopgemerkt totdat significante schade is aangericht, wat leidt tot data breaches met gemiddelde kosten van €4.5 miljoen per incident volgens IBM's Cost of a Data Breach Report. Advanced Hunting queries lossen dit op door security analisten in staat te stellen om proactief te zoeken naar bedreigingsindicatoren door historische telemetrie te analyseren, complexe correlaties uit te voeren tussen verschillende datatabellen om attack chains te identificeren, custom detection rules te maken op basis van specifieke bedreigingsscenario's, en forensische analyses uit te voeren om de volledige omvang van security incidenten te begrijpen. Deze queries maken het mogelijk om bedreigingen te detecteren die door automatische systemen worden gemist, waardoor de Mean Time To Detect (MTTD) wordt verkort van dagen naar minuten.

PowerShell Modules Vereist
Primary API: Microsoft Graph Security API, Microsoft Defender for Endpoint API
Connection: Connect-MgGraph, Connect-MicrosoftDefender
Required Modules: Microsoft.Graph, Microsoft.Graph.Security, Microsoft.Graph.Identity.SignIns

Implementatie

Advanced Hunting queries zijn KQL (Kusto Query Language) query's die worden uitgevoerd over endpointtelemetrie die wordt verzameld door Microsoft Defender voor Endpoint. Deze telemetrie bevat informatie over alle endpointactiviteiten en wordt bewaard voor maximaal 30 dagen, waardoor analisten historische analyses kunnen uitvoeren. De queries kunnen worden gebruikt voor verschillende doeleinden: (1) Proactieve Threat Hunting - het identificeren van bedreigingen die door automatische detectieregels worden gemist door het zoeken naar verdachte patronen zoals abnormale netwerkverbindingen, ongebruikelijke procesuitvoering, of verdachte bestandsacties, (2) Forensische Analyse - het uitvoeren van diepgaande analyses na security incidenten om de volledige attack chain te begrijpen, welke endpoints zijn getroffen, welke data is geëxporteerd, en hoe de aanval is uitgevoerd, (3) Custom Detection Rules - het maken van geautomatiseerde detectieregels op basis van Advanced Hunting queries die automatisch alerts genereren wanneer specifieke voorwaarden worden gedetecteerd, (4) Compliance Monitoring - het verifiëren dat security controls correct functioneren door te zoeken naar activiteiten die zouden moeten worden geblokkeerd of gelogd, (5) Incident Response - het snel identificeren van alle endpoints en gebruikers die zijn getroffen door een security incident door het correleren van verschillende gebeurtenissen, en (6) Threat Intelligence Integration - het gebruiken van threat intelligence indicators zoals IOCs (Indicators of Compromise) om te zoeken naar bekende bedreigingspatronen in historische telemetrie. Belangrijke datatabellen binnen Advanced Hunting omvatten DeviceProcessEvents (procesuitvoering inclusief command-line argumenten), DeviceNetworkEvents (netwerkverbindingen inclusief remote IP-adressen en poorten), DeviceFileEvents (bestandsacties inclusief creatie, wijziging en verwijdering), DeviceRegistryEvents (registry-wijzigingen die vaak worden gebruikt door malware voor persistentie), DeviceLogonEvents (authenticatiegebeurtenissen inclusief failed login attempts), DeviceImageLoadEvents (DLL-loading die kan wijzen op code injection), DeviceNetworkInfo (netwerkconfiguratie informatie), en DeviceInfo (endpoint informatie zoals OS versie en hardware details). Queries kunnen worden opgeslagen als saved queries voor herhaald gebruik, gedeeld met andere analisten, en geconverteerd naar custom detection rules voor geautomatiseerde monitoring. Advanced Hunting is beschikbaar via security.microsoft.com → Hunting → Advanced hunting en kan ook worden benaderd via de Microsoft Graph Security API voor geautomatiseerde query uitvoering.

Vereisten en Voorbereiding

Voor het effectief gebruiken van Advanced Hunting queries zijn verschillende vereisten en voorbereidingen noodzakelijk. Ten eerste is Microsoft Defender voor Endpoint Plan 2 of Microsoft 365 E5 licentie vereist voor toegang tot Advanced Hunting functionaliteit. Plan 1 biedt basis EDR-functionaliteit maar mist Advanced Hunting met uitgebreide query mogelijkheden. Alle endpoints moeten correct zijn onboarded naar Defender voor Endpoint via verschillende methoden zoals Group Policy, Microsoft Endpoint Manager (Intune), Script-based onboarding, of Mobile Device Management (MDM) voor mobiele apparaten. Endpoints moeten minimaal Windows 10/11 versie 1809 of hoger zijn, of Windows Server 2019/2022 met de Microsoft Defender voor Endpoint sensor geïnstalleerd. De sensor verzamelt automatisch telemetrie die beschikbaar is voor Advanced Hunting queries.

Organisatorisch moet er een duidelijk threat hunting proces zijn gedefinieerd dat beschrijft hoe Advanced Hunting queries worden gebruikt voor proactieve bedreigingsdetectie. Security analisten moeten worden getraind in KQL (Kusto Query Language) syntax, de beschikbare datatabellen binnen Defender voor Endpoint, en hoe complexe correlaties kunnen worden uitgevoerd tussen verschillende tabellen. Er moeten duidelijke richtlijnen zijn over wanneer Advanced Hunting queries moeten worden gebruikt versus wanneer automatische detectieregels voldoende zijn, welke queries regelmatig moeten worden uitgevoerd voor routine monitoring, en hoe custom detection rules moeten worden gemaakt op basis van Advanced Hunting queries. Voor productieomgevingen is het aanbevolen om te beginnen met Microsoft's voorbeeldqueries als startpunt en deze aan te passen voor specifieke organisatiebehoeften, waardoor false positives worden geminimaliseerd en query performance wordt geoptimaliseerd.

Vanuit compliance perspectief moeten alle Advanced Hunting queries worden gedocumenteerd met beschrijvingen van wat ze detecteren, waarom ze belangrijk zijn, en hoe vaak ze moeten worden uitgevoerd. Custom detection rules die zijn gemaakt op basis van Advanced Hunting queries moeten worden gereviewed en goedgekeurd voordat ze worden geactiveerd, om te voorkomen dat te veel false positive alerts worden gegenereerd. Incident response procedures moeten worden bijgewerkt om Advanced Hunting queries te integreren, waarbij wordt beschreven hoe queries worden gebruikt voor forensische analyses en hoe query resultaten worden gebruikt om de volledige omvang van security incidenten te begrijpen. Tot slot moet er een monitoring en reporting proces zijn opgezet om de effectiviteit van Advanced Hunting queries te meten, inclusief metrics zoals aantal bedreigingen gedetecteerd via queries, aantal false positives, tijd tot detectie (MTTD), en impact van gedetecteerde bedreigingen.

Implementatie van Advanced Hunting Queries

Gebruik PowerShell-script advanced-hunting-queries.ps1 (functie Invoke-Remediation) – PowerShell script voor het uitvoeren van Advanced Hunting queries, het maken van saved queries, en het configureren van custom detection rules.

De implementatie van Advanced Hunting queries begint met het openen van de Advanced Hunting interface via security.microsoft.com → Hunting → Advanced hunting. Deze interface biedt een query editor waar KQL queries kunnen worden geschreven en uitgevoerd. Microsoft biedt uitgebreide voorbeeldqueries die kunnen worden gebruikt als startpunt voor verschillende threat hunting scenario's. Deze voorbeelden omvatten queries voor het detecteren van PowerShell-aanvallen, het identificeren van laterale beweging, het vinden van data exfiltratie, en het detecteren van privilege escalation pogingen. Analisten kunnen deze voorbeelden aanpassen voor specifieke organisatiebehoeften door filters toe te voegen, tijdsbereiken aan te passen, of aanvullende tabellen te correleren.

Voor het schrijven van effectieve Advanced Hunting queries is het essentieel om vertrouwd te zijn met de beschikbare datatabellen. DeviceProcessEvents bevat informatie over alle procesuitvoering inclusief procesnaam, command-line argumenten, parent process, en gebruiker. Deze tabel is cruciaal voor het detecteren van verdachte procesuitvoering zoals PowerShell-aanvallen, script-executie, of ongebruikelijke applicatie-start. DeviceNetworkEvents bevat informatie over alle netwerkverbindingen inclusief remote IP-adressen, poorten, protocollen, en verbindingsrichting. Deze tabel is essentieel voor het detecteren van command-and-control communicatie, data exfiltratie, of ongebruikelijke netwerkactiviteit. DeviceFileEvents bevat informatie over alle bestandsacties inclusief bestandsnaam, pad, actie type (creatie, wijziging, verwijdering), en hash waarden. Deze tabel is belangrijk voor het detecteren van malware downloads, data exfiltratie, of ongebruikelijke bestandsacties. DeviceRegistryEvents bevat informatie over registry-wijzigingen die vaak worden gebruikt door malware voor persistentie. DeviceLogonEvents bevat informatie over authenticatiegebeurtenissen inclusief failed login attempts die kunnen wijzen op brute-force aanvallen.

Complexe Advanced Hunting queries correleren vaak meerdere tabellen om complete attack chains te identificeren. Bijvoorbeeld, een query die PowerShell-aanvallen detecteert kan DeviceProcessEvents gebruiken om PowerShell procesuitvoering te vinden, DeviceNetworkEvents correleren om te zien of PowerShell verbindingen maakt naar externe IP-adressen (command-and-control), en DeviceFileEvents correleren om te zien welke bestanden worden gelezen of geschreven. Deze correlaties maken het mogelijk om de volledige context van een aanval te begrijpen in plaats van alleen individuele gebeurtenissen te zien. Queries kunnen ook worden gebruikt om te zoeken naar specifieke IOCs (Indicators of Compromise) zoals kwaadaardige IP-adressen, file hashes, of domeinnamen die bekend zijn van threat intelligence feeds.

Saved queries maken Advanced Hunting schaalbaar door queries op te slaan voor herhaald gebruik. Analisten kunnen saved queries maken voor routine threat hunting scenario's zoals wekelijkse scans voor verdachte netwerkactiviteit, maandelijkse analyses voor privilege escalation pogingen, of ad-hoc queries voor specifieke incidenten. Saved queries kunnen worden gedeeld met andere analisten en kunnen worden gebruikt als basis voor nieuwe queries. Custom detection rules kunnen worden gemaakt op basis van Advanced Hunting queries en worden automatisch uitgevoerd om alerts te genereren wanneer de queryvoorwaarden worden gedetecteerd. Deze rules kunnen worden geconfigureerd met verschillende severity levels (Informational, Low, Medium, High, Critical) en kunnen worden toegewezen aan specifieke security analisten voor follow-up. Custom detection rules maken het mogelijk om proactief te jagen op bedreigingen zonder constant handmatig queries uit te voeren, waardoor security teams efficiënter kunnen werken en sneller kunnen reageren op bedreigingen.

Na het schrijven van queries moeten ze worden getest om te verifiëren dat ze correct functioneren en de verwachte resultaten opleveren. Test queries eerst op een beperkt tijdsbereik (bijvoorbeeld laatste 24 uur) om performance te evalueren voordat ze worden uitgevoerd over langere perioden. Verifieer dat queries geen false positives genereren door resultaten te reviewen en te valideren dat gedetecteerde activiteiten daadwerkelijk verdacht zijn. Optimaliseer query performance door filters toe te voegen die het aantal te analyseren records beperken, bijvoorbeeld door te filteren op specifieke tijdstippen, endpoints, of gebruikers. Document alle queries met beschrijvingen van wat ze detecteren, waarom ze belangrijk zijn, en hoe vaak ze moeten worden uitgevoerd.

Veelvoorkomende Advanced Hunting Queries

Er zijn verschillende veelvoorkomende Advanced Hunting queries die security analisten regelmatig gebruiken voor proactieve bedreigingsdetectie. PowerShell-aanvallen zijn een van de meest voorkomende bedreigingsscenario's en kunnen worden gedetecteerd door te zoeken naar PowerShell procesuitvoering met verdachte command-line argumenten zoals base64 encoding, obfuscated strings, of ongebruikelijke parameters. Een typische query correleert DeviceProcessEvents om PowerShell processen te vinden met DeviceNetworkEvents om te zien of deze processen verbindingen maken naar externe IP-adressen, wat kan wijzen op command-and-control communicatie. Deze queries kunnen worden uitgebreid om ook te zoeken naar PowerShell scripts die worden uitgevoerd vanuit ongebruikelijke locaties zoals temp folders of user profiles.

Laterale beweging detectie queries identificeren wanneer aanvallers zich verplaatsen tussen endpoints binnen een netwerk. Deze queries correleren DeviceLogonEvents om authenticatiegebeurtenissen te vinden tussen verschillende endpoints, DeviceProcessEvents om te zien welke processen worden uitgevoerd na laterale beweging, en DeviceNetworkEvents om te identificeren welke netwerkverbindingen worden gemaakt. Laterale beweging queries kunnen ook worden gebruikt om te detecteren wanneer accounts worden gebruikt vanaf ongebruikelijke endpoints, wat kan wijzen op gecompromitteerde accounts of credential theft. Deze queries zijn essentieel voor het begrijpen van de volledige omvang van security incidenten en het identificeren van alle getroffen endpoints.

Data exfiltratie detectie queries monitoren grote bestandsoverdrachten naar externe locaties. Deze queries gebruiken DeviceFileEvents om bestandsacties te vinden, DeviceNetworkEvents om te correleren met netwerkverbindingen naar externe IP-adressen, en filters om alleen grote bestandsoverdrachten te identificeren (bijvoorbeeld bestanden groter dan 100MB). Data exfiltratie queries kunnen ook worden gebruikt om te detecteren wanneer bestanden worden gecomprimeerd of gecodeerd voordat ze worden geëxporteerd, wat vaak wordt gedaan door aanvallers om detectie te vermijden. Deze queries zijn kritiek voor het snel detecteren van data breaches en het beperken van de impact van security incidenten.

Privilege escalation detectie queries identificeren wanneer gebruikers of processen proberen om verhoogde rechten te verkrijgen. Deze queries gebruiken DeviceProcessEvents om te zoeken naar processen die worden uitgevoerd met verhoogde rechten, DeviceRegistryEvents om registry-wijzigingen te vinden die kunnen worden gebruikt voor privilege escalation, en DeviceLogonEvents om te detecteren wanneer accounts worden gebruikt met administrator rechten vanaf ongebruikelijke locaties. Privilege escalation queries kunnen ook worden gebruikt om te detecteren wanneer nieuwe accounts worden gemaakt met administrator rechten, wat vaak wordt gedaan door aanvallers om persistentie te verkrijgen.

Malware detectie queries gebruiken IOCs (Indicators of Compromise) zoals file hashes, IP-adressen, of domeinnamen om te zoeken naar bekende bedreigingen in historische telemetrie. Deze queries kunnen worden gebruikt om te verifiëren of endpoints zijn blootgesteld aan bekende malware, om de volledige omvang van malware infecties te begrijpen, of om te zoeken naar gerelateerde bedreigingen na het detecteren van een security incident. Malware detectie queries kunnen ook worden gebruikt om te detecteren wanneer bestanden worden gedownload van bekende malafide domeinen of wanneer processen verbindingen maken naar bekende command-and-control servers.

Monitoring en Effectiviteit Meting

Gebruik PowerShell-script advanced-hunting-queries.ps1 (functie Invoke-Monitoring) – Controleert de status van Advanced Hunting queries, saved queries, en custom detection rules en rapporteert over query performance en detectie statistieken.

Continue monitoring van Advanced Hunting queries is essentieel om te verifiëren dat queries correct functioneren, om de effectiviteit te meten, en om query performance te optimaliseren. De primaire monitoring interface is het Microsoft 365 Defender portal onder Hunting → Advanced hunting, waar een overzicht wordt getoond van alle saved queries, recent uitgevoerde queries, en custom detection rules. Het Security Operations dashboard toont key metrics zoals aantal bedreigingen gedetecteerd via Advanced Hunting queries, aantal false positives, gemiddelde query execution time, en het percentage endpoints dat wordt gemonitord door custom detection rules. Deze metrics geven inzicht in de effectiviteit van threat hunting activiteiten en helpen bij het identificeren van verbeterpunten.

Voor gedetailleerde analyse van query resultaten kunnen security analisten inzoomen op specifieke query uitvoeringen via de Advanced Hunting interface. Hier wordt een overzicht getoond van alle query resultaten, inclusief welke endpoints zijn getroffen, welke activiteiten zijn gedetecteerd, en wanneer deze activiteiten hebben plaatsgevonden. Analisten kunnen ook de verzamelde telemetrie reviewen door aanvullende queries uit te voeren om meer context te verzamelen, of door query resultaten te exporteren voor verdere analyse in externe tools. Deze detailweergave is essentieel voor het begrijpen van hoe Advanced Hunting queries bedreigingen detecteren en voor het identificeren van false positives of gemiste bedreigingen.

Naast het monitoren van individuele query uitvoeringen is het belangrijk om trends en patronen te identificeren over langere perioden. Het Security Operations dashboard biedt verschillende rapportage-opties waarmee organisaties kunnen analyseren welke typen bedreigingen het meest worden gedetecteerd via Advanced Hunting queries, welke queries het meest effectief zijn, en welke endpoints het meest worden aangevallen. Deze data kan worden gebruikt om query strategieën te optimaliseren, bijvoorbeeld door queries aan te passen voor bepaalde scenario's, of door nieuwe custom detection rules toe te voegen voor bedreigingen die regelmatig worden gedetecteerd. Organisaties kunnen ook custom reports genereren voor management en compliance doeleinden, waarbij wordt getoond hoe Advanced Hunting queries bijdragen aan de overall security posture en hoeveel bedreigingen worden gedetecteerd die door automatische systemen worden gemist.

Een kritiek aspect van monitoring is het identificeren en corrigeren van false positives. Wanneer Advanced Hunting queries legitieme activiteiten identificeren als verdacht, moet deze false positive worden gedocumenteerd en geanalyseerd om te voorkomen dat soortgelijke activiteiten in de toekomst opnieuw worden gemarkeerd. Queries kunnen worden aangepast door filters toe te voegen die legitieme activiteiten uitsluiten, of door thresholds aan te passen die bepalen wanneer activiteiten als verdacht worden gemarkeerd. Daarnaast moeten organisaties regelmatig reviewen of Advanced Hunting queries alle relevante bedreigingen detecteren. Wanneer security analisten handmatig bedreigingen detecteren die door Advanced Hunting queries niet zijn opgepikt, moet worden geanalyseerd waarom dit is gebeurd en of de queries moeten worden aangepast om deze bedreigingen in de toekomst wel automatisch te detecteren.

Voor compliance en audit doeleinden moeten alle Advanced Hunting queries, saved queries, en custom detection rules worden gedocumenteerd en bewaard. De Microsoft 365 Defender portal biedt uitgebreide logging mogelijkheden, maar organisaties moeten ook zorgen dat deze logs worden geëxporteerd naar een centraal logging systeem zoals een SIEM voor langetermijn opslag en correlatie met andere security events. Audit logs moeten informatie bevatten over wanneer queries werden uitgevoerd, welke bedreigingen werden gedetecteerd, welke endpoints zijn getroffen, en welke acties zijn ondernomen. Deze logs zijn essentieel voor het aantonen van compliance met NIS2 vereisten voor proactieve bedreigingsdetectie en voor het ondersteunen van interne en externe audits.

Remediatie en Troubleshooting

Gebruik PowerShell-script advanced-hunting-queries.ps1 (functie Invoke-Remediation) – Configureert Advanced Hunting queries, saved queries, en custom detection rules volgens best practices of herstelt ontbrekende configuraties.

Wanneer problemen optreden met Advanced Hunting queries zijn verschillende remediatiestrategieën beschikbaar. Een veelvoorkomend probleem is dat queries niet de verwachte resultaten opleveren, wat kan wijzen op syntax fouten, incorrecte tabelnamen, of verkeerde filters. Dit kan worden opgelost door de query syntax te controleren tegen Microsoft's KQL documentatie, door te verifiëren dat de juiste tabellen worden gebruikt, en door de tijdsperiode te controleren om te zorgen dat er voldoende data beschikbaar is. Microsoft biedt uitgebreide documentatie en voorbeeldqueries die kunnen worden gebruikt als referentie voor correcte query syntax.

Een ander veelvoorkomend probleem is dat queries te langzaam zijn of timeouts genereren bij het uitvoeren over grote datasets. Dit kan worden opgelost door filters toe te voegen die het aantal te analyseren records beperken, bijvoorbeeld door te filteren op specifieke tijdstippen, endpoints, of gebruikers. Queries kunnen ook worden geoptimaliseerd door alleen de benodigde kolommen te selecteren in plaats van alle kolommen, door joins te optimaliseren tussen tabellen, en door aggregaties te gebruiken in plaats van individuele records te retourneren. Voor zeer complexe queries kan het nodig zijn om de query op te splitsen in meerdere kleinere queries die sequentieel worden uitgevoerd.

Wanneer custom detection rules te veel false positives genereren, moeten de onderliggende Advanced Hunting queries worden aangepast om legitieme activiteiten uit te sluiten. Dit kan worden gedaan door filters toe te voegen die bekende legitieme patronen uitsluiten, door thresholds aan te passen die bepalen wanneer activiteiten als verdacht worden gemarkeerd, of door whitelist entries toe te voegen voor specifieke endpoints, gebruikers, of applicaties. False positives moeten worden gedocumenteerd in een log voor trendanalyse en om te voorkomen dat soortgelijke false positives in de toekomst optreden.

Voor problemen met endpoints die geen telemetrie leveren voor Advanced Hunting queries, moet worden gecontroleerd of endpoints correct zijn onboarded naar Defender voor Endpoint. Dit kan worden geverifieerd via Settings → Endpoints → Onboarding, waar een overzicht wordt getoond van alle onboarded endpoints en hun status. Endpoints die niet correct zijn onboarded moeten worden heronboarded via de juiste onboarding methode (Group Policy, Intune, Script, of MDM). Het monitoring script kan helpen bij het identificeren van endpoints die geen telemetrie leveren en kan aanbevelingen doen voor remediatie.

Compliance en Framework Mapping

Advanced Hunting queries zijn essentieel voor compliance met verschillende security frameworks. Voor CIS Microsoft 365 Foundations Benchmark is dit relevant voor control 7.1 (Security monitoring - Advanced threat detection capabilities), control 7.2 (Incident response - Threat hunting en investigation), en control 8.1 (Endpoint protection - Proactieve bedreigingsdetectie). Deze controls vereisen dat organisaties proactieve threat hunting capaciteiten hebben die moderne bedreigingen detecteren die door automatische systemen worden gemist, inclusief fileless malware, living-off-the-land aanvallen, en geavanceerde persistente bedreigingen.

Voor de BIO Baseline Informatiebeveiliging Overheid zijn Advanced Hunting queries relevant voor Thema 12.01 (Endpoint protection - Proactieve bedreigingsdetectie), Thema 12.03 (Security operations - Threat hunting en investigation), en Thema 17.1 (Incident management - Forensische analyse). BIO vereist dat organisaties proactief bedreigingen detecteren en snel reageren, waarbij Advanced Hunting queries essentieel zijn om aan deze vereisten te voldoen, vooral gezien de schaal van moderne omgevingen en het volume van security events. Advanced Hunting queries maken het mogelijk om bedreigingen te detecteren die door automatische systemen worden gemist, waardoor de overall security posture wordt verbeterd.

ISO 27001:2022 vereist in A.8.16 (Monitoring activities - Security event monitoring en analysis), A.5.26 (Information security event response - Threat hunting capabilities), en A.12.6.1 (Technical vulnerability management - Proactieve bedreigingsdetectie) dat organisaties security events monitoren en proactief bedreigingen detecteren. Advanced Hunting queries voldoen aan deze vereisten door security analisten in staat te stellen om uitgebreide analyses uit te voeren over endpointtelemetrie, bedreigingen te detecteren die door automatische systemen worden gemist, en forensische analyses uit te voeren om de volledige omvang van security incidenten te begrijpen. De uitgebreide logging van alle query uitvoeringen en resultaten ondersteunt ook A.12.4.1 (Logging - Security event logging) door alle threat hunting activiteiten te documenteren voor audit doeleinden.

Voor NIS2 zijn Advanced Hunting queries essentieel voor Artikel 23 (Incident handling - Proactieve bedreigingsdetectie), Artikel 21 (Cybersecurity risicobeheer - Threat hunting capabilities), en Artikel 10 (Beveiligingsmaatregelen - Security monitoring en analysis). NIS2 vereist dat essentiële en belangrijke entiteiten proactief security bedreigingen detecteren en snel reageren, waarbij Advanced Hunting queries kritiek zijn om aan deze vereisten te voldoen. De proactieve detectie van bedreigingen via Advanced Hunting queries en de snelle respons die mogelijk wordt gemaakt door custom detection rules, helpen organisaties om de MTTD te verkorten en de impact van incidenten te beperken, wat essentieel is voor NIS2 compliance.

Tot slot ondersteunen Advanced Hunting queries ook AVG compliance door snel te reageren op security incidenten die kunnen leiden tot datalekken. Artikel 33 (Meldplicht datalekken) vereist dat organisaties datalekken binnen 72 uur melden aan de toezichthouder, waarbij snelle detectie en containment essentieel zijn. Advanced Hunting queries helpen bij het snel detecteren en begrijpen van de volledige omvang van security incidenten die kunnen leiden tot datalekken, waardoor organisaties beter kunnen voldoen aan de meldplicht. Daarnaast ondersteunt de uitgebreide logging van alle query uitvoeringen en resultaten ook Artikel 30 (Register van verwerkingsactiviteiten) door alle threat hunting activiteiten te documenteren die relevant zijn voor gegevensbescherming.

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# .SYNOPSIS Microsoft Defender voor Endpoint: Advanced Hunting Queries en Threat Hunting .DESCRIPTION Configureert en monitort Advanced Hunting queries voor proactieve bedreigingsdetectie. Ondersteunt het uitvoeren van KQL queries, het maken van saved queries, en het configureren van custom detection rules op basis van Advanced Hunting queries. Implementeert proactieve threat hunting capabilities voor moderne bedreigingsdetectie. .NOTES Filename: advanced-hunting-queries.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-01-15 Last Modified: 2025-01-15 Version: 1.0 Related JSON: content/m365/defender-endpoint/advanced-hunting-queries.json .LINK https://github.com/[org]/m365-tenant-best-practise .EXAMPLE .\advanced-hunting-queries.ps1 -Monitoring Controleert of Advanced Hunting queries correct zijn geconfigureerd en monitort query performance .EXAMPLE .\advanced-hunting-queries.ps1 -Remediation Configureert Advanced Hunting queries en custom detection rules volgens best practices #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph, Microsoft.Graph.Security [CmdletBinding()] param( [Parameter()] [switch]$WhatIf, [Parameter()] [switch]$Monitoring, [Parameter()] [switch]$Remediation ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' # Configuratie $AdvancedHuntingEnabled = $true $CustomDetectionRulesEnabled = $true $SavedQueriesEnabled = $true function Connect-RequiredServices { <# .SYNOPSIS Verbindt met benodigde Microsoft services #> [CmdletBinding()] param() Write-Verbose "Controleren van Microsoft Graph verbinding..." try { $context = Get-MgContext -ErrorAction SilentlyContinue if (-not $context) { Write-Host "Verbinding maken met Microsoft Graph..." -ForegroundColor Yellow Connect-MgGraph -Scopes "SecurityEvents.ReadWrite.All", "SecurityActions.ReadWrite.All", "ThreatHunting.Read.All", "ThreatHunting.ReadWrite.All" -ErrorAction Stop Write-Host "Verbonden met Microsoft Graph" -ForegroundColor Green } else { Write-Verbose "Reeds verbonden met Microsoft Graph" } } catch { Write-Error "Kon niet verbinden met Microsoft Graph: $_" throw } Write-Verbose "Controleren van Microsoft Defender voor Endpoint verbinding..." try { # Check if Microsoft Defender for Endpoint module is available $defenderModule = Get-Module -ListAvailable -Name "Microsoft.Graph.Security" -ErrorAction SilentlyContinue if ($defenderModule) { Write-Verbose "Microsoft Graph Security module beschikbaar" } else { Write-Warning "Microsoft Graph Security module niet gevonden - sommige checks kunnen falen" } } catch { Write-Warning "Kon Defender voor Endpoint verbinding niet controleren: $_" } } function Test-AdvancedHuntingConfiguration { <# .SYNOPSIS Test of Advanced Hunting queries correct zijn geconfigureerd .OUTPUTS PSCustomObject met compliance resultaten #> [CmdletBinding()] param() Write-Verbose "Controleren van Advanced Hunting queries configuratie..." $results = @{ IsCompliant = $false AdvancedHuntingEnabled = $false CustomDetectionRulesConfigured = $false SavedQueriesConfigured = $false Issues = @() Recommendations = @() } try { Write-Host "`n Advanced Hunting Queries:" -ForegroundColor Cyan # Check if tenant has required licenses try { $orgInfo = Get-MgOrganization -ErrorAction Stop Write-Verbose "Tenant: $($orgInfo.DisplayName)" Write-Host " ✅ Microsoft Graph: Verbonden" -ForegroundColor Green } catch { Write-Warning "Kon tenant informatie niet ophalen: $_" $results.Issues += "Kon tenant informatie niet ophalen: $_" } # Check Advanced Hunting availability via Graph API try { # Note: Advanced Hunting is primarily accessed via the portal # Graph API access requires specific permissions and may be limited Write-Verbose "Controleren van Advanced Hunting beschikbaarheid..." Write-Host " ⚠️ Advanced Hunting: Vereist portal verificatie (security.microsoft.com → Hunting → Advanced hunting)" -ForegroundColor Yellow $results.Recommendations += "Verifieer Advanced Hunting toegang in security.microsoft.com → Hunting → Advanced hunting" } catch { Write-Warning "Kon Advanced Hunting status niet controleren: $_" $results.Issues += "Kon Advanced Hunting status niet controleren: $_" } # Check Custom Detection Rules availability try { Write-Verbose "Controleren van Custom Detection Rules beschikbaarheid..." Write-Host " ⚠️ Custom Detection Rules: Vereist portal verificatie (security.microsoft.com → Hunting → Custom detections)" -ForegroundColor Yellow $results.Recommendations += "Verifieer Custom Detection Rules toegang in security.microsoft.com → Hunting → Custom detections" } catch { Write-Warning "Kon Custom Detection Rules status niet controleren: $_" $results.Issues += "Kon Custom Detection Rules status niet controleren: $_" } # Provide recommendations based on best practices Write-Host "`n Aanbevelingen:" -ForegroundColor Cyan Write-Host " 1. Verifieer Advanced Hunting toegang in security.microsoft.com → Hunting → Advanced hunting" -ForegroundColor Yellow Write-Host " 2. Maak saved queries voor routine threat hunting scenario's" -ForegroundColor Yellow Write-Host " 3. Configureer custom detection rules op basis van Advanced Hunting queries" -ForegroundColor Yellow Write-Host " 4. Review Microsoft voorbeeldqueries als startpunt voor eigen queries" -ForegroundColor Yellow Write-Host " 5. Train security analisten in KQL (Kusto Query Language) syntax" -ForegroundColor Yellow Write-Host " 6. Document alle saved queries en custom detection rules" -ForegroundColor Yellow $results.Recommendations += "Start met Microsoft voorbeeldqueries voordat eigen queries worden geschreven" $results.Recommendations += "Test queries eerst op beperkt tijdsbereik (bijvoorbeeld laatste 24 uur) voor performance evaluatie" $results.Recommendations += "Optimaliseer query performance door filters toe te voegen die het aantal records beperken" $results.Recommendations += "Maak custom detection rules voor veelvoorkomende threat hunting scenario's" $results.Recommendations += "Review query resultaten regelmatig om false positives te identificeren en queries aan te passen" # Simplified compliance check # In production, implement actual configuration checks via appropriate APIs $results.IsCompliant = $results.Issues.Count -eq 0 } catch { Write-Error "Fout tijdens Advanced Hunting queries configuratie check: $_" $results.Issues += "Fout tijdens configuratie check: $_" $results.IsCompliant = $false } return $results } function Invoke-Monitoring { <# .SYNOPSIS Monitort de status van Advanced Hunting queries en query performance #> [CmdletBinding()] param() Write-Host "`nMonitoring: Advanced Hunting Queries" -ForegroundColor Yellow Write-Host "=====================================" -ForegroundColor Yellow $result = Test-AdvancedHuntingConfiguration Write-Host "`nResultaten:" -ForegroundColor Cyan if ($result.IsCompliant) { Write-Host " Status: ✅ BASISCONFIGURATIE OK" -ForegroundColor Green } else { Write-Host " Status: ⚠️ VERIFICATIE VEREIST" -ForegroundColor Yellow } if ($result.Issues.Count -gt 0) { Write-Host "`n Gevonden problemen:" -ForegroundColor Red foreach ($issue in $result.Issues) { Write-Host " - $issue" -ForegroundColor Red } } if ($result.Recommendations.Count -gt 0) { Write-Host "`n Aanbevelingen:" -ForegroundColor Cyan foreach ($recommendation in $result.Recommendations) { Write-Host " - $recommendation" -ForegroundColor Yellow } } Write-Host "`n Let op:" -ForegroundColor Yellow Write-Host " Advanced Hunting queries worden primair beheerd via de portal." -ForegroundColor Yellow Write-Host " Navigeer naar security.microsoft.com → Hunting → Advanced hunting" -ForegroundColor Yellow Write-Host " om queries uit te voeren, saved queries te maken, en custom detection rules te configureren." -ForegroundColor Yellow Write-Host "`n Monitoring Metrics:" -ForegroundColor Cyan Write-Host " - Controleer aantal bedreigingen gedetecteerd via Advanced Hunting queries" -ForegroundColor White Write-Host " - Review query execution times en performance metrics" -ForegroundColor White Write-Host " - Analyseer false positive rates en pas queries aan indien nodig" -ForegroundColor White Write-Host " - Monitor custom detection rules alerts en effectiviteit" -ForegroundColor White Write-Host " - Review saved queries gebruik en populariteit" -ForegroundColor White Write-Host " - Meet MTTD (Mean Time To Detect) voor bedreigingen gedetecteerd via queries" -ForegroundColor White Write-Host " - Analyseer welke query types het meest effectief zijn" -ForegroundColor White if ($result.IsCompliant) { Write-Host "`n✅ Advanced Hunting queries basischecks geslaagd" -ForegroundColor Green Write-Host " Verifieer volledige configuratie in de portal voor details" -ForegroundColor Yellow exit 0 } else { Write-Host "`n⚠️ Verificatie vereist - Controleer Advanced Hunting queries configuratie in de portal" -ForegroundColor Yellow exit 1 } } function New-AdvancedHuntingConfiguration { <# .SYNOPSIS Configureert Advanced Hunting queries volgens best practices #> [CmdletBinding()] param() Write-Verbose "Configureren van Advanced Hunting queries..." Write-Host "`nRemediatie: Advanced Hunting Queries Configuratie" -ForegroundColor Yellow Write-Host "=================================================" -ForegroundColor Yellow Write-Host "`n Belangrijke opmerking:" -ForegroundColor Yellow Write-Host " Advanced Hunting queries configuratie wordt primair" -ForegroundColor White Write-Host " beheerd via de Microsoft 365 Defender portal (security.microsoft.com)." -ForegroundColor White Write-Host " PowerShell automatisering voor directe query configuratie is beperkt." -ForegroundColor White Write-Host "" Write-Host " Configuratiestappen via Portal:" -ForegroundColor Cyan Write-Host "" Write-Host " 1. ADVANCED HUNTING ACCESS:" -ForegroundColor White Write-Host " - Navigeer naar security.microsoft.com → Hunting → Advanced hunting" -ForegroundColor Gray Write-Host " - Verifieer dat Advanced Hunting beschikbaar is voor uw licentie" -ForegroundColor Gray Write-Host " - Review Microsoft voorbeeldqueries als startpunt" -ForegroundColor Gray Write-Host "" Write-Host " 2. SAVED QUERIES:" -ForegroundColor White Write-Host " - Maak saved queries voor routine threat hunting scenario's" -ForegroundColor Gray Write-Host " - Document alle saved queries met beschrijvingen en gebruik" -ForegroundColor Gray Write-Host " - Deel saved queries met andere security analisten" -ForegroundColor Gray Write-Host " - Aanbevolen saved queries:" -ForegroundColor Gray Write-Host " • PowerShell-aanvallen detectie" -ForegroundColor Gray Write-Host " • Laterale beweging detectie" -ForegroundColor Gray Write-Host " • Data exfiltratie detectie" -ForegroundColor Gray Write-Host " • Privilege escalation detectie" -ForegroundColor Gray Write-Host " • Malware detectie met IOCs" -ForegroundColor Gray Write-Host "" Write-Host " 3. CUSTOM DETECTION RULES:" -ForegroundColor White Write-Host " - Navigeer naar security.microsoft.com → Hunting → Custom detections" -ForegroundColor Gray Write-Host " - Maak custom detection rules op basis van Advanced Hunting queries" -ForegroundColor Gray Write-Host " - Configureer severity levels (Informational, Low, Medium, High, Critical)" -ForegroundColor Gray Write-Host " - Wijs custom detection rules toe aan specifieke security analisten" -ForegroundColor Gray Write-Host " - Test custom detection rules voordat ze worden geactiveerd" -ForegroundColor Gray Write-Host "" Write-Host " 4. QUERY OPTIMALISATIE:" -ForegroundColor White Write-Host " - Test queries eerst op beperkt tijdsbereik (bijvoorbeeld laatste 24 uur)" -ForegroundColor Gray Write-Host " - Voeg filters toe die het aantal te analyseren records beperken" -ForegroundColor Gray Write-Host " - Selecteer alleen benodigde kolommen in plaats van alle kolommen" -ForegroundColor Gray Write-Host " - Optimaliseer joins tussen tabellen voor betere performance" -ForegroundColor Gray Write-Host " - Gebruik aggregaties in plaats van individuele records waar mogelijk" -ForegroundColor Gray Write-Host "" Write-Host " 5. KQL TRAINING:" -ForegroundColor White Write-Host " - Train security analisten in KQL (Kusto Query Language) syntax" -ForegroundColor Gray Write-Host " - Gebruik Microsoft KQL documentatie als referentie" -ForegroundColor Gray Write-Host " - Review Microsoft voorbeeldqueries om KQL patterns te leren" -ForegroundColor Gray Write-Host " - Oefen met het schrijven van queries voor verschillende scenario's" -ForegroundColor Gray Write-Host "" Write-Host " 6. MONITORING EN REPORTING:" -ForegroundColor White Write-Host " - Review query resultaten regelmatig om false positives te identificeren" -ForegroundColor Gray Write-Host " - Pas queries aan op basis van false positive analyses" -ForegroundColor Gray Write-Host " - Document alle query uitvoeringen en resultaten voor audit doeleinden" -ForegroundColor Gray Write-Host " - Genereer maandelijkse rapporten van gedetecteerde bedreigingen" -ForegroundColor Gray Write-Host " - Meet query performance metrics en optimaliseer indien nodig" -ForegroundColor Gray Write-Host "" Write-Host " Aanbevolen implementatievolgorde:" -ForegroundColor Cyan Write-Host " 1. Start met Microsoft voorbeeldqueries als startpunt" -ForegroundColor White Write-Host " 2. Pas voorbeeldqueries aan voor specifieke organisatiebehoeften" -ForegroundColor White Write-Host " 3. Maak saved queries voor routine threat hunting scenario's" -ForegroundColor White Write-Host " 4. Test queries op beperkt tijdsbereik voordat ze worden gebruikt voor productie" -ForegroundColor White Write-Host " 5. Maak custom detection rules op basis van effectieve queries" -ForegroundColor White Write-Host " 6. Review en optimaliseer queries regelmatig op basis van false positives" -ForegroundColor White Write-Host " 7. Document alle queries en custom detection rules voor compliance" -ForegroundColor White Write-Host "" if ($WhatIf) { Write-Host " [WhatIf] Zou configuratie-instructies genereren" -ForegroundColor Yellow Write-Host " [WhatIf] Zie bovenstaande stappen voor handmatige configuratie" -ForegroundColor Yellow return } Write-Host " PowerShell ondersteuning:" -ForegroundColor Cyan Write-Host " Dit script kan Advanced Hunting queries niet direct configureren via PowerShell." -ForegroundColor White Write-Host " Gebruik de bovenstaande stappen voor handmatige configuratie in de portal." -ForegroundColor White Write-Host "" Write-Host " Alternatief: Microsoft Graph Security API" -ForegroundColor Cyan Write-Host " Voor geavanceerde automatisering kan de Microsoft Graph Security API" -ForegroundColor White Write-Host " worden gebruikt voor bepaalde query operaties, maar dit vereist uitgebreide API-integratie." -ForegroundColor White Write-Host " Zie documentatie: https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview" -ForegroundColor White Write-Host "" Write-Host "✅ Configuratie-instructies gegenereerd" -ForegroundColor Green Write-Host " Volg de bovenstaande stappen om Advanced Hunting queries handmatig te configureren in de portal" -ForegroundColor Yellow exit 0 } function Invoke-Remediation { <# .SYNOPSIS Configureert Advanced Hunting queries #> [CmdletBinding()] param() New-AdvancedHuntingConfiguration } # ============================================================================ # MAIN EXECUTION # ============================================================================ try { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Advanced Hunting Queries" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan # Connect to services Connect-RequiredServices # Execute based on parameters if ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { Invoke-Remediation } else { # Default: Compliance check $result = Test-AdvancedHuntingConfiguration Write-Host "`n Advanced Hunting Queries Status:" -ForegroundColor Cyan if ($result.IsCompliant) { Write-Host "`n✅ BASISCONFIGURATIE OK" -ForegroundColor Green Write-Host " Verifieer volledige configuratie in security.microsoft.com" -ForegroundColor Yellow } else { Write-Host "`n⚠️ VERIFICATIE VEREIST" -ForegroundColor Yellow Write-Host "`nRun met -Monitoring voor gedetailleerde rapportage" -ForegroundColor Yellow Write-Host "Run met -Remediation voor configuratie-instructies" -ForegroundColor Yellow } if ($result.Recommendations.Count -gt 0) { Write-Host "`n Aanbevelingen:" -ForegroundColor Cyan foreach ($recommendation in $result.Recommendations) { Write-Host " • $recommendation" -ForegroundColor White } } return $result } } catch { Write-Error "Error: $_" throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder Advanced Hunting queries blijven moderne cyberbedreigingen zoals fileless malware, living-off-the-land aanvallen, zero-day exploits en geavanceerde persistente bedreigingen onopgemerkt totdat significante schade is aangericht. Gemiddeld duurt detectie van geavanceerde bedreigingen zonder proactieve threat hunting 207 dagen, terwijl Advanced Hunting queries dit reduceert tot minuten. Dit verschil is kritiek voor het beperken van de impact van security incidenten, wat gemiddeld €4.5 miljoen per data breach incident kost. Advanced Hunting queries zijn essentieel voor compliance met NIS2, BIO en ISO 27001 vereisten.

Management Samenvatting

Implementeer Advanced Hunting queries voor proactieve bedreigingsdetectie met KQL (Kusto Query Language) over endpointtelemetrie. Maak saved queries voor routine threat hunting scenario's en custom detection rules voor geautomatiseerde monitoring. Detecteer bedreigingen die door automatische systemen worden gemist zoals fileless malware, living-off-the-land aanvallen en APTs. Reduceer MTTD van dagen naar minuten. Voldoet aan CIS 7.1-7.2/8.1 (L1), BIO 12.01/12.03/17.1, ISO 27001 A.8.16/A.5.26, NIS2, AVG Artikel 33/30. Implementatie: 32 uur technisch + 40 uur voor training, governance en documentatie. CRITICAL voor proactieve threat hunting.