20 min
Introduction to SIGMA
Learn the SIGMA rule format - the universal language for detection rules that works across any SIEM.
Introduction to SIGMA
SIGMA is an open standard for writing detection rules in a vendor-agnostic format. Think of it as "YARA for logs" - one rule format that can be converted to any SIEM.
Why SIGMA?
Before SIGMA, detection rules were written in proprietary formats:
This created problems:
SIGMA solves this with a universal format.
SIGMA Rule Structure
Every SIGMA rule has the same basic structure:
title: Suspicious PowerShell Download
status: experimental
description: Detects PowerShell downloading files from the internet
logsource:
category: process_creation
product: windows
detection:
selection:
CommandLine|contains:
- 'Invoke-WebRequest'
- 'wget'
- 'curl'
- 'DownloadFile'
Image|endswith: '\powershell.exe'
condition: selection
level: medium
tags:
- attack.execution
- attack.t1059.001
Key Components
Title & Status
Description Explain what the rule detects and why it matters.
Logsource Defines what logs this rule applies to:
Detection The actual detection logic:
Modifiers SIGMA supports modifiers to match patterns:
|contains: Field contains the value
|endswith: Field ends with the value
|startswith: Field starts with the value
|re: Regular expression matchLevel Severity of the detection:
Tags Reference to MITRE ATT&CK and other frameworks.
Converting SIGMA Rules
The power of SIGMA is conversion. The sigma-cli tool converts rules to:
sigma convert -t splunk -p sysmon rule.yml
Writing Good SIGMA Rules
Key Takeaways
- SIGMA is a vendor-agnostic detection rule format
- Rules include logsource, detection logic, and metadata
- Modifiers like |contains and |endswith enable pattern matching
- SIGMA rules can be converted to any SIEM format