0Pricing
Cyber Security Academy · Lektion

Sigma-Regeln schreiben

Portable Syntax für Detection-Regeln

Sigma-Regeln schreiben ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.

Was Sigma ist

Sigma ist ein generisches, herstellerneutrales Signaturformat für protokollbasierte Detektionen. Sie schreiben die Detektionslogik einmal in YAML und wandeln sie anschließend in Splunk SPL, Elastic-Abfragen, Sentinel KQL und viele andere Backends um.

Sigma ist für die Protokolldetektion das, was YARA für die Dateidetektion ist: eine portable Lingua franca. Damit können Teams Regeln öffentlich teilen und vermeiden, dieselbe Idee für jedes SIEM neu zu schreiben.

Aufbau einer Regel

Eine Sigma-Regel ist ein YAML-Dokument mit erforderlichen und optionalen Abschnitten. Die wesentlichen Abschnitte sind title, logsource und detection.

title: Suspicious PowerShell Encoded Command
id: 7e3f3c1a-1f2b-4c3d-9a8b-1234567890ab
status: experimental
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    Image|endswith: '\\powershell.exe'
    CommandLine|contains: '-enc'
  condition: selection
level: high

Der logsource-Block

Der Block logsource teilt dem Konverter mit, für welche Protokolle die Regel gilt. Er fragt Daten nicht direkt ab, sondern wählt bei der Konvertierung die passende Feldzuordnung und den passenden Index aus.

Häufig verwendete Schlüssel:

  • product — z. B. windows, linux, aws
  • category — z. B. process_creation, network_connection, file_event
  • service — z. B. sysmon, security, sshd

Wählen Sie die spezifischste Kombination, die Ihre Daten unterstützen, damit die Pipeline Felder korrekt zuordnet.

Selections und Suchbezeichner

Innerhalb von detection definieren Sie einen oder mehrere benannte Suchbezeichner (Selections). Jeder davon ist eine Zuordnung von Feld-Wert-Kriterien. Mehrere Felder innerhalb einer Selection werden mit logischem AND verknüpft.

Hier müssen beide Bedingungen erfüllt sein, damit selection zutrifft.

detection:
  selection:
    EventID: 4688
    NewProcessName|endswith: '\\whoami.exe'
  condition: selection

Feldmodifikatoren

Modifikatoren legen genauer fest, wie ein Wert abgeglichen wird. Sie werden nach einem Pipe-Zeichen an den Feldnamen angehängt.

  • contains — Abgleich eines Teilstrings
  • startswith / endswith — verankerter Abgleich
  • all — jeder Wert in einer Liste muss vorhanden sein
  • re — regulärer Ausdruck
  • base64offset|contains — Abgleich von Base64-kodierten Teilstrings

Modifikatoren werden von links nach rechts verkettet und in dieser Reihenfolge angewendet.

detection:
  selection:
    CommandLine|contains|all:
      - 'Invoke-WebRequest'
      - 'DownloadString'
  condition: selection

Listen und Maps als OR / AND

Zwei Regeln bestimmen die Logik innerhalb einer Selection:

  • Eine Werteliste unter einem Feld entspricht OR — jeder Wert kann zutreffen.
  • Eine Map mit mehreren Feldern entspricht AND — alle Felder müssen übereinstimmen.

Hier entspricht Image entweder binary, und User muss zusätzlich SYSTEM entsprechen.

detection:
  selection:
    Image|endswith:
      - '\\net.exe'
      - '\\net1.exe'
    User: 'SYSTEM'
  condition: selection

Der Ausdruck condition

Der Ausdruck condition verknüpft Ihre benannten Selections mit boolescher Logik. Hier formulieren Sie Filter und Ausschlüsse.

Zu den Operatoren gehören and, or, not, Klammern und Aggregationen wie count(). Sie können auch 1 of selection* / all of selection* verwenden, um Gruppen von Bezeichnern anhand eines Präfixes zu referenzieren.

detection:
  selection:
    EventID: 4625
  timeframe: 5m
  condition: selection | count() by SourceIp > 10

Rauschen herausfiltern

