Zpracování falešně pozitivních výsledků ve službě Microsoft Sentinel

Analytická pravidla služby Microsoft Sentinel vás upozorní, když se ve vaší síti stane něco podezřelého. Žádné analytické pravidlo není dokonalé a musíte získat falešně pozitivní výsledky, které je potřeba zpracovat. Tento článek popisuje, jak zpracovávat falešně pozitivní výsledky, a to buď pomocí automatizace, nebo úpravou pravidel plánované analýzy.

Falešně pozitivní příčiny a prevence

I ve správně sestavených analytických pravidlech falešně pozitivní výsledky často pocházejí z konkrétních entit, jako jsou uživatelé nebo IP adresy, které by měly být z pravidla vyloučeny.

Mezi obvyklé scénáře patří:

  • Běžné aktivity určitých uživatelů, obvykle instanční objekty, ukazují vzor, který se zdá podezřelý.
  • Úmyslná aktivita kontroly zabezpečení pocházející ze známých IP adres se detekuje jako škodlivá.
  • Pravidlo, které vylučuje privátní IP adresy, by také mělo vyloučit některé interní IP adresy, které nejsou privátní.

Tento článek popisuje dvě metody, jak se vyhnout falešně pozitivním výsledkům:

  • Pravidla automatizace vytvářejí výjimky beze změny analytických pravidel.
  • Plánované úpravy analytických pravidel umožňují podrobnější a trvalé výjimky.

Následující tabulka popisuje charakteristiky jednotlivých metod:

Metoda Charakteristika
Pravidla automatizace
  • Může se vztahovat na několik analytických pravidel.
  • Vést záznam pro audit. Výjimky okamžitě a automaticky zavřou vytvořené incidenty, zaznamenává důvod uzavření a komentáře.
  • Často je generují analytici.
  • Povolí použití výjimek po omezenou dobu. Například údržba může aktivovat falešně pozitivní incidenty, které by mimo časový rámec údržby byly skutečnými incidenty.
Úpravy analytických pravidel
  • Povolte rozšířené logické výrazy a výjimky založené na podsíti.
  • Umožňuje použití konsolidovaných seznamů k centralizaci správy výjimek.
  • Obvykle vyžadují implementaci techniků služby Security Operations Center (SOC).
  • Jsou nejflexitivnější a nejkompletnější falešně pozitivní řešení, ale jsou složitější.

Přidání výjimek pomocí pravidel automatizace

Nejjednodušším způsobem, jak přidat výjimku, je přidat pravidlo automatizace, když se zobrazí falešně pozitivní incident.

Přidání pravidla automatizace pro zpracování falešně pozitivních výsledků:

  1. Ve službě Microsoft Sentinel v části Incidenty vyberte incident, pro který chcete vytvořit výjimku.

  2. Vyberte Vytvořit pravidlo automatizace.

  3. Na bočním panelu Vytvořit nové pravidlo automatizace volitelně upravte název nového pravidla tak, aby identifikoval výjimku, nikoli pouze název pravidla upozornění.

  4. V části Podmínky volitelně přidejte další názvy analytických pravidel, na které se výjimka použije. Vyberte rozevírací seznam obsahující název analytického pravidla a v seznamu vyberte další analytická pravidla.

  5. Na bočním panelu se zobrazí konkrétní entity v aktuálním incidentu, které mohly falešně pozitivní výsledek způsobit. Ponechte automatické návrhy nebo je upravte a vylaďte výjimku. Můžete například změnit podmínku IP adresy tak, aby platila pro celou podsíť.

    Snímek obrazovky znázorňující, jak vytvořit pravidlo automatizace pro incident ve službě Microsoft Sentinel

  6. Jakmile budete s podmínkami spokojeni, můžete pokračovat v definování toho, co pravidlo dělá:

    Snímek obrazovky, který ukazuje, jak dokončit vytvoření a použití pravidla automatizace ve službě Microsoft Sentinel

    • Pravidlo je již nakonfigurováno k uzavření incidentu, který splňuje kritéria výjimky.
    • Zadaný důvod uzavření můžete ponechat tak, jak je, nebo ho můžete změnit, pokud je vhodnější jiný důvod.
    • K automaticky uzavřenému incidentu můžete přidat komentář s vysvětlením výjimky. Můžete například určit, že incident pochází ze známé aktivity správy.
    • Ve výchozím nastavení je nastavené automatické vypršení platnosti pravidla po 24 hodinách. Toto vypršení platnosti může být to, co chcete, a snižuje riziko falešně negativních chyb. Pokud chcete delší výjimku, nastavte vypršení platnosti pravidla na pozdější dobu.
  7. Pokud chcete, můžete přidat další akce. K incidentu můžete například přidat značku nebo spustit playbook pro odeslání e-mailu nebo oznámení nebo synchronizaci s externím systémem.

  8. Výběrem možnosti Použít aktivujte výjimku.

