Vytváření vlastních analytických pravidel pro detekci hrozeb

Poznámka

Azure Sentinel se teď nazývá Microsoft Sentinel a v nadcházejících týdnech budeme tyto stránky aktualizovat. Přečtěte si další informace o nedávných vylepšeních zabezpečení Microsoftu.

Po připojení zdrojů dat ke službě Microsoft Sentinel vytvořte vlastní analytická pravidla, která pomáhají zjišťovat hrozby a neobvyklé chování ve vašem prostředí.

Analytická pravidla vyhledávají konkrétní události nebo sady událostí ve vašem prostředí, upozorňují vás na dosažení určitých prahových hodnot událostí nebo podmínek, vygenerují incidenty pro váš SOC pro třídění a vyšetřování a reagují na hrozby pomocí automatizovaných procesů sledování a nápravy.

Tip

Při vytváření vlastních pravidel použijte existující pravidla jako šablony nebo odkazy. Použití existujících pravidel jako směrného plánu pomáhá tím, že před provedením jakýchkoli změn vytvoříte většinu logiky.

  • Vytvoření analytických pravidel
  • Definování způsobu zpracování událostí a upozornění
  • Definování způsobu generování výstrah a incidentů
  • Volba automatických odpovědí na hrozby pro vaše pravidla

Vytvoření vlastního analytického pravidla s naplánovaným dotazem

  1. V navigační nabídce Služby Microsoft Sentinel vyberte Analytics.

  2. Na panelu akcí nahoře vyberte +Vytvořit a vyberte Pravidlo naplánovaného dotazu. Tím se otevře průvodce analytickým pravidlem.

    Create scheduled query

Průvodce analytickým pravidlem – karta Obecné

  • Zadejte jedinečný název a popis.

  • V poli Taktiky a techniky si můžete vybrat z kategorií útoků, podle kterých chcete pravidlo klasifikovat. Jsou založeny na taktikách a technikách architektury MITRE ATT&CK .

    Incidenty vytvořené z výstrah, které jsou zjištěny pravidly mapovanými na taktiku a techniky MITRE ATT&CK, automaticky dědí mapování pravidla.

  • Podle potřeby nastavte závažnost výstrahy .

  • Když vytvoříte pravidlo, jeho stav je ve výchozím nastavení povolený , což znamená, že se spustí okamžitě po jeho vytvoření. Pokud nechcete, aby se spustil okamžitě, vyberte Zakázáno a pravidlo se přidá na kartu Aktivní pravidla a když ho budete potřebovat, můžete ho tam povolit.

    Start creating a custom analytics rule

Definování logiky dotazu pravidla a konfigurace nastavení

Na kartě Nastavit logiku pravidla můžete buď napsat dotaz přímo do pole dotazu pravidla , nebo vytvořit dotaz v Log Analytics a pak ho zkopírovat a vložit sem.

  • Dotazy se zapisují v jazyce KQL (Kusto Query Language). Přečtěte si další informace o konceptech a dotazech KQL a podívejte se na tuto praktickou příručku.

  • Příklad zobrazený na tomto snímku obrazovky se dotazuje na tabulku SecurityEvent a zobrazí typ neúspěšných událostí přihlášení Windows.

    Configure query rule logic and settings

  • Tady je další ukázkový dotaz, který vás upozorní, když se v aktivitě Azure vytvoří neobvyklý počet prostředků.

    AzureActivity
    | where OperationName == "Create or Update Virtual Machine" or OperationName =="Create Deployment"
    | where ActivityStatus == "Succeeded"
    | make-series dcount(ResourceId)  default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller
    

    Důležité

    Doporučujeme, aby váš dotaz používal parsátor ADVANCED Security Information Model (ASIM) a ne nativní tabulku. Tím zajistíte, aby dotaz podporoval jakýkoli aktuální nebo budoucí relevantní zdroj dat místo jednoho zdroje dat.

    Poznámka

    Osvědčené postupy pro dotazy pravidel:

    • Délka dotazu by měla být 1 až 10 000 znaků a nesmí obsahovat "search *" nebo "union *". Pomocí uživatelem definovaných funkcí můžete překonat omezení délky dotazu.

    • Použití funkcí ADX k vytváření dotazů Azure Data Explorer v okně dotazu Log Analytics se nepodporuje.

    • Při použití bag_unpack funkce v dotazu, pokud promítnete sloupce jako pole pomocí "project field1" a sloupec neexistuje, dotaz selže. Pokud chcete před tímto děním předcházet, musíte sloupec projektovat následujícím způsobem:

      • project field1 = column_ifexists("field1","")

