Skip to content

Commit 7410ec7

Browse files
eric-forte-elasticterrancedejesusMikaayenson
authored
[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]>
1 parent 42be8bc commit 7410ec7

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)