De geavanceerde opsporingsquerytaal leren

Van toepassing op:

  • Microsoft Defender XDR

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

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")

Search voor 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.

Operator 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 Creatie berekende kolommen en voeg ze toe 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: verwijzing in de portal 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.

Een voorbeeld van het uitvoeren van meerdere query's op de pagina **Nieuwe query** in de Microsoft Defender-portal

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.

Een nieuw tabblad openen door Creatie nieuw te selecteren in geavanceerde opsporing in de Microsoft Defender-portal

U kunt vervolgens verschillende query's uitvoeren zonder ooit een nieuw browsertabblad te openen.

Voer verschillende query's uit zonder de geavanceerde opsporingspagina in de Microsoft Defender-portal te verlaten

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.

De sectie **Aan de slag** op de pagina **Geavanceerde opsporing** in de Microsoft Defender-portal

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.

Tip

Wil je meer weten? Engage met de Microsoft Security-community in onze Tech Community: Microsoft Defender XDR Tech Community.