Je eerste Sigma-regel schrijven

Sigma is voor logdetecties wat YARA is voor bestanden: een generieke, leveranciersonafhankelijke manier om te beschrijven wat je wilt detecteren, die je daarna omzet naar de querytaal die je SIEM echt spreekt.
Waarom een portable formaat?
Detecties die direct in één querytaal zijn geschreven, zitten daar voor altijd aan vast. Met Sigma schrijf je één keer en compileer je naar meerdere backends:
- Eén regel, meerdere doelen (Splunk, Elastic, Sentinel, …)
- Reviewbaar in pull requests zoals alle andere code
- Deelbaar met de community zonder je stack te lekken
Een detectie die je niet kunt testen, versioneren en reviewen is een risico, geen bezit.
Anatomie van een regel
De kern van elke regel is een detection-blok met één of meer selections en een
condition die ze combineert:
title: Suspicious whoami Execution After Service Install
status: experimental
logsource:
product: windows
category: process_creation
detection:
selection:
Image|endswith: '\whoami.exe'
ParentImage|endswith: '\services.exe'
condition: selection
level: medium
Veld-referentie
De modifiers achter de pipe (|) bepalen hoe een waarde wordt vergeleken:
| Modifier | Matcht | Voorbeeld |
|---|---|---|
endswith | achtervoegsel van het veld | Image|endswith |
contains | substring ergens in de waarde | CommandLine|contains |
re | een reguliere expressie | CommandLine|re |
all | elke waarde in een lijst | CommandLine|contains|all |
Zodra de regel netjes compileert en afgaat op een bekende kwaadaardige sample, commit hem. De goedkoopste detectie is degene die je nooit om 3 uur ’s nachts in productie hoefde te debuggen.