SlideShare a Scribd company logo
1 of 8
Download to read offline
Summary of “COUGAR: Clustering Of Unknown malware
using Genetic Algorithm Routines”
studente: relatore:
Davide Panarella Prof. Andrea De Lorenzo
INTRODUZIONE
I cyber criminali, per mezzo di software malevoli, tentano quotidianamente di distruggere e
rubare i dati di aziende ed utenti, a volte furtivamente, altre ricattandoli esplicitamente. La
rilevazione e classificazione di malware è un argomento molto attuale ed in continuo
sviluppo data l'enorme mole di nuovi software prodotti giornalmente e dal consistente
impatto economico che provocano.
Nonostante esistano molteplici modi per mascherare un programma malintenzionato, le
tecniche con le quali attaccano ed estraggono i dati dai dispositivi, sono limitate. Questa
caratteristica permette il raggruppamento in classi di somiglianza, accomunate per esempio
dal fine dell’attacco (ransomware, spyware, ecc..) , dal comportamento, dal modo in cui
infettano i dispositivi o dalla loro pericolosità.
In questo scenario trovano ampio spazio di utilizzo gli algoritmi di Machine Learning che
permettono un’identificazione dinamica dei software sospetti.
Nell’articolo in questione è stato descritto ed analizzato il sistema COUGAR, che si occupa
di ridurre a due dimensioni i dati comportamentali di malware complessi, ottimizzando il
Clustering (raggruppamento in classi) attraverso algoritmi genetici multi-obiettivo. Inoltre
l’elaborato fornisce dati statistici riguardanti le performance e l'esempio di una possibile
applicazione in uno scenario realistico.
METODOLOGIA
Il problema del ​Clustering è stato affrontato più volte nella letteratura scientifica, proponendo
diversi sistemi e molteplici possibili soluzioni. Nell’elaborato si sono sfruttate due
considerazioni estrapolate da lavori precedenti col fine di aumentare l’efficacia e l’efficienza
del metodo. Questi accorgimenti sono la classificazione dei malware in base alla
pericolosità​(1)
(​triage​) e la riduzione della dimensionalità del problema​(2)​
. In particolare
quest’ultima consiste nello studio del comportamento del software malevolo solamente
attraverso l’analisi delle chiamate alle librerie/funzioni e non, per esempio, dalla
comparazione dell’intero codice.
Il contributo dell’articolo consiste nell’applicazione di algoritmi genetici per l’ottimizzazione
dei cluster. Queste tecniche di ​programmazione evolutiva basano il loro funzionamento sul
principio di mescolamento casuale dei risultati parziali, con l'intento di trovare ad ogni
generazione, una soluzione migliore.
Vi sono però due problematiche nello studiare i malware, la prima consiste nella
incompatibilità con tutti i sistemi, rendendo difficoltoso il paragone all’interno dello stesso
dataset. L’altra è la pericolosità di importarli ed esportarli in modo libero, in quanto i
dispositivi ne possono rimanere danneggiati. Come soluzione gli autori hanno adottato un
database open source di terze parti, in modo da permettere inoltre la replicabilità
dell’esperimento. Il dataset in questione è EMBER (Endgame Malware BEnchmark for
Research), il quale contiene informazioni di circa 1.1 milioni di malware verificati, come
l’intestazione, le funzioni importate ed esportate e numerosi altri metadati. Non sono presenti
i file eseguibile per evitare i problemi sopra citati.
2
Come supporto e punto di riferimento per il clustering è utilizzato lo strumento AVClass,
capace anch’esso di etichettare i software malevoli.
FUNZIONAMENTO
Il sistema COUGAR può essere suddiviso in due parti fondamentali:
● Estrapolazione ed elaborazione delle informazioni provenienti dal dataset
● Creazione ed ottimizzazione dei cluster
La prima fase comincia con la ​vettorizzazione ​dei dati proveniente da Ember, creando una
tabella le cui le righe rappresentano i diversi campioni e le colonne il conto delle chiamate
relative ad ogni funzione/libreria.
A causa della massiccia mole di nuovi malware in circolazione ogni giorno, per aumentare le
prestazioni si è deciso di ridurre questa tabella a due dimensioni, nonostante il clustering
sarebbe stato ugualmente possibile. L’algoritmo utilizzato a questo scopo è UMAP (Uniform
Manifold Approximation and Projection) noto per preservare sia la distanza locale che quella
globale tra i dati. Inoltre supporta la trasformazione dei nuovi campioni in modelli esistenti,
fondamentale per l'identificazione di nuovi software sospetti.
La seconda fase inizia con il raggruppamento dei campioni in cluster di somiglianza. Durante
l’esperimento sono state utilizzate tre diverse procedure, in modo da poter paragonare le
performance e le relative caratteristiche:
● DBSCAN (Density-Based Spatial Clustering of Applications with Noise​)
● OPTICS (Ordering points to identify the clustering structure)
● K-MEANS
DBSCAN è un algoritmo di clustering basato sulla densità dei dati. Questa procedura
necessita di due parametri di ingresso, uno che rappresenta la distanza minima che devono
avere due campioni per appartenere allo stesso cluster, e l’altro il numero minimo di punti
necessari a formarne uno.
OPTICS ha un funzionamento analogo, ma effettua delle operazioni preliminari di
ordinamento per avere maggiore coesione fra i cluster creati.
K-MEANS invece, attraverso un processo iterativo, assegna ad un punto detto ​centrale
(inizialmente scelto a caso) i dati metricamente vicini, e ad ogni ciclo ne ricalcola la
posizione tramite la media aritmetica dei valori contenuti all’interno del cluster.
3
Ognuno di questi algoritmi ha dei parametri d'ingresso da impostare che, in base al valore,
ne cambiano considerevolmente il comportamento. La scelta è basata sulle tre principali
caratteristiche che cerchiamo in un raggruppamento, ovvero che i vari cluster siano coerenti,
che contengano i dati corretti e che siano il più grande possibile.
In termini matematici possiamo riassumerle in questo modo:
1. Massimizzare il numero di cluster di qualità analizzando tutti gli elementi con la
similitudine del coseno:
I valori vengono poi sommati e scalati nell’intervallo [0.0, 1.0]. In particolare il valore
1 indicherà che tutti vettori sono uguali, mentre il valore ​0 che sono tutti
complementari tra loro. Un raggruppamento viene considerato buono se il SSS
(scaled summed similarity) è di almeno 0.8.
2. Minimizzare​, per ogni cluster, ​la somma degli SSE​ (sum squared error):
SSE = (1 -SSS)​2
3. Massimizzare la mediana delle dimensioni dei raggruppamenti​. E’ stato scelto di non
utilizzare la media in modo da evitare la formazione di un piccolo numero di cluster
molto grandi.
L’algoritmo genetico scelto per ottimizzare questi obiettivi è NSGA-III (Non-dominated
Sorting Genetic Algorithm III). Gli output saranno quindi i valori dei parametri di ingresso
delle procedure di raggruppamento. Il funzionamento è descritto dal ciclo principale:
Ad ogni iterazione, partendo dalla popolazione P​t​, ne viene generata una seconda Q​t di
uguale dimensione tramite il mescolamento casuale dei valori (nel nostro caso i valori dei
4
parametri). Dopodichè vi è fatto un ordinamento in classi in base al ​non-dominated sorting
sfruttando il concetto di ​dominazione. ​Si dice che il campione A(x​1​,Y​1​) ​domina B(x​2​,y​2​) se (x​1
<= x​2 and y​1​<=y​2​) and (x​1 < x​2 or y​1, < y​2​) (in questo caso l'obbiettivo è di minimizzare sia ​x
che ​y)​. A questo punto si forma la nuova popolazione P​t+1 scegliendo le classi migliori, e nel
caso in cui non vi sia abbastanza spazio per l’intero gruppo (nella figura il caso di F​3​)
vengono selezionati i campioni più adatti attraverso il calcolo del ​crowding distance sorting.
In aggiunta, nella fase iniziale di creazione di Q​t vi è la possibilità di una mutazione casuale
dei valori.
Essendo il processo stocastico, l’algoritmo è stato ripetuto 10 volte.
Per concludere la fase di ​training del sistema è necessario scegliere effettivamente i
parametri migliori. A questo scopo utilizziamo il valore degli obbiettivi prefissati ed
introduciamo delle metriche per verificare la qualità dei cluster, attraverso il paragone con le
predizioni fatte inizialmente da ​AVClass​.
CRITERI DI VALUTAZIONI
I risultati precedentemente calcolati vengono classificati in base al loro punteggio. L'ordine è
determinato dalla ​qualità dei cluster​, in caso di pareggio dal ​SSE e poi dalla ​dimensione
della mediana​.
Le metriche introdotte sono il ​weighted F-Score​, l’ ​omogeneità​, la ​completezza e il
V-Measure​. Il primo coefficiente è calcolato tramite la ​precision e la ​recall che rappresentano
rispettivamente la pertinenza dei risultati del clustering, e la quantità di previsioni corrette.
Per quanto riguarda i valori restanti, si dice che un raggruppamento è perfettamente
omogeneo quando ogni suo cluster contiene solo elementi della stessa classe, ed è
considerato ​completo quando tutti gli elementi di ogni classe appartengono ad uno stesso
raggruppamento. Il V-Measure infine è un indice derivato dall’ omogeneità e della
completezza. Più alti sono questi valori, maggiore è qualità dei cluster.
ANALISI DEI RISULTATI E TEST
Per ogni algoritmo sono stati presi i 3 migliori risultati e paragonati tra di loro, i valori sono
raggruppati nella seguente tabella.
5
Una caratteristica comune a tutte e tre le implementazioni è la rapida convergenza ad un
ottimo locale, seguito da un regolare assestamento dovuto agli effetti evolutivi degli
algoritmi. Questo fenomeno si può vedere nel grafico seguente, nel quale il cerchio verde
rappresenta l’inizio e il cerchio rosso la fine del processo.
Analizzando i risultati appena calcolati è possibile fare delle considerazioni sul
comportamento delle diverse procedure.
Per quanto riguarda la qualità dei cluster OPTICS è dominante, anche se è caratterizzata da
un’alta variabilità come indicato dai valori delle metriche bassi. Questa procedura infatti è
capace di trovare dei cluster ottimi ma afflitti da rumore. DBSCAN invece spicca per i
restanti due obbiettivi. E’ caratterizzato da un F-Score costante (circa 0.673), mentre la
completezza(0.866) e l’omogeneità(0.735) sono ben più alte. Questo suggerisce che,
nonostante la presenza di dati non etichettati, i cluster contengono quasi tutti i campioni
corretti.
6
infine K-Means è la procedura con il comportamento più costante ma con i valori meno
soddisfacenti avendo un SSE molto alto.
Considerando tutte queste informazioni si può affermare che DBSCAN è l’ algoritmo più
adatto tra quelli analizzati.
Si passa ora alla fase di ​test. ​E’ stato applicato altre 10 volte COUGAR a duemila campioni
provenienti da EMBER, di cui mille per il training del sistema e i restanti per testarne
l’efficienza. Le performance sono buone, confermando i risultati della tabella 1. Bisogna però
considerare che solamente il 20% dei data test sono stati etichettati, in quanto DBSCAN ne
ha reputato la maggior parte come rumori.
SCENARIO REALE
A seguito dei ragionamenti teorici e numerici relativi al sistema, procediamo con
un’applicazione in uno scenario reale.
Si è supposto un ingente flusso di campioni in una singola giornata, l’analista concentrerà
quindi gli sforzi sui malware ritenuti più pericolosi. COUGAR identifica tre agglomerati di
software sospetti: 61 previsioni di installmonster, 20 di high e 13 di wannacry. Essendo
quest’ultimo un ransomware particolarmente aggressivo avrà la priorità sugli altri.
Si osserva che nelle prossimità del malware ​wannacry ​(triangoli blu) ​non vi sono altri
campioni​, ed essendo che UMAP vettorizza sulla base dei dati comportamentali, si può
affermare con discreta sicurezza che anche i sospettati (quadrati rossi) siano del medesimo
tipo o di una variante molto simile. Il che in effetti è confermato, in quanto 12 su 13 sono
effettivamente dei ​wannacry​.
CONCLUSIONI
L’articolo analizzato mette in luce un nuovo possibile impiego per gli algoritmi genetici,
evidenziandone le potenzialità e descrivendone le carenze.
In particolare dimostra che con l’impostazione dei parametri di ingresso delle tre procedure
di clustering tramite NSGA-III, sia possibile produrre risultati soddisfacenti, con
caratteristiche differenti e di conseguenza diverse ipotizzabili applicazioni.
Il lavoro da fare però è ancora molto, in quanto l’F-Score non supera mai il valore 0.68. In
compenso i punteggi degli allenamenti e della fase di test rimangono sempre molto vicini, il
che implica che al miglioramento delle tecniche di etichettamento vi sarà anche un aumento
7
della qualità della previsione. Per esempio si potrebbero utilizzare algoritmi di ​fuzzy
clustering in modo da permettere ad un elemento di appartenere a più raggruppamenti
contemporaneamente, riducendone la rigidità e di conseguenza la quantità di campioni non
etichettati.
BIBLIOGRAFIA
1. Taejin Lee, Bomin Choi, Youngsang Shin, and Jin Kwak. 2018. Automatic malware
mutant detection and group classification based on the n-gram and clustering
coefficient. The Journal of Supercomputing 74, 8 (01 Aug. 2018), 3489–3503.
https://doi.org/10.1007/s11227-015-1594-6
2. R. Pirscoveanu, M. Stevanovic, and J. M. Pedersen. 2016. Clustering analysis of
malware behavior using Self Organizing Map. In 2016 International Conference
On Cyber Situational Awareness, Data Analytics And Assessment (CyberSA). 1–6.
https://doi.org/10.1109/CyberSA.2016.750328
3. UMAP - ​https://umap-learn.readthedocs.io/en/latest/how_umap_works.html
4. DBSCAN -
https://towardsdatascience.com/how-dbscan-works-and-why-should-i-use-it-443b4a1
91c80
5. OPTICS - ​https://medium.com/@xzz201920/optics-d80b41fd042a
6. NSGA-II - ​https://www.youtube.com/watch?v=SL-u_7hIqjA
7. AVClass - ​https://github.com/malicialab/avclass
8

More Related Content

Similar to COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines

Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Simone Cumar
 

Similar to COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines (20)

Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”
Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”
Extended Summary of “Exploring the Evolution of GANs through Quality Diversity”
 
Data mining 00-corso2017
Data mining 00-corso2017Data mining 00-corso2017
Data mining 00-corso2017
 
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
 
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
 
La tesi in slide
La tesi in slideLa tesi in slide
La tesi in slide
 
Utilizzo Di Algoritmi Genetici In Ambito Seo
Utilizzo Di Algoritmi Genetici In Ambito SeoUtilizzo Di Algoritmi Genetici In Ambito Seo
Utilizzo Di Algoritmi Genetici In Ambito Seo
 
Extended Summary of "An Artificial Coevolutionary Framework for Adversarial AI"
Extended Summary of "An Artificial Coevolutionary Framework for Adversarial AI"Extended Summary of "An Artificial Coevolutionary Framework for Adversarial AI"
Extended Summary of "An Artificial Coevolutionary Framework for Adversarial AI"
 
Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...
Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...
Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...
 
Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...
 
Syntactical errors detection 1
Syntactical errors detection 1Syntactical errors detection 1
Syntactical errors detection 1
 
Tesi andrea cingolani
Tesi andrea cingolaniTesi andrea cingolani
Tesi andrea cingolani
 
