Skip to content

Add new ML detection rules for Privileged Access Detection#4516

Merged
sodhikirti07 merged 17 commits intomainfrom
add-new-ml-detection-rules
Mar 19, 2025
Merged

Add new ML detection rules for Privileged Access Detection#4516
sodhikirti07 merged 17 commits intomainfrom
add-new-ml-detection-rules

Conversation

@sodhikirti07
Copy link
Contributor

@sodhikirti07 sodhikirti07 commented Mar 4, 2025

Pull Request

Issue link(s):

Summary - What I changed

  • Added detection rules corresponding to AD jobs in the Privileged Access Detection (PAD) package. You could see the jobs config here.
    Note: Both updates are scheduled for release in version 8.18.0.
  • Excluded pad rules from react tests kick off.
  • Built manifest and schema for PAD tests
python -m detection_rules dev integrations build-manifests -o --prerelease -i pad
Loaded config file: /Users/shashankks/elastic_workspace/detection-rules/.detection-rules-cfg.json

█▀▀▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄   ▄      █▀▀▄ ▄  ▄ ▄   ▄▄▄ ▄▄▄
█  █ █▄▄  █  █▄▄ █    █   █  █ █ █▀▄ █      █▄▄▀ █  █ █   █▄▄ █▄▄
█▄▄▀ █▄▄  █  █▄▄ █▄▄  █  ▄█▄ █▄█ █ ▀▄█      █ ▀▄ █▄▄█ █▄▄ █▄▄ ▄▄█

loading rules to determine all integration tags
loaded pad manifests from the following package versions: ['0.0.1']
final integrations manifests dumped: /Users/shashankks/elastic_workspace/detection-rules/detection_rules/etc/integration-manifests.json.gz
(.venv) 
detection-rules on  add-new-ml-detection-rules [$!?] is 📦 v0.4.22 via 🐍 v3.12.8 (.venv) on ☁️  shashank.suryanarayana@elastic.co python -m detection_rules dev integrations build-schemas -o -i pad
Loaded config file: /Users/shashankks/elastic_workspace/detection-rules/.detection-rules-cfg.json

█▀▀▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄   ▄      █▀▀▄ ▄  ▄ ▄   ▄▄▄ ▄▄▄
█  █ █▄▄  █  █▄▄ █    █   █  █ █ █▀▄ █      █▄▄▀ █  █ █   █▄▄ █▄▄
█▄▄▀ █▄▄  █  █▄▄ █▄▄  █  ▄█▄ █▄█ █ ▀▄█      █ ▀▄ █▄▄█ █▄▄ █▄▄ ▄▄█

Building integration schemas...
processing pad
final integrations manifests dumped: /Users/shashankks/elastic_workspace/detection-rules/detection_rules/etc/integration-schemas.json.gz
(.venv) 
detection-rules on  add-new-ml-detection-rules [$!?] is 📦 v0.4.22 via 🐍 v3.12.8 (.venv) on ☁️  shashank.suryanarayana@elastic.co took 4s 
  • Build Manifest and Schema for sysmon_linux
python -m detection_rules dev integrations build-manifests -o -i sysmon_linux       
Loaded config file: /Users/shashankks/elastic_workspace/detection-rules/.detection-rules-cfg.json

█▀▀▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄   ▄      █▀▀▄ ▄  ▄ ▄   ▄▄▄ ▄▄▄
█  █ █▄▄  █  █▄▄ █    █   █  █ █ █▀▄ █      █▄▄▀ █  █ █   █▄▄ █▄▄
█▄▄▀ █▄▄  █  █▄▄ █▄▄  █  ▄█▄ █▄█ █ ▀▄█      █ ▀▄ █▄▄█ █▄▄ █▄▄ ▄▄█

loading rules to determine all integration tags
loaded sysmon_linux manifests from the following package versions: ['1.8.0', '1.7.2', '1.7.1', '1.7.0', '1.6.3', '1.6.2', '1.6.1', '1.6.0', '1.5.1', '1.5.0', '1.4.0', '1.3.0', '1.2.0', '1.1.0', '1.0.0']
final integrations manifests dumped: /Users/shashankks/elastic_workspace/detection-rules/detection_rules/etc/integration-manifests.json.gz
(.venv) 
detection-rules on  add-new-ml-detection-rules [$!?] is 📦 v0.4.22 via 🐍 v3.12.8 (.venv) on ☁️  shashank.suryanarayana@elastic.co python -m detection_rules dev integrations build-schemas -o -i sysmon_linux              
Loaded config file: /Users/shashankks/elastic_workspace/detection-rules/.detection-rules-cfg.json

