Newly Observed Process Exhibiting High CPU Usage
This rule alerts on processes exhibiting high CPU usage and that are observed for the first time in the previous 5 days. A previously unseen process consuming sustained CPU resources may indicate suspicious activity such as cryptomining, exploit payload execution, or other forms of resource abuse following host compromise. In some cases, this may also surface legitimate but unexpected software causing performance degradation.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2026/01/27"
3maturity = "production"
4updated_date = "2026/01/27"
5
6[rule]
7author = ["Elastic"]
8description = """
9This rule alerts on processes exhibiting high CPU usage and that are observed for the first time in the previous 5 days.
10A previously unseen process consuming sustained CPU resources may indicate suspicious activity such as cryptomining,
11exploit payload execution, or other forms of resource abuse following host compromise. In some cases, this may also
12surface legitimate but unexpected software causing performance degradation.
13"""
14from = "now-7205m"
15interval = "5m"
16language = "esql"
17license = "Elastic License v2"
18name = "Newly Observed Process Exhibiting High CPU Usage"
19setup = """## Setup
20
21This rule requires host CPU metrics collected via the Elastic Agent **System** integration.
22
23### System Metrics Integration Setup
24The System integration collects host-level metrics such as CPU usage, load, memory, and process statistics and sends them to Elasticsearch using Elastic Agent.
25
26#### Prerequisite Requirements:
27- Elastic Agent managed by Fleet
28- A Fleet Server configured and reachable
29 Refer to the Fleet Server setup guide:
30 https://www.elastic.co/guide/en/fleet/current/fleet-server.html
31
32#### The following steps should be executed in order to enable CPU metrics collection:
33- Go to the Kibana home page and click **Add integrations**.
34- In the search bar, enter **System** and select the **System** integration.
35- Click **Add System**.
36- Configure an integration name and optionally add a description.
37- Under **Metrics**, ensure the following datasets are enabled:
38 - `system.cpu`
39 - `system.load` (optional but recommended)
40 - `system.process` (optional, if process-level CPU is required)
41- Review optional and advanced settings as needed.
42- Add the integration to an existing agent policy or create a new agent policy.
43- Deploy the Elastic Agent to the hosts from which CPU metrics should be collected.
44- Click **Save and Continue** to finalize the setup.
45
46#### Validation
47After deployment, verify CPU metrics ingestion by confirming the presence of documents in:
48- `metrics-system.cpu-*`
49- `metrics-system.load-*` (if enabled)
50
51For more details on the System integration and available metrics, refer to the documentation:
52https://docs.elastic.co/integrations/system
53"""
54risk_score = 73
55rule_id = "f9de0949-94d8-441d-ae9a-8eb1e040acf2"
56severity = "high"
57tags = [
58 "Use Case: Threat Detection",
59 "Use Case: Observavility",
60 "Resources: Investigation Guide",
61 "Domain: Endpoint",
62 "Tactic: Impact"
63]
64timestamp_override = "event.ingested"
65type = "esql"
66
67query = '''
68FROM metrics-*
69// more than 90% CPU use
70| WHERE system.process.cpu.total.norm.pct >= 0.9 and process.name is not null
71| STATS Esql.total_count = count(*),
72 Esql.first_time_seen = MIN(@timestamp),
73 Esql.agent_id_values = COUNT_DISTINCT(agent.id),
74 Esql.system_process_cpu_total_norm_pct_values = MAX(system.process.cpu.total.norm.pct),
75 Esql.process_command_line_values = VALUES(process.command_line),
76 Esql.host_id_values = values(host.id),
77 Esql.user_name_values = VALUES(user.name) by process.name
78| eval Esql.recent = DATE_DIFF("minute", Esql.first_time_seen, now())
79// first time seen is within 6m of the rule execution time and first seen in the last 5 days as per the rule from schedule and limited to 1 unique hostg
80| where Esql.recent <= 6 and Esql.agent_id_values == 1
81// populate fields for rule exception
82| eval host.id = MV_FIRST(Esql.host_id_values),
83 process.command_line = MV_FIRST(Esql.process_command_line_values)
84| keep host.id, process.name, process.command_line, Esql.*
85'''
86note = """## Triage and analysis
87
88### Investigating Newly Observed Process Exhibiting High CPU Usage
89
90This rule alerts on processes exhibiting high CPU usage and that are observed for the first time in the previous 5 days.
91
92### Possible investigation steps
93- Examine the process name, command line, and SHA-256 hash to determine whether the process is expected or known to be malicious.
94- Validate the observed CPU usage and duration to determine whether the spike is abnormal for this process and host.
95- Check for related process activity such as parent/child processes, suspicious process spawning, or privilege escalation attempts.
96- Review additional host telemetry including:
97 - Network connections initiated by the process
98 - File creation or modification events
99 - Persistence mechanisms (services, scheduled tasks, registry keys)
100- Determine whether similar activity is observed on other hosts, which may indicate a broader compromise.
101
102### False positive analysis
103- Legitimate high-CPU processes such as software updates, backup agents, security scans, or system maintenance tasks.
104- Resource-intensive but benign applications (e.g., compilers, video encoding, data processing jobs).
105- Security tools or monitoring agents temporarily consuming high CPU.
106
107### Related Rules
108
109- Detection Alert on a Process Exhibiting CPU Spike - df9c0e92-5dee-4f1d-a760-3a5c039e4382
110- Multiple Alerts on a Host Exhibiting CPU Spike - b7f77c3c-1bcb-4afc-9ace-49357007947b
111
112### Response and remediation
113- If malicious activity is confirmed, isolate the affected host to prevent further impact.
114- Terminate the offending process if safe to do so.
115- Remove any identified malicious binaries or artifacts and eliminate persistence mechanisms.
116- Apply relevant patches or configuration changes to remediate the root cause.
117- Monitor the environment for recurrence of similar high-CPU processes combined with security alerts.
118- Escalate the incident if multiple hosts or indicators suggest coordinated or widespread activity."""
119
120[[rule.threat]]
121framework = "MITRE ATT&CK"
122[[rule.threat.technique]]
123id = "T1496"
124name = "Resource Hijacking"
125reference = "https://attack.mitre.org/techniques/T1496/"
126[[rule.threat.technique.subtechnique]]
127id = "T1496.001"
128name = "Compute Hijacking"
129reference = "https://attack.mitre.org/techniques/T1496/001/"
130
131
132[rule.threat.tactic]
133id = "TA0040"
134name = "Impact"
135reference = "https://attack.mitre.org/tactics/TA0040/"
Triage and analysis
Investigating Newly Observed Process Exhibiting High CPU Usage
This rule alerts on processes exhibiting high CPU usage and that are observed for the first time in the previous 5 days.
Possible investigation steps
- Examine the process name, command line, and SHA-256 hash to determine whether the process is expected or known to be malicious.
- Validate the observed CPU usage and duration to determine whether the spike is abnormal for this process and host.
- Check for related process activity such as parent/child processes, suspicious process spawning, or privilege escalation attempts.
- Review additional host telemetry including:
- Network connections initiated by the process
- File creation or modification events
- Persistence mechanisms (services, scheduled tasks, registry keys)
- Determine whether similar activity is observed on other hosts, which may indicate a broader compromise.
False positive analysis
- Legitimate high-CPU processes such as software updates, backup agents, security scans, or system maintenance tasks.
- Resource-intensive but benign applications (e.g., compilers, video encoding, data processing jobs).
- Security tools or monitoring agents temporarily consuming high CPU.
Related Rules
- Detection Alert on a Process Exhibiting CPU Spike - df9c0e92-5dee-4f1d-a760-3a5c039e4382
- Multiple Alerts on a Host Exhibiting CPU Spike - b7f77c3c-1bcb-4afc-9ace-49357007947b
Response and remediation
- If malicious activity is confirmed, isolate the affected host to prevent further impact.
- Terminate the offending process if safe to do so.
- Remove any identified malicious binaries or artifacts and eliminate persistence mechanisms.
- Apply relevant patches or configuration changes to remediate the root cause.
- Monitor the environment for recurrence of similar high-CPU processes combined with security alerts.
- Escalate the incident if multiple hosts or indicators suggest coordinated or widespread activity.
Related rules
- Multiple Alerts on a Host Exhibiting CPU Spike
- Detection Alert on a Process Exhibiting CPU Spike
- Potential Malware-Driven SSH Brute Force Attempt
- Potential Ransomware Behavior - Note Files by System
- High Number of Process Terminations