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] 3rd Party EDR - Add Crowdstrike FDR support - 1 #4220

Merged
merged 4 commits into from
Nov 4, 2024
Merged

Conversation

w0rk3r
Copy link
Contributor

@w0rk3r w0rk3r commented Oct 31, 2024

Issues

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

Summary

Adjust simple (no sequence) rules to introduce support for Crowdstrike FDR. While full logic validation wasn't possible due to the lack of a test environment, the field population for each category was verified to ensure the data was correctly structured and populated as needed.

EDR field compatibility matrix may be of help to review, although the data provided by FDR is not consistent across event categories, and not even between event actions.

@protectionsmachine
Copy link
Collaborator

protectionsmachine commented Oct 31, 2024

Enhancement - Guidelines

These guidelines serve as a reminder set of considerations when addressing adding a new schema 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 Schema Related Checks

  • Ensure that the enhancement does not break existing functionality. (e.g., run make test-cli)
  • 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.
  • Link to the relevant Kibana PR or issue provided
  • Exported detection rule(s) from Kibana to showcase the feature(s)
  • Converted the exported ndjson file(s) to toml in the detection-rules repo
  • Re-exported the toml rule(s) to ndjson and re-imported into Kibana
  • Updated necessary unit tests to accommodate the feature
  • Applied min_compat restrictions to limit the feature to a specified minimum stack version
  • Executed all unit tests locally with a test toml rule to confirm passing
  • Included Kibana PR implementer as an optional reviewer for insights on the feature
  • Implemented requisite downgrade functionality
  • Cross-referenced the feature with product documentation for consistency
  • Incorporated a comprehensive test rule in unit tests for full schema coverage
  • Conducted system testing, including fleet, import, and create APIs (e.g., run make test-remote-cli)

@botelastic botelastic bot added python Internal python for the repository schema labels Nov 4, 2024
@w0rk3r w0rk3r merged commit 81292ae into main Nov 4, 2024
9 checks passed
@w0rk3r w0rk3r deleted the crwd_0 branch November 4, 2024 14:32
protectionsmachine pushed a commit that referenced this pull request Nov 4, 2024
* [Rule Tuning] 3rd Party EDR - Add Crowdstrike FDR support - 1

* Update Integrations unit tests

* Update test_all_rules.py

Removed changes from:
- rules/windows/collection_email_powershell_exchange_mailbox.toml
- rules/windows/command_and_control_headless_browser.toml
- rules/windows/command_and_control_rdp_tunnel_plink.toml
- rules/windows/command_and_control_screenconnect_childproc.toml
- rules/windows/command_and_control_tunnel_vscode.toml
- rules/windows/credential_access_domain_backup_dpapi_private_keys.toml
- rules/windows/credential_access_kirbi_file.toml
- rules/windows/credential_access_relay_ntlm_auth_via_http_spoolss.toml
- rules/windows/defense_evasion_disable_windows_firewall_rules_with_netsh.toml
- rules/windows/defense_evasion_dotnet_compiler_parent_process.toml

(selectively cherry picked from commit 81292ae)
protectionsmachine pushed a commit that referenced this pull request Nov 4, 2024
* [Rule Tuning] 3rd Party EDR - Add Crowdstrike FDR support - 1

* Update Integrations unit tests

* Update test_all_rules.py

Removed changes from:
- rules/windows/collection_email_powershell_exchange_mailbox.toml
- rules/windows/command_and_control_headless_browser.toml
- rules/windows/command_and_control_rdp_tunnel_plink.toml
- rules/windows/command_and_control_screenconnect_childproc.toml
- rules/windows/command_and_control_tunnel_vscode.toml
- rules/windows/credential_access_domain_backup_dpapi_private_keys.toml
- rules/windows/credential_access_kirbi_file.toml
- rules/windows/credential_access_relay_ntlm_auth_via_http_spoolss.toml
- rules/windows/defense_evasion_disable_windows_firewall_rules_with_netsh.toml
- rules/windows/defense_evasion_dotnet_compiler_parent_process.toml

(selectively cherry picked from commit 81292ae)
protectionsmachine pushed a commit that referenced this pull request Nov 4, 2024
* [Rule Tuning] 3rd Party EDR - Add Crowdstrike FDR support - 1

* Update Integrations unit tests

* Update test_all_rules.py

Removed changes from:
- rules/windows/collection_email_powershell_exchange_mailbox.toml
- rules/windows/command_and_control_headless_browser.toml
- rules/windows/command_and_control_rdp_tunnel_plink.toml
- rules/windows/command_and_control_screenconnect_childproc.toml
- rules/windows/command_and_control_tunnel_vscode.toml
- rules/windows/credential_access_domain_backup_dpapi_private_keys.toml
- rules/windows/credential_access_kirbi_file.toml
- rules/windows/credential_access_relay_ntlm_auth_via_http_spoolss.toml
- rules/windows/defense_evasion_disable_windows_firewall_rules_with_netsh.toml
- rules/windows/defense_evasion_dotnet_compiler_parent_process.toml

(selectively cherry picked from commit 81292ae)
protectionsmachine pushed a commit that referenced this pull request Nov 4, 2024
* [Rule Tuning] 3rd Party EDR - Add Crowdstrike FDR support - 1

* Update Integrations unit tests

* Update test_all_rules.py

Removed changes from:
- rules/windows/collection_email_powershell_exchange_mailbox.toml
- rules/windows/command_and_control_headless_browser.toml
- rules/windows/command_and_control_rdp_tunnel_plink.toml
- rules/windows/command_and_control_screenconnect_childproc.toml
- rules/windows/command_and_control_tunnel_vscode.toml
- rules/windows/credential_access_domain_backup_dpapi_private_keys.toml
- rules/windows/credential_access_kirbi_file.toml
- rules/windows/credential_access_relay_ntlm_auth_via_http_spoolss.toml
- rules/windows/defense_evasion_disable_windows_firewall_rules_with_netsh.toml
- rules/windows/defense_evasion_dotnet_compiler_parent_process.toml

(selectively cherry picked from commit 81292ae)
protectionsmachine pushed a commit that referenced this pull request Nov 4, 2024
* [Rule Tuning] 3rd Party EDR - Add Crowdstrike FDR support - 1

* Update Integrations unit tests

* Update test_all_rules.py

(cherry picked from commit 81292ae)
protectionsmachine pushed a commit that referenced this pull request Nov 4, 2024
* [Rule Tuning] 3rd Party EDR - Add Crowdstrike FDR support - 1

* Update Integrations unit tests

* Update test_all_rules.py

(cherry picked from commit 81292ae)
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 python Internal python for the repository Rule: Tuning tweaking or tuning an existing rule schema
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants