Skip to content

Conversation

w0rk3r
Copy link
Contributor

@w0rk3r w0rk3r commented Aug 27, 2025

Issue

Related (but not limited) to https://github.com/elastic/ia-trade-team/issues/498

Summary

This PR is part of a series that adds compatibility for additional data sources, including CrowdStrike, SentinelOne, Microsoft Defender for Endpoint, Endgame, and Sysmon.

To review this PR, you can use the EDR Field Compatibility Matrix, which details field compatibility for each event.category across EDR data sources.

Some changes go beyond metadata and include logic updates to optimize, simplify, or account for differences between data sources (For example, CrowdStrike uses NT Object paths for Windows paths instead of drive letters.). Please review these cases with extra attention, and don’t hesitate to ask questions.

@w0rk3r w0rk3r self-assigned this Aug 27, 2025
@w0rk3r w0rk3r added Rule: Tuning tweaking or tuning an existing rule OS: Windows windows related rules Domain: Endpoint backport: auto labels Aug 27, 2025
Copy link
Contributor

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.
@tradebot-elastic
Copy link

tradebot-elastic commented Aug 27, 2025

⛔️ Test failed

Results
  • ✅ Microsoft Build Engine Using an Alternate Name (eql)
  • ✅ DNS-over-HTTPS Enabled via Registry (eql)
  • ❌ Suspicious Communication App Child Process (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Code Signing Policy Modification Through Registry (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Network-Level Authentication (NLA) Disabled (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
@tradebot-elastic
Copy link

tradebot-elastic commented Aug 28, 2025

⛔️ Test failed

Results
  • ✅ Microsoft Build Engine Using an Alternate Name (eql)
  • ✅ DNS-over-HTTPS Enabled via Registry (eql)
  • ❌ Suspicious Communication App Child Process (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Code Signing Policy Modification Through Registry (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Network-Level Authentication (NLA) Disabled (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
@tradebot-elastic
Copy link

tradebot-elastic commented Aug 28, 2025

⛔️ Test failed

Results
  • ✅ Microsoft Build Engine Using an Alternate Name (eql)
  • ✅ DNS-over-HTTPS Enabled via Registry (eql)
  • ❌ Suspicious Communication App Child Process (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Code Signing Policy Modification Through Registry (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Network-Level Authentication (NLA) Disabled (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
query = '''
process where host.os.type == "windows" and event.type == "start" and
process where host.os.type == "windows" and event.type == "start" and
not process.executable :
Copy link
Contributor

Choose a reason for hiding this comment

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

those FPs are duplicated in every comm-app, common FPs should be grouped for simplicity.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That is a nice move, thanks!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Maybe we should also check if signed/trusted?

Copy link
Contributor

Choose a reason for hiding this comment

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

no need as it require local admin to write there and there are no known lolbins in that folder.

integration = ["endpoint", "windows", "m365_defender", "crowdstrike"]
maturity = "production"
updated_date = "2025/05/05"
updated_date = "2025/08/26"
Copy link
Contributor

Choose a reason for hiding this comment

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

@w0rk3r unrelated to this PR scope, would be good to update this rule to cover other LOLBINs/system utilities instead of being limited to MSbuild, also severity should be high (very low FPs)

Similar ER that can be used to update this rule :

https://github.com/elastic/protections-artifacts/blob/6dde7a19e4c720e49930b2330a075db75c696f4d/behavior/rules/windows/defense_evasion_execution_via_renamed_signed_binary_proxy.toml#L3

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll put it in my todo 👍🏼

@tradebot-elastic
Copy link

tradebot-elastic commented Aug 28, 2025

⛔️ Test failed

Results
  • ✅ Microsoft Build Engine Using an Alternate Name (eql)
  • ✅ DNS-over-HTTPS Enabled via Registry (eql)
  • ❌ Suspicious Communication App Child Process (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Code Signing Policy Modification Through Registry (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Network-Level Authentication (NLA) Disabled (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
@tradebot-elastic
Copy link

tradebot-elastic commented Aug 28, 2025

⛔️ Test failed

Results
  • ✅ Microsoft Build Engine Using an Alternate Name (eql)
  • ✅ DNS-over-HTTPS Enabled via Registry (eql)
  • ❌ Suspicious Communication App Child Process (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Code Signing Policy Modification Through Registry (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Network-Level Authentication (NLA) Disabled (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
@tradebot-elastic
Copy link

tradebot-elastic commented Aug 28, 2025

⛔️ Test failed

Results
  • ✅ Microsoft Build Engine Using an Alternate Name (eql)
  • ✅ DNS-over-HTTPS Enabled via Registry (eql)
  • ❌ Suspicious Communication App Child Process (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Code Signing Policy Modification Through Registry (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Network-Level Authentication (NLA) Disabled (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
@tradebot-elastic
Copy link

tradebot-elastic commented Aug 28, 2025

⛔️ Test failed

Results
  • ✅ Microsoft Build Engine Using an Alternate Name (eql)
  • ✅ DNS-over-HTTPS Enabled via Registry (eql)
  • ❌ Suspicious Communication App Child Process (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Code Signing Policy Modification Through Registry (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Network-Level Authentication (NLA) Disabled (eql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
@w0rk3r w0rk3r merged commit 8ab9845 into main Aug 28, 2025
14 of 17 checks passed
@w0rk3r w0rk3r deleted the 3rd_party_edr_2 branch August 28, 2025 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport: auto Domain: Endpoint OS: Windows windows related rules Rule: Tuning tweaking or tuning an existing rule

4 participants