L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...
L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...
L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...
 
Coevoluzione di malware e anti malware con algoritmi genetici
Coevoluzione di malware e anti malware con algoritmi geneticiCoevoluzione di malware e anti malware con algoritmi genetici
Coevoluzione di malware e anti malware con algoritmi genetici
 
Umano vs Computer: un esempio pratico
Umano vs Computer: un esempio praticoUmano vs Computer: un esempio pratico
Umano vs Computer: un esempio pratico
 
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisLearning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
 
Relazione
RelazioneRelazione
Relazione
 
AV_tesi_v5
AV_tesi_v5AV_tesi_v5
AV_tesi_v5
 
Tecniche di fattorizzazione applicate ai recommender systems
Tecniche di fattorizzazione applicate ai recommender systemsTecniche di fattorizzazione applicate ai recommender systems
Tecniche di fattorizzazione applicate ai recommender systems
 
Presentazione Aggiornamento Agile Club Sviluppatori Puglia
Presentazione Aggiornamento Agile Club Sviluppatori PugliaPresentazione Aggiornamento Agile Club Sviluppatori Puglia
Presentazione Aggiornamento Agile Club Sviluppatori Puglia
 
Un Rilevatore di Malware Android basato sulle Catene di Markov e Regole di As...
Un Rilevatore di Malware Android basato sulle Catene di Markov e Regole di As...Un Rilevatore di Malware Android basato sulle Catene di Markov e Regole di As...
Un Rilevatore di Malware Android basato sulle Catene di Markov e Regole di As...
 

