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:
YARA rules: uno strumento contro il malware
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...
Leggi tutto
Cybersecurity: 4 consigli per i leader aziendali
Blog News

Cybersecurity: 4 consigli per i leader aziendali

Più di un anno fa, il World Economic Forum ha pubblicato il suo Global Cybersecurity Outlook 2022. Hanno identificato tre principali lacune che ostacolano lo sviluppo di sistemi resilienti per le imprese: Dare...
Leggi tutto
Donne nel campo della sicurezza informatica
Blog

Donne nel campo della sicurezza informatica

Le donne rappresentano solo il 24% dei professionisti della sicurezza informatica, Security Architect srl fa eccezione con il 40% dello staff al femminile. Oggi parliamo di donne responsabili di alcuni dei lavori più...
Leggi tutto
Security Architect srl ottiene la certificazione ISO 27001
Blog Case Studies

Security Architect srl ottiene la certificazione ISO 27001

Un'altra milestone per Security Architect srl: siamo ufficialmente una ISO 27001 company. Questa certificazione offre ai nostri clienti e partner la certezza che aderiamo alle migliori pratiche per la gestione di un servizio...
Leggi tutto
Espandi le tue attività con un partner ufficiale Microsoft
Blog Case Studies

Espandi le tue attività con un partner ufficiale Microsoft

Dal 17 anni Security Architect Srl è Partner ufficiale Microsoft specializzato in Datacenter, Cyber Security, Collaboration. Consentiamo ai nostri clienti di sfruttare la potenza di una rete di Partner tecnici e trasformare le loro attività attraverso obiettivi...
Leggi tutto
SaaS Security Posture Management Checklist per il 2023
Blog

SaaS Security Posture Management Checklist per il 2023

Che cos'è SSPM? Cosa sono i Software-as-a-Service? Software-as-a-Service (SaaS) Security Posture Management (SSPM) è una categoria di strumenti di sicurezza per il monitoraggio delle minacce nelle applicazioni SaaS. Configurazioni errate, account utente inutilizzati,...
Leggi tutto
Ransomware in aumento e danno reputazionale
Blog News

Ransomware in aumento e danno reputazionale

Gli attacchi ransomware sono in aumento ma sembra essere in diminuzione il numero delle denunce di data leak: il che lascia supporre che sono sempre di più le vittime che pagano il riscatto...
Leggi tutto
Attacco malware mirato agli utenti italiani
News

Attacco malware mirato agli utenti italiani

Utenti italiani target di un attacco malware mirato a rubare informazioni sensibili, in particolare di aziende e detentori di criptovalute. È stata osservata e riportata da Cyber Security 360, The Hacker News e...
Leggi tutto
Sicurezza online anche per i più piccoli!
Blog News

Sicurezza online anche per i più piccoli!

Viviamo davvero in un'era digitale in cui anche i bambini e i pre-adolescenti, in un modo o nell'altro, hanno accesso a Internet. Probabilmente trascorrono più tempo online di chiunque altro, perciò è utile...
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 *