Obohacení výstrah

  • Pomocí oddílu konfigurace mapování entit namapujte parametry z výsledků dotazu na entity rozpoznané službou Microsoft Sentinel. Entity vylepšují výstup pravidel (výstrahy a incidenty) základními informacemi, které slouží jako stavební bloky všech vyšetřovacích procesů a nápravných akcí, které následují. Jsou to také kritéria, podle kterých můžete výstrahy seskupit do incidentů na kartě Nastavení incidentu .

    Přečtěte si další informace o entitách v Microsoft Sentinelu.

    Podrobné pokyny k mapování entit najdete v tématu Mapování datových polí na entity v Microsoft Sentinelu a důležité informace o omezeních a zpětné kompatibilitě.

  • Pomocí oddílu Konfigurace vlastních podrobností můžete extrahovat položky dat událostí z dotazu a zobrazit je v výstrahách vytvořených tímto pravidlem a zajistit tak okamžité viditelnosti obsahu událostí ve vašich výstrahách a incidentech.

    Přečtěte si další informace o procházení vlastních podrobností v upozorněních a projděte si kompletní pokyny.

  • V části Konfigurace podrobností výstrahy můžete přizpůsobit podrobnosti prezentace výstrahy jeho skutečnému obsahu. Podrobnosti výstrah umožňují zobrazit například IP adresu útočníka nebo název účtu v názvu samotného upozornění, takže se zobrazí ve frontě incidentů, což vám poskytne mnohem bohatší a jasnější představu o vaší krajině hrozeb.

    Projděte si úplné pokyny k přizpůsobení podrobností výstrahy.

Poznámka

Limit velikosti pro celou výstrahu je 64 kB.

  • Výstrahy, které se zvětšují o více než 64 kB, se zkrátí. Jak jsou entity identifikovány, přidají se do výstrahy o jednu po druhé, dokud velikost výstrahy nedosáhne 64 kB a všechny zbývající entity se z výstrahy vyřadí.

  • Další rozšíření výstrah také přispívají k velikosti výstrahy.

  • Pokud chcete zmenšit velikost upozornění, pomocí operátoru project-away v dotazu odeberte všechna nepotřebná pole. (Pokud je potřeba zachovat jenom několik polí, zvažte také project operátor.)

Prahová hodnota plánování dotazů a upozornění

  • V části Plánování dotazů nastavte následující parametry:

    Set query schedule and event grouping

    • Nastavte spustit dotaz každý , abyste mohli řídit, jak často se dotaz spouští – tak často jako každých 5 minut nebo méně často jako jednou každých 14 dnů.

    • Nastavte vyhledávací data z poslední doby tak, aby určila časové období dat, na která se dotaz vztahuje, například může dotazovat posledních 10 minut dat nebo posledních 6 hodin dat. Maximum je 14 dní.

      Poznámka

      Intervaly dotazů a období zpětného vyhledávání

      Tato dvě nastavení jsou nezávislá na sobě, až do bodu. Dotaz můžete spustit v krátkém intervalu, který pokrývá časové období delší než interval (v důsledku překrývajících se dotazů), ale dotaz nelze spustit v intervalu, který překročí období pokrytí, jinak budete mít mezery v celkovém pokrytí dotazů. >>Zpoždění >>příjmu dat Pokud chcete zohlednit latenci, která může nastat mezi generováním události ve zdroji a příjmem dat do Microsoft Sentinelu, a zajistit úplné pokrytí bez duplicitních dat, spustí Microsoft Sentinel naplánovaná analytická pravidla na pětiminutovém zpoždění od naplánovaného času. >> Další informace najdete v tématu Zpracování zpoždění příjmu dat v plánovaných analytických pravidlech.

  • V části Prahová hodnota upozornění můžete definovat úroveň citlivosti pravidla. Pokud například chcete, aby pravidlo vygenerovalo upozornění, když počet výsledků dotazu je větší než a zadejte číslo 1000, pokud chcete, aby pravidlo vygenerovalo výstrahu pouze v případě, že dotaz vrátí více než 1000 výsledků při každém spuštění. Jedná se o povinné pole, takže pokud nechcete nastavit prahovou hodnotu – to znamená, že pokud chcete, aby upozornění registrovali každou událost – zadejte do číselného pole hodnotu 0.

