Categorie
Blog

YARA rules: uno strumento contro il malware

Cosa sono le regole YARA?

Le regole Yara (acronimo che sta per Yet Another Recursive Acronym) sono uno strumento sviluppato da Victor Alvarez, distribuito all’interno di Kali Linux e viene attualmente utilizzato dagli analisti di sicurezza (e da team di cyber security come Security Architect srl) per la ricerca di pattern malevoli all’interno di file eseguibili o testuali.

Volendo fare un’analogia, si potrebbe pensare ad esso come il comando grep di Linux, che sfrutta le espressioni regolari per ricercare porzioni di testo. Nel caso di YARA, il matching viene effettuato sulla base di regole precompilate contenenti ciascuna diversi pattern e diverse regole logiche per determinare se un file sia malevolo o meno.

La popolarità di questo strumento è talmente vasta che moltissimi produttori di antivirus lo utilizzano quale motore di analisi dei file.

Per approfondimenti lasciamo qui la documentazione ufficiale.

Come funzionano le regole YARA?

Le regole YARA sono come un pezzo di linguaggio di programmazione, funzionano definendo un numero di variabili, patterns, che contengono schemi trovati in un campione di malware.

Quando si analizza un pezzo di malware, i security analyst identificheranno modelli e stringhe univoci all’interno del malware che consentiranno loro di decidere a quale gruppo di minacce e a quale famiglia di malware è attribuibile il campione. Creando una regola YARA da diversi campioni, samples, della stessa famiglia di malware, è possibile identificare più campioni tutti associati forse alla stessa campagna o allo stesso autore della minaccia.

Nel nostro caso le regole YARA possono essere utilizzate come strumento di prevenzione dal cyber crime e risposta agli incidenti per rilevare file binari dannosi all’interno di un’organizzazione.

Quando si utilizzano?

YARA è estremamente popolare all’interno della comunità infosec, il motivo è che ci sono una serie di casi d’uso per l’implementazione di YARA rules:

  • Identificare e classificare i malware
  • Trovare nuovi samples basati su modelli specifici
  • Gli Incident Responder implementano regole YARA per identificare i dispositivi compromessi
  • L’implementazione proattiva di regole YARA personalizzate può aumentare le difese di un’organizzazione e migliorarne la security posture generale.

YARA rules: qualche elemento da sapere

Per costruire una regola YARA utile, dovrai conoscere i vari elementi che possono essere utilizzati per costruire la tua regola personalizzata.

Metadati

I metadati non influiscono su ciò che cercherà la regola YARA, ma forniscono informazioni utili sulla regola stessa.

  • Autore: nome, indirizzo e-mail, handle di Twitter.
  • Data: data di creazione della regola.
  • Versione: il numero di versione della regola per il monitoraggio delle modifiche.
  • Riferimento: collegamento a un articolo o download del campione, utilizzato per fornire informazioni pertinenti sul malware che la regola è progettata per rilevare.
  • Descrizione: una breve panoramica dello scopo della regola e del malware che mira a rilevare.
  • Hash: un elenco di hash di esempio utilizzati per creare la regola YARA.
Stringhe

È comune trovare stringhe uniche e interessanti all’interno di un campione di malware, queste sono l’ideale per costruire una regola YARA. Per definire una stringa all’interno di una regola, la stringa stessa deve essere dichiarata come variabile.

  • $a=”string from malware sample” – (stringa dal campione di malware)

Oltre a dichiarare una stringa, possiamo anche aggiungere modificatori dopo la stringa dichiarata per perfezionare la ricerca. Per es:

  • $a=”malwarestring” fullword – Questo modificatore corrisponderà a una parola esatta. Ad esempio, “www.malwarestring.com” restituirà una corrispondenza, ma “www.abcmalwarestring.com” non la restituirà.
  • $a=”malwarestring” wide – Corrisponde alle stringhe unicode separate da byte nulli, ad esempio “w.w.w… m.a.l.w.a.r.e.s.t.r.i.n.g… c.o.m.”
  • $a=”malwarestring” wide ascii – Ciò consentirà la corrispondenza della regola su caratteri unicode e ascii.
  • $a=”MalwareString” nocase – la regola corrisponderà alla stringa indipendentemente dalle maiuscole e minuscole.
Condizioni