█▀▀▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄   ▄      █▀▀▄ ▄  ▄ ▄   ▄▄▄ ▄▄▄
█  █ █▄▄  █  █▄▄ █    █   █  █ █ █▀▄ █      █▄▄▀ █  █ █   █▄▄ █▄▄
█▄▄▀ █▄▄  █  █▄▄ █▄▄  █  ▄█▄ █▄█ █ ▀▄█      █ ▀▄ █▄▄█ █▄▄ █▄▄ ▄▄█

Building integration schemas...
processing sysmon_linux
final integrations manifests dumped: /Users/shashankks/elastic_workspace/detection-rules/detection_rules/etc/integration-schemas.json.gz
(.venv) 
detection-rules on  add-new-ml-detection-rules [$!?] is 📦 v0.4.22 via 🐍 v3.12.8 (.venv) on ☁️  shashank.suryanarayana@elastic.co took 45s 

How To Test

Checklist

  • Added a label for the type of pr: bug, enhancement, schema, maintenance, Rule: New, Rule: Deprecation, Rule: Tuning, Hunt: New, or Hunt: Tuning so guidelines can be generated
  • Added the meta:rapid-merge label if planning to merge within 24 hours
  • Secret and sensitive material has been managed correctly
  • Automated testing was updated or added to match the most common scenarios
  • Documentation and comments were added for features that require explanation

Contributor checklist

@tradebot-elastic
Copy link

tradebot-elastic commented Mar 4, 2025