Simulace výsledků

V oblasti simulace výsledků v pravém rohu průvodce vyberte Test s aktuálními daty a Microsoft Sentinel zobrazí graf výsledků (událostí protokolu), které by dotaz vygeneroval za posledních 50krát, podle aktuálně definovaného plánu. Pokud dotaz upravíte, znovu vyberte Test s aktuálními daty a aktualizujte graf. Graf zobrazuje počet výsledků v definovaném časovém období, které určuje nastavení v části Plánování dotazů .

Tady je postup, jak může simulace výsledků vypadat pro dotaz na snímku obrazovky výše. Levá strana je výchozí zobrazení a pravá strana je to, co vidíte, když na graf najedete myší na bod v čase.

Results simulation screenshots

Pokud se zobrazí, že dotaz aktivuje příliš mnoho nebo příliš časté výstrahy, můžete experimentovat s nastavením v částech Plánování dotazů a Prahová hodnota upozornění a znovu vybrat Test s aktuálními daty.

Seskupení událostí a potlačení pravidel

  • V části Seskupení událostí zvolte jeden ze dvou způsobů, jak zpracovat seskupení událostí do výstrah:

    • Seskupte všechny události do jednoho upozornění (výchozí nastavení). Pravidlo pokaždé, když se spustí, vygeneruje jedno upozornění, pokud dotaz vrátí více výsledků než zadaná prahová hodnota upozornění výše. Výstraha obsahuje souhrn všech událostí vrácených ve výsledcích.

    • Aktivovat upozornění pro každou událost: Pravidlo vygeneruje jedinečnou výstrahu pro každou událost vrácenou dotazem. To je užitečné, pokud chcete, aby se události zobrazovaly jednotlivě, nebo pokud je chcete seskupit podle určitých parametrů – podle uživatele, názvu hostitele nebo jiného. Tyto parametry můžete definovat v dotazu.

      Počet výstrah, které může pravidlo vygenerovat, je v současné době omezeno na 150. Pokud v konkrétním pravidle je seskupení událostí nastaveno tak, aby aktivovalo upozornění pro každou událost a dotaz pravidla vrátí více než 150 událostí, každý z prvních 149 událostí vygeneruje jedinečnou výstrahu a 150. výstraha shrnuje celou sadu vrácených událostí. Jinými slovy, 150. výstraha je to, co by se vygenerovalo v rámci skupiny všech událostí do jedné možnosti upozornění .

      Pokud zvolíte tuto možnost, Microsoft Sentinel přidá do výsledků dotazu nové pole OriginalQuery. Tady je porovnání existujícího pole Dotazu a nového pole:

      Název pole Contains Spuštění dotazu v tomto poli
      výsledkem je...
      Dotaz Komprimovaný záznam události, která vygenerovala tuto instanci výstrahy Událost, která vygenerovala tuto instanci výstrahy
      OriginalQuery Původní dotaz napsaný v analytickém pravidle Poslední událost v časovém rámci, ve kterém se dotaz spouští, odpovídá parametrům definovaným dotazem.

      Jinými slovy, pole OriginalQuery se chová jako pole Dotaz obvykle chová. Výsledkem tohoto dalšího pole je, že byl vyřešen problém popsaný první položkou v části Řešení potíží níže.

    Poznámka

    Jaký je rozdíl mezi událostmi a upozorněními?

    • Událost je popis jednoho výskytu akce. Například jedna položka v souboru protokolu by se mohla spočítat jako událost. V tomto kontextu událost odkazuje na jeden výsledek vrácený dotazem v analytickém pravidle.

    • Výstraha je kolekce událostí, které jsou společně významné z hlediska zabezpečení. Výstraha může obsahovat jednu událost, pokud by událost měla významný dopad na zabezpečení – například přihlášení správce z cizí země mimo pracovní dobu.

    • Co jsou incidenty? Interní logika služby Microsoft Sentinel vytváří incidenty z výstrah nebo skupin výstrah. Fronta incidentů je ústředním bodem práce analytiků SOC – třídění, vyšetřování a náprava.

    Microsoft Sentinel ingestuje nezpracované události z některých zdrojů dat a již zpracovávané výstrahy od ostatních. Je důležité si uvědomit, s kým pracujete kdykoli.

  • V části Potlačení můžete po vygenerování upozornění zapnout nastavení Zastavit spuštění dotazu, pokud po získání upozornění chcete pozastavit operaci tohoto pravidla po dobu delší než interval dotazu. Pokud tuto možnost zapnete, musíte nastavit možnost Zastavit spuštění dotazu na dobu, po kterou by měl dotaz přestat běžet, až 24 hodin.

