Match Correlator¶
Match correlator detects incoming events based on the predicate
section. If the event matches the predicate filter, trigger
section is called.
Hint
Always consider using Window Correlator instead of Match Correlator, as Match Correlator produces one output event per one input event and so does not do any grouping of incoming events based on time.
Sample¶
---
define:
name: "Network T1046 Network Service Discovery"
description: "Detects a connection between two IP addresses"
type: correlator/match
logsource:
type: "Network"
mitre:
technique: "T1046"
tactic: "TA0007"
predicate:
!OR
- !EQ
- !ITEM EVENT log.level
- "error"
- !EQ
- !ITEM EVENT log.level
- "critical"
- !EQ
- !ITEM EVENT log.level
- "emergency"
trigger:
- event:
threat.indicator.confidence: "Medium"
threat.indicator.ip: !ITEM EVENT source.ip
threat.indicator.port: !ITEM EVENT source.port
threat.indicator.type: "ipv4-addr"
Section define
¶
This section contains the common definition and meta data.
Item name
¶
Shorter human-readable name of this declaration.
Item type
¶
The type of this declaration, must be correlator/match
.
Item description
(optional)¶
Longed, possibly multiline, human-readable description of the declaration.
Section logsource
¶
Specifies the types of event lanes that should the incoming events be read from.
Section predicate
¶
The predicate
filters incoming events using an expression.
If the expression returns True
, the event will enter trigger
section.
If the expression returns False
, then the event is skipped.
Other returned values are undefined.
Section trigger
¶
The trigger
section specifies what kinds of actions to be taken when the trigger
is fired by success result in predicate
section.
See correlator triggers chapter for details.