Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

YARA-Regeln

YARA-Regeln sind die zweite Schicht in der PRX-SD-Erkennungspipeline. Während Hash-Matching exakte Kopien bekannter Malware erkennt, erkennen YARA-Regeln Malware-Familien, Varianten und Verhaltensmuster durch Abgleich von Byte-Sequenzen, Strings und strukturellen Bedingungen innerhalb von Dateien.

PRX-SD wird mit 38.800+ YARA-Regeln aus 8 Quellen geliefert und verwendet die YARA-X-Engine -- die Rust-Neuentwicklung der nächsten Generation von YARA, die verbesserte Performance, Sicherheit und Kompatibilität bietet.

YARA-X-Engine

PRX-SD verwendet YARA-X anstelle der traditionellen C-basierten YARA-Bibliothek. Wichtige Vorteile:

FunktionYARA (C)YARA-X (Rust)
SpracheCRust (speichersicher)
PerformanceGut2-5x schneller bei großen Regelsets
RegelkompatibilitätBasisVollständige Abwärtskompatibilität + neue Funktionen
Thread-SicherheitErfordert sorgfältige HandhabungSicher von Grund auf
Modul-UnterstützungEingebaute ModuleModular, erweiterbar

Regelquellen

PRX-SD aggregiert Regeln aus 8 Quellen:

QuelleRegelnInhaltPlattformabdeckung
Eingebaute Regeln64Ransomware, Trojaner, Backdoors, Rootkits, Miner, WebshellsLinux + macOS + Windows
Yara-Rules/rules (GitHub)~12.400Emotet, TrickBot, CobaltStrike, Mirai, LockBitPlattformübergreifend
Neo23x0/signature-base~8.200APT29, Lazarus, Krypto-Mining, Webshells, RansomwarePlattformübergreifend
ReversingLabs YARA~9.500Trojaner, Ransomware, Backdoors, Hack-ToolsWindows + Linux
ESET IOC~3.800Turla, Interception, fortgeschrittene anhaltende BedrohungenPlattformübergreifend
InQuest~4.836OLE/DDE bösartige Dokumente, Makro-PayloadsPlattformübergreifend
JPCERT/CC~500+Asien-Pazifik-gerichtete BedrohungenPlattformübergreifend
Benutzerdefiniert/importiertVariabelBenutzerdefinierte RegelnBeliebig

Gesamt: 38.800+ Regeln (nach Deduplizierung)

Eingebaute Regeln

Die 64 eingebauten Regeln sind in die PRX-SD-Binärdatei kompiliert und immer verfügbar, auch ohne externe Regelsets herunterzuladen. Sie decken die häufigsten Bedrohungskategorien ab:

KategorieRegelnBeispiele
Ransomware12WannaCry, LockBit, Conti, REvil, BlackCat, Ryuk
Trojaner10Emotet, TrickBot, Dridex, QakBot
Backdoors8Cobalt Strike Beacon, Metasploit Meterpreter, Reverse Shells
Rootkits6Reptile, Diamorphine, Jynx2 (Linux)
Krypto-Miner6XMRig, CGMiner, versteckte Mining-Konfigurationen
Webshells8China Chopper, WSO, B374K, PHP/ASP/JSP-Shells
RATs6njRAT, DarkComet, AsyncRAT, Quasar
Exploits4EternalBlue, PrintNightmare, Log4Shell-Payloads
Test-Signaturen4EICAR-Testdatei-Varianten

Regel-Matching-Prozess

Wenn eine Datei Schicht 2 erreicht, verarbeitet YARA-X sie wie folgt:

  1. Regelkompilierung -- Beim Start werden alle Regeln in eine optimierte interne Darstellung kompiliert. Dies geschieht einmal und wird im Arbeitsspeicher gecacht.
  2. Atom-Extraktion -- YARA-X extrahiert kurze Byte-Sequenzen (Atome) aus Regelmustern, um einen Suchindex zu erstellen. Dies ermöglicht schnelles Vorfiltern.
  3. Scannen -- Der Dateiinhalt wird gegen den Atom-Index gescannt. Nur Regeln mit passenden Atomen werden vollständig ausgewertet.
  4. Bedingungsauswertung -- Für jede Kandidatenregel wird die vollständige Bedingung (boolesche Logik, String-Anzahl, Dateistruktur-Prüfungen) ausgewertet.
  5. Ergebnis -- Passende Regeln werden gesammelt und die Datei wird als MALICIOUS mit den Regelnamen im Bericht markiert.

Performance

MetrikWert
Regelkompilierung (38.800 Regeln)~2 Sekunden (einmalig beim Start)
Scan-Zeit pro Datei~0,3 Millisekunden Durchschnitt
Arbeitsspeichernutzung (kompilierte Regeln)~150 MB
Durchsatz~3.000 Dateien/Sekunde/Thread

YARA-Regeln aktualisieren

Regeln werden zusammen mit Hash-Signaturen aktualisiert:

bash
# Alles aktualisieren (Hashes + YARA-Regeln)
sd update

# Nur YARA-Regeln aktualisieren
sd update --source yara

Der Update-Prozess:

  1. Regel-Archive von jeder Quelle herunterladen
  2. Regelsyntax mit YARA-X validieren
  3. Regeln nach Name und Inhalts-Hash deduplizieren
  4. Das kombinierte Regelset kompilieren
  5. Das aktive Regelset atomar ersetzen

Zero-Downtime-Updates

Regel-Updates sind atomar. Das neue Regelset wird kompiliert und validiert, bevor das aktive ersetzt wird. Wenn die Kompilierung fehlschlägt (z.B. wegen eines Syntaxfehlers in einer Community-Regel), bleibt das vorhandene Regelset aktiv.

Benutzerdefinierte Regeln

Sie können eigene YARA-Regeln hinzufügen, indem Sie .yar- oder .yara-Dateien im benutzerdefinierten Regelverzeichnis ablegen:

bash
# Standard-Verzeichnis für benutzerdefinierte Regeln
~/.config/prx-sd/rules/

Beispiel für eine benutzerdefinierte Regel:

yara
rule custom_webshell_detector {
    meta:
        description = "Detects custom PHP webshell variant"
        author = "Security Team"
        severity = "high"

    strings:
        $eval = "eval(base64_decode(" ascii
        $system = "system($_" ascii
        $exec = "exec($_" ascii

    condition:
        filesize < 100KB and
        ($eval or $system or $exec)
}

Nach dem Hinzufügen benutzerdefinierter Regeln das Regelset neu laden:

bash
sd reload-rules

Oder den Monitor-Daemon neu starten, um Änderungen automatisch zu übernehmen.

Regelverzeichnisse

VerzeichnisQuelleUpdate-Verhalten
~/.local/share/prx-sd/rules/builtin/In Binärdatei kompiliertMit Releases aktualisiert
~/.local/share/prx-sd/rules/community/Von Quellen heruntergeladenVon sd update aktualisiert
~/.config/prx-sd/rules/Benutzerdefinierte RegelnManuell, niemals überschrieben

Regeln überprüfen

Aktuelle geladene Regelanzahl und Quellen prüfen:

bash
sd info
YARA Rules
==========
Built-in:        64
Community:       38,736
Custom:          12
Total compiled:  38,812
Rule sources:    8
Last updated:    2026-03-21 10:00:00 UTC

Regeln auflisten, die einem bestimmten Schlüsselwort entsprechen:

bash
sd rules list --filter "ransomware"

Nächste Schritte

Released under the Apache-2.0 License.