Recently uploaded

case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
giorgiadeascaniis59
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
lorenzodemidio01
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
lorenzodemidio01
 

Recently uploaded (16)

Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opere
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 

COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines

  • 1. Summary of “COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines” studente: relatore: Davide Panarella Prof. Andrea De Lorenzo
  • 2. INTRODUZIONE I cyber criminali, per mezzo di software malevoli, tentano quotidianamente di distruggere e rubare i dati di aziende ed utenti, a volte furtivamente, altre ricattandoli esplicitamente. La rilevazione e classificazione di malware è un argomento molto attuale ed in continuo sviluppo data l'enorme mole di nuovi software prodotti giornalmente e dal consistente impatto economico che provocano. Nonostante esistano molteplici modi per mascherare un programma malintenzionato, le tecniche con le quali attaccano ed estraggono i dati dai dispositivi, sono limitate. Questa caratteristica permette il raggruppamento in classi di somiglianza, accomunate per esempio dal fine dell’attacco (ransomware, spyware, ecc..) , dal comportamento, dal modo in cui infettano i dispositivi o dalla loro pericolosità. In questo scenario trovano ampio spazio di utilizzo gli algoritmi di Machine Learning che permettono un’identificazione dinamica dei software sospetti. Nell’articolo in questione è stato descritto ed analizzato il sistema COUGAR, che si occupa di ridurre a due dimensioni i dati comportamentali di malware complessi, ottimizzando il Clustering (raggruppamento in classi) attraverso algoritmi genetici multi-obiettivo. Inoltre l’elaborato fornisce dati statistici riguardanti le performance e l'esempio di una possibile applicazione in uno scenario realistico. METODOLOGIA Il problema del ​Clustering è stato affrontato più volte nella letteratura scientifica, proponendo diversi sistemi e molteplici possibili soluzioni. Nell’elaborato si sono sfruttate due considerazioni estrapolate da lavori precedenti col fine di aumentare l’efficacia e l’efficienza del metodo. Questi accorgimenti sono la classificazione dei malware in base alla pericolosità​(1) (​triage​) e la riduzione della dimensionalità del problema​(2)​ . In particolare quest’ultima consiste nello studio del comportamento del software malevolo solamente attraverso l’analisi delle chiamate alle librerie/funzioni e non, per esempio, dalla comparazione dell’intero codice. Il contributo dell’articolo consiste nell’applicazione di algoritmi genetici per l’ottimizzazione dei cluster. Queste tecniche di ​programmazione evolutiva basano il loro funzionamento sul principio di mescolamento casuale dei risultati parziali, con l'intento di trovare ad ogni generazione, una soluzione migliore. Vi sono però due problematiche nello studiare i malware, la prima consiste nella incompatibilità con tutti i sistemi, rendendo difficoltoso il paragone all’interno dello stesso dataset. L’altra è la pericolosità di importarli ed esportarli in modo libero, in quanto i dispositivi ne possono rimanere danneggiati. Come soluzione gli autori hanno adottato un database open source di terze parti, in modo da permettere inoltre la replicabilità dell’esperimento. Il dataset in questione è EMBER (Endgame Malware BEnchmark for Research), il quale contiene informazioni di circa 1.1 milioni di malware verificati, come l’intestazione, le funzioni importate ed esportate e numerosi altri metadati. Non sono presenti i file eseguibile per evitare i problemi sopra citati. 2
  • 3. Come supporto e punto di riferimento per il clustering è utilizzato lo strumento AVClass, capace anch’esso di etichettare i software malevoli. FUNZIONAMENTO Il sistema COUGAR può essere suddiviso in due parti fondamentali: ● Estrapolazione ed elaborazione delle informazioni provenienti dal dataset ● Creazione ed ottimizzazione dei cluster La prima fase comincia con la ​vettorizzazione ​dei dati proveniente da Ember, creando una tabella le cui le righe rappresentano i diversi campioni e le colonne il conto delle chiamate relative ad ogni funzione/libreria. A causa della massiccia mole di nuovi malware in circolazione ogni giorno, per aumentare le prestazioni si è deciso di ridurre questa tabella a due dimensioni, nonostante il clustering sarebbe stato ugualmente possibile. L’algoritmo utilizzato a questo scopo è UMAP (Uniform Manifold Approximation and Projection) noto per preservare sia la distanza locale che quella globale tra i dati. Inoltre supporta la trasformazione dei nuovi campioni in modelli esistenti, fondamentale per l'identificazione di nuovi software sospetti. La seconda fase inizia con il raggruppamento dei campioni in cluster di somiglianza. Durante l’esperimento sono state utilizzate tre diverse procedure, in modo da poter paragonare le performance e le relative caratteristiche: ● DBSCAN (Density-Based Spatial Clustering of Applications with Noise​) ● OPTICS (Ordering points to identify the clustering structure) ● K-MEANS DBSCAN è un algoritmo di clustering basato sulla densità dei dati. Questa procedura necessita di due parametri di ingresso, uno che rappresenta la distanza minima che devono avere due campioni per appartenere allo stesso cluster, e l’altro il numero minimo di punti necessari a formarne uno. OPTICS ha un funzionamento analogo, ma effettua delle operazioni preliminari di ordinamento per avere maggiore coesione fra i cluster creati. K-MEANS invece, attraverso un processo iterativo, assegna ad un punto detto ​centrale (inizialmente scelto a caso) i dati metricamente vicini, e ad ogni ciclo ne ricalcola la posizione tramite la media aritmetica dei valori contenuti all’interno del cluster. 3
  • 4. Ognuno di questi algoritmi ha dei parametri d'ingresso da impostare che, in base al valore, ne cambiano considerevolmente il comportamento. La scelta è basata sulle tre principali caratteristiche che cerchiamo in un raggruppamento, ovvero che i vari cluster siano coerenti, che contengano i dati corretti e che siano il più grande possibile. In termini matematici possiamo riassumerle in questo modo: 1. Massimizzare il numero di cluster di qualità analizzando tutti gli elementi con la similitudine del coseno: I valori vengono poi sommati e scalati nell’intervallo [0.0, 1.0]. In particolare il valore 1 indicherà che tutti vettori sono uguali, mentre il valore ​0 che sono tutti complementari tra loro. Un raggruppamento viene considerato buono se il SSS (scaled summed similarity) è di almeno 0.8. 2. Minimizzare​, per ogni cluster, ​la somma degli SSE​ (sum squared error): SSE = (1 -SSS)​2 3. Massimizzare la mediana delle dimensioni dei raggruppamenti​. E’ stato scelto di non utilizzare la media in modo da evitare la formazione di un piccolo numero di cluster molto grandi. L’algoritmo genetico scelto per ottimizzare questi obiettivi è NSGA-III (Non-dominated Sorting Genetic Algorithm III). Gli output saranno quindi i valori dei parametri di ingresso delle procedure di raggruppamento. Il funzionamento è descritto dal ciclo principale: Ad ogni iterazione, partendo dalla popolazione P​t​, ne viene generata una seconda Q​t di uguale dimensione tramite il mescolamento casuale dei valori (nel nostro caso i valori dei 4
  • 5. parametri). Dopodichè vi è fatto un ordinamento in classi in base al ​non-dominated sorting sfruttando il concetto di ​dominazione. ​Si dice che il campione A(x​1​,Y​1​) ​domina B(x​2​,y​2​) se (x​1 <= x​2 and y​1​<=y​2​) and (x​1 < x​2 or y​1, < y​2​) (in questo caso l'obbiettivo è di minimizzare sia ​x che ​y)​. A questo punto si forma la nuova popolazione P​t+1 scegliendo le classi migliori, e nel caso in cui non vi sia abbastanza spazio per l’intero gruppo (nella figura il caso di F​3​) vengono selezionati i campioni più adatti attraverso il calcolo del ​crowding distance sorting. In aggiunta, nella fase iniziale di creazione di Q​t vi è la possibilità di una mutazione casuale dei valori. Essendo il processo stocastico, l’algoritmo è stato ripetuto 10 volte. Per concludere la fase di ​training del sistema è necessario scegliere effettivamente i parametri migliori. A questo scopo utilizziamo il valore degli obbiettivi prefissati ed introduciamo delle metriche per verificare la qualità dei cluster, attraverso il paragone con le predizioni fatte inizialmente da ​AVClass​. CRITERI DI VALUTAZIONI I risultati precedentemente calcolati vengono classificati in base al loro punteggio. L'ordine è determinato dalla ​qualità dei cluster​, in caso di pareggio dal ​SSE e poi dalla ​dimensione della mediana​. Le metriche introdotte sono il ​weighted F-Score​, l’ ​omogeneità​, la ​completezza e il V-Measure​. Il primo coefficiente è calcolato tramite la ​precision e la ​recall che rappresentano rispettivamente la pertinenza dei risultati del clustering, e la quantità di previsioni corrette. Per quanto riguarda i valori restanti, si dice che un raggruppamento è perfettamente omogeneo quando ogni suo cluster contiene solo elementi della stessa classe, ed è considerato ​completo quando tutti gli elementi di ogni classe appartengono ad uno stesso raggruppamento. Il V-Measure infine è un indice derivato dall’ omogeneità e della completezza. Più alti sono questi valori, maggiore è qualità dei cluster. ANALISI DEI RISULTATI E TEST Per ogni algoritmo sono stati presi i 3 migliori risultati e paragonati tra di loro, i valori sono raggruppati nella seguente tabella. 5
  • 6. Una caratteristica comune a tutte e tre le implementazioni è la rapida convergenza ad un ottimo locale, seguito da un regolare assestamento dovuto agli effetti evolutivi degli algoritmi. Questo fenomeno si può vedere nel grafico seguente, nel quale il cerchio verde rappresenta l’inizio e il cerchio rosso la fine del processo. Analizzando i risultati appena calcolati è possibile fare delle considerazioni sul comportamento delle diverse procedure. Per quanto riguarda la qualità dei cluster OPTICS è dominante, anche se è caratterizzata da un’alta variabilità come indicato dai valori delle metriche bassi. Questa procedura infatti è capace di trovare dei cluster ottimi ma afflitti da rumore. DBSCAN invece spicca per i restanti due obbiettivi. E’ caratterizzato da un F-Score costante (circa 0.673), mentre la completezza(0.866) e l’omogeneità(0.735) sono ben più alte. Questo suggerisce che, nonostante la presenza di dati non etichettati, i cluster contengono quasi tutti i campioni corretti. 6
  • 7. infine K-Means è la procedura con il comportamento più costante ma con i valori meno soddisfacenti avendo un SSE molto alto. Considerando tutte queste informazioni si può affermare che DBSCAN è l’ algoritmo più adatto tra quelli analizzati. Si passa ora alla fase di ​test. ​E’ stato applicato altre 10 volte COUGAR a duemila campioni provenienti da EMBER, di cui mille per il training del sistema e i restanti per testarne l’efficienza. Le performance sono buone, confermando i risultati della tabella 1. Bisogna però considerare che solamente il 20% dei data test sono stati etichettati, in quanto DBSCAN ne ha reputato la maggior parte come rumori. SCENARIO REALE A seguito dei ragionamenti teorici e numerici relativi al sistema, procediamo con un’applicazione in uno scenario reale. Si è supposto un ingente flusso di campioni in una singola giornata, l’analista concentrerà quindi gli sforzi sui malware ritenuti più pericolosi. COUGAR identifica tre agglomerati di software sospetti: 61 previsioni di installmonster, 20 di high e 13 di wannacry. Essendo quest’ultimo un ransomware particolarmente aggressivo avrà la priorità sugli altri. Si osserva che nelle prossimità del malware ​wannacry ​(triangoli blu) ​non vi sono altri campioni​, ed essendo che UMAP vettorizza sulla base dei dati comportamentali, si può affermare con discreta sicurezza che anche i sospettati (quadrati rossi) siano del medesimo tipo o di una variante molto simile. Il che in effetti è confermato, in quanto 12 su 13 sono effettivamente dei ​wannacry​. CONCLUSIONI L’articolo analizzato mette in luce un nuovo possibile impiego per gli algoritmi genetici, evidenziandone le potenzialità e descrivendone le carenze. In particolare dimostra che con l’impostazione dei parametri di ingresso delle tre procedure di clustering tramite NSGA-III, sia possibile produrre risultati soddisfacenti, con caratteristiche differenti e di conseguenza diverse ipotizzabili applicazioni. Il lavoro da fare però è ancora molto, in quanto l’F-Score non supera mai il valore 0.68. In compenso i punteggi degli allenamenti e della fase di test rimangono sempre molto vicini, il che implica che al miglioramento delle tecniche di etichettamento vi sarà anche un aumento 7
  • 8. della qualità della previsione. Per esempio si potrebbero utilizzare algoritmi di ​fuzzy clustering in modo da permettere ad un elemento di appartenere a più raggruppamenti contemporaneamente, riducendone la rigidità e di conseguenza la quantità di campioni non etichettati. BIBLIOGRAFIA 1. Taejin Lee, Bomin Choi, Youngsang Shin, and Jin Kwak. 2018. Automatic malware mutant detection and group classification based on the n-gram and clustering coefficient. The Journal of Supercomputing 74, 8 (01 Aug. 2018), 3489–3503. https://doi.org/10.1007/s11227-015-1594-6 2. R. Pirscoveanu, M. Stevanovic, and J. M. Pedersen. 2016. Clustering analysis of malware behavior using Self Organizing Map. In 2016 International Conference On Cyber Situational Awareness, Data Analytics And Assessment (CyberSA). 1–6. https://doi.org/10.1109/CyberSA.2016.750328 3. UMAP - ​https://umap-learn.readthedocs.io/en/latest/how_umap_works.html 4. DBSCAN - https://towardsdatascience.com/how-dbscan-works-and-why-should-i-use-it-443b4a1 91c80 5. OPTICS - ​https://medium.com/@xzz201920/optics-d80b41fd042a 6. NSGA-II - ​https://www.youtube.com/watch?v=SL-u_7hIqjA 7. AVClass - ​https://github.com/malicialab/avclass 8