Advertisement

More Related Content

Similar to Un Rilevatore di Malware Android basato sulle Catene di Markov e Regole di Associazione.pdf(20)

Advertisement

Un Rilevatore di Malware Android basato sulle Catene di Markov e Regole di Associazione.pdf

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 29/38 Risultati sperimentali – 3 Figura: Matrice di confusione multiclasse per k = 1. Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
  30. 30/38 Risultati sperimentali – 3 Figura: Matrice di confusione multiclasse per k = 2. Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
  31. 31/38 Risultati sperimentali – 3 Figura: Matrice di confusione multiclasse per k = 3. Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
  32. 32/38 Risultati sperimentali – 3 Figura: Matrice di confusione multiclasse per k = 4. Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
  33. 33/38 Risultati sperimentali – 3 Figura: Matrice di confusione multiclasse per k = 5. Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
  34. 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. 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. 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
  37. 38/38 Grazie per l’attenzione DInfUNISA DIPARTIMENTO DI ECCELLENZA Pasquale Matrone Un Rilevatore di Malware Android 24 Febbraio 2023
Advertisement