Un Rilevatore di Malware Android basato sulle Catene di Markov e Regole di Associazione.pdf
1/38
Un Rilevatore di Malware Android
basato sulle Catene di Markov e Regole di Associazione
Pasquale Matrone, Prof. Gianni D’Angelo
Corso di Laurea Magistrale in Informatica
Università degli Studi di Salerno
24 Febbraio 2023
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
2/38
Indice
1 Introduzione
2 Metodologia
3 Implementazione
4 Risultati sperimentali
5 Conclusioni e sviluppi futuri
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
3/38
Introduzione – 1
La continua comparsa di nuovi e sofisticati malware che colpiscono
specificamente i dispositivi dell’IoT basati su Android (smart TV,
assistenti personali, indossabili smart, ecc.) sta causando notevoli
rischi per la sicurezza informatica.
Necessità di modelli e strategie efficaci per il rilevamento di malware.
Figura: Numero di malware rilasciati negli ultimi dieci anni.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
4/38
Introduzione – 2
La maggior parte dei nuovi malware deriva da nuove versioni di
malware già esistenti.
La possibilità di sviluppare strategie in grado di classificare
efficacemente un malware in base alla sua famiglia, indipendentemente
dal fatto che sia una variante, è molto promettente.
La maggior parte dei malware esistenti è progettata per essere
auto-modificante, al fine di eludere i meccanismi di rilevamento di
pattern-matching.
Gli approcci basati sull’analisi statica diventano inefficaci e possono
essere fortemente influenzati dagli strumenti di offuscamento.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
5/38
Rassegna della letteratura scientifica – 1
Per classificare efficacemente i malware, sono state proposte diverse
tecniche basate sull’analisi dinamica, che considerano il
comportamento delle applicazioni malware attraverso l’osservazione
delle frequenze e/o sequenze delle chiamate API.
Queste strategie si basano sull’idea che:
1 Le applicazioni malware possono contenere un insieme di API ben
distinte, invocate in un ordine diverso rispetto a quelle relative alle
applicazioni goodware.
2 Alcune particolari chiamate API possono essere utilizzate molto più
spesso nei frammenti di codice dannoso.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
6/38
Rassegna della letteratura scientifica – 2
Per superare il problema di preservare la privacy e la proprietà
intellettuale, una delle opzioni più popolari è l’apprendimento
federato (FL).
Figura: Processo generale di apprendimento federato nella configurazione centralizzata.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
7/38
Lavoro svolto
I principali contributi del lavoro di tesi sono riassunti come segue:
1 È stato studiato ed implementato il rilevatore di malware basato sulle
catene di Markov e regole di associazione presentato in D’Angelo et
al. [D’Angelo et al., 2021].
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
8/38
Lavoro svolto
I principali contributi del lavoro di tesi sono riassunti come segue:
1 È stato studiato ed implementato il rilevatore di malware basato sulle
catene di Markov e regole di associazione presentato in D’Angelo et
al. [D’Angelo et al., 2021].
2 Lo si è esteso all’interno di un’architettura dedicata, in grado di
eseguire un processo di addestramento basato su una logica federata,
in modo da preservare la privacy.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
9/38
Lavoro svolto
I principali contributi del lavoro di tesi sono riassunti come segue:
1 È stato studiato ed implementato il rilevatore di malware basato sulle
catene di Markov e regole di associazione presentato in D’Angelo et
al. [D’Angelo et al., 2021].
2 Lo si è esteso all’interno di un’architettura dedicata, in grado di
eseguire un processo di addestramento basato su una logica federata,
in modo da preservare la privacy.
3 Il rivelatore è stato utilizzato per riconoscere e classificare malware
Android appartenenti a 8 famiglie distinte, considerando sia dati
centralizzati che decentralizzati.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
10/38
Catene di Markov
Le catene di Markov sono una delle più efficaci strategie basate
sull’analisi dinamica, in grado di modellare le chiamate API
invocate dalle applicazioni malware come un grafo e di costruire i
modelli comportamentali rappresentativi di particolari famiglie di
malware.
Figura: Grafo (catena di Markov) del flusso di chiamate API di un’app malware.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
11/38
Catene di Markov
Le catene di Markov sono una delle più efficaci strategie basate
sull’analisi dinamica, in grado di modellare le chiamate API
invocate dalle applicazioni malware come un grafo e di costruire i
modelli comportamentali rappresentativi di particolari famiglie di
malware.
L’approccio basato sulle catene di Markov e regole di associazione
è intrinsecamente robusto contro le tecniche di evasione/offu-
scamento basate sulla perturbazione del flusso di chiamate API o
effettuate inserendo chiamate API irrilevanti nel codice malevole.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
12/38
Rilevatore malware – Regole di associazione – 1
Il flusso di esecuzione di una specifica applicazione tm può essere
rappresentato come una sequenza di chiamate API:
{APIi → APIj } , APIi ≺ APIj (1)
Tale flusso può essere descritto utilizzando un grafo (catena di
Markov):
1 Nodi: rappresentano due chiamate API non necessariamente contigue.
2 Archi: identificano la loro sequenza d’invocazione.
Figura: Esempio di catena di Markov.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
13/38
Rilevatore malware – Regole di associazione – 2
Il processo di addestramento consiste, per ogni applicazione tm, in
diversi passi progressivi n, con k ∈ [1, ..., n] che rappresenta la
spaziatura (spacing) in termini di posizioni da saltare all’interno della
sequenza di chiamate API:
1 Per ogni passo intermedio k (con k < n), tutte le transizioni tra due
chiamate API di un’applicazione tm distanziate k − 1 sono organizzate
in una catena di Markov rappresentata da un grafo Gtm
k , in cui
l’x-esimo nodo, Nx , è definito come:
Nx = [(APIi → APIj ), σx ] (2)
2 Nell’ultimo passo k = n, tutti i grafi vengono uniti in uno solo, Gtm
,
che rappresenta l’intero profilo di esecuzione dell’applicazione tm.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
14/38
Rilevatore malware – Regole di associazione – 3
Ad esempio, se t1 = ADDDBCDD e t2 = ADDBCCCC sono le
sequenze di chiamate API di due applicazioni malware, ipotizzando
solo tre fasi (n = 3):
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
15/38
Rilevatore malware – Regole di associazione – 3
Ad esempio, se t1 = ADDDBCDD e t2 = ADDBCCCC sono le
sequenze di chiamate API di due applicazioni malware, ipotizzando
solo tre fasi (n = 3):
Figura: Grafi estratti Gt1
k e Gt2
k al passo k = 1. Al passo k = 1, le transizioni considerate
sono contigue e non sono presenti elementi tra due chiamate API utilizzate per
l’estrazione di una regola.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
16/38
Rilevatore malware – Regole di associazione – 3
Ad esempio, se t1 = ADDDBCDD e t2 = ADDBCCCC sono le
sequenze di chiamate API di due applicazioni malware, ipotizzando
solo tre fasi (n = 3):
Figura: Grafi estratti Gt1
k e Gt2
k al passo k = 2. Al passo k = 2, ogni regola viene
estratta saltando una chiamata API.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
17/38
Rilevatore malware – Regole di associazione – 3
Ad esempio, se t1 = ADDDBCDD e t2 = ADDBCCCC sono le
sequenze di chiamate API di due applicazioni malware, ipotizzando
solo tre fasi (n = 3):
Figura: Grafi uniti Gt1
e Gt2
relativi a t1 e t2 quando k = 3. Rappresentano il
comportamento al tempo di esecuzione (run-time) dell’applicazione considerata.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
18/38
Rilevatore malware – Regole di associazione – 3
Infine, tutti i grafi Gtm associati alle N(c) applicazioni appartenenti
alla classe c ∈ C del dataset di addestramento T vengono
ulteriormente uniti in un grafo finale Gc:
Figura: Grafo finale Gc derivato dalla fusione di t1 e t2.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
19/38
Rilevatore malware – Supporto e Confidenza
Il supporto di una regola Rpq rispetto a una classe c è definito come:
Φc
(Rpq) =
|Rpq|
PN(c)
i=1
σti (Rpq)
li
N(c)
(3)
Il supporto non è sufficiente per stimare la qualità delle regole nel
rappresentare le applicazioni in contesti multiclasse; definiamo,
quindi, la confidenza di una regola Rpq su una classe c come:
Γc
(Rpq) =
Φc(Rpq)
P
v∈C Φv (Rpq)
(4)
Le regole che hanno una confidenza inferiore a una determinata soglia
sono eliminate (potatura).
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
20/38
Rilevatore malware – Classificazione
Eseguita la fase di addestramento, è necessario implementare la
classificazione di nuove applicazioni:
Γc
Rpq
(tm) =
0 se Rpq ̸⊆ tm
σtm (Rpq) ∗ Γc(Rpq) se Rpq ⊆ tm ∧ γ(tm) = c
1
Γc (Rpq) se Rpq ⊆ tm ∧ γ(tm) ̸= c
(5)
Il grado di appartenenza alla classe c di un’applicazione tm viene
stimato valutando il rango ρ, dato da:
ρc
(tm) =
X
c∈C
X
∀p,q
Γc
Rpq
(tm) (6)
La funzione softmax viene utilizzata per classificare una nuova
applicazione tm evidenziando il valore più grande.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
21/38
Rilevatore malware – Contesto federato – 1
Estendiamo sia il supporto che la confidenza considerando l’intero
dataset T suddiviso tra diversi client M federati (supporto federato
e confidenza federata):
T =
M
[
j=1
Tj (7)
Φc
f (Rpq) =
|Rpq|
PM
j=1
PN(c,Tj )
i=1
σti (Rpq)
li
N(c)
(8)
Γc
f (Rpq) =
Φc
f (Rpq)
P
v∈C Φv
f (Rpq)
(9)
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
22/38
Rilevatore malware – Contesto federato – 2
L’architettura federata proposta è strutturata in tre processi:
1 Estrazione lato client: raccogliere le regole di associazione da ogni
entità federata.
Figura: Processo di estrazione lato client.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
23/38
Rilevatore malware – Contesto federato – 2
L’architettura federata proposta è strutturata in tre processi:
1 Estrazione lato client: raccogliere le regole di associazione da ogni
entità federata.
2 Aggregazione lato server: gestire le regole ricevute come grafi di una
categoria di malware e condividere il rilevatore di malware con ogni
entità federata.
Figura: Processo di aggregazione lato server.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
24/38
Rilevatore malware – Contesto federato – 2
L’architettura federata proposta è strutturata in tre processi:
1 Estrazione lato client: raccogliere le regole di associazione da ogni
entità federata.
2 Aggregazione lato server: gestire le regole ricevute come grafi di una
categoria di malware e condividere il rilevatore di malware con ogni
entità federata.
3 Aggiornamento del rilevatore: riadattare e condividere
periodicamente il rilevatore di malware.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
25/38
Implementazione
Per implementare il modello di rilevatore malware Android presentato,
si è utilizzato Python.
Lo si è esteso all’interno di un’architettura dedicata in grado di
eseguire un processo di addestramento basato su una logica federata
attraverso un paradigma client-server multi-thread.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
26/38
Risultati sperimentali – 1
Il dataset di malware Android considerato negli esperimenti è
composto da circa 3715 applicazioni raggruppate in 8 famiglie.
Il dataset è stato suddiviso in insieme di training e testing secondo la
tecnica k-fold cross-validation.
Famiglia Training Testing Totale
Airpush 310 69 379
DroidKungFu 842 160 1002
Fusob 133 33 166
Genpua 255 59 314
GinMaster 433 99 532
Jisut 469 68 537
Opfake 534 81 615
SmsPay 142 32 174
Totale 3118 601 3719
Tabella: Divisione del dataset in training e test.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
27/38
Risultati sperimentali – 2
Metriche di valutazione utilizzate derivate dalla matrice di
confusione multiclasse:
Accuracy =
TP + TN
TP + TN + FP + FN
(10)
Sensitivity =
TP
TP + FN
(11)
Specificity =
TN
TN + FP
(12)
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
28/38
Risultati sperimentali – 2
Metriche di valutazione utilizzate derivate dalla matrice di
confusione multiclasse:
Precision =
TP
TP + FP
(13)
F-Score =
2 ∗ Sens ∗ Prec
Sens + Prec
(14)
AUC =
Sens + Spec
2
(15)
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
29/38
Risultati sperimentali – 3
Figura: Matrice di confusione multiclasse per k = 1.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
30/38
Risultati sperimentali – 3
Figura: Matrice di confusione multiclasse per k = 2.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
31/38
Risultati sperimentali – 3
Figura: Matrice di confusione multiclasse per k = 3.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
32/38
Risultati sperimentali – 3
Figura: Matrice di confusione multiclasse per k = 4.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
33/38
Risultati sperimentali – 3
Figura: Matrice di confusione multiclasse per k = 5.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
34/38
Risultati sperimentali – 4
I risultati ottenuti dimostrano la capacità del rilevatore di classificare
le diverse famiglie di malware con un’accuracy media del 94%.
Valore k Acc. Sens. Spec. Prec. F-Mea. AUC
k = 1 0.9359 0.7438 0.9634 0.7438 0.7438 0.8536
k = 2 0.9366 0.7464 0.9638 0.7464 0.7464 0.8551
k = 3 0.9426 0.7704 0.9672 0.7704 0.7704 0.8688
k = 4 0.9468 0.7870 0.9696 0.7870 0.7870 0.8783
k = 5 0.9409 0.7637 0.9662 0.7637 0.7637 0.8650
Avg. 0.9406 0.7623 0.9660 0.7623 0.7623 0.8641
Tabella: Risultati delle prestazioni relativi ai dati centralizzati e decentralizzati.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
35/38
Risultati sperimentali – 4
I risultati ottenuti dimostrano la capacità del rilevatore di classificare
le diverse famiglie di malware con un’accuracy media del 94%.
Valore k Acc. Sens. Spec. Prec. F-Mea. AUC
k = 1 0.9359 0.7438 0.9634 0.7438 0.7438 0.8536
k = 2 0.9366 0.7464 0.9638 0.7464 0.7464 0.8551
k = 3 0.9426 0.7704 0.9672 0.7704 0.7704 0.8688
k = 4 0.9468 0.7870 0.9696 0.7870 0.7870 0.8783
k = 5 0.9409 0.7637 0.9662 0.7637 0.7637 0.8650
Avg. 0.9406 0.7623 0.9660 0.7623 0.7623 0.8641
Tabella: Risultati delle prestazioni relativi ai dati centralizzati e decentralizzati.
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
36/38
Conclusioni e sviluppi futuri
Il sistema è risultato efficace nella classificazione di malware e supera i
problemi di riservatezza e privacy.
Due possibili lavori futuri:
1 Estendere il rivelatore per considerare altre/future famiglie di malware.
2 Ottimizzare l’estrazione dei grafi delle applicazioni malware (training).
Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023