
Una riscrittura di YARA in Rust.
YARA-X è una reincarnazione di YARA, uno strumento di pattern matching progettato pensando ai ricercatori di malware. Questa nuova incarnazione mira a essere più veloce, più sicura e più facile da usare rispetto al suo predecessore. L'obiettivo finale di YARA-X è sostituire YARA come strumento di pattern matching predefinito per i ricercatori di malware.
Con YARA-X puoi creare descrizioni di famiglie di malware (o qualsiasi altra cosa tu voglia descrivere) basate su pattern testuali o binari. Ogni descrizione (chiamata anche regola) consiste in un insieme di pattern e un'espressione booleana che ne determina la logica. Vediamo un esempio:
rule silent_banker : banker {
meta:
description = "This is just an example"
threat_level = 3
in_the_wild = true
strings:
$a = {6A 40 68 00 30 00 00 6A 14 8D 91}
$b = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9}
$c = "UVODFRYSIHLNWPEJXQZAKCBGMT"
condition:
$a or $b or $c
}
La regola sopra dice a YARA-X che qualsiasi file contenente uno dei tre pattern
deve essere segnalato come silent_banker. Questo è solo un semplice esempio;
si possono creare regole più complesse e potenti utilizzando wildcard,
stringhe case-insensitive, espressioni regolari, operatori speciali e molte
altre funzionalità spiegate nella
documentazione.
Leggi qui.
Leggi qui.
Sì, lo è. YARA viene ancora mantenuto e le versioni future includeranno correzioni di bug e funzionalità minori. Tuttavia, non aspettarti nuove grandi funzionalità o moduli. Tutti gli sforzi per migliorare YARA, inclusa l'aggiunta di nuovi moduli, si concentreranno ora su YARA-X.
YARA-X è già maturo e stabile. In VirusTotal, eseguiamo YARA-X in produzione da molto tempo, analizzando miliardi di file con decine di migliaia di regole e risolvendo discrepanze e bug. Ciò significa che YARA-X è già testato sul campo.
Per favore testa YARA-X e non esitare ad aprire un issue se trovi un bug o una funzionalità che vorresti vedere implementata.
I contributi a YARA-X sono benvenuti! Per i dettagli sul requisito del Google Contributor License Agreement (CLA), le convenzioni di stile del codice e come inviare pull request, leggi CONTRIBUTING.md.