Konfigurace nastavení vytváření incidentů

Na kartě Incident Nastavení můžete zvolit, jestli a jak Služba Microsoft Sentinel mění výstrahy na incidenty, které je možné provést. Pokud je tato karta ponechána samostatně, Microsoft Sentinel vytvoří jeden, samostatný incident od každého upozornění a každé výstrahy. Pokud chcete vytvořit žádné incidenty, nebo seskupit několik výstrah do jednoho incidentu, můžete změnit nastavení na této kartě.

Příklad:

Define the incident creation and alert grouping settings

Nastavení incidentu

V části Nastavení incidentu je vytvoření incidentů z výstrah aktivovaných tímto analytickým pravidlem ve výchozím nastavení nastaveno na Povoleno, což znamená, že Microsoft Sentinel vytvoří jeden, samostatný incident od každého a každé výstrahy aktivované pravidlem.

  • Pokud nechcete, aby toto pravidlo vedlo k vytvoření jakýchkoli incidentů (například pokud toto pravidlo stačí shromáždit informace pro následnou analýzu), nastavte toto nastavení na Zakázáno.

  • Pokud chcete vytvořit jeden incident ze skupiny výstrah, místo jednoho pro každou jednu výstrahu, přečtěte si další část.

Seskupení výstrah

Pokud chcete, aby se jeden incident vygeneroval ze skupiny až 150 podobných nebo opakovaných výstrah (viz poznámka), nastavte upozornění související se skupinou, aktivovanou tímto analytickým pravidlem, do incidentů na Povoleno a nastavte následující parametry.

  • Omezit skupinu na výstrahy vytvořené v rámci vybraného časového rámce: Určete časový rámec, ve kterém budou podobná nebo opakovaná upozornění seskupována dohromady. Všechny odpovídající výstrahy v tomto časovém rámci společně vygenerují incident nebo sadu incidentů (v závislosti na níže uvedeném nastavení seskupení). Výstrahy mimo tento časový rámec vygenerují samostatný incident nebo sadu incidentů.

  • Seskupit výstrahy aktivované tímto analytickým pravidlem do jednoho incidentu: Zvolte základ, podle kterého budou výstrahy seskupené:

    Možnost Popis
    Seskupení výstrah do jednoho incidentu, pokud se všechny entity shodují Výstrahy jsou seskupené, pokud sdílejí stejné hodnoty pro jednotlivé mapované entity (definované na kartě Nastavit logiku pravidla výše). Toto je doporučené nastavení.
    Seskupte všechna upozornění aktivovaná tímto pravidlem do jednoho incidentu. Všechna upozornění generovaná tímto pravidlem jsou seskupené dohromady, i když sdílejí žádné stejné hodnoty.
    Seskupení výstrah do jednoho incidentu, pokud se vybrané entity a podrobnosti shodují Výstrahy jsou seskupené, pokud sdílejí stejné hodnoty pro všechny mapované entity, podrobnosti výstrahy a vlastní podrobnosti vybrané v příslušných rozevíracích seznamech.

    Toto nastavení můžete chtít použít, pokud například chcete vytvořit samostatné incidenty na základě zdrojových nebo cílových IP adres, nebo pokud chcete seskupit výstrahy odpovídající konkrétní entitě a závažnosti.

    Poznámka: Když vyberete tuto možnost, musíte mít pro pravidlo vybraný alespoň jeden typ entity nebo pole. V opačném případě se ověření pravidla nezdaří a pravidlo se nevytvořilo.
  • Znovu otevřít uzavřené odpovídající incidenty: Pokud se incident vyřešil a zavřel, a později se vygeneruje další výstraha, která by měla patřit do tohoto incidentu, nastavte toto nastavení na Povoleno , pokud chcete, aby se zavřený incident znovu otevřel, a pokud chcete, aby výstraha vytvořila nový incident, ponechte jako Zakázáno .

    Poznámka

    Do jednoho incidentu je možné seskupit až 150 výstrah. Pokud se vygeneruje více než 150 výstrah, které je seskupí do jednoho incidentu, vygeneruje se nový incident se stejnými podrobnostmi incidentu jako původní a nadbytečná upozornění se seskupí do nového incidentu.