La sezione delle stringhe definisce i criteri di ricerca che verranno utilizzati per una regola YARA, la sezione delle condizioni definisce i criteri per attivare una corrispondenza (trigger a successful match). Ci sono più condizioni che possono essere utilizzate:

  • uint16(0) == 0x5A4D – Il controllo dell’intestazione di un file è un’ottima condizione da includere nelle regole YARA. Questa condizione stabilisce che il file deve essere un eseguibile di Windows, questo perché i valori esadecimali 4D 5A si trovano sempre all’inizio dell’intestazione di un file eseguibile. Questo è invertito in YARA a causa dell’endianness.
  • uint32(0)==0x464c457f) o (uint32(0) == 0xfeedfacf) o (uint32(0) == 0xcffaedfe) o (uint32(0) == 0xfeedface) o (uint32(0) == 0xcefaedfe) – Usato per identificare i file binari di Linux controllando l’intestazione del file.
  • (#a == 6) – Il conteggio delle stringhe è uguale a 6.
  • (#a > 6) – Il numero di stringhe è maggiore di 6
  • Ecc…

Esistono, inoltre, diversi modi per specificare la condizione della dimensione del file.

  • (filesize>512)
  • (filesize<5000000)
  • (filesize<5MB)

Una volta che le stringhe sono state dichiarate all’interno di una regola, puoi personalizzare il numero di corrispondenze che devono essere trovate perché la regola identifichi un certo file come dannoso.

Es: 2 of ($a,$b,$c)
3 of them
4 of ($a*)
all of them
any of them
$a and not $b

Ove possibile, sarebbe meglio utilizzare 2-3 gruppi di condizioni per evitare di generare falsi positivi e per creare anche una regola affidabile.

Importazioni

Le importazioni sono un ottimo modo per implementare condizioni aggiuntive nelle regole YARA. Per esempio si può utilizzare l’importazione PE. L’aggiunta della sintassi “import pe” all’inizio di una regola YARA ti consentirà di utilizzare la funzionalità PE di YARA, utile se non riesci a identificare stringhe univoche.

Conclusioni

Abbiamo illustrato molto brevemente le regole YARA per iniziare a cercare nuovi campioni per l’analisi o, in alternativa, iniziare a implementare alcuni rilevamenti proattivi all’interno della tua organizzazione. Vi sono però tantissime variabili da implementare per far sì che una regola possa effettivamente rilevare con efficacia le minacce presenti sui dispositivi e sulle reti di un’azienda.

Se stai cercando di maturare la Security Posture della tua organizzazione, dai un’occhiata ai servizi di Security Architect srl e al nostro centro SOC.

scopri i nostri servizi:
Cybersecurity aziendale: il tuo investimento è davvero efficace?
Blog

Cybersecurity aziendale: il tuo investimento è davvero efficace?

Negli ultimi anni, le aziende hanno aumentato gli investimenti in cybersecurity aziendale in risposta all’incremento delle minacce digitali. Tuttavia, nonostante la spesa considerevole - per alcune, molte scoprono troppo tardi che la loro...
Leggi tutto
Le 5 tecniche malware più comuni nel 2024
News

Le 5 tecniche malware più comuni nel 2024

L'articolo esamina le tecniche più comuni usate dai cybercriminali per aggirare i controlli di sicurezza, ottenere un accesso prolungato ai sistemi e nascondere attività dannose; attraverso lo studio di strumenti e metodi l'articolo...
Leggi tutto
SIEM, EDR, SOC: sicurezza IT proattiva e conformità NIS2
Blog

SIEM, EDR, SOC: sicurezza IT proattiva e conformità NIS2

L'importanza di una strategia di sicurezza IT aziendale moderna: parleremo di soluzioni SIEM, EDR, SOC e molto altro. Le normative europee stanno evolvendo per affrontare le nuove sfide della sicurezza informatica. La direttiva...
Leggi tutto
Cloudflare sventa il più grande attacco DDoS della storia
News

Cloudflare sventa il più grande attacco DDoS della storia

DDoS da record: Cloudflare riesce a contenere il più massiccio attacco di sempre da 3,8 Tbps Il 4 ottobre 2024, Cloudflare ha annunciato di aver respinto un attacco DDoS (Distributed Denial-of-Service) da record....
Leggi tutto
Continuità operativa: soluzioni avanzate per la protezione dei sistemi
Blog

Continuità operativa: soluzioni avanzate per la protezione dei sistemi

Continuità operativa: soluzioni di disaster recovery e failover per sistemi mission-critical Nell'attuale contesto tecnologico, garantire la continuità operativa è fondamentale per aziende di ogni dimensione, soprattutto quando si tratta di gestire sistemi mission-critical....
Leggi tutto
Cloud Security: rischi e soluzioni integrate
Blog

Cloud Security: rischi e soluzioni integrate

Protezione dei dati nel cloud: rischi e strategie efficaci per la sicurezza dei dati aziendali Nel contesto aziendale moderno, l'adozione del cloud rappresenta una componente essenziale per l'agilità e la scalabilità delle imprese....
Leggi tutto
Cybersecurity e IT service management: soluzioni avanzate per aziende
Blog

Cybersecurity e IT service management: soluzioni avanzate per aziende

Il rientro dalle vacanze offre un'opportunità unica alle grandi aziende per ripartire e migliorare la loro infrastruttura IT. Adottando strategie avanzate di cybersecurity e IT Service Management (ITSM), è possibile affrontare efficacemente le...
Leggi tutto
Post vacanze: adeguamento alla Direttiva NIS 2 entro Ottobre 2024!
Blog News

Post vacanze: adeguamento alla Direttiva NIS 2 entro Ottobre 2024!

Prepararsi per l'adeguamento alla Direttiva NIS 2: il nostro impegno per la conformità aziendale Con l'approssimarsi delle vacanze estive, è essenziale guardare avanti e prepararsi al rientro. In particolare, sarà necessario attrezzarsi per...
Leggi tutto
Pinnacle Award a Cisco EVE: sicurezza e visibilità nel traffico criptato
Blog News

Pinnacle Award a Cisco EVE: sicurezza e visibilità nel traffico criptato

Nel settore della cybersecurity, la visibilità del traffico di rete è cruciale. Tuttavia, il traffico crittografato rappresenta una sfida significativa: come garantire la sicurezza senza compromettere la privacy? Cisco ha risolto questo dilemma...
Leggi tutto
Per saperne di piÙ

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *