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:
Implementazione di controlli Zero Trust per la conformità
Blog News

Implementazione di controlli Zero Trust per la conformità

Approccio Zero Trust alla sicurezza informatica Nel panorama attuale della sicurezza informatica, l'adozione di un modello Zero Trust si rivela non solo una scelta strategica, ma una necessità impellente. In questo articolo proveremo...
Leggi tutto
La Direttiva NIS2: sicurezza delle Reti Industriali e dei Sistemi OT supportata da CISCO
News

La Direttiva NIS2: sicurezza delle Reti Industriali e dei Sistemi OT supportata da CISCO

Nel contesto attuale di minacce informatiche in rapida evoluzione, la sicurezza delle infrastrutture critiche è diventata una priorità imperativa per l'Unione Europea. La recente adozione della Direttiva sulla sicurezza delle reti e dei...
Leggi tutto
Threat Actors, Malware e Exploited Vulnerabilities 2024
News

Threat Actors, Malware e Exploited Vulnerabilities 2024

In questo articolo realizzeremo un consuntivo degli ultimi due mesi sull'intelligence delle minacce informatiche, una risorsa essenziale per comprendere il panorama in evoluzione dei cyber threats e imparare a riconosce le vulnerabilità e...
Leggi tutto
Blindare la Supply Chain: scegliere accuratamente i fornitori
Blog

Blindare la Supply Chain: scegliere accuratamente i fornitori

Come abbiamo potuto osservare nei precedenti articoli, la sicurezza delle informazioni non è più un optional, ma una necessità imperativa. Con la crescente complessità delle reti aziendali e l'espansione delle supply chain, le...
Leggi tutto
La Sicurezza Informatica in Italia: Normative e Framework
Case Studies News

La Sicurezza Informatica in Italia: Normative e Framework

In un'era in cui la digitalizzazione permea ogni aspetto della nostra vita quotidiana e lavorativa, la sicurezza fisica e logica assume un ruolo cruciale nella protezione dei dati e delle infrastrutture critiche. Per...
Leggi tutto
Frodi BEC: attenzione alla truffa dell’IBAN
News

Frodi BEC: attenzione alla truffa dell’IBAN

La rete continua ad accelerare notevolmente lo scambio di informazioni tra le imprese e i loro collaboratori - le note terze parti. L'email si afferma come strumento prediletto per queste interazioni. Sia le...
Leggi tutto
Il NIST identifica attacchi informatici che manipolano l’IA
News

Il NIST identifica attacchi informatici che manipolano l’IA

Il NIST ha pubblicato uno studio sui tipi di attacchi informatici che manipolano il comportamento dei sistemi di intelligenza artificiale e ha creato delle strategie per mitigarli. Il National Institute of Standards and...
Leggi tutto
Questo Natale facciamoci un regalo: proteggiamo il nostro business
News

Questo Natale facciamoci un regalo: proteggiamo il nostro business

Violazioni dei dati e attacchi informatici nel 2023 Vedremo insieme, anche quest'anno, alcuni dei più noti e rovinosi attacchi informatici. È di ieri la notizia di un attacco messo in atto da criminali...
Leggi tutto
Sicurezza Informatica: una necessità nel Sud Italia
Blog News

Sicurezza Informatica: una necessità nel Sud Italia

Sud Italia e cyber attack La questione della sicurezza Informatica nel Sud Italia viene raramente sviscerata. Gli attacchi informatici rappresentano ormai una sfida quotidiana che le imprese italiane devono affrontare e gestire con...
Leggi tutto
Leave this field blank
Per saperne di piÙ

Lascia un commento

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