De geavanceerde opsporingsquerytaal leren
Geavanceerde opsporing is gebaseerd op de Kusto-querytaal. U kunt Kusto-operators en -instructies gebruiken om query's te maken waarmee informatie in een speciaal schema wordt gevonden.
Bekijk deze korte video voor meer informatie over enkele handige basisbeginselen van kusto-querytaal.
Voer uw eerste query uit om deze concepten beter te begrijpen.
Probeer uw eerste query
Ga in de Microsoft Defender-portal naar Opsporing om uw eerste query uit te voeren. Gebruik het volgende voorbeeld:
// Finds PowerShell execution events that could involve a download
union DeviceProcessEvents, DeviceNetworkEvents
| where Timestamp > ago(7d)
// Pivoting on PowerShell processes
| where FileName in~ ("powershell.exe", "powershell_ise.exe")
// Suspicious commands
| where ProcessCommandLine has_any("WebClient",
"DownloadFile",
"DownloadData",
"DownloadString",
"WebRequest",
"Shellcode",
"http",
"https")
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
FileName, ProcessCommandLine, RemoteIP, RemoteUrl, RemotePort, RemoteIPType
| top 100 by Timestamp
Deze query uitvoeren in geavanceerde opsporing
De query beschrijven en de tabellen opgeven om te zoeken
Er is een korte opmerking toegevoegd aan het begin van de query om te beschrijven waarvoor deze is bedoeld. Deze opmerking is handig als u de query later wilt opslaan en delen met anderen in uw organisatie.
// Finds PowerShell execution events that could involve a download
De query zelf begint meestal met een tabelnaam, gevolgd door verschillende elementen die beginnen met een pipe (|
). In dit voorbeeld beginnen we met het maken van een samenvoeging van twee tabellen, DeviceProcessEvents
en DeviceNetworkEvents
, en voegen we zo nodig doorsluisde elementen toe.
union DeviceProcessEvents, DeviceNetworkEvents
Het tijdsbereik instellen
Het eerste doorsluisde element is een tijdfilter dat is gericht op de vorige zeven dagen. Door het tijdsbereik te beperken, kunt u ervoor zorgen dat query's goed presteren, beheersbare resultaten retourneren en geen time-out optreedt.
| where Timestamp > ago(7d)
Opmerking
Kusto-tijdfilters zijn in UTC, ongeacht de tijdzone die u hebt opgegeven in uw instellingen.
Specifieke processen controleren
Het tijdsbereik wordt onmiddellijk gevolgd door een zoekopdracht naar procesbestandsnamen die de PowerShell-toepassing vertegenwoordigen.
// Pivoting on PowerShell processes
| where FileName in~ ("powershell.exe", "powershell_ise.exe")
Zoeken naar specifieke opdrachtreeksen
Daarna zoekt de query naar tekenreeksen in opdrachtregels die doorgaans worden gebruikt om bestanden te downloaden met behulp van PowerShell.
// Suspicious commands
| where ProcessCommandLine has_any("WebClient",
"DownloadFile",
"DownloadData",
"DownloadString",
"WebRequest",
"Shellcode",
"http",
"https")
Resultaatkolommen en lengte aanpassen
Nu uw query duidelijk de gegevens identificeert die u wilt zoeken, kunt u definiƫren hoe de resultaten eruitzien.
project
retourneert specifieke kolommen en top
beperkt het aantal resultaten. Deze operators helpen ervoor te zorgen dat de resultaten goed zijn opgemaakt en redelijk groot en gemakkelijk te verwerken zijn.
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
FileName, ProcessCommandLine, RemoteIP, RemoteUrl, RemotePort, RemoteIPType
| top 100 by Timestamp
Selecteer Query uitvoeren om de resultaten te bekijken.
Tip
U kunt queryresultaten weergeven als grafieken en filters snel aanpassen. Lees meer over het werken met queryresultaten voor hulp
Meer informatie over veelvoorkomende queryoperators
U hebt zojuist uw eerste query uitgevoerd en hebt een algemeen beeld van de onderdelen ervan. Het is tijd om iets terug te gaan en enkele basisbeginselen te leren. De Kusto-querytaal die wordt gebruikt door geavanceerde opsporing ondersteunt een reeks operatoren, waaronder de volgende algemene.
Bediener | Beschrijving en gebruik |
---|---|
where |
Filter een tabel op de subset rijen die voldoen aan een predicaat. |
summarize |
Een tabel produceren die de inhoud van de invoertabel samenvoegt. |
join |
Voeg de rijen van twee tabellen samen tot een nieuwe tabel door de waarden van de opgegeven kolom(en) uit elke tabel te vergelijken. Bekijk Tabellen samenvoegen in KQL voor meer informatie. |
count |
Retourneert het aantal records in de invoerrecordset. |
top |
Retourneer de eerste N-records gesorteerd op de opgegeven kolommen. |
limit |
Ga terug tot het opgegeven aantal rijen. |
project |
Selecteer de kolommen die u wilt opnemen, de naam ervan wilt wijzigen of verwijderen en voeg nieuwe berekende kolommen in. |
extend |
Berekende kolommen maken en toevoegen aan de resultatenset. |
makeset |
Retourneert een dynamische matrix (JSON) van de set afzonderlijke waarden die Expr in de groep gebruikt. |
find |
Rijen zoeken die overeenkomen met een predicaat in een set tabellen. |
Als u een livevoorbeeld van deze operatoren wilt zien, voert u ze uit vanuit de sectie Aan de slag in geavanceerde opsporing.
Meer informatie over gegevenstypen
Geavanceerde opsporing ondersteunt Kusto-gegevenstypen, waaronder de volgende veelvoorkomende typen:
Gegevenstype: | Beschrijving en query-implicaties |
---|---|
datetime |
Gegevens en tijdgegevens vertegenwoordigen doorgaans tijdstempels voor gebeurtenissen. Ondersteunde datum/tijd-indelingen bekijken |
string |
Tekenreeks in UTF-8 tussen enkele aanhalingstekens (' ) of dubbele aanhalingstekens (" ).
Meer informatie over tekenreeksen |
bool |
Dit gegevenstype ondersteunt true of false statussen.
Ondersteunde letterlijke gegevens en operators bekijken |
int |
32-bits geheel getal |
long |
64-bits geheel getal |
Meer informatie over deze gegevenstypen vindt u in Kusto scalaire gegevenstypen.
Hulp krijgen bij het schrijven van query's
Profiteer van de volgende functionaliteit om sneller query's te schrijven:
- Automatisch suggesties: terwijl u query's schrijft, biedt geavanceerde opsporing suggesties van IntelliSense.
- Schemastructuur : een schemaweergave die de lijst met tabellen en de bijbehorende kolommen bevat, wordt weergegeven naast uw werkgebied. Plaats de muisaanwijzer op een item voor meer informatie. Dubbelklik op een item om het in te voegen in de query-editor.
-
Schemaverwijzing - in-portalverwijzing met tabel- en kolombeschrijvingen, evenals ondersteunde gebeurtenistypen (
ActionType
waarden) en voorbeeldquery's
Werken met meerdere query's in de editor
U kunt de queryeditor gebruiken om te experimenteren met meerdere query's. Meerdere query's gebruiken:
Scheid elke query met een lege regel.
Plaats de cursor op een deel van een query om die query te selecteren voordat u deze uitvoert. Hiermee wordt alleen de geselecteerde query uitgevoerd. Als u een andere query wilt uitvoeren, verplaatst u de cursor dienovereenkomstig en selecteert u Query uitvoeren.
Voor een efficiƫntere werkruimte kunt u ook meerdere tabbladen op dezelfde opsporingspagina gebruiken. Selecteer Nieuwe query om een tabblad voor de nieuwe query te openen.
U kunt vervolgens verschillende query's uitvoeren zonder ooit een nieuw browsertabblad te openen.
Opmerking
Het gebruik van meerdere browsertabbladen met geavanceerde opsporing kan ertoe leiden dat u uw niet-opgeslagen query's kwijtraakt. Als u dit wilt voorkomen, gebruikt u de tabfunctie in geavanceerde opsporing in plaats van afzonderlijke browsertabbladen.
Voorbeeldquery's gebruiken
De sectie Aan de slag bevat enkele eenvoudige query's met behulp van veelgebruikte operators. Probeer deze query's uit te voeren en er kleine wijzigingen in aan te brengen.
Opmerking
Afgezien van de basisqueryvoorbeelden, hebt u ook toegang tot gedeelde query's voor specifieke scenario's voor het opsporen van bedreigingen. Verken de gedeelde query's aan de linkerkant van de pagina of de GitHub-queryopslagplaats.
Documentatie voor querytaal openen
Zie kusto-querytaaldocumentatie voor meer informatie over kusto-querytaal en ondersteunde operators.
Opmerking
Sommige tabellen in dit artikel zijn mogelijk niet beschikbaar in Microsoft Defender voor Eindpunt. Schakel Microsoft Defender XDR in om bedreigingen op te sporen met behulp van meer gegevensbronnen. U kunt uw geavanceerde opsporingswerkstromen van Microsoft Defender voor Eindpunt naar Microsoft Defender XDR verplaatsen door de stappen in Geavanceerde opsporingsquery's migreren van Microsoft Defender voor Eindpunt te volgen.
Verwante onderwerpen
- Overzicht van geavanceerd opsporen
- Werken met queryresultaten
- Gedeelde query's gebruiken
- Opsporen op apparaten en in e-mailberichten, apps en identiteiten
- Meer informatie over het schema
- Aanbevolen procedures voor query's toepassen
Tip
Wil je meer weten? Neem contact op met de Microsoft Beveiliging-community in onze Tech Community: Microsoft Defender XDR Tech Community.