Skip to content

Commit c577796

Browse files
docs: update for event flow
1 parent ed7026b commit c577796

6 files changed

+476
-73
lines changed

Product/complete-example-of-a-network-map.md

+31-31
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,37 @@
33
# Complete example of a network map
44

55
```
6-
{
7-
"active": true,
8-
"cfg": "1.0.0",
9-
"messages": [
10-
{
11-
12-
"cfg": "1.0.0",
13-
"txTp": "pacs.002.001.12",
14-
"typologies": [
15-
{
16-
17-
18-
"rules": [
19-
{
20-
21-
"cfg": "1.0.0"
22-
},
23-
{
24-
25-
"cfg": "1.0.0"
26-
},
27-
{
28-
29-
"cfg": "none"
30-
}
31-
]
32-
}
33-
]
34-
}
35-
]
36-
}
6+
{
7+
"active": true,
8+
"cfg": "1.0.0",
9+
"messages": [
10+
{
11+
12+
"cfg": "1.0.0",
13+
"txTp": "pacs.002.001.12",
14+
"typologies": [
15+
{
16+
17+
18+
"rules": [
19+
{
20+
21+
"cfg": "1.0.0"
22+
},
23+
{
24+
25+
"cfg": "1.0.0"
26+
},
27+
{
28+
29+
"cfg": "none"
30+
}
31+
]
32+
}
33+
]
34+
}
35+
]
36+
}
3737
```
3838

3939
This network map executes two rule processors (006 and 078) when a pacs.002 transaction is received and summarizes the rule results into typology 001. The event flow rule processor (EFRuP) is also configured in this typology.

Product/complete-example-of-a-rule-processor-configuration.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
# Complete example of a rule processor configurations
44

5-
## A banded rule configuration:
5+
## A "banded" rule configuration:
66

