• Non ci sono risultati.

Considerazioni finali sui risultati di analisi

Il database del nostro caso di studio si compone di 100.000 sequenze di attacco, terminate con successo, per ogni minaccia modellata per un totale di 600.000. La distribuzione della lunghezza delle sequenze (numero di attacchi elementari) è riportata in Figura 7.2. Le sequenze di Minaccia1 e Minaccia2 sono lunghe 12 o 13

CAPITOLO 7. ANALISI DEL DATASET DI SIMULAZIONI attacchi. La lunghezza delle sequenze delle altre minacce è invece ben approssimata da una distribuzione Gaussiana con media 32.3

La figura 7.3 mostra la distribuzione cumulativa del rank degli attacchi. Indichia- mo con rk(atk) il rank di un attacco atk, dove 1 rappresenta il rank dell’attacco più frequente, 2 il secondo attacco più frequente e così via. La distribuzione cumulativa CDF(rk(atk)) è la probabilità che un’occorrenza di un attacco appartenga ad uno dei primi rk(at) attacchi più frequenti. Tale distribuzione è ben approssimata da una distribuzione esponenziale 1 − e−λ·rk (atk) con λ = 0, 0213.

Un approccio che tenta di applicare le contromisure agli attacchi più frequenti vedrebbe l’applicazione di 33 patch per coprire la metà delle occorrenze degli attacchi nel database di sequenze, e 108 patch per coprire il 90% delle occorrenze. Questo approccio è considerato naive, perchè le sequenze includono molteplici attacchi, quindi dopo aver applicato una patch alla vulnerabilità che abilita un attacco, tutte le sequenze che contengono tale attacco non hanno bisogno di ulteriori patch.

Per quanto riguarda un approccio basato sulla copertura bisogna dire che coprire le sequenze utilizzando gli attacchi elementari non produce risultati di rilievo in quanto l’ultimo atttacco di qualsiasi sequenza è ristretto ad un insieme di pochi attacchi (6) sul nodo finale obiettivo (nodo 34). Tale attacco finale da solo coprirebbe la totalità delle sequenze ma dato che è l’attacco finale non ci consente di applicare nessuna contromisura dinamica (l’attacco è stato effettuato e l’obiettivo è stato raggiunto) ed inoltre non ci fornisce di nessuna informazione riguardo la strategia dell’attaccante.

L’approccio seguito nel presente lavoro è più specifico in quanto propone la ricerca della copertura delle sequenze di attacco utilizzando i pattern sequenziali piuttosto che i singoli attacchi elementari. Nello scenario di analisi S1 per ogni minaccia vengono estratti i pattern sequenziali massimali dalle 100.000 sequenze di attacco della minaccia stessa impostando un valore di supporto minimo minSup = 5%. Sull’insieme dei pattern sequenziali massimali estratto calcoliamo l’insieme di copertura, di cardinalità massima K = 30 che massimizza il numero di sequenze coperte. La figura 7.4 mostra la frazione delle 100.000 sequenze delle relative minacce che sono coperte dall’insieme di copertura, al variare di K per le minacce M0, M3-M5. In tutti i casi i primi 20 pattern sequenziali coprono più dell’ 85% delle sequenze di attacco. La lunghezza media di questi pattern sequenziali è 3, 75 per M0, 4, 67 per M3, 3, 6 per M4, e 3, 7 per M5 (tutti i pattern includono il nodo finale 34). Questo significa che l’insieme di copertura fornisce informazioni preziose riguardo le strategie adottate dalle minacce.

Come abbiamo visto nello scenario S1 , il 75, 36% delle sequenze di attacco della mincaccia M0 è coperto dai primi 10 pattern sequenziali. Uno specifico attacco elementare compare in 4 di questi pattern, ed un altro in 3. Altri due attacchi

Figura 7.2: Distribuzione della lunghezza della sequenze.

CAPITOLO 7. ANALISI DEL DATASET DI SIMULAZIONI

Figura 7.4: Copertura delle sequenze nello scenario S1.

elementari compaiono in due distinti pattern. Applicare le patch per questi quattro soli attacchi produce l’interessante e utile risultato di bloccare il 75, 36% del totale delle sequenze. Utilizzare i pattern sequenziali riduce enormemente il numero di patch da applicare senza comprometterne l’efficacia.