Nastavení automatizovaných odpovědí a vytvoření pravidla

  1. Na kartě Automatizované odpovědi můžete nastavit automatizaci na základě upozornění nebo výstrah generovaných tímto analytickým pravidlem nebo na základě incidentu vytvořeného výstrahami.

    • Pro automatizaci založenou na výstrahách vyberte v rozevíracím seznamu v části Automatizace upozornění všechny playbooky, které chcete spustit automaticky při vygenerování výstrahy.

    • V případě automatizace založené na incidentech zobrazuje mřížka zobrazená v části Automatizace incidentů pravidla automatizace , která se už vztahují na toto analytické pravidlo (na základě toho splňuje podmínky definované v těchto pravidlech). Libovolnou z těchto možností můžete upravit tak, že vyberete tři tečky na konci každého řádku. Nebo můžete vytvořit nové pravidlo automatizace.

      Playbooky (založené na triggeru incidentu) můžete volat z těchto pravidel automatizace a automatizovat třídění, přiřazení a uzavření.

    • Další informace a pokyny k vytváření playbooků a pravidel automatizace najdete v tématu Automatizace odpovědí na hrozby.

    • Další informace o tom, kdy použít trigger výstrahy nebo trigger incidentu, najdete v tématu Použití triggerů a akcí v playbookech Microsoft Sentinelu.

    Define the automated response settings

  2. Výběrem možnosti Zkontrolovat a vytvořit zkontrolujte všechna nastavení nového pravidla upozornění. Jakmile se zobrazí zpráva Ověření bylo předáno, vyberte Vytvořit , abyste inicializovali pravidlo upozornění.

    Review all settings and create the rule

Zobrazení pravidla a jeho výstupu

  • Nově vytvořené vlastní pravidlo (typu Naplánovano) najdete v tabulce na kartě Aktivní pravidla na hlavní obrazovce Analýzy . V tomto seznamu můžete povolit, zakázat nebo odstranit každé pravidlo.

  • Pokud chcete zobrazit výsledky pravidel upozornění, která vytvoříte, přejděte na stránku Incidenty , kde můžete určit, prozkoumat incidenty a napravit hrozby.

  • Dotaz pravidla můžete aktualizovat tak, aby vyloučil falešně pozitivní výsledky. Další informace najdete v tématu Zpracování falešně pozitivních výsledků v Microsoft Sentinelu.

Poznámka

Výstrahy generované v Microsoft Sentinelu jsou k dispozici prostřednictvím služby Microsoft Graph Security. Další informace najdete v dokumentaci k upozorněním zabezpečení společnosti Microsoft Graph.

Export pravidla do šablony ARM

Pokud chcete zabalit pravidlo, které se má spravovat a nasazovat jako kód, můžete pravidlo snadno exportovat do šablony Azure Resource Manageru (ARM). Pravidla můžete také importovat ze souborů šablon, abyste je mohli zobrazit a upravit v uživatelském rozhraní.

Řešení potíží

Problém: Ve výsledcích dotazu se nezobrazují žádné události

Když je seskupení událostí nastavené tak, aby aktivovalo upozornění pro každou událost, může se zobrazit, že výsledky dotazu zobrazené později chybí nebo se liší od očekávání. Výsledky dotazu můžete například zobrazit později, když jste se vrátili zpět k výsledkům souvisejícího incidentu.

  • Výsledky se automaticky ukládají s upozorněními. Pokud jsou ale výsledky příliš velké, neuloží se žádné výsledky a při dalším zobrazení výsledků dotazu se nezobrazí žádná data.
  • V případech, kdy dochází ke zpoždění příjmu dat nebo dotaz není deterministický kvůli agregaci, může být výsledek výstrahy jiný než výsledek zobrazený ručním spuštěním dotazu.