7-
```
7+
```JSON
88
{
99
1010
"cfg": "1.0.0",
@@ -46,9 +46,9 @@
4646
}
4747
```
4848

49-
## A cased" rule configuration
49+
## A "cased" rule configuration
5050

51-
```
51+
```JSON
5252
{
5353
5454
"cfg": "1.0.0",
@@ -83,7 +83,7 @@
8383

8484
## EFRuP rule configuration
8585

86-
```
86+
```JSON
8787
{
8888
8989
"cfg": "none",

Product/complete-example-of-a-typology-processor-configuration.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Building on the example rule configurations provided here:
66

77
[Complete example of a rule processor configuration](/product/complete-example-of-a-rule-processor-configuration.md)
88

9-
## Typology configuration for a typology with two rules
9+
## Typology configuration for a typology with two rules plus the event flow rule processor
1010

1111
```JSON
1212
{

Product/configuration-management.md

+92-17
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
<!-- SPDX-License-Identifier: Apache-2.0 -->
22

3-
# Configuration management
4-
[TL;DR](#tldr)
5-
- [Configuration management](#configuration-management)
3+
# Configuration management <!-- omit in toc -->
4+
65
- [TL;DR](#tldr)
76
- [1. Overview of the detection methodology](#1-overview-of-the-detection-methodology)
87
- [2. Configuration Management](#2-configuration-management)
@@ -23,6 +22,7 @@
2322
- [The weights object](#the-weights-object)
2423
- [The expression object](#the-expression-object)
2524
- [The workflow object](#the-workflow-object)
25+
- [Event Flow typology configuration](#event-flow-typology-configuration)
2626
- [Complete example of a typology configuration](#complete-example-of-a-typology-configuration)
2727
- [2.3. The Network Map](#23-the-network-map)
2828
- [Introduction](#introduction-2)
@@ -53,7 +53,9 @@ In a test or PoC environment, it may sometimes be simpler to just overwrite exis
5353

5454
Configuration documents can be uploaded to the system using the ArangoDB API deployed with the platform.
5555

56-
[Top](#configuration-management)
56+
<div style="text-align: right">
57+
<a href="#configuration-management">Top</a>
58+
</div>
5759

5860
# 1. Overview of the detection methodology
5961

@@ -98,7 +100,9 @@ In the typology processor:
98100

99101
In this document, we will discuss how the various configuration documents are expected to be updated to influence evaluation behavior.
100102

101-
[Top](#configuration-management)
103+
<div style="text-align: right">
104+
<a href="#configuration-management">Top</a>
105+
</div>
102106

103107
# 2. Configuration Management
104108

@@ -118,7 +122,9 @@ Finally, the typologies and rules are bound together into the network map and at
118122

119123
![Tazama typology config](../images/tazama-config-typology-config.drawio.svg)
120124

121-
[Top](#configuration-management)
125+
<div style="text-align: right">
126+
<a href="#configuration-management">Top</a>
127+
</div>
122128

123129
## 2.1. Rule Processor Configuration
124130

@@ -225,6 +231,10 @@ Example of the `exitConditions` object:
225231
]
226232
}
227233
```
234+
<div style="text-align: right">
235+
<a href="#configuration-management">Top</a>
236+
</div>
237+
228238

229239
Each exit condition contains the same attributes:
230240

@@ -358,7 +368,9 @@ Each rule result case contains the same information:
358368

359369
[Complete example of a rule processor configuration](/product/complete-example-of-a-rule-processor-configuration.md)
360370

361-
[Top](#configuration-management)
371+
<div style="text-align: right">
372+
<a href="#configuration-management">Top</a>
373+
</div>
362374

363375
## 2.2. Typology Configuration
364376

@@ -590,18 +602,66 @@ If a specific type of threshold is not required, the threshold should be omitted
590602

591603
The thresholds are located in a workflow object in the typology configuration. If, for example, the system is expected to alert on a typology score of 500 or more, and interdict on a typology score of 1000 or more, the workflow object would be composed as follows:
592604

593-
```
605+
```JSON
594606
"workflow": {
595607
  "alertThreshold": 500,
596608
"interdictionThreshold": 1000
597609
}
598610
```
599611

612+
### Event Flow typology configuration
613+
614+
If the event flow processor is applicable to a typology, the EFRuP rule must be added to the list of rules in the typology configuration and EFRuP `"flowProcessor": "[email protected]"` should be added to the workflow object. `flowProcessor` may be omitted from the workflow object and the rules list in which case a particular typology is not affected by EFRuP results.
615+
616+
**EFRuP workflow object**
617+
618+
```JSON
619+
"workflow": {
620+
"alertThreshold": 200,
621+
"interdictionThreshold": 400,
622+
"flowProcessor": "[email protected]"
623+
}
624+
```
625+
626+
**EFRuP rule object**
627+
628+
```JSON
629+
{
630+
631+
"cfg": "none",
632+
"termId": "vEFRuPat100atnone",
633+
"wghts": [
634+
{
635+
"ref": ".err",
636+
"wght": "0"
637+
},
638+
{
639+
"ref": "override",
640+
"wght": "0"
641+
},
642+
{
643+
"ref": "non-overridable-block",
644+
"wght": "0"
645+
},
646+
{
647+
"ref": "overridable-block",
648+
"wght": "0"
649+
},
650+
{
651+
"ref": "none",
652+
"wght": "0"
653+
}
654+
]
655+
}
656+
```
657+
600658
### Complete example of a typology configuration
601659

602660
[Complete example of a typology processor configuration](/product/complete-example-of-a-typology-processor-configuration.md)
603661

604-
[Top](#configuration-management)
662+
<div style="text-align: right">
663+
<a href="#configuration-management">Top</a>
664+
</div>
605665

606666
## 2.3. The Network Map
607667

@@ -702,22 +762,35 @@ The rules object array contains the following attributes:
702762

703763

704764
```
705-
"rules": [
706-
{
707-
708-
"cfg": "1.0.0"
709-
},
765+
"rules": [
766+
{
767+
768+
"cfg": "1.0.0"
769+
}
770+
```
771+
772+
Example of the rules object for the event flow processor
773+
774+
```JSON
775+
{
776+
777+
"cfg": "none"
778+
}
710779
```
711780

781+
By adding the EFRuP processor to the network map, the event director will route transactions to the event flow rule processor in addition to the other rules specified in the typologies array.
782+
712783
### Complete network map example
713784

714785
[Complete example of a network map](/product/complete-example-of-a-network-map.md)
715786

716-
[Top](#configuration-management)
787+
<div style="text-align: right">
788+
<a href="#configuration-management">Top</a>
789+
</div>
717790

718791
## 2.4. Updating configurations via the ArangoDB API
719792

720-
# 3\. Version Management
793+
# 3. Version Management
721794

722795
## 3.1. Introduction and Basics
723796

@@ -794,7 +867,9 @@ The active network map ultimately defines the scope of a particular evaluation,
794867

795868
* * *
796869

797-
[Top](#configuration-management)
870+
<div style="text-align: right">
871+
<a href="#configuration-management">Top</a>
872+
</div>
798873

799874
[^1]: We have found during our performance testing that the text-based descriptions in our processor results undermines the performance gains we achieved with our ProtoBuff implementation. We will be removing the unabridged reason and processor descriptions from the configuration documents in favor of shorter look-up codes that will then also be used to introduce regionalized/language-specific descriptions.
800875

0 commit comments

Comments
 (0)