Cybersecurity

SIEM Alert Fatigue: Real Attacks Hidden by False Positives (2026)

SIEM Alert Fatigue: Real Attacks Hidden by False Positives (2026)

Alert fatigue in SIEM occurs when an excess of false positives leads operators to ignore alerts, making real attacks invisible. The solution lies in continuous, strategic SIEM tuning, focused on reducing noise and increasing alert relevance.

Quick Snippet: Essential Wazuh Tuning Commands

| Command/Action | Description | Example Usage “`bash

Wazuh: top rule ID per volume (e.g., for alert level > 8)

curl -X GET ‘https://localhost:55000/alerts?limit=1&q=rule.level>8’ -u admin:admin -k

Recurring false positives – filter by agent and rule (e.g., rule 5710)

cat /var/ossec/logs/alerts/alerts.json | jq ‘select(.rule.id==”5710″)’ | head -50

Whitelist internal IP on Wazuh (e.g., exclude rule 5710 for a specific IP)

Edit the /var/ossec/etc/ossec.conf file

Add this line within the appropriate or section

5710


SIEM alert fatigue is an insidious problem, a silent enemy that doesn't attack directly but erodes an organization's defensive capability from within. When I took over cybersecurity management for an organization with 2,000 workstations and over 300 VMware VMs, the SIEM was already operational. The problem? It generated an average of 2,347 alerts per day. This volume was unmanageable for a two-person team, which quickly developed a tolerance to alerts, stopping examining all of them. This isn't a sign of negligence but a predictable human response to excessive noise. It's in this context that attackers find their most valuable opportunities. The real threat isn't the sophisticated attack but the one that goes unnoticed, drowned in a sea of irrelevant notifications.

## The Context: 2,000 Alerts a Day, 2-Person Team

Imagine being responsible for IT security in a complex environment: 2,000 endpoints, 300 virtual servers managing critical services, and a SIEM that, with its mass of data, should be your vigilant eye. The problem arises when this eye starts screaming constantly for every minor shadow, for every falling leaf. A poorly tuned SIEM, or one not tuned at all, becomes a white noise machine. With a team of two (or even ten) people, it's simply impossible to analyze thousands of alerts daily. The temptation to filter, ignore, or simply "scroll through" becomes irresistible. You shift from active vigilance to a kind of passive management, where attention is only directed to 'critical' or 'high' level alerts, hoping they are legitimate. This is a recipe for disaster.

## How the Invisible Becomes Normalized: The Week No One Was Looking Anymore

The normalization of the invisible is a gradual process. Initially, every alert is carefully examined. Then, after days and weeks of false positives (failed login attempts from internal IPs, legitimate processes flagged as suspicious, etc.), trust in the system collapses. The team develops a kind of selective blindness. The human mind is programmed to ignore repetitive and insignificant stimuli. Thus, SIEM alerts, from prevention tools, transform into annoying pop-ups, relegated to a browser tab that is checked less and less frequently. The idea that something truly serious could happen without generating a "real" alert seems remote, even if that's exactly what's happening.

## The Attack That Lasted 11 Days Unnoticed

During one of my first stints in this environment, we experienced exactly this scenario. A lateral movement attack had been underway for a full 11 days. An attacker, after gaining initial access via a successful phishing attempt (undetected by the SIEM, but by a poorly configured EDR), had begun moving within the network. Privilege escalation attempts, internal network scans, creation of temporary local accounts: all activities the SIEM recorded. The problem was that these activities were drowned in a sea of similar, but legitimate, alerts generated by internal automation scripts or application misconfigurations. No correlation rules had been configured to identify a sequence of suspicious events. The result? Eleven days of silent compromise, while the SIEM continued to generate its usual 2,300+ alerts, most of which were harmless.

## How We Discovered It (By Chance, Not Competence)

The discovery wasn't thanks to a SIEM alert or proactive analysis. It was almost accidental. During a routine audit of network configurations, we noticed anomalous traffic to an internal server from an IP address that didn't correspond to any registered machine. Further investigation revealed the presence of a small Linux server, previously compromised and now used as a pivot point. Only in retrospect, by analyzing the SIEM logs with a different perspective, could we reconstruct the sequence of events and identify the alerts that, if interpreted correctly, could have signaled the attack days earlier. It was a bitter lesson: the SIEM was there, the data existed, but the ability to discern signal from noise was completely absent. This event reinforced my conviction that technology alone is not enough; a tuning strategy and a continuous review process are essential. According to IBM's "Cost of a Data Breach Report 2023", the average time to identify and contain a breach is 277 days. Our case, unfortunately, fell within this statistic, if not for an unexpected stroke of luck.

## The Tuning We Should Have Done Immediately

SIEM tuning is not an option but a fundamental activity that must begin from implementation and continue throughout the system's operational life. The most common errors we should have avoided include:
1.  **Lack of Baseline:** We lacked a clear understanding of normal network and system behavior. Any activity, even legitimate, could generate an alert.
2.  **Generic Rules:** The SIEM used overly broad predefined rules that captured too many low-risk activities. For example, the Wazuh `5710` rule (System Audit) generated a huge volume of logs that were rarely indicative of a real threat in the specific environment.
3.  **Absence of Whitelisting:** No exceptions had been created for internal IPs, specific subnets, or processes known to generate false positives.

To begin an effective tuning process, the first step is to identify the rules that generate the most alerts and those with the highest false positive rate. Using the Wazuh API, for example, you can query the system to get an overview of high-level alerts:

Wazuh: top rule ID per volume (e.g., for alert level > 8)

curl -X GET ‘https://localhost:55000/alerts?limit=1&q=rule.level>8’ -u admin:admin -k

This command shows the most critical alerts, but it's only a starting point. Subsequently, it's crucial to analyze the logs to understand which specific rules are the "noisiest" and why.

Recurring false positives – filter by agent and rule (e.g., rule 5710)

cat /var/ossec/logs/alerts/alerts.json | jq ‘select(.rule.id==”5710″)’ | head -50

By analyzing the output of these commands, we can identify false positive patterns and create targeted exclusion rules. For example, if `rule.id="5710"` generates alerts for legitimate activity from a specific server, we can exclude it for that agent.

## Framework to Reduce Alerts by 70% Without Losing Visibility

To significantly reduce alert fatigue and improve visibility, I implemented a framework based on these steps:

1.  **Inventory and Prioritization:** Catalog all critical assets and define their value to the organization. Not all systems deserve the same level of monitoring.
2.  **Behavioral Baseline:** For each critical asset, establish a baseline of normal behavior (processes, network traffic, accesses). This allows for the identification of anomalous deviations.
3.  **Iterative Rule Tuning:**
    *   **Identification:** Use specific queries to identify the 10-20 rules that generate the most alerts and the 5-10 rules with the highest false positive rate.
    *   **Analysis:** For each identified rule, analyze raw logs to understand the cause of the false positive. Is it an internal IP? A legitimate process? A specific user?
    *   **Action:**
        *   **Whitelisting:** Create exceptions for known IPs, users, or processes. On Wazuh, this is done by modifying the `/var/ossec/etc/ossec.conf` file or by creating a local rules file.

Whitelist internal IP on Wazuh

/var/ossec/etc/ossec.conf

5710

5710

192.168.1.100

Ignore rule 5710 for backup server.

        *   **Threshold Modification:** Increase thresholds for alerts that trigger too easily.
        *   **Disabling:** Disable rules that prove to be completely irrelevant to the environment (with extreme caution).
4.  **Advanced Correlation:** Implement correlation rules that combine multiple low-risk events to identify a higher-risk threat (e.g., failed login from external IP + local user creation + attempt to access network share). This is the core of an effective SIEM.
5.  **Continuous Validation:** Periodically test the effectiveness of rules and review the tuning process. The IT environment is dynamic, requiring constant adaptation. I've found that dedicating 2-4 hours weekly to SIEM tuning dramatically improves its efficacy. This proactive approach helps maintain a lean and effective alert stream, ensuring that security analysts focus on real threats, not just noise.

## Prerequisites / Test Environment

To replicate the tuning examples and understand the concepts discussed, you'll need a working SIEM environment, preferably Wazuh, given the command examples. While the principles apply broadly to any SIEM, specific commands will vary.

*   **Wazuh Manager:** Version 4.x or higher, installed and configured.
*   **Wazuh Agents:** Deployed on at least a few endpoints (servers, workstations) to generate log data.
*   **Access:** Administrator-level access to the Wazuh manager's CLI and API.
*   **Tools:** `curl` for API calls, `jq` for JSON parsing (often pre-installed or easily installed via `sudo apt install jq`).
*   **Network:** Basic network connectivity to the Wazuh manager for agent communication and API access.

## Common Errors and Troubleshooting

1.  **Over-tuning:** Aggressively disabling rules or whitelisting too broadly can lead to missing legitimate threats. Always start with a conservative approach and iterate. If you disable a critical rule, you might lose visibility into crucial attack vectors. I recommend testing changes in a staging environment first, if possible.
2.  **Ignoring Baselines:** Without a clear understanding of normal system behavior, it's impossible to define what's abnormal. Spend time mapping out expected network traffic, user activities, and process executions. Tools like `netstat`, `ss`, and `auditd` logs on Linux, or Event Viewer on Windows, can help establish this baseline.
3.  **Lack of Documentation:** Failing to document tuning changes, reasons for exclusions, and rule modifications can lead to confusion and inconsistencies, especially in team environments. Maintain a version-controlled log of all SIEM configuration changes.
4.  **Not Leveraging Correlation Rules:** Many organizations underutilize the powerful correlation capabilities of SIEMs. Combining multiple low-severity events (e.g., multiple failed logins followed by a successful login from an unusual location) can reveal a high-severity incident that individual alerts would miss. Refer to the official Wazuh documentation for detailed correlation rule examples: [Wazuh Ruleset Documentation](https://documentation.wazuh.com/current/user-manual/ruleset/index.html).
5.  **Alert Fatigue on Alert Fatigue:** If your tuning process itself generates too many internal alerts (e.g., notifications about rule changes), you're just shifting the problem. Keep your tuning process efficient and focused.

## Conclusions with Operational Takeaways

SIEM alert fatigue is a critical operational challenge that directly impacts an organization's ability to detect and respond to cyber threats. My experience has shown that a SIEM, no matter how advanced, is only as effective as its tuning. The incident of the 11-day unnoticed lateral movement attack was a stark reminder that raw data volume does not equate to security intelligence.

**Operational Takeaways:**

*   **Proactive Tuning is Non-Negotiable:** Implement a continuous SIEM tuning program from day one. Treat it as an ongoing project, not a one-time task. This aligns with NIST CSF 2.0's 'Govern' and 'Identify' functions, emphasizing risk management and asset visibility.
*   **Prioritize Baselines:** Invest time in understanding your environment's normal behavior. This is the foundation for effective anomaly detection. Without it, you're chasing ghosts.
*   **Focus on Relevance, Not Volume:** The goal is to reduce the number of alerts, but more importantly, to increase the signal-to-noise ratio. Each alert should represent a potential threat requiring human attention. This directly contributes to meeting NIS2 Article 21 requirements for incident handling and risk management.
*   **Embrace Correlation:** Move beyond individual alerts. Develop sophisticated correlation rules that link multiple suspicious events into actionable incidents. This is where a SIEM truly shines.
*   **Regular Review and Validation:** The threat landscape and your IT environment are constantly evolving. Regularly review your SIEM rules, test them, and adapt them to new threats and internal changes. For instance, after a major system upgrade or a network segmentation project, revisit your SIEM rules to ensure they are still relevant and effective. Read also: Advanced Kubernetes Debugging: Containers in Crash

By systematically applying these principles, you can transform your SIEM from a source of overwhelming noise into a precise and powerful security instrument, allowing your team to detect an ongoing attack before it spreads to 2,000 endpoints and causes significant damage.

Share this article:

Written by

Rosario Giordano

Rosario Giordano is a system administrator and IT consultant specializing in cybersecurity and cloud, with over 20 years of experience managing enterprise Linux infrastructures. His areas of expertise include SSH hardening, Kubernetes platforms, PostgreSQL databases, VMware/ Proxmox virtualization, and compliance with NIS2 and ISO 27001 security frameworks