Um bekannte legitime Aktivitäten zu unterdrücken, definieren Sie einen separaten Bezeichner und ziehen ihn in der Bedingung mit not ab. So bleibt die schädliche Logik lesbar und die Ausschlüsse sind eindeutig.

Hier löst die Regel aus, wenn rundll32 eine Netzwerkverbindung startet, außer bei einem bekannten legitimen Update-Prozess.

detection:
  selection:
    Image|endswith: '\\rundll32.exe'
  filter_legit:
    ParentImage|endswith: '\\MicrosoftEdgeUpdate.exe'
  condition: selection and not filter_legit

Metadaten für die Triage

Über die Logik hinaus enthalten gute Regeln Metadaten, die Einsatzkräften schnelles Handeln ermöglichen und Engineers beim Erhalt der Abdeckung unterstützen.

  • level — informational, low, medium, high, critical
  • tags — ATT&CK-Techniken, z. B. attack.t1059.001
  • falsepositives — bekannte harmlose Auslöser
  • references — Bedrohungsberichte oder Dokumentation
  • author und date

Diese Felder kosten beim Schreiben Minuten und sparen während eines Vorfalls Stunden.

Korrelationsregeln

Einzelereignisregeln können mehrstufige Angriffe nicht ausdrücken. Sigma-Korrelationsregeln verbinden mehrere Basisregeln über einen Zeitraum hinweg, um Sequenzen und Muster zu erkennen.

Zu den unterstützten Typen gehören event_count (N Treffer innerhalb eines Zeitfensters), value_count (unterschiedliche Werte, z. B. viele fehlgeschlagene Benutzeranmeldungen) und temporal (Regel A, dann Regel B). Damit können Sie beispielsweise eine erfolgreiche Anmeldung direkt nach einer Serie von Fehlversuchen erkennen.

name: bruteforce_then_success
correlation:
  type: temporal
  rules: [failed_logins, successful_login]
  group-by: [SourceIp, TargetUser]
  timespan: 10m

Konvertierung in ein Backend

Mit sigma-cli konvertieren Sie eine Regel in die Abfragesprache Ihres Zielsystems. Eine Verarbeitungspipeline ordnet Sigma-Feldnamen Ihrem tatsächlichen Schema zu.

Die Ausgabe ist eine sofort einsetzbare Abfrage, die Sie einfügen oder per API übertragen können.

sigma convert -t splunk -p sysmon \
  -f default rule.yml

# Example output (Splunk SPL):
# Image="*\\powershell.exe" CommandLine="*-enc*"

Schnelltest

Überprüfen Sie Ihr Verständnis der Sigma-Detektionslogik.

Zusammenfassung

Sie können nun portable Sigma-Regeln erstellen:

  • logsource legt fest, für welche Protokolle und Feldzuordnungen die Regel gilt
  • Selections sind benannte Kriterien für Felder und Werte (Felder = AND, Wertelisten = OR)
  • Modifikatoren wie contains, endswith, all und re verfeinern den Abgleich
  • condition verknüpft Selections mit and/or/not, Filtern und Aggregationen
  • Separate filter-Bezeichner ziehen bekannte harmlose Aktivitäten ab
  • Metadaten (level, tags, falsepositives) beschleunigen die Triage
  • sigma convert kompiliert die Regel für Ihr SIEM-Backend

Als Nächstes setzen Sie diese Regeln mit MITRE ATT&CK in Beziehung zu Angreifertechniken.

Häufig gestellte Fragen

Ist die Lektion „Sigma-Regeln schreiben“ kostenlos?

Ja — der vollständige Text von „Sigma-Regeln schreiben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Sigma-Regeln schreiben“?

Portable Syntax für Detection-Regeln Du übst Cyber Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cyber Security Academy zu starten?

Keine Vorkenntnisse erforderlich. Cyber Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Sigma-Regeln schreiben“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cyber Security Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cyber Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundsätze von Detection-as-Code
  2. Sigma-Regeln schreiben
  3. Zu MITRE ATT&CK zuordnen
  4. Detections testen und abstimmen
← Zurück zu Cyber Security Academy