Přeskočit obsah

Entity Correlator

Příklad

define:
  name: Detekce chování uživatelské entity
  description: Detekce chování uživatelské entity
  type: correlator/entity  
  rozpětí: 5
  zpoždění: 5m # doba analýzy = zpoždění + rozlišení         

predikát:
  !AND
  - !EQ
    - !ITEM EVENT zpráva
    - "FAIL"  
  - !EQ
    - !ITEM EVENT device.vendor
    - "Microsoft"
  - !EQ
    - !ITEM EVENT device.product
    - "Exchange Server"

vyhodnotit:
  dimenze: [tenant, source.user] 
  by: # Název pole události s časem události
  resolution: # jednotka je sekunda
  lookup_seen: active_users
  lookup_lost: inactive_users

spouštěče:
  ztracené:
    - událost:
        !DICT
        typ: "{str:any}"
        with:
          name: "User lost detected on periodic analysis"
          type: "Correlation"
          severity: "Low"
  seen:
    - událost:
        !DICT
        typ: "{str:any}"
        with:
          name: "User seen detected on periodic analysis"
          type: "Correlation"
          severity: "Low"

Sekce define

Tato sekce obsahuje společnou definici a metadata.

Položka name

Kratší lidsky čitelný název této deklarace.

Item type

Typ této deklarace, musí být correlator/entity.

Položka span

Určuje šířku okna. Jednotkou je rozlišení.

Položka delay (nepovinné)

Analýza proběhne po zadané době v sekundách a tato doba je založena na rozlišení.

Pokud je potřeba tuto dobu prodloužit, a tedy analýzu zpozdit, lze zadat možnost delay, například 300 (300 sekund), 1h (3600 sekund / jedna hodina) atd.

Položka field_alias

Název vyhledávače aliasů polí, který se má načíst, aby bylo možné v deklaraci použít aliasové názvy atributů událostí vedle jejich kanonických názvů.

Položka aggregation_count_field

Název atributu, který určuje počet událostí v rámci jedné agregované události, a tím ovlivňuje součet událostí v analýze. Výchozí hodnota je 1.

Položka disabled

Logická hodnota, která určuje, zda je deklarace zakázána/povolena pro korelaci. Výchozí hodnota je false.

Položka description (nepovinné)

Dlouhý, případně víceřádkový, lidsky čitelný popis deklarace.

Sekce predicate (nepovinné)

Predikát filtruje příchozí události pomocí výrazu. Pokud výraz vrátí hodnotu True, vstoupí událost do sekce evaluate. Pokud výraz vrátí False, událost se přeskočí.

Ostatní vrácené hodnoty jsou nedefinované.

Včetně vnořených predikátových filtrů

Predikátové filtry jsou výrazy umístěné ve vyhrazeném souboru, které lze zahrnout do mnoha různých predikátů jako jejich části.

Pokud chcete zahrnout externí filtr predikátu, který se nachází buď ve složce include, nebo ve složce filters. (jedná se o globální složku umístěnou v nejvyšší hierarchii knihovny LogMan.io), použijte příkaz !INCLUDE:

!INCLUDE predicate_filter

kde predicate_filter je název souboru s příponou .yaml. Obsahem souboru predicate_filter.yaml je výraz, který má být zahrnut, jako např:

---
!EQ
- !ITEM EVENT category
- "MyEventCategory"

Sekce vyhodnotit

Sekce evaluate určuje primární klíč, rozlišení a další atributy, které se použijí na příchozí událost. Funkce evaluate má za úkol přidat událost do dvourozměrné struktury definované časem a prvotním klíčem.

Položka dimension

Určuje jednoduchý nebo složený primární klíč (nebo dimenzi) pro událost. Rozměr dimension je definován názvy vstupních polí události.

Příklad jednoduchého primárního klíče:

vyhodnotit:
  dimenze: Název zákazníka

Příklad složeného primárního klíče:

vyhodnotit:
  dimenze: [CustomerName, DestinationAddress, DestinationHostname]: ```: [CustomerName, DestinationAddress, DestinationHostname]

Pokud je přesně jedna dimenze jako DestinationHostname v původní události seznamem a korelace by měla proběhnout pro každou z hodnot dimenze, měla by být dimenze zabalena do [``]`:

vyhodnotit:
  dimenze: [CustomerName, DestinationAddress, [DestinationHostname]]: ```: [CustomerName, DestinationAddress, [DestinationHostname]].

Položka by

Určuje název pole vstupní události, které obsahuje informaci o datu/času, jež bude použita pro vyhodnocení.

Položka resolution (nepovinné)

Určuje rozlišení časové agregace korelátoru. Jednotkou je sekunda.

vyhodnotit:
  rozlišení: # 1 hodina

Výchozí hodnota: 3600

Položka lookup_seen

lookup_seen určuje ID vyhledávání, kam se zapisují viděné entity s časem posledního vidění.

Položka lookup_lost

lookup_lost určuje ID vyhledávání, kam se mají zapisovat ztracené entity s časem poslední analýzy

Sekce triggers

Sekce triggers určuje druhy akcí, které mají být provedeny při periodické analýze.

Podporovány jsou akce ztratil a viděl.

Podrobnosti viz kapitola correlator triggers.

Spouštěče seen

Spouštěče Seen se spustí, když analýza najde události, které vstoupily do okna v analyzovaném čase.

Dimenzi (název entity) lze získat pomocí !ITEM EVENT dimension.

Časové razítko poslední události, která vstoupila do okna v zadané dimenzi, lze získat prostřednictvím !ITEM EVENT last_event_timestamp (entita aktualizována).

Příklad:

  viděno:
    - vyhledávání: user_inventory
      klíč: !ITEM EVENT dimenze
      set:
        last_seen: !ITEM EVENT last_event_timestamp

lost spouští

Ztracené spouštěče se provedou, když analýza zjistí, že v analyzovaném čase nepřišla do zadané dimenze žádná událost (odpadnutí entity).

Dimenzi (název entity) lze získat prostřednictvím !ITEM EVENT dimension.

Příklad:

  ztraceno:
    - událost:
        !DICT
        typ: "{str:any}"
        with:
          name: "User drop detected on periodic analysis"
          type: "Correlation"
          severity: "Low"