Přeskočit obsah

Entitní Korelátor

Korelátor oken detekuje příchozí události na základě sekce predicate a ukládá je do datových struktur na základě sekce evaluate. Pokud z události detekovaná dimenze neprodukuje žádná data, je volána sekce lost v sekci triggers, jinak je volána sekce seen v sekci triggers.

Příklad

define:
  name: Detekce chování uživatelské entity
  description: Detekce chování uživatelské entity
  type: correlator/entity  
  span: 5
  delay: 5m  # doba analýzy = delay + resolution         

logsource:
  vendor: "Microsoft"

predicate:
  !AND
  - !EQ
    - !ITEM EVENT message
    - "FAIL"  
  - !EQ
    - !ITEM EVENT device.vendor
    - "Microsoft"
  - !EQ
    - !ITEM EVENT device.product
    - "Exchange Server"

evaluate:
  dimension: [source.user] 
  by: @timestamp  # Název pole události s časem události
  resolution: 60 # jednotka je sekunda
  lookup_seen: active_users
  lookup_lost: inactive_users

triggers:
  lost:
    - event:
        severity: "Low"
  seen:
    - event:
        severity: "Low"

Sekce define

Tato sekce obsahuje obecné definice a meta data.

Položka name

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

Položka type

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

Položka span

Specifikuje šířku okna. Jednotka je resolution.

Položka delay (volitelná)

Analýza probíhá po specifikovaném čase v sekundách a tento čas je založen na resolution.

Pokud je potřeba prodloužit dobu a tím zpozdit analýzu, může být uvedena volba delay, například 300 (300 sekund), 1h (3600 sekund / jedna hodina) atd.

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 description (volitelná)

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

Sekce logsource

Specifikuje typy event lanes, ze kterých by měly být čteny příchozí události.

Sekce predicate (volitelná)

predicate filtruje příchozí události pomocí výrazu. Pokud výraz vrátí True, událost přejde do sekce evaluate. Pokud výraz vrátí False, je událost přeskočena.

Ostatní návratové hodnoty jsou nedefinované.

Sekce evaluate

Sekce evaluate specifikuje primární klíč, rozlišení a další atributy, které se aplikují na příchozí událost. Funkcí evaluate je přidat událost do dvourozměrné struktury, definované časem a primárním klíčem.

Položka dimension

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

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

evaluate:
  dimension: [source.ip]

Note

Tenant je automaticky přidán do seznamu dimenzí.

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

evaluate:
  dimension: [source.ip, destination.ip]

Pokud je přesně jedna dimenze, jako je DestinationHostname, seznam v původní události a korelace by měla probíhat pro každou hodnotu dimenze, měla by být dimenze zabalená do [ ]:

evaluate:
  dimension: [source.ip, destination.ip, [DestinationHostname] ]

Položka by

Specifikuje název pole vstupní události, které obsahuje datum/čas, který bude použit pro vyhodnocení. Výchozí hodnota je: @timestamp.

Položka resolution (volitelná)

Specifikuje rozlišení časové agregace korelátoru. Jednotka je sekundy.

evaluate:
  resolution: 3600  # 1 hodina

Výchozí hodnota: 3600

Položka lookup_seen

lookup_seen specifikuje ID lookupu, kam se zapisují viděné entity s časem posledního vidění

Položka lookup_lost

lookup_lost specifikuje ID lookupu, kam se zapisují ztracené entity s časem poslední analýzy

Sekce triggers

Sekce triggers specifikuje druhy akcí, které mají být provedeny, když proběhne periodická analýza.

Podporované akce jsou lost a seen.

Podrobnosti viz kapitola korelační triggery.

seen triggery

Triggery seen se provádějí, když analýza nalezne události, které vstoupily do okna v analyzovaném čase.

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

Čas poslední události, která přišla do okna v dané dimenzi, lze získat pomocí !ITEM EVENT last_event_timestamp (entita aktualizována).

Příklad:

  seen:
    - lookup: user_inventory
      key: !ITEM EVENT dimension
      set:
        last_seen: !ITEM EVENT last_event_timestamp

lost triggery

Triggery lost se provádějí, když analýza zjistí, že do specifikované dimenze v analyzovaném čase nepřišla žádná událost (entita klesla).

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

Příklad:

  lost:
    - event:
        severity: "Low"
        dimension: !ITEM EVENT dimension