
one good sigma rule beats an expensive security tool
the tool you already have is probably enough
everyone assumes better detection means a bigger budget. a shinier edr, a fancier siem, another vendor demo with a guy in a blazer telling you their ai will save you. meanwhile the thing that actually catches attackers is a text file describing one behavior, written once, that works everywhere you already have logs. that's sigma. it's boring. it's also one of the highest leverage things a defender can learn.
what sigma actually is
sigma is a generic, vendor-neutral format for writing detection rules. instead of writing a query in splunk's language, then a different query in elastic's language, then another one in microsoft sentinel's language, you write the logic once in sigma's yaml format, and then convert it into whatever backend you run. one rule, many targets. it exists so defenders stop reinventing the wheel every time they switch tools or work across environments.
the core idea is simple: describe the attacker behavior, not a specific ioc. iocs rot in days. behaviors stick around because attackers are lazy and techniques get reused for years.
picking a technique worth writing a rule for
a great starter example is encoded powershell. attackers love the -encodedcommand flag because it lets them pass base64-encoded scripts straight to powershell, which helps them dodge basic string matching and makes the command line look like garbage instead of readable code. it's common enough to be a strong signal, and rare enough in normal admin work that it's worth flagging.
the technique you pick matters more than the specific rule. good candidates share three traits: attackers reuse them constantly, they're annoying to fake without triggering something else, and normal users almost never do them by accident.
describing the technique once, in sigma
a sigma rule for this is short. it's not "attacking," it's just structured description. something like: look at process creation events, where the command line contains powershell, and the command line also contains -enc or -encodedcommand. that's it. no fancy math, no ai, just precise language describing what "suspicious" looks like on a real endpoint.
title: suspicious encoded powershell command
logsource:
category: process_creation
detection:
selection:
Image|endswith: 'powershell.exe'
CommandLine|contains:
- '-enc'
- '-EncodedCommand'
condition: selection
level: high
that yaml block is the whole rule. it's readable by a human, which is the point. you're not hiding logic behind a proprietary query language, you're writing something a teammate, a contractor, or future-you can open in a text editor and immediately understand.
converting it so your siem actually watches for it
the sigma project ships a converter called sigmac, or its modern replacement pysigma, that takes your yaml rule and spits out the equivalent query for splunk spl, elastic query dsl, microsoft sentinel kql, and a bunch of others. you write the rule once, run the converter against your backend, and now your siem has a live detection watching every host that ships logs to it.
sigma convert -t splunk -p sysmon encoded_powershell.yml
that single command turns your plain-english description into a working splunk search. swap -t splunk for -t elasticsearch or whatever your environment runs, and the same logic ports over without you rewriting anything by hand. this is why sigma rules spread so fast in the community, someone in a discord server writes a rule for a new technique, and by the next day it's been converted and deployed across a dozen different siem stacks.
the takeaway
you don't need a six figure tool to catch attacker behavior, you need to describe that behavior clearly and make sure every host is watched for it. sigma lets you do that once instead of rewriting the same logic three times for three tools. start small: pick one technique you know attackers reuse in your environment, write it as a sigma rule, convert it to your siem's language, and deploy it. then pick another. that's how a real detection library gets built, one plain description at a time, not one expensive license at a time.