⛔️ Tests failed:

  • ❌ Spike in Group Privilege Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Unusual Source IP for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Spike in Special Logon Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ High Command Line Entropy Detected for Privileged Commands (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Spike in Group Membership Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Spike in User Lifecycle Management Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Unusual Privilege Type assigned to a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Unusual Host Name for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Spike in Group Application Assignment Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Spike in User Account Management Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Unusual Process Detected for Privileged Commands by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Spike in Special Privilege Use Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Spike in Group Management Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Unusual Host Name for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Unusual Spike in Concurrent Active Sessions by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Unusual Region Name for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Spike in Group Lifecycle Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Decline in host-based traffic (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Spike in Privileged Command Execution by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Unusual Region Name for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Unusual Source IP for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events
  • ❌ Spike in host-based traffic (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
    • events_validation_missing: Not tested with events

@shashank-elastic
Copy link
Contributor

Quick Review note

  • PAD seems to be a new integration that we are adding.
  • This would mean we need to pull in manifests and schemas for the same!
  • When are targeting this we have a huge big PR for Prep work and a release scheduled this week once we are unblocked by the ML packages having 9.0.0.
  • From the integrations part I can help you generate for PAD and we can sync on this

@shashank-elastic
Copy link
Contributor

Post Syncing with @sodhikirti07
The Package is not published in the EPR - https://epr.elastic.co/search?package=pad
This is scheduled to release in Timeline of 8.18 and we will be able to pull the rule dev work and integrations only after having at-least a beta version of the package and the same has been communicated.

@terrancedejesus
Copy link
Contributor

terrancedejesus commented Mar 4, 2025

@shashank-elastic - If I remember correctly, we still need to validate ML job IDs in packages upstream. Thus this PR will not be able to merge until that the ML package is in EPR. We could manually add them to bypass this for now, but need to pull later when available

@tradebot-elastic
Copy link

tradebot-elastic commented Mar 4, 2025

⛔️ Tests failed:

@sodhikirti07
Copy link
Contributor Author

@shashank-elastic Started a PR for Security:Host module here : #4519

@sodhikirti07 sodhikirti07 changed the title Add new ML detection rules for Host traffic detection and Privileged Access Detection Add new ML detection rules for Privileged Access Detection Mar 4, 2025
@shashank-elastic
Copy link
Contributor

Update

For this PR we have new integration PAD, and we wait for the Package to release add the package to our list of MACHINE_LEARNING packages here and then allow it pass through the normal dev cycle.

@tradebot-elastic
Copy link

tradebot-elastic commented Mar 12, 2025

⛔️ Tests failed:

  • ❌ Spike in Group Privilege Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Source IP for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Special Logon Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ High Command Line Entropy Detected for Privileged Commands (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Membership Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in User Lifecycle Management Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Privilege Type assigned to a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Host Name for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Application Assignment Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in User Account Management Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Process Detected for Privileged Commands by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Special Privilege Use Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Management Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Host Name for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Spike in Concurrent Active Sessions by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Region Name for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Lifecycle Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Privileged Command Execution by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Region Name for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Source IP for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@sodhikirti07
Copy link
Contributor Author

@shashank-elastic The Privileged Access Detection package is now available as a beta-release: https://epr.elastic.co/package/pad/0.0.1/. Could you help adding the detection-rules for this integration? This package is available for both 8.18 and 9.0.

@tradebot-elastic
Copy link

tradebot-elastic commented Mar 13, 2025

⛔️ Tests failed:

  • ❌ Spike in Group Privilege Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Source IP for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Special Logon Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ High Command Line Entropy Detected for Privileged Commands (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Membership Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in User Lifecycle Management Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Privilege Type assigned to a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Host Name for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Application Assignment Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in User Account Management Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Process Detected for Privileged Commands by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Special Privilege Use Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Management Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Host Name for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Spike in Concurrent Active Sessions by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Region Name for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Lifecycle Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Privileged Command Execution by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Region Name for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Source IP for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@tradebot-elastic
Copy link

tradebot-elastic commented Mar 13, 2025

⛔️ Tests failed:

  • ❌ Spike in Group Privilege Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Source IP for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Special Logon Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ High Command Line Entropy Detected for Privileged Commands (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Membership Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in User Lifecycle Management Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Privilege Type assigned to a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Host Name for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Application Assignment Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in User Account Management Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Process Detected for Privileged Commands by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Special Privilege Use Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Management Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Host Name for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Spike in Concurrent Active Sessions by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Region Name for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Group Lifecycle Change Events (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Spike in Privileged Command Execution by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Region Name for Windows Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Group Name Accessed by a User (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta
  • ❌ Unusual Source IP for Okta Privileged Operations Detected (-)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@github-actions
Copy link
Contributor

Enhancement - Guidelines

These guidelines serve as a reminder set of considerations when addressing adding a feature to the code.

Documentation and Context

  • Describe the feature enhancement in detail (alternative solutions, description of the solution, etc.) if not already documented in an issue.
  • Include additional context or screenshots.
  • Ensure the enhancement includes necessary updates to the documentation and versioning.

Code Standards and Practices

  • Code follows established design patterns within the repo and avoids duplication.
  • Code changes do not introduce new warnings or errors.
  • Variables and functions are well-named and descriptive.
  • Any unnecessary / commented-out code is removed.
  • Ensure that the code is modular and reusable where applicable.
  • Check for proper exception handling and messaging.

Testing

  • New unit tests have been added to cover the enhancement.
  • Existing unit tests have been updated to reflect the changes.
  • Provide evidence of testing and validating the enhancement (e.g., test logs, screenshots).
  • Validate that any rules affected by the enhancement are correctly updated.
  • Ensure that performance is not negatively impacted by the changes.
  • Verify that any release artifacts are properly generated and tested.

Additional Checks

  • Ensure that the enhancement does not break existing functionality.
  • Review the enhancement with a peer or team member for additional insights.
  • Verify that the enhancement works across all relevant environments (e.g., different OS versions).
  • Confirm that all dependencies are up-to-date and compatible with the changes.
  • Confirm that the proper version label is applied to the PR patch, minor, major.

@shashank-elastic
Copy link
Contributor

March 13 Update

  • Some small changes in tactic is required I have added the header for discovery in commit, this is missing a technique / sub- tech might wanna check that @sodhikirti07
  • Ignore react test kick off for pad rules updated
  • Added PAD as machine learning package and updated the manifest and schema
  • Once the schema is added, one of the rule is failing with the below error. Please check the valid machine learning job_id for the said rule.
E           AssertionError: The following (1) rules are missing a valid `machine_learning_job_id`:
E           2bca4fcd-5228-4472-9071-148903a31057 - Unusual Host Name for Windows Privileged Operations Detected -> machine_learning_job_id `pad_windows_rare_host_name_by_user` not found in version `0.0.1` of `pad` integration. existing jobs: ['pad_windows_high_count_special_logon_events', 'pad_windows_high_count_special_privilege_use_events', 'pad_windows_high_count_group_management_events', 'pad_windows_high_count_user_account_management_events', 'pad_windows_rare_privilege_assigned_to_user', 'pad_windows_rare_group_name_by_user', 'pad_windows_rare_device_by_user', 'pad_windows_rare_source_ip_by_user', 'pad_windows_rare_region_name_by_user', 'pad_linux_high_count_privileged_process_events_by_user', 'pad_linux_rare_process_executed_by_user', 'pad_linux_high_median_process_command_line_entropy_by_user', 'pad_okta_spike_in_group_membership_changes', 'pad_okta_spike_in_user_lifecycle_management_changes', 'pad_okta_spike_in_group_privilege_changes', 'pad_okta_spike_in_group_application_assignment_changes', 'pad_okta_spike_in_group_lifecycle_changes', 'pad_okta_high_sum_concurrent_sessions_by_user', 'pad_okta_rare_source_ip_by_user', 'pad_okta_rare_region_name_by_user', 'pad_okta_rare_host_name_by_user']
  • Now after adding PAD we noticed a new integration sysmon_linux in the PAD rules. Now this integration does not have a 9.0.0 version compatible package, now it may pass for 8.18 but it definitely will block us in creating 9.0 package.
  • Even before we merge this its good to reach out to the said team in the owner filed "elastic/sec-linux-platform" for a 9.0.0 compatible package. I have raised similar requests, if you need help there please let me know

cc @sodhikirti07 @Mikaayenson

@botelastic botelastic bot added python Internal python for the repository schema labels Mar 14, 2025
@shashank-elastic
Copy link
Contributor

Fri 14 Update

  • Update Manifest and schema for sysmon_linux. The package has merged its 9.0.0 version support
  • Update patch version versions for code path changes.

@sodhikirti07
Copy link
Contributor Author

@terrancedejesus @eric-forte-elastic @Mikaayenson Can someone please approve this PR?

Copy link
Contributor

@Mikaayenson Mikaayenson left a comment

Choose a reason for hiding this comment

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

@sodhikirti07 can you add investigation guides to these rules?

@shashank-elastic
Copy link
Contributor

@sodhikirti07 can you add investigation guides to these rules?

@Mikaayenson added the investigation guides

Copy link
Contributor

@eric-forte-elastic eric-forte-elastic left a comment

Choose a reason for hiding this comment

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

LGTM 👍 But would wait in merging until @Mikaayenson 👍 investigation guides.

Copy link
Member

@susan-shu-c susan-shu-c left a comment

Choose a reason for hiding this comment

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

Looked over the rules, great work Kirti, Shashank!

@sodhikirti07 sodhikirti07 merged commit 2ff8d1b into main Mar 19, 2025
12 checks passed
@sodhikirti07 sodhikirti07 deleted the add-new-ml-detection-rules branch March 19, 2025 15:02
r0ot added a commit to VigilantSec/detection-rules that referenced this pull request Apr 16, 2025
* Temporaily Disable Changed FIles Workflow (elastic#4538)

* Temporaily Disable Changed FIles Workflow

* bump version

* Add new ML detection rules for Privileged Access Detection (elastic#4516)

Add detection-rules for privileged access detection integration

* Revert "Add new ML detection rules for Privileged Access Detection (elastic#4516)" (elastic#4548)

This reverts commit 2ff8d1b.

* Min stack rules from 4516 (elastic#4549)

* Update defense_evasion_posh_assembly_load.toml (elastic#4543)

Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>

* Change description and name of problemchild ML detection-rules (elastic#4545)

Changed description and name of problemchild ML detection-rules

* Prep for Release 9.0 (elastic#4550)

* [ci] Add new docs-builder automation. (elastic#4507)

* Add new docs automation

* Add path-pattern filters for documentation folders

* Update .github/workflows/docs-build.yml

Co-authored-by: Jan Calanog <nejcalanog@gmail.com>

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
Co-authored-by: Jan Calanog <nejcalanog@gmail.com>
Co-authored-by: Sergey Polzunov <traut@users.noreply.github.com>

* [FR] Bump changed-files Version to Patched Version (elastic#4542)

* Bump changed-files Version to Patched Version

* patch bump

* reenable workflow

* Use full length commit hash

* Bump 44 to 46

---------

Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>

* [New Rule] Adding Coverage for DynamoDB Exfiltration Behaviors (elastic#4535)

* new rules for AWS DynamoDB data exfiltration

* bumping patch version

* adjusting investigation guide

* updating patch version

* updating patch version

* updating patch version

---------

Co-authored-by: Colson Wilhoit <48036388+DefSecSentinel@users.noreply.github.com>

* fix: removing outdated code in Kibana client auth (elastic#4495)

* Simplify kibana session management

* Drop removed options from `kibana_args` set

* Style fix

* Patch version bump

* Bumping kibana lib version

* Relax CLI requirement, making `api_key` optional, to allow `help` to run

* Create new detection rule set documentation to be included in the new docs. (elastic#4508)

* move docs folder to docs-dev

* Add new docs folder

* update docset.yml to reflect latest usage

* Add rules_building_block folder

* revert changes to docs-dev/experimental-machine-learning/url-spoof.md

* bump patch versions

* revert bump

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* fixing double header in investigation notes (elastic#4490)

* [Bug] Update Custom Rules Markdown Location (elastic#4565)

* Update to custom-rules markdown location

* bump version

* Update link reference

* Prep main for 9.1 (elastic#4555)

* Prep for Release 9.1

* Update Patch Version

* Update Patch version

* Update Patch version

* [Rule Tuning] Added OWA (outlook for web) new AppID (elastic#4568)

* Added OWA (outlook for web) new AppID

**Title:** Add new Outlook for Web AppID to abnormal Microsoft 365 ClientAppID rule

**Description:**

This pull request updates the `initial_access_microsoft_365_abnormal_clientappid` rule to include the newly introduced Outlook for Web AppID:
- **New AppID**: `9199bf20-a13f-4107-85dc-02114787ef48`

### Context

Outlook for Web (OWA) is migrating to a new authentication platform using MSAL and a Single Page Application (SPA) auth model. As part of this backend change, Microsoft is replacing the existing OWA AppID with a new one. This change is being rolled out during the first half of calendar year 2024, with full deployment expected by Q4 2024.
- **Old OWA AppID**: `00000002-0000-0ff1-ce00-000000000000`
- **New OWA AppID**: `9199bf20-a13f-4107-85dc-02114787ef48`
    

Although no action is required for tenant administrators, this new AppID may show up in logs and should be accounted for in detections relying on known legitimate ClientAppIDs.

### Why this change?

The rule `initial_access_microsoft_365_abnormal_clientappid` flags potentially suspicious or unauthorized client applications accessing Microsoft 365 services. To prevent false positives caused by this official change from Microsoft, this PR adds the new OWA AppID to the allowlist.

### References
- Microsoft 365 Message Center notice (ref: MC715025)
- [MSAL documentation](https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-overview)

* Update initial_access_microsoft_365_abnormal_clientappid.toml

Updated updated_date

* Update Max signals value to supported limits (elastic#4556)

* Update ATT&CK coverage URL(s) in docs-dev/ATT&CK-coverage.md (elastic#4571)

* deprecating 'Azure Virtual Network Device Modified or Deleted' (elastic#4559)

* tuning 'Azure Conditional Access Policy Modified' (elastic#4558)

* [Rule Tuning] Tuning Illicit Grant Consent Detections in Azure and M365 (elastic#4557)

* tuning Azure rule for illicit grant activity; creating new rule for M365

* Update rules/integrations/o365/initial_access_microsoft_365_illicit_consent_grant_via_registered_application.toml

* Update rules/integrations/azure/initial_access_entra_illicit_consent_grant_via_registered_application.toml

* adjusted tags

* Update rules/integrations/azure/initial_access_entra_illicit_consent_grant_via_registered_application.toml

* Update defense_evasion_microsoft_defender_tampering.toml (elastic#4573)

Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>

* [Rule Tuning] O365 Exchange Suspicious Mailbox Right Delegation (elastic#4589)

* Update docset.yml (elastic#4590)

Remove diagnostic hint

* [New] Unusual Network Connection to Suspicious Web Service (elastic#4569)

* [New] Unusual Network Connection to Suspicious Web Service

* Update rule threat order

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
Co-authored-by: eric-forte-elastic <eric.forte@elastic.co>
Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

* [New] Unusual Network Connection to Suspicious Top Level Domain (elastic#4563)

* [Rule Tuning] Add Host Metadata to ES|QL Aggregation Rules (elastic#4592)

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

* Add investigation guides (elastic#4600)

* [Rule Tuning] Suspicious Execution via Scheduled Task (elastic#4599)

* Lock versions for releases: 8.14,8.15,8.16,8.17,8.18,9.0 (elastic#4601)

* [FN Tuning] Shared Object Created or Changed by Previously Unknown Pr… (elastic#4529)

* [FN Tuning] Shared Object Created or Changed by Previously Unknown Process

* Update process exclusions in TOML file

---------

Co-authored-by: Colson Wilhoit <48036388+DefSecSentinel@users.noreply.github.com>
Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>

* [D4C Conversion] Converting Compatible D4C Rules to DR (elastic#4532)

* [D4C Conversion] Converting Compatible D4C Rules to DR

* added host.os.type

* Rename

* Update rules/linux/execution_container_management_binary_launched_inside_container.toml

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Update rules/linux/privilege_escalation_debugfs_launched_inside_container.toml

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Update rules/linux/privilege_escalation_debugfs_launched_inside_container.toml

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Update rules/linux/privilege_escalation_mount_launched_inside_container.toml

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Update rules/linux/privilege_escalation_mount_launched_inside_container.toml

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

---------

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>
Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

* Remove Task List reference (elastic#4605)

* [FR] Update Detection Rules MITRE Workflow to SHA Pin  (elastic#4581)

* Update to pinned hash

* version bump

* [FR] Add Kibana Action Connector Error to Exception List Workaround (elastic#4583)

* Add error catch for workaround

* Switch to set for efficiency

* Patch version bump

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

* [Rule Tuning] SSH Authorized Keys File Deletion (elastic#4591)

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

* [Rule Tuning] Suspicious WMI Event Subscription Created (elastic#4618)

* [Rule Tuning] Suspicious Execution via Scheduled Task

* [Rule Tuning] Suspicious WMI Event Subscription Created

* [Rule Tuning] Adjusting `Microsoft Entra ID Rare Authentication Requirement for Principal User` (elastic#4562)

* tuning 'Microsoft Entra ID Rare Authentication Requirement for Principal User'

* updated MITRE ATT&CK mappings

* updated index target

* updated patch version

* updating patch version

* bumping patch version

* updating patch version

* [Rule Tuning] Tuning `Azure Service Principal Credentials Added` (elastic#4570)

* tuning 'Azure Service Principal Credentials Added'

* updated patch version

* added investigation guide

* updating patch version

* updating patch version

* [FR] Add Support for Local Dates Flag (elastic#4582)

* Add support for local dates flag

* Use two variables

* Add support for import-rules-to-repo

* Revert arg formatting

* Update comment

* Pass Rule Path as Path Object

* Update to rule loader function

* Streamline metadata function

* Also support dictionaries

* Bump patch version

* Reduce complexity

* Add if path exists check

* Fix version bump

* Feature exclude tactic name (elastic#4593)

* Added new cli flag to exclude tactic name in rule file name

* added a shortcut for the flag and adjusted CLI readme

* Add no tactic flag also to import to prevent warnings

* Added info about unit test

* version bump

* Added no_tactic_filename as config option + fixed linting

* pyproject version bump

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>
Co-authored-by: Kirti Sodhi <109447885+sodhikirti07@users.noreply.github.com>
Co-authored-by: Samirbous <64742097+Samirbous@users.noreply.github.com>
Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>
Co-authored-by: shashank-elastic <91139415+shashank-elastic@users.noreply.github.com>
Co-authored-by: Martijn Laarman <Mpdreamz@gmail.com>
Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
Co-authored-by: Jan Calanog <nejcalanog@gmail.com>
Co-authored-by: Sergey Polzunov <traut@users.noreply.github.com>
Co-authored-by: Colson Wilhoit <48036388+DefSecSentinel@users.noreply.github.com>
Co-authored-by: M. Visser <BugOrFeature@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: eric-forte-elastic <eric.forte@elastic.co>
Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>
Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>
Co-authored-by: Frederik Berg <83548283+frederikb96@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport: auto enhancement New feature or request patch python Internal python for the repository schema

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants