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. Můžete použít Kusto operátory a příkazy k vytvoření dotazů, které lokalizují informace ve specializovaném pokročilém lovecké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 porozumět základům dotazovacího jazyka Kusto v rozšířeném proaktivním vyhledávání, 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 v rozšířeném vyhledávání dotaz na podezřelé příkazy PowerShellu pro stahování

Na začátek dotazu jsme přidali krátký komentář, který popisuje účel dotazu. 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, po němž následuje několik prvků, které začínají znakem svislítka (|). V tomto příkladu začneme tím, že vytvoříme sjednocení dvou tabulek, DeviceProcessEvents a DeviceNetworkEvents, a podle potřeby přidáme prvky předávané pomocí roury.

union DeviceProcessEvents, DeviceNetworkEvents

Nastavení časového rozsahu

První prvek v pipeline je časový filtr omezený na předchozích sedm dní. Omezení časového rozsahu pomáhá zajistit, aby dotazy měly dobrý výkon, vracely zvládnutelné množství výsledků a aby nedocházelo k vypršení časového limitu.

| where Timestamp > ago(7d)

Poznámka

Časové filtry Kusto jsou v UTC bez ohledu na časové pásmo, které jste nastavili 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 tématu Práce 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 a dozvíte se, 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ý maximální 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) množiny různých hodnot, kterých Expr ve skupině nabývá.
find Najděte řádky, které odpovídají predikátu v sadě tabulek.

Chcete-li vidět živý příklad těchto operátorů, spusťte je v panelu Začít na stránce Pokročilé vyhledávání v portálu Microsoft Defender.

Pochopit datové typy

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í. 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 ("). Datový typ String
bool Tento datový typ podporuje true nebo false stavy. Podporované logické literály a operátory
int 32bitové celé číslo
long 64bitové celé číslo

Pro více informací o skalárních datových typech Kusto viz Kusto skalární datové typy.

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.

    Příklad spuštění více dotazů na stránce **Nový dotaz** na portálu Microsoft Defender

    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.

    Otevření nové karty výběrem možnosti Vytvořit nový v rozšířeném vyhledávání na portálu Microsoft Defender

    Pak můžete spouštět různé dotazy, aniž byste museli otevírat novou kartu prohlížeče.

    Spouštění různých dotazů bez opuštění stránky rozšířeného proaktivního vyhledávání na portálu Microsoft Defender

Poznámka

Používání více karet prohlížeče při pokročilém vyhledávání může způsobit, že přijdete o neuložené dotazy. Abyste tomu zabránili, použijte v rozšířeném vyhledávání funkci karet místo otevírání 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 spustit ukázkové dotazy v části Začínáme a provádět malé úpravy.

Část **Začínáme** na stránce **Rozšířené vyhledávání** na portálu Microsoft Defender

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, abyste mohli vyhledávat hrozby z 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 pomocí kroků v části Migrace pokročilých dotazů proaktivního vyhledávání z Microsoft Defender for Endpoint.

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.