
Genera file pseudo-maliziosi da regole YARA per attivare il rilevamento AV/EDR, permettendo la ricerca su malware, il QA delle regole e il test di pressione dei sensori di rete senza campioni di malware reali.
Arya è uno strumento unico che produce file pseudo-maliziosi progettati per attivare le regole YARA. Puoi considerarlo come un YARA inverso perché fa esattamente l'opposto: crea file che corrispondono alle tue regole.
Puoi leggere di più su Arya e su come funziona nel nostro blog.

Le regole YARA sono uno strumento essenziale per i ricercatori di sicurezza che li aiuta a identificare e classificare campioni di malware. Lo fanno descrivendo pattern e stringhe all'interno del codice malware che possono aiutare un analista a identificare minacce note o nuove. Le regole YARA sono anche spesso integrate all'interno di strumenti di rilevamento commerciali, o utilizzate internamente per rilevare binari che si comportano male sulla rete aziendale.
Ma cosa succede se non abbiamo il file dannoso per cui stiamo scrivendo le regole? E se volessimo creare il file 'malware' basato su YARA come input? Ecco perché abbiamo sviluppato Arya. Arya può essere utilizzato per generare file pseudo-malware personalizzati per attivare strumenti antivirus (AV) e di rilevamento e risposta degli endpoint (EDR), proprio come il buon vecchio file di test EICAR. Il nostro strumento ha una serie di casi d'uso, tra cui la ricerca sul malware, il test di qualità delle regole YARA e il test di resistenza di una rete con campioni di codice costruiti a partire da regole YARA.

Arya è uno strumento unico nel suo genere; produce file pseudo-maliziosi progettati per attivare le regole YARA. Lo strumento legge i file YARA (con suffisso .yar) forniti, analizza la loro sintassi utilizzando il pacchetto yaramod di Avast—il motore di parsing YARA utilizzato in questa ricerca—e costruisce un file pseudo 'malware'. Posizionando attentamente i byte desiderati dalle regole YARA per attivare le regole di input.
L'obiettivo dello strumento è generare un file pseudo-malizioso su misura che i sensori di rilevamento come AV o EDR identificheranno come il file malware che una regola YARA di input intende rilevare. Per raggiungere questo obiettivo non solo aggiungiamo le firme, le stringhe e i byte necessari dalle regole YARA di input, ma aggiungiamo anche alcuni 'tocchi' come header PE reali, aumentando l'entropia del file di output, aggiungendo bytecode x86 e codice assembly di prologo/epilogo di funzione. Tutto ciò aiuta il processo di attivazione di AV/EDR e bypassa alcuni controlli euristici che potrebbero avere.

I file YARA (con estensione .yar) sono file di testo che contengono una o più regole YARA. In questo progetto, abbiamo utilizzato yaramod per trasformare le regole YARA in un elenco di regole rappresentate da oggetti Python, che possono poi essere utilizzati per accedere ai contenuti interni di una regola, come stringhe, tipi, condizioni e altro. Yaramond analizza le regole YARA in AST, o albero sintattico astratto.
L'attraversamento dell'albero sintattico astratto viene effettuato utilizzando una combinazione dei pattern di progettazione Observer e Visitor. Per ogni nodo che il codice attraversa, determinerà quali byte e stringhe posizionare e dove, al fine di attivare la condizione nel sottoalbero che attraversa. Di conseguenza, questo albero produrrà una mappatura di stringhe e possibili offset in cui posizionarle; può anche riservare alcune di esse nel file, che verranno passate al meccanismo di posizionamento per ulteriori elaborazioni.
I ricercatori possono utilizzare Arya per generare file pseudo-maliziosi usando le regole YARA come elementi costitutivi. Questi file possono essere utilizzati per creare file che verranno identificati come malware specifici. Ad esempio, se non hai un campione di malware Zeus, ma vuoi verificare come reagisce il tuo AV? Nessun problema, carica le regole YARA di Zeus in Arya e genera il tuo pseudo-malware simile a 'Zeus' che gli strumenti AV/EDR identificheranno come Zeus.
Arya può anche essere utilizzato come parte della formazione sulla risposta agli incidenti—simile al purple-teaming—dove i file pseudo-maliziosi possono essere inviati attraverso la rete per testare la resistenza dei sensori e dei rilevatori nella rete.
Supportate
Pianificato per i prossimi aggiornamenti
sudo apt update
sudo apt install yara cmake
git clone https://github.com/claroty/arya
cd arya
pip3 install -r requirements.txt
Esegui Arya considerando i seguenti argomenti:
-i [INPUT_DIRECTORY] OR [INPUT_FILE]-o [OUTPUT_FILE_NAME]--header - Aggiunge i primi 2048 byte di Conficker all'inizio del file.-r - Esegue ricorsivamente su tutti i file in [INPUT_DIRECTORY]-m [MALWARE_FILE] - Usa il file [INPUT_DIRECTORY] come base per l'output.python3 src/arya.py -i example_rules/ -o MalwareAryaDefault.exe