Closed imays11 closed 2 months ago
These guidelines serve as a reminder set of considerations when proposing a new rule.
creation_date
matches the date of creation PR initially merged.min_stack_version
should support the widest stack versions.name
and description
should be descriptive and not include typos.query
should be inclusive, not overly exclusive, considering performance for diverse environments. Non ecs fields should be added to non-ecs-schema.json
if not available in an integration.min_stack_comments
and min_stack_version
should be included if the rule is only compatible starting from a specific stack version.index
pattern should be neither too specific nor too vague, ensuring it accurately matches the relevant data stream (e.g., use logs-endpoint.process-* for process data).integration
should align with the index
. If the integration is newly introduced, ensure the manifest, schemas, and new_rule.yaml
template are updated.setup
should include the necessary steps to configure the integration.note
should include any additional information (e.g. Triage and analysis investigation guides, timeline templates).tags
should be relevant to the threat and align/added to the EXPECTED_RULE_TAGS
in the definitions.py file.threat
, techniques
, and subtechniques
should map to ATT&CK always if possible.building_block_type
should be included if the rule is a building block and the rule should be located in the rules_building_block
folder.bypass_bbr_timing
should be included if adding custom lookback timing to the rule.
Issue link(s):
Summary - What I changed
Identifies a successful console login activity by an EC2 instance profile using an assumed role. This is uncommon behavior and could indicate an attacker using compromised credentials to further exploit an environment. An EC2 instance assumes a role using their EC2 ID as the session name. This rule looks for the pattern "i-" which is the beginning pattern for assumed role sessions started by an EC2 instance and a successful
ConsoleLogin
orGetSigninToken
API call.--
I chose to use the
user.id
field over theaws.cloudtrail.user_identity.arn
because this field is able to be ingested via telemtry as PII has been stripped but the session name necessary to identify the identity as an EC2 instance is still includedChecklist
bug
,enhancement
,schema
,Rule: New
,Rule: Deprecation
,Rule: Tuning
,Hunt: New
, orHunt: Tuning
so guidelines can be generated