Cosideriamo adesso lo scenario di analisi S2. La figura 7.5 mostra la frazione delle 100.000 sequenze che sono coperte da dall’insieme di copertura, al variare di K per le minacce M1 ed M2 con un supporto minimo minSup = 15%. Il numero di sequenze coperte cresce molto rapidamente con K. Tuttavia, questi pattern sequenziali non possono essere utilizzati per la definizione di contromisure, dato che descrivono gli attacchi elementari attraverso la tupla (idTipo,idNodo) che in alcuni casi può essere anche incompleta. Questi pattern sono invece utili per la valutazione del grado di libertà di una minaccia rispetto al sistema attaccato. In particolar modo, i pattern sequenziali evidenziano i cammini (massimali) che una minaccia può seguire per raggiungere l’obiettivo. Ad un maggior numero di pattern sequenziali necessari per coprire una determinata frazione delle sequenze di attacco corrispondono una maggiore complessità della strategia o del cammino che la minaccia può intraprendere e una maggiore difficoltà per fermare la minaccia. Come estremo si consideri una topologia di un network costituita da un solo cammino che produce un solo pattern sequenziale massimale.

Capitolo 8

CONCLUSIONI

Questo capitolo conclusivo contiene le considerazioni finali riguardo i risultati ottenuti dall’analisi dei pattern sequenziali. Le conclusioni di seguito illustrate sono frutto di un incontro con il team di esperti di sicurezza informatica con i quali abbiamo analizzato i report visti nel capitolo precedente.

8.1

Considerazioni finali

Con il presente lavoro abbiamo proposto un nuovo approccio guidato dai dati, basato sul mining di pattern sequenziali, da utilizzare in ambito di valutazione e prevenzione del rischio dei sistemi ICT che offre potenziali benefici già in fase di design. Partendo da un database di sequenze di attacco generato attraverso il metodo Monte Carlo, abbiamo dimostrato come i pattern sequenziali massimali siano la categoria di pattern più idonea in questo contesto. Nel caso di studio preso in esame, la copertura di un insieme di pattern sequenziali può fornire un’astrazione utile a definire un catalogo di contromisure in grado di bloccare le sequenze di attacco ed a capire sia il grado di libertà di un attaccante, quando questo attacca uno specifico sistema, sia l’omogeneità del sistema attaccato, intesa come la similarità dei nodi che lo compongono.

In particolare, il team di esperti di sicurezza ha considerato i pattern sequenziali in relazioni a tre principali problemi:

1. definizione di un catalogo di contromisure per bloccare le sequenze; 2. predizione del prossimo attacco all’interno di una sequenza;

3. identificazione di una minaccia in base ai pattern sequenziali.

Definizione di un catalogo di contromisure per bloccare le

sequenze

L’informazione che un pattern sequenziale ci fornisce è l’astrazione di una possibile strategia che un attaccante può implementare quando questo attacca un sistema. Nelle simulazioni, l’agente modella l’attaccante tramite un insieme di preferenze che ne determinano, ad esempio, le scelte in termini di attacchi da eseguire. Una volta definito l’insieme delle preferenze, il numero di pattern sequenziali che sono necessari per raggiungere una certa copertura restituisce l’idea del grado di libertà di un attaccante mentre questo attacca il sistema. Se, per ipotesi, per uno specifico attaccante fosse estratto un solo pattern sequenziale, l’informazione che se ne ricaverebbe è di un attaccante vincolato a poter seguire un solo cammino per raggiungere il proprio obiettivo. Analogamente, n pattern sequenziali implicano n modi diversi di attaccare il sistema. Quindi, ad un maggiore numero di pattern sequenziali corrisponde un maggiore grado di libertà per l’attaccante.

Inolte, la diversità tra i pattern sequenziali aiuta a comprendere maggiormente il grado di libertà di una minaccia. Sarebbe interessante, da questo punto di vista, quantificare la distanza tra i pattern sequenziali attaverso la definizione di una metrica. Il grado di libertà di un attaccante è legato all’omogeneità del sistema. Infatti, in un sistema omogeneo l’attaccante ha un grado di libertà maggiore rispetto ad un sistema eterogeneo. Ad esempio, in un sistema dove vi sono 10 nodi simili tra di loro, in termini di vulnerabilità riscontrate ed attacchi abilitati, la minaccia ha 10 modi diversi di attaccare il sistema e proseguire il suo cammino verso l’obiettivo prefissato. Al contrario, se i nodi fossero tutti diversi tra di loro l’attaccante avrebbe una libertà ridotta.

Quindi, il numero di pattern sequenziali e la lora diversità ci forniscono una descrizione integrata, sul comportamento congiunto dell’attaccante e del sistema attaccato, relativa al grado di libertà dell’attaccante ed all’omogeneità del sistema. Ad un maggior numero di pattern sequenziali necessari per raggiungere una certa copertura corrisponde una maggiore difficoltà per bloccare l’attaccante. Inolte, la difficoltà aumenta se i pattern sequenziali in sono molto diversi tra di loro, infatti, per poter bloccare un’attaccante è necessario bloccare ogni suo pattern sequenziale. Infine, per poter bloccare ogni pattern è necessario identificare un sottoinsieme di attacchi, fra quelli descritti nei pattern, per i quali è possibile applicare delle contromisure. Il lato positivo di poter lavorare sui pattern estratti anziché sulle sequenze del database, ci permette di astrarre da un comportamento dettagliato. Infatti, un numero ridotto di pattern sequenziali lunghi è la situazione ideale per la definizione delle contromisure. I pattern massimali sono quelli più idonei allo scopo, perché hanno proprio queste caratteristiche. Inoltre, i pattern sequenziali massimali si prestano meglio al problema della massima copertura.

CAPITOLO 8. CONCLUSIONI black swan. Essi sono sequenze che, non essendo descritte dai pattern dell’insieme di copertura, possono avere un impatto elevato. Come abbiamo visto nel dettaglio di analisi della copertura delle minacce, è possibile che un attacco per il quale è stata predisposta la contromisura, al fine di bloccare le sequenze coperte dai pattern sequenziali in esame, sia incluso anche in altre sequenze non coperte. Questo risolve in parte il problema. Un approccio risolutivo globale consiste nell’estendere la fase di post-processing dell’analisi con una trattazione separata per le sequenze di black swan.

Predizione del prossimo attacco all’interno di una sequenza

Questo problema affronta la possibilità di poter predire quale sarà il prossimo attacco che l’attaccante eseguirà ad un dato passo della propria sequenza. In questo caso i pattern sequenziali aiutano fino ad un certo punto, a causa dei gap che ci possono essere tra gli attacchi descritti nel pattern. La previsione che un pattern ci fornisce non è dettagliata, in quanto questo non ci consente di sapere quanti e quali altri attacchi sono stati effettuati tra due attacchi successivi che sono descritti nel pattern sequenziale preso in considerazione. Un pattern sequenziale ci informa che ad un certo punto della sequenza l’attaccante effettuerà un determinato attacco. Sarebbe utile sapere quanto tempo è passato prima di tale attacco e quanti altri attacchi sono stati eseguiti prima di quello. Una predizione con questo livello di dettaglio sarebbe utile anche per la validazione del modello degli attaccanti in Haruspex.

I pattern sequenziali hanno, per definizione, determinate caratteristiche che non catturano questo livello di dettaglio. Quindi, per un’analisi più particolareggiata sarebbe appropriato definire un modello di analisi specializzato per questo tipo di problema. Dato che tutti gli attacchi nelle sequenze sono descritti da un marcatore temporale è comunque possibile risalire al tempo intercorso, tra tutti gli attacchi descritti in uno specifico pattern sequenziale, recuperando le informazioni sul tempo ed ampliando la fase di post-processing dei pattern sequenziali. Oltre alla scelta del modello di pattern sequenziali da applicare, la definizione di restrizioni o vincoli sui pattern, ad esempio maxgap o timewindows, può giocare un ruolo importante per l’accuratezza delle informazioni estrapolate dai risultati di analisi.

Identificazione di una minaccia in base ai pattern d’attacco

Il problema affronta l’identifcazione dell’attaccante minaccia che ha prodotto un insieme specifico di pattern sequenziali. Per risolvere tale problema, si cerca di estrapolare dai pattern una signature, cioe un sottoinsieme di pattern, che ci consenta di identificare univocamente un attaccante. Questo problema è stato affrontato parzialmente attraverso i confronti tra coppie di attaccanti. Il nostro

approccio ci ha consentito di differenziare tra i comportamenti di una coppia di attaccanti. Per una differenziazione globale di un attaccante avverso tutti gli altri occorre un approccio che operi i confronti dei pattern di un attaccante verso le sequenze di attacco di tutti gli altri. Questo approccio inciderebbe notevolmente sui tempi di elaborazione dei dati e per questo non è stato possibile includerlo in questo studio.