Tip

Automatické pravidlo můžete vytvořit také úplně od začátku, aniž byste museli začínat od incidentu. V levé navigační nabídce služby Microsoft Sentinel vyberte Automation a pak vyberte Vytvořit>přidat nové pravidlo. Přečtěte si další informace o pravidlech automatizace.

Přidání výjimek úpravou analytických pravidel

Další možností pro implementaci výjimek je úprava dotazu analytického pravidla. Výjimky můžete zahrnout přímo do pravidla, nebo pokud je to možné, použít odkaz na seznam ke zhlédnutí. Seznam výjimek pak můžete spravovat v seznamu ke zhlédnutí.

Úprava dotazu

Pokud chcete upravit existující analytická pravidla, vyberte v levé navigační nabídce služby Microsoft Sentinel možnost Automatizace . Vyberte pravidlo, které chcete upravit, a pak v pravém dolním rohu vyberte Upravit . Otevře se Průvodce analytickými pravidly.

Podrobné pokyny k vytvoření a úpravě analytických pravidel pomocí Průvodce analytickými pravidly najdete v tématu Vytvoření vlastních analytických pravidel pro detekci hrozeb.

Pokud chcete implementovat výjimku v typické preambuli pravidla, můžete přidat podmínku jako where IPAddress !in ('<ip addresses>') na začátek dotazu pravidla. Tento řádek vyloučí z pravidla konkrétní IP adresy.

let timeFrame = 1d;
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| where IPAddress !in ('10.0.0.8', '192.168.12.1')
...

Tento typ výjimky se neomezuje na IP adresy. Pomocí pole můžete vyloučit konkrétní uživatele UserPrincipalName nebo konkrétní aplikace pomocí AppDisplayNamepříkazu .

Můžete také vyloučit více atributů. Pokud například chcete vyloučit výstrahy z IP adresy 10.0.0.8 nebo uživatele user@microsoft.com, použijte:

| where IPAddress !in ('10.0.0.8')
| where UserPrincipalName != 'user@microsoft.com'

Pokud chcete implementovat jemněji odstupňovanou výjimku, pokud je to možné, a snížit riziko falešně negativních výsledků, můžete atributy kombinovat. Následující výjimka platí pouze v případě, že se ve stejné výstraze zobrazí obě hodnoty:

| where IPAddress != '10.0.0.8' and UserPrincipalName != 'user@microsoft.com'

Vyloučit podsítě

Vyloučení rozsahů IP adres používaných organizací vyžaduje vyloučení podsítě. Následující příklad ukazuje, jak vyloučit podsítě.

Operátor ipv4_lookup je operátorem rozšiřování, nikoli operátorem filtrování. Čára where isempty(network) ve skutečnosti filtruje tím, že zkontroluje události, které nezobrazují shodu.

let subnets = datatable(network:string) [ "111.68.128.0/17", "5.8.0.0/19", ...];
let timeFrame = 1d;
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| evaluate ipv4_lookup(subnets, IPAddress, network, return_unmatched = true)
| where isempty(network)
...

Použití konsolidovaných seznamů ke správě výjimek

Seznam ke zhlédnutí můžete použít ke správě seznamu výjimek mimo samotné pravidlo. Pokud je to možné, má toto řešení následující výhody:

  • Analytik může přidávat výjimky bez úpravy pravidla, což lépe odpovídá osvědčeným postupům SOC.
  • Stejný konsolidovaný seznam se může vztahovat na několik pravidel, která umožňují centrální správu výjimek.

Použití seznamu ke zhlédnutí je podobné jako použití přímé výjimky. K volání seznamu ke zhlédnutí použijte _GetWatchlist('<watchlist name>') :

let timeFrame = 1d;
let logonDiff = 10m;
let allowlist = (_GetWatchlist('ipallowlist') | project IPAddress);
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| where IPAddress !in (allowlist)
...

Můžete také filtrovat podsítě pomocí seznamu ke zhlédnutí. Například v předchozím kódu vyloučení podsítí byste mohli nahradit definici podsítí datatable seznamem ke zhlédnutí:

let subnets = _GetWatchlist('subnetallowlist');

Další kroky

Další informace naleznete v tématu: