Přeskočit obsah

Window Correlator

Příklad

define:
  název: Příklad korelátoru oken
  description: |
    Dlouhý víceřádkový deskriptor
    To opravdu přechází do jiného linw
  typ: correlator/window
  field_alias: field_alias.default
  aggregation_count_field: cnt
  disabled: false

predikát: cnt:
  !AND
  - !EQ
    - !ITEM EVENT typ
    - UseIt
  - !INCLUDE predicate_filter

vyhodnotit:
  dimenze: [customer.name, destination.address, [destination.hostname] ]  
  by: Časové razítko
  rozlišení: # sekundy: 5 # sekundy
  minimum_growth: 10 # 10 * rozlišení je výchozí velikost segmentu (nepovinné)

analyze:
  when: event
  window: hopping
  agregace: suma
  rozpětí: 12
  test:
    !GT
    - !ARG
    - 5

spouštěč:
  - událost:
      !DICT
      typ: "{str:any}"
      with:
        category.significance: "/Compromise"

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/window.

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 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 event_count (nepovinné)

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

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 saturation (nepovinné)

Určuje dobu trvání "tichého" časového intervalu po spuštění spouštěče. Je specifický pro rozměr. Jednotkou je rozlišení.

Výchozí hodnota: 3

Sekce analyze (nepovinné)

Sekce analyze obsahuje konfiguraci časového okna, které se použije na vstupní události. Výsledek analýzy časového okna je podroben konfigurovatelnému testu. Pokud je test úspěšný (neboli vrátí True), je spuštěn trigger.

Poznámka: Sekce je nepovinná, výchozí chování je, že se trigger spustí, když je alespoň jedna událost v trumpu span rovna 2.

Položka když (nepovinné)

Určuje, kdy má dojít k analýze událostí v oknech.

Volby:

  • (výchozí): Analýza proběhne poté, co přijde událost a je vyhodnocena, obvykle užitečné pro porovnávání a aritmetickou korelaci.
  • periodic/...: Analýza probíhá po zadaném intervalu v sekundách, například periodic/10 (každých 10 sekund), periodic/1h (každých 3600 sekund / jednu hodinu) atd. Obvykle užitečné pro vyhodnocení UEBA.

Periodická analýza vyžaduje správné nastavení rozlišení a rozpětí časového okna, aby analýza neprobíhala příliš často.

Položka window (nepovinná)

Určuje, jaký druh časového okna se má použít.

Volby:

  • tumbling: Pevné rozpětí (doba trvání), nepřekrývající se souvislé časové intervaly bez mezer.
  • hopping: Pevné rozpětí (doba trvání), překrývající se souvislé časové intervaly oken

Výchozí hodnota: hopping

Položka span

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

Položka aggregate (nepovinné)

Určuje, jaké agregační funkce se mají použít na události v okně.

Agregátní funkce

  • sum: Summation
  • median: Medián
  • průměr: (vážený) průměr
  • median: (průměr): * median: (průměrný (průměrný) průměr): aritmetický průměr
  • std: Směrodatná odchylka
  • var: Rozptyl
  • mean spike: Pro detekci hrotů. Základní hodnota je střední hodnota, vrací procenta.
  • median spike: Pro detekci hrotů. Základní hodnotou je medián, vrací se procento.
  • Unikátní počet: Pro jedinečný počet atributů události: Je třeba zadat dimension.

Výchozí hodnota: sum

Příklad jedinečného počtu:

analyzovat:
  okno: hopping
  agregace: unikátní počet
  dimenze: SourceAddress
  rozpětí: 6
  test:
    !GE
    - !ARG
    - 5

Spustí se, když je pozorováno 5 a více jedinečných zdrojových adres.

Položka test (nepovinné)

Položka test je výraz, který se použije na výstup výpočtu agregátu. Pokud výraz vrátí hodnotu True, bude spuštěn trigger, pokud dimenze ještě není nasycena. Pokud výraz vrátí hodnotu False, nebude provedena žádná akce.

Ostatní vrácené hodnoty jsou nedefinované.

Sekce trigger

Sekce trigger určuje, jaké druhy akcí se mají provést, když je trigger vyvolán pomocí test v sekci analyze. Podrobnosti viz kapitola correlator triggers.