Sdílet prostřednictvím


Vytváření úloh KQL v datovém jezeře Microsoft Sentinelu

Úlohy KQL jsou jednorázové nebo naplánované dotazy KQL na data v datovém jezeře Microsoft Sentinelu. Používejte úlohy pro vyšetřovací a analytické scénáře, například:

  • Dlouhotrvající jednorázové dotazy na vyšetřování incidentů a reakce na incidenty (IR)
  • Úlohy agregace dat, které podporují workflow pro obohacení pomocí záznamů s nízkou přesností
  • Historické skenování shody zpravodajských informací o hrozbách (TI) pro retrospektivní analýzu.
  • Detekční skeny anomálií, které identifikují neobvyklé vzory napříč několika tabulkami

Úlohy KQL jsou zvlášť efektivní, když dotazy používají spojení nebo sjednocení napříč různými datovými sadami.

Pomocí úloh můžete zvýšit úroveň dat z datového jezera na úroveň analýzy. Jakmile budete v analytické vrstvě, použijte k dotazování na data pokročilý editor KQL proaktivního vyhledávání. Zvýšení úrovně analýzy dat má následující výhody:

  • Kombinování aktuálních a historických dat v analytické vrstvě za účelem spouštění pokročilých analytických modelů a modelů strojového učení na vašich datech
  • Snižte náklady na dotazy spouštěním dotazů v analytické úrovni.
  • Zkombinujte data z více pracovních prostorů do jednoho pracovního prostoru v úrovni analýzy.
  • Kombinování dat Microsoft Entra ID, Microsoft 365 a Microsoft Resource Graphu v analytické úrovni za účelem spouštění pokročilých analýz napříč zdroji dat

Poznámka:

U úložiště v analytické vrstvě se účtují vyšší sazby fakturace než v datovém jezeře. Pokud chcete snížit náklady, zvyšte úroveň dat, která potřebujete analyzovat dále. Pomocí jazyka KQL v dotazu můžete promítnout jenom sloupce, které potřebujete, a filtrovat data, aby se snížil objem dat upřednostněných na analytickou úroveň.

Data můžete zvýšit na novou tabulku nebo připojit výsledky k existující tabulce v analytické vrstvě. Při vytváření nové tabulky je název tabulky příponou _KQL_CL , která označuje, že tabulku vytvořila úloha KQL.

Požadavky

K vytváření a správě úloh KQL v datovém jezeře Microsoft Sentinelu potřebujete následující požadavky.

Připojení k datovému jezeře

Pokud chcete vytvářet a spravovat úlohy KQL v datovém jezeře Microsoft Sentinelu, musíte se nejprve připojit k datovému jezeře. Další informace o onboardingu do datového jezera najdete v tématu Onboarding do datového jezera Microsoft Sentinelu.

Povolení

Role ID Microsoft Entra poskytují široký přístup napříč všemi pracovními prostory v datovém jezeře. Pokud chcete číst tabulky ve všech pracovních prostorech, zapisovat do úrovně analýzy a plánovat úlohy pomocí dotazů KQL, musíte mít jednu z podporovaných rolí ID Microsoft Entra. Další informace o rolích a oprávněních naleznete v rolích a oprávněních úložiště dat Microsoft Sentinel.

Pokud chcete vytvořit nové vlastní tabulky v analytické vrstvě, přiřaďte roli Přispěvatel Log Analytics v pracovním prostoru Log Analytics spravované identitě Data Lake.

Pokud chcete přiřadit roli, postupujte takto:

  1. Na webu Azure Portal přejděte do pracovního prostoru služby Log Analytics, ke kterému chcete roli přiřadit.
  2. V levém navigačním podokně vyberte Řízení přístupu (IAM ).
  3. Vyberte Přidat přiřazení rolí.
  4. V tabulce role vyberte *Přispěvatel Log Analytics a pak vyberte Další.
  5. Vyberte Spravovanou identitu a pak vyberte Vybrat členy.
  6. Spravovaná identita datového jezera je systémem přiřazená spravovaná identita s názvem msg-resources-<guid>. Vyberte spravovanou identitu a pak vyberte Vybrat.
  7. Vyberte Zkontrolovat a přiřadit.

Další informace o přiřazování rolí spravovaným identitám najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal.

Vytvořit pracovní pozici

Můžete vytvářet úlohy, které se mají spouštět podle plánu nebo jednorázově. Při vytváření úlohy zadáte cílový pracovní prostor a tabulku výsledků. Výsledky můžete napsat do nové tabulky nebo je připojit k existující tabulce v analytické vrstvě. Můžete vytvořit novou úlohu KQL nebo vytvořit úlohu ze šablony obsahující nastavení dotazu a úlohy. Další informace najdete v tématu Vytvoření úlohy KQL ze šablony.

  1. Spusťte proces vytváření úloh z editoru dotazů KQL nebo ze stránky správy úloh.

    1. Pokud chcete vytvořit úlohu z editoru dotazů KQL, vyberte tlačítko Vytvořit úlohu v pravém horním rohu editoru dotazů. Snímek obrazovky s tlačítkem vytvořit úlohu v editoru dotazů KQL

    2. Pokud chcete vytvořit úlohu ze stránky správy úloh, vyberte Microsoft Sentinel>zkoumání datových jezer>Úlohy, a pak vyberte tlačítko Vytvořit úlohu. Snímek obrazovky znázorňující tlačítko vytvořit úlohu na stránce správy úloh

  2. Zadejte název úlohy. Název úlohy musí být pro tenanta jedinečný. Názvy úloh můžou obsahovat až 256 znaků. Nemůžete použít # nebo - v názvu úlohy.

  3. Zadejte popis úlohy , který poskytuje kontext a účel úlohy.

  4. V rozevíracím seznamu Vybrat pracovní prostor vyberte cílový pracovní prostor. Tento pracovní prostor je ve vrstvě analýzy, ve které chcete napsat výsledky dotazu.

  5. Vyberte cílovou tabulku:

    1. Pokud chcete vytvořit novou tabulku, vyberte Vytvořit novou tabulku a zadejte název tabulky. Tabulky vytvořené úlohami KQL mají příponu _KQL_CL připojenou k názvu tabulky.

    2. Pokud chcete připojit k existující tabulce, vyberte Přidat do existující tabulky a v rozevíracím seznamu vyberte název tabulky. Při přidávání do existující tabulky musí výsledky dotazu odpovídat schématu existující tabulky.

  6. Vyberte Další. Snímek obrazovky zobrazující stránku s podrobnostmi o nové úloze

  7. Zkontrolujte nebo napište svůj dotaz na panelu Příprava dotazu . Zkontrolujte, jestli je výběr času nastavený na požadovaný časový rozsah pro úlohu, pokud v dotazu není zadaný rozsah dat.

  8. Vyberte pracovní prostory, pro které chcete spustit dotaz z rozevíracího seznamu Vybrané pracovní prostory . Tyto pracovní prostory jsou zdrojové pracovní prostory, jejichž tabulky chcete dotazovat. Vybrané pracovní prostory určují tabulky, které jsou k dispozici pro dotazování. Vybrané pracovní prostory se vztahují na všechny karty dotazů v editoru dotazů. Pokud používáte více pracovních prostorů, union() operátor se ve výchozím nastavení použije u tabulek se stejným názvem a schématem z různých pracovních prostorů. Použijte operátor workspace() k dotazování tabulky z konkrétního pracovního prostoru, například workspace("MyWorkspace").AuditLogs.

    Poznámka:

    Pokud píšete do existující tabulky, musí dotaz vrátit výsledky se schématem, které odpovídá schématu cílové tabulky. Pokud dotaz nevrací výsledky se správným schématem, úloha se po spuštění nezdaří.

  9. Vyberte Další.

    Snímek obrazovky s panelem revizí dotazu

    Na stránce Naplánovat úlohu dotazu vyberte, jestli chcete úlohu spustit jednou nebo podle plánu. Pokud vyberete Jednou, úloha se spustí okamžitě po dokončení definice. Pokud vyberete Plán, můžete určit datum a čas spuštění úlohy nebo spustit úlohu podle plánu opakování.

  10. Vyberte jednorázový nebo naplánovanou úlohu.

    Poznámka:

    Úprava jednorázové úlohy okamžitě aktivuje její spuštění.

  11. Pokud jste vybrali Plán, zadejte následující podrobnosti:

    1. V rozevíracím seznamu vyberte frekvenci opakování . Můžete vybrat podle minut, hodin,denně, týdně nebo měsíčně.
    2. Nastavte hodnotu Opakovat každou hodnotu pro to, jak často má úloha běžet s ohledem na vybranou frekvenci.
    3. V části Nastavit plán zadejte data a čas od . Čas zahájení úlohy v poli Od musí být alespoň 30 minut po vytvoření úlohy. Úloha se spustí od tohoto data a času podle četnosti vybrané v rozevíracím seznamu Spustit každé.
    4. Vyberte Datum a čas do pole To a určete, kdy se plán úlohy dokončí. Pokud chcete, aby časový plán pokračoval neomezeně, vyberte Nastavit úlohu pro neomezené spuštění.

    Časy od a do jsou nastaveny podle národního prostředí uživatele.

    Poznámka:

    Pokud plánujete spuštění úlohy s vysokou frekvencí, například každých 30 minut, musíte vzít v úvahu dobu potřebnou k tomu, aby data byla dostupná v datovém jezeře. Nově přijatá data jsou obvykle dostupná pro dotazování s latencí až 15 minut.

  12. Výběrem možnosti Další zkontrolujte podrobnosti úlohy.

    Snímek obrazovky s panelem úloh plánu

  13. Zkontrolujte podrobnosti o úloze a výběrem možnosti Odeslat vytvořte úlohu. Pokud je úloha jednorázová, spustí se po výběru Odeslat. Pokud je úloha naplánovaná, přidá se do seznamu úloh na stránce Úlohy a spustí se podle počátečních dat a času. Snímek obrazovky zobrazující panel podrobností revizní úlohy

  14. Úloha je naplánovaná a zobrazí se následující stránka. Úlohu můžete zobrazit výběrem odkazu. Snímek obrazovky znázorňující vytvořenou úlohu