Poznámka

Tento problém byl vyřešen přidáním nového pole OriginalQuery k výsledkům při výběru této možnosti seskupení událostí. Viz výše uvedený popis .

Problém: Naplánované pravidlo se nepodařilo spustit nebo je k jeho názvu přidaný text AUTO DISABLED.

Jedná se o vzácný výskyt, kdy se naplánované pravidlo dotazu nepodaří spustit, ale může k němu dojít. Služba Microsoft Sentinel klasifikuje chyby předem jako přechodné nebo trvalé na základě konkrétního typu selhání a okolností, které k němu vedly.

Přechodné selhání

K přechodnému selhání dochází z důvodu okolnosti, která je dočasná a brzy se vrátí do normálního stavu, v jakém okamžiku bude spuštění pravidla úspěšné. Mezi příklady selhání, která Microsoft Sentinel klasifikuje jako přechodné, patří:

  • Spuštění a časový limit dotazu pravidla trvá příliš dlouho.
  • Problémy s připojením mezi zdroji dat a Log Analytics nebo mezi Log Analytics a Microsoft Sentinelem
  • Jakékoli jiné nové a neznámé selhání se považuje za přechodné.

V případě přechodného selhání microsoft Sentinel pokračuje v pokusu o opětovné spuštění pravidla po předem určených a stále rostoucích intervalech až do bodu. Potom se pravidlo spustí znovu pouze při příštím naplánovaném čase. Pravidlo nebude nikdy automaticky zakázáno kvůli přechodnému selhání.

Trvalé selhání – Automatické zakázání pravidla

K trvalému selhání dochází kvůli změně podmínek, které umožňují spuštění pravidla, které bez zásahu člověka se nevrátí do původního stavu. Tady jsou některé příklady selhání klasifikovaných jako trvalé:

  • Cílový pracovní prostor (na kterém se provozoval dotaz pravidla) odstranil.
  • Cílová tabulka (na které se provozoval dotaz pravidla) odstranila.
  • Služba Microsoft Sentinel byla odebrána z cílového pracovního prostoru.
  • Funkce používaná dotazem pravidla již není platná; byla změněna nebo odebrána.
  • Oprávnění k jednomu ze zdrojů dat dotazu pravidla byla změněna.
  • Jeden ze zdrojů dat dotazu pravidla byl odstraněn nebo odpojen.

V případě předem určeného počtu po sobě jdoucích trvalých selhání stejného typu a stejného pravidla, Microsoft Sentinel se přestane pokoušet pravidlo spustit a také provede následující kroky:

  • Zakáže pravidlo.
  • Přidá slova "AUTO DISABLED" na začátek názvu pravidla.
  • Přidá důvod selhání (a zakázání) do popisu pravidla.

Pomocí řazení seznamu pravidel podle názvu můžete snadno určit přítomnost všech automaticky zakázaných pravidel. Automaticky zakázaná pravidla budou v horní části seznamu nebo v horní části seznamu.

Správci SOC by měli mít jistotu, že seznam pravidel pravidelně kontroluje přítomnost automaticky zakázaných pravidel.

Další kroky

Při použití analytických pravidel k detekci hrozeb ze služby Microsoft Sentinel se ujistěte, že povolíte všechna pravidla přidružená k připojeným zdrojům dat, abyste zajistili úplné pokrytí zabezpečení pro vaše prostředí. Nejúčinnější způsob, jak povolit analytická pravidla, je přímo ze stránky datového konektoru, která uvádí všechna související pravidla. Další informace najdete v tématu Připojení zdroje dat.

Pravidla můžete také nasdílit do Microsoft Sentinelu prostřednictvím rozhraní API a PowerShellu, i když to vyžaduje další úsilí. Při použití rozhraní API nebo PowerShellu musíte před povolením pravidel nejprve exportovat pravidla do formátu JSON. Rozhraní API nebo PowerShell může být užitečné při povolování pravidel v několika instancích služby Microsoft Sentinel se stejnými nastaveními v každé instanci.

Další informace naleznete v tématu:

Další informace naleznete v tématu:

Naučte se také z příkladu použití vlastních analytických pravidel při monitorování lupy pomocí vlastního konektoru.