Skip to content

Commit c106ac2

Browse files
authored
Merge pull request #13349 from Azure/v-sabiraj-updatingTImapIPentityAppServiceHTTPLogs
Rename AlertPriority to Severity in IP analytic rule
2 parents 23b653f + 4eca71a commit c106ac2

File tree

4 files changed

+76
-76
lines changed

4 files changed

+76
-76
lines changed

Solutions/Threat Intelligence (NEW)/Analytic Rules/IPEntity_AppServiceHTTPLogs.yaml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,14 @@ query: |
3333
| extend TrafficLightProtocolLevel = tostring(parse_json(AdditionalFields).TLPLevel)
3434
// Filter out indicators without relevant IP address fields
3535
| where TimeGenerated >= ago(ioc_lookBack)
36-
| where TimeGenerated >= ago(ioc_lookBack)
3736
// Filtering out rows where the Confidence Score is less than 50 as they would not have an Alert Priority label.
3837
| where Confidence > 50
3938
// Select the IP entity based on availability of different IP fields
4039
| extend TI_ipEntity = iff(isnotempty(NetworkSourceIP), NetworkSourceIP, NetworkSourceIP)
4140
| extend TI_ipEntity = iff(isempty(TI_ipEntity) and isnotempty(NetworkSourceIP), NetworkSourceIP, TI_ipEntity)
4241
| extend Url = iff(ObservableKey == "url:value", ObservableValue, "")
43-
// Determine AlertPriority based on ConfidenceScore
44-
| extend AlertPriority = case(Confidence > 82, "High",
42+
// Determine Severity based on ConfidenceScore
43+
| extend Severity = case(Confidence > 82, "High",
4544
Confidence > 74, "Medium",
4645
"Low")
4746
// Exclude local addresses using the ipv4_is_private operator and filtering out specific address prefixes
@@ -50,7 +49,7 @@ query: |
5049
| where IsActive and (ValidUntil > now() or isempty(ValidUntil));
5150
// Perform a join between IP indicators and AppServiceHTTPLogs to identify potential malicious activity
5251
IP_Indicators
53-
| project-reorder *, IsActive, Tags, TrafficLightProtocolLevel, NetworkSourceIP, Type, TI_ipEntity, AlertPriority
52+
| project-reorder *, IsActive, Tags, TrafficLightProtocolLevel, NetworkSourceIP, Type, TI_ipEntity, Severity
5453
// Use innerunique to keep performance fast and result set low, as we only need one match to indicate potential malicious activity that needs investigation
5554
| join kind=innerunique (
5655
AppServiceHTTPLogs | where TimeGenerated >= ago(dt_lookBack)
@@ -66,7 +65,7 @@ query: |
6665
// Select the desired output fields
6766
| extend Description = tostring(parse_json(Data).description)
6867
| extend ActivityGroupNames = extract(@"ActivityGroup:(\S+)", 1, tostring(parse_json(Data).labels))
69-
| project AppService_TimeGenerated, Description, ActivityGroupNames, Id, ValidUntil, Confidence, TI_ipEntity, CsUsername, WebApp = split(_ResourceId, '/')[8], CIp, CsHost, NetworkSourceIP, _ResourceId, Type, Url, AlertPriority
68+
| project AppService_TimeGenerated, Description, ActivityGroupNames, Id, ValidUntil, Confidence, TI_ipEntity, CsUsername, WebApp = split(_ResourceId, '/')[8], CIp, CsHost, NetworkSourceIP, _ResourceId, Type, Url, Severity
7069
// Extract hostname and DNS domain from the CsHost field
7170
| extend HostName = tostring(split(CsHost, '.', 0)[0]), DnsDomain = tostring(strcat_array(array_slice(split(CsHost, '.'), 1, -1), '.'))
7271
// Rename the timestamp field
@@ -95,7 +94,7 @@ entityMappings:
9594
- identifier: ResourceId
9695
columnName: _ResourceId
9796
alertDetailsOverride:
98-
alertSeverityColumnName: AlertPriority
99-
version: 1.5.7
97+
alertSeverityColumnName: Severity
98+
version: 1.5.8
10099
kind: Scheduled
101100

60.8 KB
Binary file not shown.

0 commit comments

Comments
 (0)