Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Rule Tuning] Event Aggregation - Fix event.action & event.type conditions #4445

Merged
merged 3 commits into from
Feb 7, 2025

Conversation

w0rk3r
Copy link
Contributor

@w0rk3r w0rk3r commented Feb 4, 2025

Issues

Part of https://github.com/elastic/ia-trade-team/issues/368

Summary

Fix event.action & event.type conditions that rely on "NOT end", as these would cause logic to not match in aggregated events.

Example Aggregated event:
imagem

Trying a event.action != "end" against it:
imagem

@w0rk3r w0rk3r added OS: Linux OS: macOS Rule: Tuning tweaking or tuning an existing rule OS: Windows windows related rules Domain: Endpoint backport: auto Integration: Cloud Defend Cloud Defend Integration labels Feb 4, 2025
@w0rk3r w0rk3r self-assigned this Feb 4, 2025
Copy link
Contributor

github-actions bot commented Feb 4, 2025

Rule: Tuning - Guidelines

These guidelines serve as a reminder set of considerations when tuning an existing rule.

Documentation and Context

  • Detailed description of the suggested changes.
  • Provide example JSON data or screenshots.
  • Provide evidence of reducing benign events mistakenly identified as threats (False Positives).
  • Provide evidence of enhancing detection of true threats that were previously missed (False Negatives).
  • Provide evidence of optimizing resource consumption and execution time of detection rules (Performance).
  • Provide evidence of specific environment factors influencing customized rule tuning (Contextual Tuning).
  • Provide evidence of improvements made by modifying sensitivity by changing alert triggering thresholds (Threshold Adjustments).
  • Provide evidence of refining rules to better detect deviations from typical behavior (Behavioral Tuning).
  • Provide evidence of improvements of adjusting rules based on time-based patterns (Temporal Tuning).
  • Provide reasoning of adjusting priority or severity levels of alerts (Severity Tuning).
  • Provide evidence of improving quality integrity of our data used by detection rules (Data Quality).
  • Ensure the tuning includes necessary updates to the release documentation and versioning.

Rule Metadata Checks

  • updated_date matches the date of tuning PR 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. Review to ensure the original intent of the rule is maintained.

Testing and Validation

  • Validate that the tuned rule's performance is satisfactory and does not negatively impact the stack.
  • Ensure that the tuned rule has a low false positive rate.

@@ -41,8 +41,8 @@ process where container.id: "*" and
event.type== "start" and
/*D4C consolidates closely spawned event.actions, this excludes end actions to only capture ongoing processes*/
event.action in ("fork", "exec") and event.action != "end"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if the Event aggregation affects Defend for Cloud, but I'm removing event.action != "end" as it would never match anyway as event.action in ("fork", "exec") is specified

@@ -45,7 +45,7 @@ type = "eql"

query = '''
process where container.id: "*" and event.type== "start" and
event.action in ("fork", "exec") and event.action != "end" and
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if the Event aggregation affects Defend for Cloud, but I'm removing event.action != "end" as it would never match anyway as event.action in ("fork", "exec") is specified

Copy link
Contributor

@DefSecSentinel DefSecSentinel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tradebot-elastic
Copy link

tradebot-elastic commented Feb 7, 2025

⛔️ Tests failed:

  • ❌ SSH Process Launched From Inside A Container (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ✅ Apple Script Execution followed by Network Connection (eql)
  • ❌ Suspicious Interactive Shell Spawned From Inside A Container (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Local Scheduled Task Creation (eql)
    • stack_validation_failed: no_alerts - 0 alerts
  • ❌ BPF filter applied using TC (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@tradebot-elastic
Copy link

tradebot-elastic commented Feb 7, 2025

⛔️ Tests failed:

  • ❌ SSH Process Launched From Inside A Container (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ✅ Apple Script Execution followed by Network Connection (eql)
  • ❌ Suspicious Interactive Shell Spawned From Inside A Container (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Local Scheduled Task Creation (eql)
    • stack_validation_failed: no_alerts - 0 alerts
  • ❌ BPF filter applied using TC (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@w0rk3r w0rk3r merged commit 5155f47 into main Feb 7, 2025
10 checks passed
@w0rk3r w0rk3r deleted the event_agg_rt_2 branch February 7, 2025 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants