-
Notifications
You must be signed in to change notification settings - Fork 613
[New Rules] Add MITRE ATLAS framework support and GenAI threat detection rules #5352
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
Conversation
This comment was marked as duplicate.
This comment was marked as duplicate.
Enhancement - GuidelinesThese guidelines serve as a reminder set of considerations when addressing adding a feature to the code. Documentation and Context
Code Standards and Practices
Testing
Additional Checks
|
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
rules/cross-platform/command_and_control_genai_process_suspicious_tld_connection.toml
Outdated
Show resolved
Hide resolved
rules/cross-platform/collection_genai_process_sensitive_file_access.toml
Outdated
Show resolved
Hide resolved
…ccess.toml Co-authored-by: Samirbous <64742097+Samirbous@users.noreply.github.com>
This comment was marked as duplicate.
This comment was marked as duplicate.
|
💚 CLA has been signed |
|
⛔️ Test failed Results
|
rules/cross-platform/collection_genai_process_sensitive_file_access.toml
Outdated
Show resolved
Hide resolved
rules/cross-platform/collection_genai_process_sensitive_file_access.toml
Outdated
Show resolved
Hide resolved
rules/cross-platform/collection_genai_process_sensitive_file_access.toml
Outdated
Show resolved
Hide resolved
rules/cross-platform/collection_genai_process_sensitive_file_access.toml
Outdated
Show resolved
Hide resolved
rules/cross-platform/command_and_control_genai_process_suspicious_tld_connection.toml
Outdated
Show resolved
Hide resolved
rules/cross-platform/command_and_control_genai_process_suspicious_tld_connection.toml
Outdated
Show resolved
Hide resolved
rules/cross-platform/command_and_control_genai_process_suspicious_tld_connection.toml
Show resolved
Hide resolved
|
⛔️ Test failed Results
|
…c/detection-rules into additional_genai_coverage
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
rules/cross-platform/command_and_control_genai_process_unusual_domain.toml
Outdated
Show resolved
Hide resolved
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
eric-forte-elastic
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟢 Manual review, local testing (ref), looks good to me! 👍
| shell commands, read files, and interact with external services. This building block provides visibility into | ||
| AI-initiated process execution for correlation with other suspicious activity. | ||
| """ | ||
| from = "now-119m" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wondering if we should bypass_bbr_timing = true
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you don't expect it to be noisy I would just run on regular interval here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will be noisy
Aegrah
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Some comments to improve on.
rules/cross-platform/command_and_control_genai_process_suspicious_tld_connection.toml
Outdated
Show resolved
Hide resolved
rules/cross-platform/command_and_control_genai_process_suspicious_tld_connection.toml
Show resolved
Hide resolved
rules/cross-platform/command_and_control_genai_process_suspicious_tld_connection.toml
Show resolved
Hide resolved
| type = "eql" | ||
|
|
||
| query = ''' | ||
| network where host.os.type in ("macos", "windows") and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
event.action/event.type could be added here
rules/cross-platform/command_and_control_genai_process_unusual_domain.toml
Show resolved
Hide resolved
|
|
||
| // Encoding/compression followed by network activity | ||
| [process where event.type == "start" | ||
| and event.type == "start" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| and event.type == "start" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same note on event.action
rules/cross-platform/defense_evasion_genai_process_encoding_prior_to_network_activity.toml
Outdated
Show resolved
Hide resolved
| shell commands, read files, and interact with external services. This building block provides visibility into | ||
| AI-initiated process execution for correlation with other suspicious activity. | ||
| """ | ||
| from = "now-119m" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you don't expect it to be noisy I would just run on regular interval here.
rules/cross-platform/defense_evasion_genai_process_encoding_prior_to_network_activity.toml
Show resolved
Hide resolved
| type = "eql" | ||
|
|
||
| query = ''' | ||
| process where event.type == "start" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be good to add compatible event.actions
…xecutables.toml Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>
|
⛔️ Test failed Results
|
…ior_to_network_activity.toml Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>
|
⛔️ Test failed Results
|
terrancedejesus
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM peer review with @Mikaayenson
|
⛔️ Test failed Results
|
…c/detection-rules into additional_genai_coverage
|
⛔️ Test failed Results
|
|
@Aegrah ill take |
Pull Request
Issue link(s): Related https://github.com/elastic/security-team/issues/9809
Summary - What I changed
This PR adds MITRE ATLAS framework support to the detection-rules repository and introduces seven new Generative AI (GenAI) threat detection rules with ATLAS technique references.
Framework Support
atlas.pymodule with utilities to load and process ATLAS data from the official MITRE ATLAS YAML filetest_all_rules.pywith ATLAS validation logic (temporarily skipped pending Security Solution support for ATLAS[[rule.threat]]blocks)Mitre Atlas: T0086) and rule references; validation logic is in place for future[[rule.threat]]block supportNew Detection Rules
Seven new detection rules targeting GenAI-related threats:
Credential Access - GenAI Process Accessing Sensitive Files
Command and Control - GenAI Process Connection to Suspicious TLD
Defense Evasion - GenAI Process Compiling Executables
Defense Evasion - GenAI Process Encoding Prior to Network Activity
Defense Evasion - Unusual Process Modifying GenAI Configuration File
Command and Control - GenAI Process Connection to Unusual Domain
Execution - GenAI or MCP Server Child Process
How To Test
🔱 Tests will run in CI
Manual Testing
Validate framework support and all rules:
python -m detection_rules testLint specific rules:
Check ATLAS data loading:
Expected Test Results
Checklist
Rule: Newandenhancement(for ATLAS framework support)meta:rapid-mergelabel if planning to merge within 24 hours