Vytvoření úlohy ze šablony

Úlohu KQL můžete vytvořit z předdefinované šablony úlohy. Šablony úloh obsahují nastavení dotazů a úloh KQL, jako je cílový pracovní prostor a tabulka, plán a popis. Můžete vytvořit vlastní šablony úloh nebo použít předdefinované šablony poskytované Microsoftem.

Pokud chcete vytvořit úlohu ze šablony, postupujte takto:

  1. Na stránce Úlohy nebo editoru dotazů KQL vyberte Vytvořit úlohu a pak vyberte Vytvořit ze šablony.

  2. Na stránce Šablony úloh vyberte šablonu, kterou chcete použít, ze seznamu dostupných šablon.

  3. Zkontrolujte popis a KQL dotaz ze šablony.

  4. Vyberte Vytvořit úlohu ze šablony.

    Snímek obrazovky se stránkou šablon úloh

  5. Průvodce vytvořením úlohy se otevře se stránkou Vytvořit novou úlohu KQL. Podrobnosti úlohy byly předvyplněny ze šablony, kromě cílového pracovního prostoru.

  6. V rozevíracím seznamu Vybrat pracovní prostor vyberte cílový pracovní prostor.

  7. Podle potřeby zkontrolujte a upravte podrobnosti úlohy a pak výběrem možnosti Další pokračujte průvodce vytvořením úlohy.

  8. Zbývající kroky jsou stejné jako vytvoření nové úlohy. Pole jsou předem vyplněna ze šablony a je možné je podle potřeby upravit. Další informace najdete v tématu Vytvoření úlohy.

K dispozici jsou následující šablony:

Název šablony Kategorie
Zvýšený počet přihlášení z neobvyklých míst
Analýza trendu v protokolech přihlašování k Entra ID za účelem zjištění neobvyklých změn polohy pro uživatele napříč aplikacemi pomocí výpočtů trendových čar rozmanitosti umístění Zvýrazní nejlepší tři účty s nejprudším nárůstem proměnlivosti umístění a uvádí jejich přidružená místa v rámci 21denních oken.

Cílová tabulka: UserAppSigninLocationTrend

Doba zpětného vyhledávání: 1 den

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Vyhledávání
Neobvyklé chování přihlašování na základě změn umístění
Identifikujte anomální chování při přihlašování pro uživatele a aplikace Entra ID na základě změn polohy k odhalení náhlých změn v chování.

Cílová tabulka: UserAppSigninLocationAnomalies

Zpětné vyhledávání: 1 den

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Detekce anomálií
Audit vzácné aktivity podle aplikace
Vyhledejte aplikace, které provádějí vzácné akce (například souhlas, granty), které můžou tiše vytvářet oprávnění. Porovnejte aktuální den s posledních 14 dnů auditů a identifikujte nové aktivity auditu. Užitečné pro sledování škodlivých aktivit souvisejících s přidáváním nebo odebíráním uživatelů nebo skupin službami Azure Apps a automatizovanými schvalováními.

Cílová tabulka: AppAuditRareActivity

Retrospektiva dotazů: 14 dní

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Vyhledávání
Zřídkavé operace na úrovni předplatného Azure
Identifikace citlivých událostí na úrovni předplatného Azure na základě protokolů aktivit Azure Například monitorování na základě názvu operace "Vytvořit nebo aktualizovat snímek", který se používá k vytváření záloh, ale útočník může zneužít k výpisu hodnot hash nebo extrahování citlivých informací z disku.

Cílová tabulka: AzureSubscriptionSensitiveOps

Zpětné procházení dotazů: 14 dní

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Vyhledávání
Trend denní aktivity podle aplikace v AuditLogs
Od posledních 14 dnů identifikujte jakoukoli operaci souhlasu s aplikací, kterou provádí uživatel nebo aplikace. To může znamenat, že oprávnění pro přístup k aplikaci AzureApp byla poskytnuta škodlivému aktérovi. Souhlas s aplikací, přidání služebního účtu a přidání událostí Auth2PermissionGrant by měly být vzácné. Pokud je k dispozici, z AuditLogs se přidá další kontext založený na CorrleationId ze stejného účtu, který provedl souhlas s aplikací.

Cílová tabulka: AppAuditActivityBaseline

Doba sledování dotazů: 14 dní

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Základní linie
Trend denní polohy na uživatele nebo aplikaci v SignInLogs
Vytvářejte denní trendy pro všechna přihlášení uživatelů, počet míst a jejich využití aplikací.

Cílová tabulka: UserAppSigninLocationBaseline

Časová prodleva pro dotaz: 1 den

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Základní linie
Trend denního síťového provozu na cílovou IP adresu
Vytvořte referenční základnu včetně bajtů a jedinečných peerů pro detekci signalizace a exfiltrace.

Tabulka cíle: NetworkTrafficDestinationIPDailyBaseline

Zpětné vyhledávání dotazů: 1 den

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Základní linie
Trend denního síťového provozu na cílovou IP adresu se statistikami přenosu dat
Identifikujte interního hostitele, který dosáhl odchozího cíle, včetně trendů objemu a odhadu poloměru výbuchu.

Cílová tabulka: NetworkTrafficDestinationIPTrend

Zpětné vyhledávání dotazů: 1 den

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Vyhledávání
Trend denního síťového provozu na zdrojovou IP adresu
Vytvořte referenční základnu včetně bajtů a jedinečných uzlů pro zjištění a exfiltraci.

Cílová tabulka: NetworkTrafficSourceIPDailyBaseline

Retrospektiva dotazů: 1 den

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Základní linie
Trend denního síťového provozu na zdrojovou IP adresu se statistikami přenosu dat
Dnešní připojení a bajty se vyhodnocují oproti denní základní linii hostitele, aby bylo možné zjistit, jestli se pozorované chování výrazně odchyluje od zavedeného vzoru.

Cílová tabulka: NetworkTrafficSourceIPTrend

Zpětné vyhledávání dotazů: 1 den

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Vyhledávání
Trend denního umístění přihlašování podle uživatele a aplikace
Vytvořte směrný plán přihlašování pro každého uživatele nebo aplikaci s typickou geografickou a IP adresou, což umožňuje efektivní a nákladově efektivní detekci anomálií ve velkém měřítku.

Cílová tabulka: UserAppSigninLocationDailyBaseline

Doba zpětného zpracování dotazů: 1 den

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Základní linie
Trend provádění denních procesů
Identifikujte nové procesy a prevalenci, což usnadňuje detekci "nových vzácných procesů".

Cílová tabulka: EndpointProcessExecutionBaseline

Délka zpětného vyhledávání: 1 den

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Základní linie
Entra ID unikátního uživatelského agenta pro aplikaci
Vytvořte výchozí bod typu UserAgent (tj. prohlížeč, kancelářská aplikace atd.), který se obvykle používá pro konkrétní aplikaci, při pohledu zpět za několik dní. Potom vyhledá v aktuální den všechny odchylky od tohoto vzoru, tj. typy UserAgents, které nebyly dříve zaznamenány v kombinaci s touto aplikací.

Cílová tabulka: UserAppRareUserAgentAnomalies

Doba zpětného pohledu pro dotazy: 7 dní

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Detekce anomálií
Párování IOC v síťovém protokolu
Identifikujte všechny indikátory kompromitace IP (IOC) z threat intelligence (TI) vyhledáním shod v CommonSecurityLog.

Cílová tabulka: NetworkLogIOCMatches

Zpětné vyhledávání dotazů: 1 hodina

Plán: každou hodinu

Počáteční datum: Aktuální datum + 1 hodina
Vyhledávání
Nové procesy pozorované za posledních 24 hodin
Nové procesy ve stabilních prostředích můžou znamenat škodlivou aktivitu. Analýza přihlašovacích relací, ve kterých se tyto binární soubory spustily, vám můžou pomoct identifikovat útoky.

Cílová tabulka: EndpointNewProcessExecutions

Vyhledávání retroaktivně: 14 dní

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Vyhledávání
Operace se sharepointovými soubory prostřednictvím dříve nezoznaných IP adres
Identifikujte anomálie pomocí chování uživatele nastavením prahové hodnoty pro významné změny aktivit nahrávání a stahování souborů z nových IP adres. Vytvoří směrný plán typického chování, porovná ho s nedávnou aktivitou a označí odchylky překračující výchozí prahovou hodnotu 25.

Cílová tabulka: SharePointFileOpsNewIPs

Retrospektiva dotazů: 14 dní

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Vyhledávání
Palo Alto potenciální síťové signály
Identifikovat vzory beaconingu z protokolů o provozu Palo Alto Networks na základě opakujících se vzorů časových rozdílů. Dotaz používá různé funkce KQL k výpočtu časových rozdílů (časových deltas) a pak je porovná s celkovým počtem událostí pozorovaných za den, aby zjistil procento majákování.

Cílová tabulka: PaloAltoNetworkBeaconingTrend

Doba zpětného hledání dotazů: 1 den

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Vyhledávání
Podezřelé přihlášení windows mimo normální dobu
V porovnání s aktivitou přihlašování za posledních 14 dnů identifikujte neobvyklé události přihlášení windows mimo normální dobu uživatele a označte anomálie na základě historických vzorů.

Cílová tabulka: WindowsLoginOffHoursAnomalies

Retrospektiva dotazů: 14 dní

Plán: denně

Počáteční datum: Aktuální datum + 1 hodina
Detekce anomálií

Úvahy a omezení

Při vytváření úloh v datovém jezeře Microsoft Sentinel zvažte následující omezení a osvědčené postupy:

KQL

  • Všechny operátory a funkce KQL jsou podporovány s výjimkou následujících:

    • adx()
    • arg()
    • externaldata()
    • ingestion_time()
  • Při použití stored_query_results příkazu zadejte časový rozsah v dotazu KQL. Selektor času nad editorem dotazů s tímto příkazem nefunguje.

  • Uživatelem definované funkce se nepodporují.

Pracovní místa

  • Názvy úloh musí být pro tenanta jedinečné.
  • Názvy pracovních pozic můžou mít maximálně 256 znaků.
  • Názvy pracovních míst nesmí obsahovat # ani -.
  • Čas zahájení úlohy musí být alespoň 30 minut po vytvoření nebo úpravách úlohy.

Latence příjmu dat v data lake

Vrstva Data Lake ukládá data do studeného úložiště. Na rozdíl od horké nebo blízké úrovně analýzy v reálném čase je studené úložiště optimalizované pro dlouhodobé uchovávání a nákladovou efektivitu a neposkytuje okamžitý přístup k nově přijatým datům. Když se do existujících tabulek v datovém jezeře přidají nové řádky, je typická latence až 15 minut, než budou data k dispozici pro dotazování. Při spouštění dotazů a plánování úloh KQL zohledněte latenci při příjmu dat tím, že zajistíte, aby okna zpětného vyhledávání a plány úloh byly nastaveny tak, aby se vyhnuly práci s daty, která ještě nejsou dostupná.

Pokud se chcete vyhnout dotazování na data, která ještě nemusí být k dispozici, zahrňte do dotazů nebo úloh KQL parametr zpoždění. Například při plánování automatizovaných úloh nastavte koncový čas dotazu na now() - delay, kde delay odpovídá typické latenci připravenosti na data 15 minut. Tento přístup zajišťuje, že dotazy zaměřují pouze na data, která jsou plně zpracovaná a připravená k analýze.

let lookback = 15m;
let delay = 15m;
let endTime = now() - delay;
let startTime = endTime - lookback;
CommonSecurityLog
| where TimeGenerated between (startTime .. endTime)

Tento přístup je efektivní pro úlohy s krátkými okny zpětného vyhledávání nebo častými intervaly provádění.

Zvažte překrývání období zpětného vyhledávání s frekvencí úloh, abyste snížili riziko chybějících pozdních příchozích dat.

Další informace najdete v tématu Zpracování zpoždění příjmu dat v naplánovaných analytických pravidlech.

Názvy sloupců

Pro export se nepodporují následující standardní sloupce. Proces příjmu dat přepíše tyto sloupce v cílové vrstvě:

  • Identifikátor nájemce (TenantId)

  • _ČasPřijetí

  • Typ

  • SourceSystem

  • _ResourceId (ID zdroje)

  • _ID předplatného

  • _ItemId

  • _Fakturovaná velikost

  • _JeVyúčtovatelné

  • _WorkspaceId

  • TimeGenerated se přepíše, pokud je starší než dva dny. Pokud chcete zachovat původní čas události, napište zdrojové časové razítko do samostatného sloupce.

Omezení služeb najdete v tématu Omezení služby Data Lake služby Microsoft Sentinel.

Poznámka:

Částečné výsledky se můžou zvýšit, pokud dotaz úlohy překročí limit jedné hodiny.

Parametry a omezení služby pro úlohy KQL

Následující tabulka uvádí parametry a omezení služby pro úlohy KQL v datovém jezeře Microsoft Sentinelu.

Kategorie Parametr/omezení
Souběžné spouštění úloh pro nájemce 3
Vypršení časového limitu při vykonávání dotazu úlohy 1 hodina
Úlohy na tenanta (povolené úlohy) 100
Počet výstupních tabulek na úlohu 1
Rozsah dotazu Více pracovních prostorů
Časový rozsah dotazů Až 12 let

Tipy pro řešení potíží a chybové zprávy najdete v tématu Řešení potíží s dotazy KQL pro datové jezero Microsoft Sentinelu.