Erlernen der Abfragesprache für die erweiterte Suche

Gilt für:

  • Microsoft Defender XDR

Die erweiterte Suche basiert auf der Kusto-Abfragesprache. Sie können Kusto-Operatoren und -Anweisungen verwenden, um Abfragen zu erstellen, die Informationen in einem spezialisierten Schema suchen.

Sehen Sie sich dieses kurze Video an, um einige praktische Grundlagen der Kusto-Abfragesprache zu erlernen.

Wenn Sie diese Konzepte besser verstehen möchten, führen Sie Ihre erste Abfrage aus.

Testen Ihrer ersten Abfrage

Wechseln Sie im Microsoft Defender-Portal zu Hunting, um Ihre erste Abfrage auszuführen. Verwenden Sie das folgende Beispiel:

// 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

Ausführen dieser Abfrage in der erweiterten Suche

Am Anfang der Abfrage wurde ein kurzer Kommentar hinzugefügt, um zu beschreiben, wofür sie dient. Dieser Kommentar ist hilfreich, wenn Sie sich später entscheiden, Ihre Abfrage zu speichern und sie für andere in Ihrer Organisation freizugeben.

// Finds PowerShell execution events that could involve a download

Die Abfrage selbst beginnt in der Regel mit einem Tabellennamen, gefolgt von mehreren Elementen, die mit einer Pipe (|) beginnen. In diesem Beispiel erstellen wir zunächst eine Vereinigung aus zwei Tabellen DeviceProcessEvents und DeviceNetworkEventsund fügen nach Bedarf pipedierte Elemente hinzu.

union DeviceProcessEvents, DeviceNetworkEvents

Festlegen des Zeitbereichs

Das erste weitergeleitete Element ist ein Zeitfilter, der auf die vorherigen sieben Tage festgelegt ist. Wenn Sie den Zeitabschnitt so eng wie möglich lassen, wird sichergestellt, dass Abfragen gut ausgeführt werden, überschaubare Ergebnisse zurückgeben werden und keine Zeitüberschreitungen auftreten.

| where Timestamp > ago(7d)

Hinweis

Kusto-Zeitfilter gelten unabhängig von der Zeitzone, die Sie in Ihren Einstellungen angegeben haben, in UTC.

Überprüfen bestimmter Prozesse

Auf den Zeitbereich folgt unmittelbar eine Suche nach Prozessdateinamen, die die PowerShell-Anwendung darstellen.

// Pivoting on PowerShell processes
| where FileName in~ ("powershell.exe", "powershell_ise.exe")

Suchen nach bestimmten Befehlszeichenfolgen

Anschließend sucht die Abfrage nach Zeichenfolgen in Befehlszeilen, die normalerweise zum Herunterladen von Dateien mithilfe von PowerShell verwendet werden.

// Suspicious commands
| where ProcessCommandLine has_any("WebClient",
    "DownloadFile",
    "DownloadData",
    "DownloadString",
    "WebRequest",
    "Shellcode",
    "http",
    "https")

Anpassen von Ergebnisspalten und -länge

Da die Abfrage nun die zu suchenden Daten eindeutig identifiziert, können Sie definieren, wie die Ergebnisse aussehen. project gibt bestimmte Spalten zurück und top begrenzt die Anzahl der Ergebnisse. Diese Operatoren tragen dazu bei, dass die Ergebnisse gut formatiert und angemessen groß und einfach zu verarbeiten sind.

| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
FileName, ProcessCommandLine, RemoteIP, RemoteUrl, RemotePort, RemoteIPType
| top 100 by Timestamp

Wählen Sie Abfrage ausführen aus, um die Ergebnisse anzuzeigen.

Tipp

Sie können Abfrageergebnisse als Diagramme anzeigen und Filter schnell anpassen. Anleitungen finden Sie unter Arbeiten mit Abfrageergebnissen.

Informationen zu gängigen Abfrageoperatoren

Sie haben gerade Ihre erste Abfrage ausgeführt und haben eine allgemeine Vorstellung von deren Komponenten. Es ist an der Zeit, ein wenig nachzuverfolgen und einige Grundlagen zu erlernen. Die von der erweiterten Suche verwendete Kusto-Abfragesprache unterstützt eine Reihe von Operatoren, darunter die folgenden allgemeinen Operatoren.

Operator Beschreibung und Verwendung
where Filtern einer Tabelle auf die Teilmenge von Zeilen, die einem Prädikat entsprechen.
summarize Erstellen einer Tabelle, in der die Inhalte der Eingabetabelle gesammelt werden.
join Zusammenführen der Zeilen von zwei Tabellen, um eine neue Tabelle zu erstellen, indem Werte der angegebenen Spalten aus jeder Tabelle zugeordnet werden. Weitere Informationen finden Sie unter Verknüpfen von Tabellen in KQL .
count Zurückgeben der Anzahl von Datensätzen im Eingabedatensatz.
top Zurückgeben der ersten n Einträge, sortiert anhand der angegebenen Spalten.
limit Zurückkehren nach oben zur angegebenen Zeilenanzahl.
project Auswählen der Spalten, um neue berechnete Spalten aufzunehmen, umzubenennen, zu löschen oder einzufügen.
extend Erstellen von berechneten Spalten und Anfügen an das Resultset.
makeset Zurückgeben eines dynamischen (JSON)-Arrays der Gruppe eindeutiger Werte, die der Ausdruck in der Gruppe verwendet.
find Suchen von Zeilen, die mit einem Prädikat über eine Reihe von Tabellen hinweg übereinstimmen.

