Skip to content

Commit 9738bad

Browse files
[Rule Tuning] Updated ESQL Rules Based on Validation Results (#5151)
* Updated ESQL rules based on validation results * Patch bump * Updated regex patterns * added missing azure fields to non-ecs-schema.json; adjusted okta query logic to use LIKE instead of RLIKE * fixed incorrect field in non-ecs-schema.json; changed logs-azure.signinlogs* sightings to logs-azure.signinlogs-* * Add and * Additional non-ecs fields * Add EOF * Add kibana.alert.rule.name * removed azure.platforlogs.identity.claim.objectid; updated query for 'c07f7898-5dc3-11f0-9f27-f661ea17fbcd' * Field removed from query removing from keep * Patch Bump --------- Co-authored-by: terrancedejesus <[email protected]> Co-authored-by: Mika Ayenson, PhD <[email protected]> (cherry picked from commit 7410ec7)
1 parent fa0abf4 commit 9738bad

File tree

31 files changed

+71
-50
lines changed

31 files changed

+71
-50
lines changed
229 Bytes
Binary file not shown.
4.34 KB
Binary file not shown.

detection_rules/etc/non-ecs-schema.json

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,8 @@
144144
"signal.rule.threat.tactic.name": "keyword",
145145
"kibana.alert.rule.threat.tactic.id": "keyword",
146146
"kibana.alert.workflow_status": "keyword",
147-
"kibana.alert.rule.rule_id": "keyword"
147+
"kibana.alert.rule.rule_id": "keyword",
148+
"kibana.alert.rule.name": "keyword"
148149
},
149150
"logs-google_workspace*": {
150151
"gsuite.admin": "keyword",
@@ -188,7 +189,12 @@
188189
"azure.auditlogs.properties.target_resources.0.display_name": "keyword",
189190
"azure.signinlogs.properties.authentication_details.authentication_method": "keyword",
190191
"azure.signinlogs.properties.authentication_processing_details": "keyword",
191-
"azure.signinlogs.properties.token_protection_status_details.sign_in_session_status": "keyword"
192+
"azure.signinlogs.properties.token_protection_status_details.sign_in_session_status": "keyword",
193+
"azure.signinlogs.properties.session_id": "keyword",
194+
"azure.signinlogs.properties.mfa_detail.auth_method": "keyword",
195+
"azure.signinlogs.properties.client_credential_type": "keyword",
196+
"azure.signinlogs.properties.app_owner_tenant_id": "keyword",
197+
"azure.signinlogs.properties.resource_owner_tenant_id": "keyword"
192198
},
193199
"logs-azure.activitylogs-*": {
194200
"azure.activitylogs.properties.authentication_protocol": "keyword",
@@ -199,18 +205,22 @@
199205
"logs-azure.graphactivitylogs-*": {
200206
"azure.graphactivitylogs.properties.c_idtyp": "keyword",
201207
"azure.graphactivitylogs.properties.user_principal_object_id": "keyword",
202-
"azure.graphactivitylogs.properties.requestUri": "keyword"
208+
"azure.graphactivitylogs.properties.requestUri": "keyword",
209+
"azure.graphactivitylogs.properties.c_sid": "keyword"
203210
},
204211
"logs-azure.auditlogs-*": {
205212
"azure.auditlogs.properties.target_resources.0.modified_properties.1.display_name": "keyword",
206213
"azure.auditlogs.properties.target_resources.0.modified_properties.1.new_value": "keyword",
207214
"azure.auditlogs.properties.target_resources.0.modified_properties.3.new_value": "keyword",
208215
"azure.auditlogs.properties.target_resources.0.modified_properties.2.new_value": "keyword",
209-
"azure.auditlogs.properties.additional_details.value": "keyword"
216+
"azure.auditlogs.properties.additional_details.value": "keyword",
217+
"azure.auditlogs.properties.target_resources.0.modified_properties.0.new_value": "keyword",
218+
"azure.auditlogs.properties.target_resources.0.modified_properties.0.old_value": "keyword"
210219
},
211220
"logs-azure.platformlogs-*": {
212221
"azure.platformlogs.identity.claim.upn": "keyword",
213-
"azure.platformlogs.properties.id": "keyword"
222+
"azure.platformlogs.properties.id": "keyword",
223+
"azure.platformlogs.identity.claim.appid": "keyword"
214224
},
215225
"logs-o365.audit-*": {
216226
"o365.audit.ExtendedProperties.RequestType": "keyword",

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "detection_rules"
3-
version = "1.4.7"
3+
version = "1.4.8"
44
description = "Detection Rules is the home for rules used by Elastic Security. This repository is used for the development, maintenance, testing, validation, and release of rules for Elastic Security’s Detection Engine."
55
readme = "README.md"
66
requires-python = ">=3.12"

rules/integrations/aws/impact_aws_s3_bucket_enumeration_or_brute_force.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[metadata]
22
creation_date = "2024/05/01"
33
maturity = "production"
4-
updated_date = "2025/07/16"
4+
updated_date = "2025/09/25"
55

66
[rule]
77
author = ["Elastic"]
@@ -85,10 +85,11 @@ timestamp_override = "event.ingested"
8585
type = "esql"
8686

8787
query = '''
88-
from logs-aws.cloudtrail*
88+
from logs-aws.cloudtrail-*
8989
9090
| where
91-
event.provider == "s3.amazonaws.com"
91+
event.dataset == "aws.cloudtrail"
92+
and event.provider == "s3.amazonaws.com"
9293
and aws.cloudtrail.error_code == "AccessDenied"
9394
and tls.client.server_name is not null
9495
and cloud.account.id is not null

rules/integrations/aws/impact_s3_static_site_js_file_uploaded.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
creation_date = "2025/04/15"
33
integration = ["aws"]
44
maturity = "production"
5-
updated_date = "2025/07/16"
5+
updated_date = "2025/09/25"
66

77
[rule]
88
author = ["Elastic"]
@@ -96,7 +96,7 @@ from logs-aws.cloudtrail* metadata _id, _version, _index
9696
"%{{?bucket.name.key}=%{Esql.aws_cloudtrail_request_parameters_bucket_name}, %{?host.key}=%{Esql_priv.aws_cloudtrail_request_parameters_host}, %{?bucket.object.location.key}=%{Esql.aws_cloudtrail_request_parameters_bucket_object_location}}"
9797
9898
// Extract file name portion from full object path
99-
| dissect Esql.aws_cloudtrail_request_parameters_object_location "%{}static/js/%{Esql.aws_cloudtrail_request_parameters_object_key}"
99+
| dissect Esql.aws_cloudtrail_request_parameters_bucket_object_location "%{}static/js/%{Esql.aws_cloudtrail_request_parameters_object_key}"
100100
101101
// Match on JavaScript files
102102
| where ends_with(Esql.aws_cloudtrail_request_parameters_object_key, ".js")

rules/integrations/aws_bedrock/aws_bedrock_execution_without_guardrails.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
[metadata]
22
creation_date = "2024/11/25"
3+
integration = ["aws_bedrock"]
34
maturity = "production"
4-
updated_date = "2025/07/16"
5+
updated_date = "2025/09/25"
56

67
[rule]
78
author = ["Elastic"]

rules/integrations/aws_bedrock/aws_bedrock_guardrails_multiple_violations_by_single_user.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
[metadata]
22
creation_date = "2024/05/02"
3+
integration = ["aws_bedrock"]
34
maturity = "production"
4-
updated_date = "2025/07/16"
5+
updated_date = "2025/09/25"
56

67
[rule]
78
author = ["Elastic"]

rules/integrations/aws_bedrock/aws_bedrock_guardrails_multiple_violations_in_single_request.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
[metadata]
22
creation_date = "2024/05/02"
3+
integration = ["aws_bedrock"]
34
maturity = "production"
4-
updated_date = "2025/07/16"
5+
updated_date = "2025/09/25"
56

67
[rule]
78
author = ["Elastic"]

rules/integrations/aws_bedrock/aws_bedrock_high_confidence_misconduct_blocks_detected.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
[metadata]
22
creation_date = "2024/05/05"
3+
integration = ["aws_bedrock"]
34
maturity = "production"
4-
updated_date = "2025/07/16"
5+
updated_date = "2025/09/25"
56

67
[rule]
78
author = ["Elastic"]

0 commit comments

Comments
 (0)