Detection engineering with MITRE ATT&CK and Sigma – Secured Me

Detection engineering with MITRE ATT&CK and Sigma

Building meaningful security detections: choosing log sources, mapping to ATT&CK, writing Sigma rules, and avoiding alert fatigue.

Most SOCs do not have a detection problem so much as a useful detection problem: thousands of low-fidelity alerts, a handful of which are real, and analysts trained mostly to close tickets quickly. Detection engineering is the discipline of treating detections as code — designed, tested, versioned, and measured against real adversary behaviour. Done well, it produces fewer, better alerts that map cleanly to what attackers actually do. MITRE ATT&CK and Sigma are the two open standards that make this practical across vendors.

What MITRE ATT&CK actually gives you

MITRE ATT&CK is a curated knowledge base of tactics (the "why" — e.g. Persistence, Credential Access, Lateral Movement) and techniques (the "how" — e.g. T1003.001 LSASS Memory, T1059.001 PowerShell, T1078 Valid Accounts). It is descriptive, not prescriptive: it documents what real adversaries have been observed doing, with references to specific groups, campaigns, and tooling.

Two things make it useful in practice:

A common pitfall is treating ATT&CK as a checklist — "we have a rule for every technique, therefore we are covered". Coverage of a technique is not binary; T1059 PowerShell can be detected ten different ways with very different fidelity. ATT&CK is a map, not a score.

Log sources: you can only detect what you collect

Detection engineering lives or dies by the quality of telemetry. Before writing rules, get the right data flowing.

Two non-negotiables: parse logs into a consistent schema (ECS, OCSF, or your SIEM's own model) so the same field name means the same thing everywhere; and validate that logs are actually arriving, end-to-end, with a "canary" event you trigger and confirm shows up.

Writing Sigma rules

Sigma is a generic, vendor-neutral YAML format for describing log-based detections. A Sigma rule can be converted into the query language of most SIEMs (Splunk SPL, Microsoft KQL, Elastic Lucene/EQL, Sentinel, Chronicle, etc.) with sigmac or modern tools like pySigma. The benefit is portability and a thriving community of open detections (SigmaHQ).

A minimal Sigma rule looks like this:

title: Suspicious PowerShell Download Cradle

id: 1a2b3c4d-...-...
status: experimental
description: Detects common PowerShell one-liners used to download and execute payloads.
references:
- https://attack.mitre.org/techniques/T1059/001/
author: Your Team
date: 2026/05/20
tags:
- attack.execution
- attack.t1059.001
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\powershell.exe'
CommandLine|contains|all:
- 'Net.WebClient'
- 'DownloadString'
condition: selection
falsepositives:
- Legitimate admin scripts that fetch payloads from internal repos
level: high

Good Sigma rules share a few habits: every rule has a stable ID, a clear description, ATT&CK tags, an honest falsepositives section, and a tested severity. They detect behaviour rather than specific strings ("any process spawned by winword.exe that is not in a small allowlist" generalises better than "the literal name payload.exe"). They are version-controlled in a git repo, reviewed like any other code, and shipped through CI that runs them against historical data to estimate noise.

A development workflow that actually scales

Detection engineering benefits enormously from treating rules like software.

Metrics worth tracking

Avoid vanity metrics ("number of rules", "events per second"). Useful detection metrics focus on outcomes.

Good detection engineering is unglamorous: log hygiene, careful rule design, honest testing, and a tight feedback loop with the SOC. The reward is alerts that analysts actually trust, coverage you can defend with data, and detections that keep up with the way real attackers work — which is exactly what ATT&CK and Sigma are designed to enable.