Seznámení s pokročilým dotazovacím jazykem proaktivního vyhledávání
Rozšířené proaktivní vyhledávání je založené na dotazovacím jazyce Kusto. Operátory a příkazy Kusto můžete použít k vytvoření dotazů, které vyhledá informace ve specializovaném schématu.
Podívejte se na toto krátké video, ve které se seznámíte se základy dotazovacího jazyka Kusto.
Pokud chcete tyto koncepty lépe pochopit, spusťte první dotaz.
Vyzkoušejte první dotaz.
Na portálu Microsoft Defender přejděte do části Proaktivní vyhledávání a spusťte první dotaz. Použijte následující příklad:
// 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
Spusťte tento dotaz v rozšířeném proaktivním vyhledávání.
Popište dotaz a zadejte tabulky, které se mají prohledávat.
Na začátek dotazu byl přidán krátký komentář, který popisuje, k čemu slouží. Tento komentář vám pomůže, když se později rozhodnete dotaz uložit a sdílet s ostatními uživateli ve vaší organizaci.
// Finds PowerShell execution events that could involve a download
Samotný dotaz obvykle začíná názvem tabulky následovaným několika prvky, které začínají kanálem (|
). V tomto příkladu začneme vytvořením sjednocení dvou tabulek DeviceProcessEvents
a a DeviceNetworkEvents
podle potřeby přidáme elementy s kanálem.
union DeviceProcessEvents, DeviceNetworkEvents
Nastavení časového rozsahu
První prvek s kanálem je časový filtr vymezený na předchozích sedm dnů. Omezení časového rozsahu pomáhá zajistit, aby dotazy fungovaly dobře, vracely spravovatelné výsledky a nevypadaly časový limit.
| where Timestamp > ago(7d)
Poznámka
Časové filtry Kusto jsou ve standardu UTC bez ohledu na časové pásmo, které jste zadali v nastavení.
Kontrola konkrétních procesů
Po časovém rozsahu okamžitě následuje hledání názvů souborů procesů představujících aplikaci PowerShellu.
// Pivoting on PowerShell processes
| where FileName in~ ("powershell.exe", "powershell_ise.exe")
Hledání konkrétních řetězců příkazů
Potom dotaz vyhledá řetězce na příkazových řádcích, které se obvykle používají ke stahování souborů pomocí PowerShellu.
// Suspicious commands
| where ProcessCommandLine has_any("WebClient",
"DownloadFile",
"DownloadData",
"DownloadString",
"WebRequest",
"Shellcode",
"http",
"https")
Přizpůsobení sloupců výsledků a délky
Když teď dotaz jasně identifikuje data, která chcete najít, můžete definovat, jak budou výsledky vypadat.
project
vrátí konkrétní sloupce a top
omezí počet výsledků. Tyto operátory pomáhají zajistit, aby výsledky byly dobře formátované, dostatečně velké a snadno se zpracovaly.
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
FileName, ProcessCommandLine, RemoteIP, RemoteUrl, RemotePort, RemoteIPType
| top 100 by Timestamp
Pokud chcete zobrazit výsledky, vyberte Spustit dotaz .
Tip
Výsledky dotazů můžete zobrazit jako grafy a rychle upravit filtry. Pokyny najdete v článku o práci s výsledky dotazů.
Seznámení s běžnými operátory dotazů
Právě jste spustili první dotaz a máte obecnou představu o jeho komponentách. Je čas trochu ustoupit a naučit se základy. Dotazovací jazyk Kusto používaný pokročilým proaktivním vyhledáváním podporuje řadu operátorů, včetně následujících běžných operátorů.
Operátor | Popis a použití |
---|---|
where |
Vyfiltrujte tabulku na podmnožinu řádků, které splňují predikát. |
summarize |
Vytvoří tabulku, která agreguje obsah vstupní tabulky. |
join |
Sloučením řádků dvou tabulek vytvoříte novou tabulku tak, že z každé tabulky shodíte hodnoty zadaných sloupců. Podívejte se na spojování tabulek v KQL , kde se dozvíte, jak na to. |
count |
Vrátí počet záznamů ve vstupní sadě záznamů. |
top |
Vrátí první N záznamů seřazených podle zadaných sloupců. |
limit |
Vrátí až zadaný počet řádků. |
project |
Vyberte sloupce, které chcete zahrnout, přejmenovat nebo odstranit a vložit nové počítané sloupce. |
extend |
Vytvořte počítané sloupce a připojte je k sadě výsledků. |
makeset |
Vrátí dynamické pole (JSON) sady jedinečných hodnot, které Výraz ve skupině převezme. |
find |
Najděte řádky, které odpovídají predikátu v sadě tabulek. |
Pokud chcete zobrazit živý příklad těchto operátorů, spusťte je v části Začínáme v rozšířeném proaktivním vyhledávání.
Principy datových typů
Rozšířené proaktivní vyhledávání podporuje datové typy Kusto, včetně následujících běžných typů:
Datový typ | Popis a důsledky dotazů |
---|---|
datetime |
Data a informace o čase obvykle představují časová razítka událostí. Projděte si podporované formáty data a času. |
string |
Řetězec znaků v UTF-8 uzavřený v jednoduchých uvozovkách (' ) nebo dvojitých uvozovkách (" ).
Další informace o řetězcích |
bool |
Tento datový typ podporuje true nebo false stavy.
Projděte si podporované literály a operátory. |
int |
32bitové celé číslo |
long |
64bitové celé číslo |
Další informace o těchto datových typech najdete v tématu Skalární datové typy Kusto.
Získání nápovědy při psaní dotazů
K rychlejšímu zápisu dotazů využijte následující funkce:
- Automatické návrhy – při psaní dotazů poskytuje rozšířené proaktivní vyhledávání návrhy z IntelliSense.
- Strom schématu – reprezentace schématu, která obsahuje seznam tabulek a jejich sloupců, je k dispozici vedle pracovní oblasti. Další informace získáte tak, že najedete myší na položku. Poklikáním na položku ji vložíte do editoru dotazů.
-
Referenční informace ke schématu – referenční informace na portálu s popisy tabulek a sloupců, podporované typy událostí (
ActionType
hodnoty) a ukázkové dotazy
Práce s více dotazy v editoru
Editor dotazů můžete použít k experimentování s více dotazy. Použití více dotazů:
Jednotlivé dotazy oddělte prázdným řádkem.
Před spuštěním dotazu umístěte kurzor na libovolnou část dotazu a vyberte ho. Tím se spustí jenom vybraný dotaz. Pokud chcete spustit další dotaz, přesuňte kurzor odpovídajícím způsobem a vyberte Spustit dotaz.
Pro efektivnější pracovní prostor můžete také použít více karet na stejné stránce proaktivního vyhledávání. Výběrem možnosti Nový dotaz otevřete kartu pro nový dotaz.
Pak můžete spouštět různé dotazy, aniž byste museli otevírat novou kartu prohlížeče.
Poznámka
Použití více karet prohlížeče s pokročilým proaktivním vyhledáváním může způsobit ztrátu neuložených dotazů. Pokud tomu chcete zabránit, použijte funkci karty v rámci rozšířeného vyhledávání místo samostatných karet prohlížeče.
Použití ukázkových dotazů
Část Začínáme obsahuje několik jednoduchých dotazů, které používají běžně používané operátory. Zkuste tyto dotazy spustit a provést v nich malé změny.
Poznámka
Kromě základních ukázek dotazů můžete také přistupovat ke sdíleným dotazům pro konkrétní scénáře proaktivního vyhledávání hrozeb. Prozkoumejte sdílené dotazy na levé straně stránky nebo úložiště dotazů GitHubu.
Dokumentace k dotazovacímu jazyku Accessu
Další informace o dotazovacím jazyce Kusto a podporovaných operátorech najdete v dokumentaci k dotazovacímu jazyku Kusto.
Poznámka
Některé tabulky v tomto článku nemusí být v Microsoft Defender for Endpoint dostupné. Zapněte Microsoft Defender XDR pro vyhledávání hrozeb s využitím více zdrojů dat. Pokročilé pracovní postupy proaktivního vyhledávání můžete přesunout z Microsoft Defender for Endpoint do Microsoft Defender XDR pomocí kroků v tématu Migrace dotazů rozšířeného proaktivního vyhledávání z Microsoft Defender for Endpoint.
Související témata
- Přehled rozšířeného proaktivní vyhledávání
- Práce s výsledky dotazu
- Použití sdílených dotazů
- Vyhledávání na různých zařízeních, v e-mailech, aplikacích a identitách
- Pochopení schématu
- Použití doporučených postupů pro dotazy
Tip
Chcete se dozvědět více? Spojte se s komunitou zabezpečení společnosti Microsoft v naší technické komunitě: Technická komunita Microsoft Defender XDR.