Wenn Sie ein Beispiel für diese Operatoren sehen möchten, führen Sie diese im Abschnitt Erste Schritte in der erweiterten Suche aus.

Grundlegendes zu Datentypen

Die erweiterte Suche unterstützt Kusto-Datentypen, einschließlich der folgenden gängigen Typen:

Datentyp Beschreibung und Auswirkungen der Abfrage
datetime Daten- und Zeitinformationen, die in der Regel Ereigniszeitstempel darstellen. Unterstützte datetime-Formate anzeigen
string Zeichenfolge in UTF-8 in einfache Anführungszeichen (') oder doppelte Anführungszeichen (") eingeschlossen. Weitere Informationen zu Zeichenfolgen
bool Dieser Datentyp unterstützt die Zustände true oder false. Unterstützte Literale und Operatoren anzeigen
int 32-Bit-Ganzzahl
long 64-Bit-Ganzzahl

Weitere Informationen zu diesen Datentypen finden Sie unter Kusto-Skalardatentypen.

Hilfe beim Schreiben von Abfragen

Nutzen Sie die folgenden Funktionen, um Abfragen schneller zu schreiben:

  • Vorschlagssuche: Beim Schreiben von Abfragen bietet die erweiterte Suche Vorschläge von IntelliSense.
  • Schemastruktur: Eine Schemadarstellung, die die Liste der Tabellen und deren Spalten enthält, wird neben Ihrem Arbeitsbereich bereitgestellt. Wenn Sie weitere Informationen erhalten möchten, zeigen Sie mit dem Mauszeiger auf ein Element. Doppelklicken Sie auf ein Element, um es im Abfrage-Editor einzufügen.
  • Schemaverweis – Portalreferenz mit Tabellen- und Spaltenbeschreibungen sowie unterstützten Ereignistypen (ActionType Werten) und Beispielabfragen

Arbeiten mit mehreren Abfragen im Editor

Sie können den Abfrage-Editor verwenden, um mit mehreren Abfragen zu experimentieren. So verwenden Sie mehrere Abfragen:

  • Trennen Sie jede Abfrage durch eine leere Zeile.
  • Platzieren Sie den Cursor auf einem beliebigen Teil einer Abfrage, um diese Abfrage auszuwählen, bevor Sie sie ausführen. Dadurch wird nur die ausgewählte Abfrage ausgeführt. Um eine andere Abfrage auszuführen, bewegen Sie den Cursor entsprechend, und wählen Sie Abfrage ausführen aus.

Beispiel für die Ausführung mehrerer Abfragen auf der Seite **Neue Abfrage** im Microsoft Defender-Portal

Für einen effizienteren Arbeitsbereich können Sie auch mehrere Registerkarten auf derselben Hunting-Seite verwenden. Wählen Sie Neue Abfrage aus, um eine Registerkarte für Ihre neue Abfrage zu öffnen.

Öffnen einer neuen Registerkarte durch Auswählen von Create Neu in der erweiterten Suche im Microsoft Defender-Portal

Sie können dann verschiedene Abfragen ausführen, ohne jemals eine neue Browserregisterkarte zu öffnen.

Führen Sie verschiedene Abfragen aus, ohne die Seite für die erweiterte Suche im Microsoft Defender-Portal zu verlassen.

Hinweis

Die Verwendung mehrerer Browserregisterkarten mit erweiterter Suche kann dazu führen, dass Sie Ihre nicht gespeicherten Abfragen verlieren. Um dies zu verhindern, verwenden Sie das Registerkartenfeature in der erweiterten Suche anstelle separater Browserregisterkarten.

Verwenden von Beispielabfragen

Der Abschnitt Erste Schritte bietet einige einfache Abfragen mit häufig verwendeten Operatoren. Versuchen Sie, diese Abfragen auszuführen und kleine Änderungen daran vorzunehmen.

Abschnitt **Erste Schritte** auf der Seite **Erweiterte Suche** im Microsoft Defender-Portal

Hinweis

Abgesehen von den einfachen Abfragebeispielen können Sie auch auf freigegebene Abfragen für bestimmte Szenarien zur Bedrohungssuche zugreifen. Erkunden Sie die freigegebenen Abfragen auf der linken Seite oder im GitHub-Abfragerepository.

Zugreifen auf die Dokumentation zur Abfragesprache

Weitere Informationen zur Kusto-Abfragesprache und zu unterstützten Operatoren finden Sie unter Dokumentation zur Kusto-Abfragesprache.

Hinweis

Einige Tabellen in diesem Artikel sind in Microsoft Defender for Endpoint möglicherweise nicht verfügbar. Aktivieren Sie Microsoft Defender XDR, um mithilfe weiterer Datenquellen nach Bedrohungen zu suchen. Sie können Ihre Workflows für die erweiterte Suche von Microsoft Defender for Endpoint auf Microsoft Defender XDR verschieben, indem Sie die Schritte unter Migrieren von Abfragen für erweiterte Suche von Microsoft Defender for Endpoint ausführen.

Tipp

Möchten Sie mehr erfahren? Engage mit der Microsoft-Sicherheitscommunity in unserer Tech Community: Microsoft Defender XDR Tech Community.