ELF;
Cuckoo: si basa sulla creazione di regole incentrate su dati
comportamentali ottenuti da Cuckoo sandbox;
Magic: si basa sull’utilizzo di file di output CLI per creare regole di
rilevamento file (solo Unix);
Hash: serve a calcolare gli hash per parte del file e creare firme incentrate
36
su di essi ; Esempio di calcolo degli hash
Math: serve a calcolare alcuni valori per parte del file e creare firme
basate su di essi. Uno degli usi più diffusi è il calcolo dell’entropia di un
file;
36 https://websec.nl/en/blog/yara-rules-part-2-using-modules-649402237da6efd52bb85631 (ultimo
accesso: 28/07/24). 28
Esempio di ricerca di un file con entropia superiore a 7.0
Dotnet: si basa sulla creazione di regole dettagliate per file .NET
attraverso l’utilizzo di attributi e strumenti dei file formato .NET;
Time: permette di usare condizioni temporali durante la creazione delle
regole;
37
Console: permette di registrare informazioni durante l’esecuzione .
2.5 CREAZIONE DI UNA REGOLA EFFICACE
Nella maggior parte dei casi, scrivere regole non troppo specifiche ma che
tengano conto di tutti i potenziali malware definiti falsi positivi, può risultare
complicato.
1. La prima cosa da fare è leggere la documentazione, nella quale è possibile
trovare tutte le istruzioni per la scrittura delle regole e per l’utilizzo di
determinate funzionalità di vari strumenti.
2. Dopodiché ci si concentra sullo scopo che la regola deve avere e il tipo di
minaccia che prende di mira attraverso i metadati.
3. Scrivere, inizialmente, una regola stilisticamente semplice per poi
arricchirla nel tempo, per evitare i falsi positivi.
4. Usare nomi che descrivano attentamente ed in maniera chiara lo scopo e la
funzionalità della regola.
5. Testare la regola su diversi campioni, per esempio file dannosi o benigni,
in modo tale da riuscire a scovare falsi positivi o falsi negativi, valutarne
l’efficacia e applicarne migliorie, se necessario.
37 Ivi. 29
6. Collaborare con altri professionisti della sicurezza e scambiare regole per
poter creare regole migliori e rafforzare la sicurezza informatica.
7. Attraverso l’uso di informazioni contestuali è possibile migliorare
l’accuratezza della regola. Se si riconosce, ad esempio, che la dimensione
di un determinato malware è sempre la stessa, si possono filtrare i requisiti
38
in modo tale da restringere il campo di ricerca .
2.6 GENERAZIONE AUTOMATICA DI REGOLE
Oltre alla costruzione manuale di Yara rules, è possibile utilizzare strumenti
che permettono di generarle automaticamente.
yarGen è uno strumento che, mediante l’uso di stringhe e sequenze di
byte, è capace di creare regole da un database di file binari. Ciò avviene
attraverso l’identificazione di stringhe trovate nei file malevoli e il
filtraggio di stringhe che compaiono nei file non malevoli. Inoltre, se
vengono utilizzati più campioni, cercherà di identificare le somiglianze
per combinare le stringhe in una super regola. Infine, assegna ad ogni
stringa un punteggio e più è alto, maggiore è la probabilità che il file in cui
39
si trova sia un malware .
YaBin è uno strumento che crea firme Yara tramite codice eseguibile
all’interno di un malware. Si basa sulla ricerca di prologhi di funzioni e
sulla creazione di stack frame utili per rilevare l’inizio di una funzione.
Dopodiché si utilizza una whitelist in cui sono presenti 100 GB di
software non malevolo per verificare se le funzioni non facciano parte di
librerie comuni. Tutto ciò è molto utile per rilevare campioni di file
malevoli che condividono una parte di codice e può portare alla creazione
di regole uniche per il rilevamento di famiglie di malware.
38 https://kravensecurity.com/yara-rules/ (ultimo accesso: 27/07/24).
39 https://materials.rangeforce.com/tutorial/2020/02/28/Yara-Rule-Generation/ (ultimo accesso:
01/08/24). 30
YARA-FN utilizza i blocchi base di una funzione per generare regole. Ha
la particolarità di inserire indirizzi jolly e di ignorare le istruzioni di jump
ed è particolarmente utilizzato per la generazione di firme.
HYARA è un plugin per IDA Pro utile nel processo di generazione delle
Yara rules poiché ne accelera la creazione e la modifica. Dopo aver fornito
40
l’indirizzo iniziale e finale, crea automaticamente la regola .
2.7 QUALITÀ DI UNA YARA RULES
Tutte le informazioni utili per poter rilevare e classificare un malware sono
contenute negli indicatori di compromissione e generalmente sono suddivisi in
tre categorie: indicatori di rete, indicatori basati su host e indicatori di posta
elettronica. Gli IoC sono degli insiemi di proprietà riguardanti la struttura o il
comportamento di un malware che vengono scritti e diffusi in rete da un analista
e le Yara rules non sono altro che la loro definizione sotto forma di programma.
Per poter valutare la qualità di una Yara rules viene utilizzato il modello R-L (R:
Robustness o Robustezza; L: Looseness o Flessibilità).
Il termine Robustezza si riferisce alla proprietà di una Yara rules di
rimanere valida anche quando i malware subiscono dei cambiamenti durante il
corso del tempo (cambio di IP, file con nome diverso, firme diverse). Poiché
riguarda l’affidabilità della sua accuratezza, si afferma che la Robustezza è una
capacità verticale di una Yara rules.
La Flessibilità, invece, è la capacità di riconoscere i comportamenti o altre
caratteristiche di malware (o famiglie di malware) in altri malware (o famiglie di
malware) in modo tale da poter identificare varianti del malware preso in analisi.
A differenza della robustezza, la flessibilità riguarda la versatilità della sua
40 F. Bilstein, Automatic Generation of code-based YARA-Signatures, in “Computer Science”, 2018,
pp. 1-47. 31
precisione e per tale motivo può essere definita come capacità orizzontale di una
Yara rules.
Il modello R-L afferma che robustezza e flessibilità possono dipendere: dal
41
numero di IoC, dal tipo di IoC, dai valori di IoC e dalle condizioni della regola .
Data una regola r, si definisce:
La quantità Ar, che comprende il numero di IoC usati in una regola.
La diversità Dr, che comprende le diverse tipologie di IoC usati.
La distribuzione Nr, che comprende la densità di IoC nella regola.
Mr, ovvero il numero di malware che confronta r.
Fr, ovvero il numero di famiglie di malware che confronta r.
È possibile esplicitare: Rr = (Ar, Dr, Nr); Lr = (Fr, Mr).
2.8 MIGLIORAMENTO DELLE YARA RULES TRAMITE FUZZY
HASHING
Anche se le Yara rules sono ottime per rilevare malware basandosi su
pattern e strutture binarie, nel caso di una variante di malware, attraverso minime
modifiche a stringhe o aggiunta di codice, la rilevazione potrebbe fallire. Per
ovviare a questo problema e per garantire un approccio più robusto e versatile
durante il rilevamento e l’analisi dei malware, è possibile combinare le Yara
42
rules con il Fuzzy Hashing .
41 G. Canfora (et al.), About the Robustness and Looseness of Yara Rules, in “ICTSS”, Dicembre 2020,
pp. 104-120.
42 N. Naik (et al.), Embedded YARA rules: strengthening YARA rules utilising fuzzy hashing and fuzzy
rules for malware analysis, in “Complex & Intelligent Systems”, Volume 7 (2021), pp. 687-702. 32
Yara rules migliorate con il Fuzzy Hashing
Il Fuzzy Hashing è una tecnica che viene utilizzata per rilevare se ci sono
somiglianze tra i file, compresi i malware, attraverso la scomposizione di
quest’ultimi in blocchi. Dopo aver calcolato l’hash di ciascun blocco, si procede
a concatenarli per ottenere il fuzzy hash.
Generazione del fuzzy hash con il metodo del Fuzzy Hashing
È possibile distinguere alcune tecniche di Fuzzy Hashing:
43
SSDEEP è una tecnica usata per lo spam e consiste nel dividere un file in
blocchi che, insieme ai loro endpoint, vengono creati con un metodo
rolling hash, attraverso l’utilizzo di una funzione Adler32. In seguito,
viene ricavato un hash per ogni blocco e vengono concatenati.
SDHASH è una tecnica che mette a paragone gli attributi non comuni di
un file con quelli di un altro file per vederne il grado di somiglianza e
43 Ivi. 33
generalmente vengono rilevati con il metodo dell’entropia. In questo caso,
il fuzzy hash viene calcolato attraverso una funzione hash SHA-1 e dei
filtri Bloom, ovvero strutture dati utilizzate per verificare se un elemento
fa parte di un insieme.
MvHASH-B è una tecnica che ha come obiettivo quello di lasciare i dati
invariati nel momento in cui i dati subiscono una piccola modifica
attraverso il preservamento del valore hash. Inoltre, si basa sul concetto di
voto di maggioranza per trasformare i dati in ingresso, codificando una
sequenza di bit dei voti di maggioranza con Run-Lenght Encoding. Anche
in questo caso, il fuzzy hash viene generato utilizzando i filtri Bloom.
Dopo vari test, si è evinto che la miglior tecnica da abbinare alle Yara rules
è la SSDEEP: essendo compatto, non aumenta la complessità delle Yara rules
avanzate e contribuisce a un più elevato miglioramento del triage, ovvero la
44
valutazione delle criticità degli attacchi malware .
44 N. Naik (et al.), Embedded YARA rules: strengthening YARA rules utilising fuzzy hashing and fuzzy
rules for malware analysis, in “Complex & Intelligent Systems”, Volume 7 (2021), pp. 687-702. 34
CAPITOLO 3
TURLA E LA STRATEGIA DI OFFUSCAMENTO
3.1 PRESENTAZIONE DEL GRUPPO CRIMINALE TURLA
Come è stato già accennato, gli APT costituiscono uno dei principali
fattori che mettono a dura prova il panorama della Cybersecurity. Tra gli
attaccanti più pericolosi e conosciuti, si prende in analisi il gruppo
criminale Turla.
Conosciuto anche come Snake, UNC4210, Group 88, Venomous
Bear, Waterbug o Uroburos, rappresenta uno dei più sofisticati gruppi APT
che ha come obiettivo quello di spiare e raccogliere le informazioni,
concentrandosi principalmente su determinate istituzioni governative. 35
Attacchi dal 1996 al 2023
Ha sede in Russia e fin dagli anni ‘90 è conosciuto per gli attacchi di
45
spear phishing e Watering Hole .
1. Spear phishing: vengono usate delle e-mail contenenti allegati o
link dannosi, progettate per apparire attendibili in modo tale da
ingannare gli utenti e indurli a scaricare il malware.
2. Attacco Watering Hole: vengono compromessi i siti Web visitati
dall’organizzazione presa di mira e successivamente viene inserito
46
il virus n
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Tesi, Le teorie del portafoglio, un confronto tra CAPM E APT. Un'analisi empirica
-
EU guidelines and rules - comparative labour law
-
Business intelligence
-
International Business Transactions - Essential rules in the USA Contract Law 2