Sdílet prostřednictvím


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í.

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 DeviceNetworkEventspodle 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.

    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ž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.

Čá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 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.

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.