
Il coltellino svizzero del pattern matching
[!IMPORTANT] Questo progetto è in modalità manutenzione. Maggiori informazioni: https://virustotal.github.io/yara-x/blog/yara-x-is-stable/
YARA è uno strumento pensato (ma non limitato) per aiutare i ricercatori di malware a identificare e classificare campioni di malware. Con YARA puoi creare descrizioni di famiglie di malware (o qualsiasi cosa tu voglia descrivere) basate su pattern testuali o binari. Ogni descrizione, nota anche come regola, consiste in un insieme di stringhe 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 che qualsiasi file contenente una delle tre stringhe deve essere segnalato come silent_banker. Questo è solo un semplice esempio; regole più complesse e potenti possono essere create utilizzando wildcard, stringhe case-insensitive, espressioni regolari, operatori speciali e molte altre funzionalità che troverai spiegate nella documentazione di YARA.
YARA è multipiattaforma, funzionante su Windows, Linux e Mac OS X, e può essere utilizzato tramite la sua interfaccia a riga di comando o dai tuoi script Python con l'estensione yara-python.
Usi GitHub per archiviare le tue regole YARA? YARA-CI potrebbe essere un'utile aggiunta al tuo arsenale. Questa è un'applicazione GitHub che fornisce test continui per le tue regole, aiutandoti a identificare errori comuni e falsi positivi.
Se intendi utilizzare YARA per scansionare file compressi (.zip, .tar, ecc.) dovresti dare un'occhiata a yextend, un'estensione molto utile per YARA sviluppata e resa open source da Bayshore Networks.
Inoltre, i ragazzi di InQuest hanno curato un'ottima lista di cose relative a YARA.
Lo stai usando? Vuoi vedere il tuo sito elencato qui?