Skip to content

Commit 8c2fdc0

Browse files
natasha-moore-elasticmergify[bot]
authored andcommitted
Risk score calculation for closed alerts (#6271)
* Risk score calculation for closed alerts * Updates screenshots (cherry picked from commit 19e3484) # Conflicts: # docs/serverless/advanced-entity-analytics/entity-risk-scoring.asciidoc # docs/serverless/advanced-entity-analytics/turn-on-risk-engine.asciidoc # docs/serverless/images/turn-on-risk-engine/preview-risky-entities.png # docs/serverless/images/turn-on-risk-engine/turn-on-risk-engine.png
1 parent 78c6623 commit 8c2fdc0

File tree

8 files changed

+176
-1
lines changed

8 files changed

+176
-1
lines changed

docs/advanced-entity-analytics/entity-risk-scoring.asciidoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ NOTE: Entities without any alerts, or with only `Closed` alerts, are not assigne
3737
== How is risk score calculated?
3838

3939
. The risk scoring engine runs hourly to aggregate `Open` and `Acknowledged` alerts from the last 30 days. For each entity, the engine processes up to 10,000 alerts.
40+
+
41+
NOTE: When <<turn-on-risk-engine, turning on the risk engine>>, you can choose to also include `Closed` alerts in risk scoring calculations.
4042

4143
. The engine groups alerts by `host.name` or `user.name`, and aggregates the individual alert risk scores (`kibana.alert.risk_score`) such that alerts with higher risk scores contribute more than alerts with lower risk scores. The resulting aggregated risk score is assigned to the **Alerts** category in the entity's <<host-risk-summary, risk summary>>.
4244

37.7 KB
Loading
12.6 KB
Loading

docs/advanced-entity-analytics/turn-on-risk-engine.asciidoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ image::images/preview-risky-entities.png[Preview of risky entities]
2929
If you're installing the risk scoring engine for the first time:
3030

3131
. Find **Entity Risk Score** in the navigation menu.
32-
. Turn the **Entity risk score** toggle on.
32+
. On the **Entity Risk Score** page, turn the toggle on.
33+
34+
You can also choose to include `Closed` alerts in risk scoring calculations and specify a date and time range for the calculation.
3335

3436
[role="screenshot"]
3537
image::images/turn-on-risk-engine.png[Turn on entity risk scoring]
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
[[security-entity-risk-scoring]]
2+
= Entity risk scoring
3+
4+
// :description: Learn about the risk scoring engine and its features.
5+
// :keywords: serverless, security, overview, analyze
6+
7+
8+
Entity risk scoring is an advanced {elastic-sec} analytics feature that helps security analysts detect changes in an entity's risk posture, hunt for new threats, and prioritize incident response.
9+
10+
Entity risk scoring allows you to monitor risk score changes of hosts and users in your environment. When generating advanced scoring analytics, the risk scoring engine utilizes threats from its end-to-end XDR use cases, such as SIEM, cloud, and endpoint. It leverages the Elastic SIEM detection engine to generate host and user risk scores from the last 30 days.
11+
12+
It also generates risk scores on a recurring interval, and allows for easy onboarding and management. The engine is built to factor in risks from all {elastic-sec} use cases, and allows you to customize and control how and when risk is calculated.
13+
14+
[discrete]
15+
[[security-entity-risk-scoring-risk-scoring-inputs]]
16+
== Risk scoring inputs
17+
18+
Entity risk scores are determined by the following risk inputs:
19+
20+
|===
21+
| Risk input | Storage location
22+
23+
| <<security-alerts-manage,Alerts>>
24+
| `.alerts-security.alerts-<space-id>` index alias
25+
26+
| <<security-asset-criticality,Asset criticality level>>
27+
| `.asset-criticality.asset-criticality-<space-id>` index alias
28+
|===
29+
30+
The resulting entity risk scores are stored in the `risk-score.risk-score-<space-id>` data stream alias.
31+
32+
[NOTE]
33+
====
34+
Entities without any alerts, or with only `Closed` alerts, are not assigned a risk score.
35+
====
36+
37+
[discrete]
38+
[[security-entity-risk-scoring-how-is-risk-score-calculated]]
39+
== How is risk score calculated?
40+
41+
. The risk scoring engine runs hourly to aggregate `Open` and `Acknowledged` alerts from the last 30 days. For each entity, the engine processes up to 10,000 alerts.
42+
+
43+
NOTE: When <<security-turn-on-risk-engine, turning on the risk engine>>, you can choose to also include `Closed` alerts in risk scoring calculations.
44+
. The engine groups alerts by `host.name` or `user.name`, and aggregates the individual alert risk scores (`kibana.alert.risk_score`) such that alerts with higher risk scores contribute more than alerts with lower risk scores. The resulting aggregated risk score is assigned to the **Alerts** category in the entity's <<security-hosts-overview-host-risk-summary,risk summary>>.
45+
. The engine then verifies the entity's <<security-asset-criticality,asset criticality level>>. If there is no asset criticality assigned, the entity risk score remains equal to the aggregated score from the **Alerts** category. If a criticality level is assigned, the engine updates the risk score based on the default risk weight for each criticality level. The asset criticality risk input is assigned to the **Asset Criticality** category in the entity's risk summary.
46+
+
47+
|===
48+
| Asset criticality level| Default risk weight
49+
50+
| Low impact
51+
| 0.5
52+
53+
| Medium impact
54+
| 1
55+
56+
| High impact
57+
| 1.5
58+
59+
| Extreme impact
60+
| 2
61+
|===
62+
+
63+
[NOTE]
64+
====
65+
Asset criticality levels and default risk weights are subject to change.
66+
====
67+
. Based on the two risk inputs, the risk scoring engine generates a single entity risk score of 0-100. It assigns a risk level by mapping the risk score to one of these levels:
68+
+
69+
|===
70+
| Risk level| Risk score
71+
72+
| Unknown
73+
| < 20
74+
75+
| Low
76+
| 20-40
77+
78+
| Moderate
79+
| 40-70
80+
81+
| High
82+
| 70-90
83+
84+
| Critical
85+
| > 90
86+
|===
87+
88+
.Click for a risk score calculation example
89+
[%collapsible]
90+
=====
91+
This example shows how the risk scoring engine calculates the user risk score for `User_A`, whose asset criticality level is **Extreme impact**.
92+
93+
There are 5 open alerts associated with `User_A`:
94+
95+
* Alert 1 with alert risk score 21
96+
* Alert 2 with alert risk score 45
97+
* Alert 3 with alert risk score 21
98+
* Alert 4 with alert risk score 70
99+
* Alert 5 with alert risk score 21
100+
101+
'''
102+
103+
To calculate the user risk score, the risk scoring engine:
104+
105+
. Sorts the associated alerts in descending order of alert risk score:
106+
+
107+
** Alert 4 with alert risk score 70
108+
** Alert 2 with alert risk score 45
109+
** Alert 1 with alert risk score 21
110+
** Alert 3 with alert risk score 21
111+
** Alert 5 with alert risk score 21
112+
. Generates an aggregated risk score of 36.16, and assigns it to `User_A`'s **Alerts** risk category.
113+
. Looks up `User_A`'s asset criticality level, and identifies it as **Extreme impact**.
114+
. Generates a new risk input under the **Asset Criticality** risk category, with a risk contribution score of 16.95.
115+
. Increases the user risk score to 53.11, and assigns `User_A` a **Moderate** user risk level.
116+
117+
If `User_A` had no asset criticality level assigned, the user risk score would remain unchanged at 36.16.
118+
=====
119+
120+
Learn how to <<security-turn-on-risk-engine,turn on the risk scoring engine>>.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
[[security-turn-on-risk-engine]]
2+
= Turn on the risk scoring engine
3+
4+
// :description: Start generating host and user risk scores.
5+
// :keywords: serverless, security, how-to, manage
6+
7+
++++
8+
<titleabbrev>Turn on risk scoring</titleabbrev>
9+
++++
10+
11+
12+
.Requirements
13+
[NOTE]
14+
====
15+
To use entity risk scoring, you must have the appropriate user role. For more information, refer to <<security-ers-requirements>>.
16+
====
17+
18+
[discrete]
19+
[[security-turn-on-risk-engine-preview-risky-entities]]
20+
== Preview risky entities
21+
22+
You can preview risky entities before installing the risk engine. The preview shows the riskiest hosts and users found in the 1000 sampled entities during the time frame selected in the date picker.
23+
24+
[NOTE]
25+
====
26+
The preview is limited to two risk scores per serverless project.
27+
====
28+
29+
To preview risky entities, go to **Project settings** → **Management** → **Entity Risk Score**:
30+
31+
[role="screenshot"]
32+
image::images/turn-on-risk-engine/preview-risky-entities.png[Preview of risky entities]
33+
34+
[discrete]
35+
[[security-turn-on-risk-engine-turn-on-the-risk-engine]]
36+
== Turn on the risk engine
37+
38+
[NOTE]
39+
====
40+
To view risk score data, you must have alerts generated in your environment.
41+
====
42+
43+
If you're installing the risk scoring engine for the first time:
44+
45+
. Go to **Project settings** → **Management** → **Entity Risk Score**.
46+
. On the **Entity Risk Score** page, turn the toggle on.
47+
48+
You can also choose to include `Closed` alerts in risk scoring calculations and specify a date and time range for the calculation.
49+
50+
[role="screenshot"]
51+
image::images/turn-on-risk-engine/turn-on-risk-engine.png[Turn on entity risk scoring]
132 KB
Loading
63.4 KB
Loading

0 commit comments

Comments
 (0)