-
Notifications
You must be signed in to change notification settings - Fork 518
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
[New Rule] Potential Buffer Overflow Attack Detected #3312
Changes from 4 commits
f8e32a6
d87ac8d
d3fa394
9ecf2bf
65431d2
c0abad1
06899b4
1bfeee9
7c5c8cc
ab96dd3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
[metadata] | ||
creation_date = "2023/12/11" | ||
maturity = "production" | ||
min_stack_comments = "New fields added: required_fields, related_integrations, setup" | ||
min_stack_version = "8.3.0" | ||
updated_date = "2023/12/11" | ||
|
||
[rule] | ||
author = ["Elastic"] | ||
description = """ | ||
Detects potential buffer overflow attacks by querying the "Segfault Detected" pre-built rule signal index, through a | ||
threshold rule, with a minimum number of 100 segfault alerts in a short timespan. A large amount of segfaults in a short | ||
time interval could indicate application exploitation attempts. | ||
""" | ||
from = "now-9m" | ||
index = [".alerts-security.*"] | ||
language = "kuery" | ||
license = "Elastic License v2" | ||
name = "Potential Buffer Overflow Attack Detected" | ||
risk_score = 21 | ||
rule_id = "b7c05aaf-78c2-4558-b069-87fa25973489" | ||
setup = """ | ||
|
||
This rule requires data coming in from Elastic Defend. | ||
|
||
### Elastic Defend Integration Setup | ||
Elastic Defend is integrated into the Elastic Agent using Fleet. Upon configuration, the integration allows the Elastic Agent to monitor events on your host and send data to the Elastic Security app. | ||
|
||
#### Prerequisite Requirements: | ||
- Fleet is required for Elastic Defend. | ||
- To configure Fleet Server refer to the [documentation](https://www.elastic.co/guide/en/fleet/current/fleet-server.html). | ||
|
||
#### The following steps should be executed in order to add the Elastic Defend integration on a Linux System: | ||
- Go to the Kibana home page and click "Add integrations". | ||
- In the query bar, search for "Elastic Defend" and select the integration to see more details about it. | ||
- Click "Add Elastic Defend". | ||
- Configure the integration name and optionally add a description. | ||
- Select the type of environment you want to protect, either "Traditional Endpoints" or "Cloud Workloads". | ||
- Select a configuration preset. Each preset comes with different default settings for Elastic Agent, you can further customize these later by configuring the Elastic Defend integration policy. [Helper guide](https://www.elastic.co/guide/en/security/current/configure-endpoint-integration-policy.html). | ||
- We suggest selecting "Complete EDR (Endpoint Detection and Response)" as a configuration setting, that provides "All events; all preventions" | ||
- Enter a name for the agent policy in "New agent policy name". If other agent policies already exist, you can click the "Existing hosts" tab and select an existing policy instead. | ||
For more details on Elastic Agent configuration settings, refer to the [helper guide](https://www.elastic.co/guide/en/fleet/8.10/agent-policy.html). | ||
- Click "Save and Continue". | ||
- To complete the integration, select "Add Elastic Agent to your hosts" and continue to the next section to install the Elastic Agent on your hosts. | ||
For more details on Elastic Defend refer to the [helper guide](https://www.elastic.co/guide/en/security/current/install-endpoint.html). | ||
|
||
""" | ||
severity = "low" | ||
tags = [ | ||
"Domain: Endpoint", | ||
"OS: Linux", | ||
"Use Case: Threat Detection", | ||
"Tactic: Privilege Escalation", | ||
"Tactic: Initial Access", | ||
"Use Case: Vulnerability", | ||
"Rule Type: Higher-Order Rule" | ||
] | ||
timestamp_override = "event.ingested" | ||
type = "threshold" | ||
query = ''' | ||
kibana.alert.rule.rule_id:5c81fc9d-1eae-437f-ba07-268472967013 and event.kind:signal | ||
''' | ||
|
||
[[rule.threat]] | ||
framework = "MITRE ATT&CK" | ||
|
||
[[rule.threat.technique]] | ||
id = "T1068" | ||
name = "Exploitation for Privilege Escalation" | ||
reference = "https://attack.mitre.org/techniques/T1068/" | ||
|
||
[rule.threat.tactic] | ||
id = "TA0004" | ||
name = "Privilege Escalation" | ||
reference = "https://attack.mitre.org/tactics/TA0004/" | ||
|
||
[[rule.threat]] | ||
framework = "MITRE ATT&CK" | ||
|
||
[[rule.threat.technique]] | ||
id = "T1190" | ||
name = "Exploit Public-Facing Application" | ||
reference = "https://attack.mitre.org/techniques/T1190/" | ||
|
||
[rule.threat.tactic] | ||
id = "TA0001" | ||
name = "Initial Access" | ||
reference = "https://attack.mitre.org/tactics/TA0001/" | ||
|
||
[rule.threshold] | ||
field = ["event.kind"] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We may want to limit this somehow, by There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @w0rk3r I added the host.id field to the threshold, making it match on similar |
||
value = 100 | ||
|
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.
May require a few line additions post review from @approksiu
https://docs.google.com/document/d/1J4ClwoAkhcP4BDTw94Bwb3nC_6kXsl5pu99Um8Ddt58/edit?pli=1
We need to mention the dependent Detection rule that needs to be enabled for this threshold rule to fire.