Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La ricerca avanzata si basa su Kusto query language. Puoi usare operatori e istruzioni Kusto per costruire query che localizzano informazioni in uno schema di caccia avanzato specializzato.
Guardare questo breve video per apprendere alcune utili nozioni di base sul linguaggio di query Kusto.
Per comprendere le nozioni di base del linguaggio di query Kusto nella ricerca avanzata, esegui la prima query.
Provare la prima query
Nel portale di Microsoft Defender passare a Ricerca per eseguire la prima query. Usare l'esempio seguente:
// 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
Eseguire la query sospetta dei comandi di download di PowerShell nella ricerca avanzata
Descrivere la query e specificare le tabelle da cercare
All'inizio della query è stato aggiunto un commento breve per descrivere lo scopo della query. Questo commento è utile se in un secondo momento decidi di salvare la query e condividerla con altri utenti della tua organizzazione.
// Finds PowerShell execution events that could involve a download
La query stessa inizia in genere con un nome di tabella seguito da diversi elementi che iniziano con una pipe (|). In questo esempio si inizia creando un'unione di due tabelle, DeviceProcessEvents e DeviceNetworkEvents, e si aggiungono gli elementi con pipe in base alle esigenze.
union DeviceProcessEvents, DeviceNetworkEvents
Impostare l'intervallo di tempo
Il primo elemento nella pipeline è un filtro temporale limitato ai sette giorni precedenti. Il mantenimento dell'intervallo di tempo il più possibile ravvicinato assicura che le query vengano eseguite correttamente, restituiscano risultati gestibili e non si verifichino timeout.
| where Timestamp > ago(7d)
Nota
I filtri orari Kusto sono in UTC indipendentemente dal fuso orario che hai specificato nelle impostazioni del fuso orario.
Controllare processi specifici
L'intervallo di tempo è immediatamente seguito da una ricerca di nomi di file di processo che rappresentano l'applicazione PowerShell.
// Pivoting on PowerShell processes
| where FileName in~ ("powershell.exe", "powershell_ise.exe")
Cercare stringhe di comando specifiche
Successivamente, la query cerca le stringhe nelle righe di comando usate in genere per scaricare i file tramite PowerShell.
// Suspicious commands
| where ProcessCommandLine has_any("WebClient",
"DownloadFile",
"DownloadData",
"DownloadString",
"WebRequest",
"Shellcode",
"http",
"https")
Personalizzare le colonne e la lunghezza dei risultati
Ora che la query identifica chiaramente i dati da individuare, è possibile definire come appaiono i risultati.
project restituisce colonne specifiche e top limita il numero di risultati. Questi operatori consentono di garantire che i risultati siano ben formattati e ragionevolmente grandi e facili da elaborare.
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
FileName, ProcessCommandLine, RemoteIP, RemoteUrl, RemotePort, RemoteIPType
| top 100 by Timestamp
Selezionare Esegui query per visualizzare i risultati.
Consiglio
È possibile visualizzare i risultati delle query come grafici e regolare rapidamente i filtri. Per indicazioni, vedere Usare i risultati delle query
Scopri gli operatori di query comuni
È stata appena eseguita la prima query e si ha un'idea generale dei relativi componenti. È il momento di fare un passo indietro e imparare alcune nozioni di base. Il Linguaggio di query Kusto usato dalla ricerca avanzata supporta una gamma di operatori, tra cui i seguenti operatori comuni.
| Operatore | Descrizione e utilizzo |
|---|---|
where |
Filtrare una tabella nel sottoinsieme di righe che soddisfano un predicato. |
summarize |
Creare una tabella che aggrega il contenuto della tabella di input. |
join |
Unire le righe di due tabelle per creare una nuova tabella in base ai valori corrispondenti delle colonne specificate di ogni tabella. Guarda Unire tabelle in KQL per scoprire come fare. |
count |
Restituire il numero di record nel set di record di input. |
top |
Restituire i primi N record ordinati in base alle colonne specificate. |
limit |
Tornare al numero specificato di righe. |
project |
Selezionare le colonne da includere, rinominare o rilasciare e inserire nuove colonne calcolate. |
extend |
Creare colonne calcolate e accodarle al set di risultati. |
makeset |
Restituire una matrice dinamica (JSON) del set di valori distinti che Expr accetta nel gruppo. |
find |
Trovare le righe che corrispondono a un predicato in un set di tabelle. |
Per vedere un esempio in tempo reale di questi operatori, eseguili dal pannello Inizia nella pagina Advanced Hunting del portale Microsoft Defender.
Informazioni sui tipi di dati
La ricerca avanzata supporta i tipi di dati Kusto, tra cui i seguenti tipi comuni:
| Tipo di dati | Descrizione e implicazioni delle query |
|---|---|
datetime |
Informazioni su data e ora che in genere rappresentano i timestamp degli eventi. Formati supportati di data e ora |
string |
Stringa di caratteri in FORMATO UTF-8 racchiusa tra virgolette singole (') o doppie (").
Tipo di dati String |
bool |
Questo tipo di dati supporta true o false gli stati.
Valori letterali e operatori booleani supportati |
int |
Intero a 32 bit |
long |
Integer a 64 bit |
Per saperne di più sui tipi di dati scalari di Kusto, vedi Tipi di dati scalari di Kusto.
Ottenere assistenza nella scrittura delle query
Trarre vantaggio dalle seguenti funzionalità per scrivere query più velocemente:
- Suggerimenti automatici : durante la scrittura di query, la ricerca avanzata fornisce suggerimenti da IntelliSense.
- Albero dello schema - viene visualizzata accanto alla tua area di lavoro una rappresentazione dello schema che include l'elenco delle tabelle e delle relative colonne. Per altre informazioni, passare il puntatore su un elemento. Fare doppio clic su un elemento per inserirlo nell'editor di query.
-
Riferimento allo schema - riferimento nel portale con descrizioni delle tabelle e delle colonne, nonché tipi di evento supportati (valori
ActionType) e query di esempio
Lavorare con più query nell'editor
È possibile usare l'editor di query per sperimentare più query. Per usare più query:
Separare ogni query con una riga vuota.
Posizionare il cursore su qualsiasi parte di una query per selezionarla prima di eseguirla. Verrà eseguita solo la query selezionata. Per eseguire un'altra query, spostare il cursore di conseguenza e selezionare Esegui query.
Per uno spazio di lavoro più efficiente, è inoltre possibile più schede all'interno della stessa pagina di ricerca. Selezionare Nuova query per aprire una scheda per la nuova query.
È quindi possibile eseguire query diverse senza mai aprire una nuova scheda del browser.
Nota
L'uso di più schede del browser con ricerca avanzata potrebbe causare la perdita delle query non salvate. Per evitare che ciò accada, usare la funzionalità di tabulazioni all'interno della ricerca avanzata invece di schede del browser separate.
Usare query di esempio
La sezione Introduzione presenta alcune semplici query che impiegano operatori di uso comune. Provare a eseguire le query di esempio nella sezione Introduzione e apportare piccole modifiche.
Nota
Oltre agli esempi di query di base, è anche possibile accedere query condivise per specifici scenari di ricerca delle minacce. Esplorare le query condivise sul lato sinistro della pagina o il repository di query di GitHub.
Documentazione sul linguaggio di query di Access
Per altre informazioni sul linguaggio delle query di Esplora dati e sugli operatori supportati, vedere Documentazione sul linguaggio delle query di Esplora dati.
Nota
Alcune tabelle di questo articolo potrebbero non essere disponibili in Microsoft Defender per endpoint. Attivare Microsoft Defender per cercare minacce usando più origini dati. È possibile spostare i flussi di lavoro di ricerca avanzata da Microsoft Defender per endpoint a Microsoft Defender seguendo i passaggi descritti in Eseguire la migrazione di query di ricerca avanzata da Microsoft Defender per endpoint.
Contenuti correlati
- Panoramica della caccia avanzata
- Usare i risultati delle query
- Utilizzare le query condivise
- Cercare tra dispositivi, posta elettronica, app e identità
- Comprendere lo schema
- Applicare le procedure consigliate per le query
Consiglio
Vuoi saperne di più? Interagisci con la community Microsoft Security nella nostra Tech Community: Microsoft Defender XDR Tech Community.