Introduzione 2
modifica in modo piu` o meno sostanziale il profilo del traffico di rete, rite-
nuto nella norma sulla base delle caratteristiche tipiche del traffico relativo
alla particolare rete monitorata. I principali tipi di eventi anomali in una
rete riguardano [2] problemi di funzionamento e di performance della rete
e problemi di sicurezza della rete, in particolare la disponibilita`: lo scopo
della modifica del traffico (in genere un aumento) e` quello di rendere la rete
instabile e di bloccare l’erogazione dei fondamentali servizi per cui la rete e`
stata creata.
Lo sviluppo, sia in termini di complessita` che di importanza, delle reti
informatiche ha determinato la proliferazione di una serie molto variegata di
eventi anomali che si possono presentare ed osservare nel traffico di rete. E’
risultato pertanto necessario lo sviluppo in parallelo dei concetti di Anomaly
Detection e di Anomaly Detection System (ADS), termine coniato da James
P. Anderson in un suo rapporto tecnico del 15 Aprile 1980 [3].
L’idea di base degli ADS e` di rilevare un’anomalia mediante i suoi segnali
tipici, nel traffico dati associato ad un sistema informatico, allo scopo di
segnalarne la presenza all’amministratore della rete tramite un allarme; la
segnalazione dell’anomalia dev’essere tale da consentire un intervento con le
azioni piu` opportune per risolvere in modo veloce ed efficiente il problema
rilevato. Numerose, in letteratura, sono le metodologie di ADS implementate
e che hanno fornito risultati soddisfacenti [4], alcune delle quali verranno
presentate nel Capitolo 1.
Risultati particolarmente incoraggianti hanno mostrato le metodologie
basate sull’utilizzo delle trasformata Wavelet. Le peculiari caratteristiche
di localizzazione tempo-frequenza di tale trasformata e l’ottima capacita` di
individuazione delle singolarita` [5], la rendono un valido aiuto nel campo
dell’Anomaly Detection.
Nel Capitolo 2, oltre a un po’ di teoria sulle wavelet, verranno analizzate
in dettaglio le caratteristiche prima citate, ottenendo qualche risultato che
verra` poi utilizzato nel Capitolo 3 per descrivere il funzionamento di un
sistema innovativo di anomaly detection multistadio, che consente di ottenere
Introduzione 3
numerosi vantaggi rispetto ai tradizionali sistemi di rilevamento.
Infine, nel Capitolo 4 verranno mostrati i risultati sperimentali ottenuti
tramite numerose prove effettuate su tracce di traffico e anomalie generate
tramite i piu` diffusi tools di attacco disponibili oggigiorno in rete.
Capitolo 1
Anomalie e Anomaly Detection
1.1 Classificazione degli eventi anomali
Le possibili cause responsabili di eventi anomali sono molteplici, come di-
mostrano diversi lavori presenti in letteratura [6, 7, 8, 9]. E´ possibile per-
cio` suddividere le anomalie in categorie, sulla base dell’evento che le ha
determinate.
Le due principali categorie di anomalie di reti sono:
• anomalie associate ai problemi di funzionamento e di performance della
rete;
• anomalie associate ai problemi di sicurezza della rete.
Nella prima categoria ricadono tutti gli eventi anomali causati da pro-
blemi legati all’infrastruttura e al funzionamento interno della rete moni-
torata. Esempi di tali anomalie sono file server failures, paging across the
network, broadcast storms, babbling node, transient congestions [6] e network
misconfigurations [7, 8].
Nella seconda categoria ricadono invece gli eventi anomali che si possono
osservare nel traffico di rete, provocati da azioni non legittime prodotte da
entita` malevole; tali eventi hanno lo scopo di violare, in qualche misura, le
difese di una rete informatica in modo da poter disporre dei dati e delle risor-
se presenti all’interno della rete violata. In letteratura si utilizza il termine
Classificazione degli eventi anomali 5
incidente informatico o, piu` comunemente, attacco informatico per definire
una qualsiasi azione attraverso la quale si tenta di forzare i sistemi di sicu-
rezza di una rete informatica per accedere in modo non autorizzato ai dati
e alla risorse presenti in essa. Attacchi Denial-of-Service (DoS) e Network
Intrusions sono esempi di tali anomalie.
Al di la` della loro natura, gli eventi anomali sono nella maggiorparte dei
casi caratterizzati da rapida variazione nel traffico di rete, e possono essere
[41]:
• Attacchi a Intensita` Costante: i pacchetti d’attacco vengono tra-
smessi con la massima intensita` consentita dalle risorse, in modo che
l’improvvisa inondazione di pacchetti distrugga velocemente i servizi
del sistema attaccato. Questo tipo di evoluzione consente, con una
certa facilita`, di rilevare l’attacco in atto utilizzando un opportuno
meccanismo di monitoraggio del traffico di rete: all’interno di esso, si
evidenziera` infatti un brusco aumento dell’andamento del traffico ri-
spetto agli istanti immediatamente precedenti l’inizio dell’attacco stes-
so. In modo analogo e` possibile rilevare la fine dell’attacco in quanto
terminera` praticamente in maniera istantanea la trasmissione dei pac-
chetti verso il sistema aggredito e quindi, nel traffico di rete, si potra`
osservare una forte diminuzione del livello del traffico rispetto al livello
medio presente durante l’attacco.
• Attacchi a Intensita` Variabile: i pacchetti vengono trasmessi verso
il sistema aggredito variando il tasso di trasmissione in fase d’attacco;
in tal modo l’attacco e` meno evidente e rilevabile meno facilmente. Ad
esempio si puo` prevedere di realizzare un attacco in cui l’intensita` dei
pacchetti trasmessi aumenti gradualmente; in questo modo si andranno
a saturare lentamente le risorse del sistema colpito e pertanto la qualita`
dei servizi da esso offerti subira` una lenta degradazione su un periodo
temporale lungo. Conseguentemente, anche la rilevazione dell’attacco
sara` piu` o meno ritardata, a seconda delle qualita` del sistema di mo-
Classificazione degli eventi anomali 6
nitoraggio utilizzato. Attacchi con le caratteristiche appena descritte
vengono tipicamente definiti Gradual Rate Attacks.
• Attacchi Natural-Network-Congestion-Like: si tratta di attacchi
che cercano di simulare la naturale congestione della rete per evitare
la rilevazione: un attaccante esperto puo` cercare di sferrare un attacco
il cui profilo di traffico imiti quello di un utente normale, ovvero che
mostri picchi di traffico seguiti da periodi di silenzio. In particolare, se i
pacchetti d’attacco utilizzano gli stessi indirizzi sorgente in ogni periodo
di picco, allora l’attacco non puo` essere rilevato semplicemente cercando
di determinare improvvisi cambiamenti nel numero di connessioni.
• Attacchi di tipo Pulsing: sono attacchi che mostrano un tasso flut-
tuante che oscilla tra zero e un certo valore H, e periodicamente ridu-
cono il traffico di attacco per evitare il rilevamento. La dinamica di
un pusing attack e` un andamento di tipo on/off di periodo Tp e dura-
ta del picco lp: periodicamente si annulla l’attacco per poi riprenderlo
in un istante di tempo successivo. In questo caso, dal punto di vista
del traffico di rete, l’andamento del traffico dovuto all’attacco e` di tipo
alternato con periodi di intensita` nulla e periodi di intensita` massima
e di conseguenza gli utenti legittimi del sistema aggredito si vedranno
negare periodicamente tutti o parte dei servizi offerti dal sistema.
• Attacchi di tipo Subgroup: si parla di subgroup attack se le sor-
genti compromesse che prendono parte all’attacco vengono suddivise in
diversi sottogruppi coordinati in modo che almeno un sottogruppo sia
sempre attivo, e tale che gli attacchi dei successivi sottogruppi possano
indurre un continuo blocco dei servizi sulla vittima.
Classificazione degli eventi anomali 7
Figura 1.1: Dinamiche di attacco per: (a) intensita` costante, (b) intensita` variabile, (c)
subgroup, (d) pulsing
L’Anomaly Detection 8
1.2 L’Anomaly Detection
Anomaly Detection significa individuare un’anomalia tramite il confronto con
il traffico monitorato nella rete con un profilo normale, modellato secondo
varie tecniche. Il sistema individua in modo statistico qualsiasi deviazione
significativa dal comportamento normale, segnalandola all’amministratore
come sospetta. Tali deviazioni dal profilo non sono necessariamente delle
anomalie, ma possono essere semplicemente dei nuovi comportamenti della
rete che devono essere aggiunti al profilo. I sistemi di questo tipo vengono
anche detti behaviour based, e non richiedono un’immissione di conoscenza
a priori, ne´ richiedono continui aggiornamenti delle firme d’attacco, essendo
teoricamente in grado di rilevare i cattivi comportamenti sulla base di una
descrizione di normalita`. Tuttavia, per costruire un modello di comporta-
mento normale serve innanzitutto uno studio architetturale preciso su quale
tipo di modello usare, e in secondo luogo una fase piu` o meno prolungata
di addestramento in cui il modello viene tarato sullo specifico utente o sullo
specifica rete. Tale fase di addestramento riveste un ruolo importante nello
sviluppo di questa tipologia di sistemi, in quanto una corretta valutazione
del profilo di traffico normale consente di minimizzare gli errori tipici in cui
essi possono incorrere, ovvero:
• Falsi Positivi o Falsi Allarmi: con il termine falso positivo o fal-
so allarme si intende la circostanza in cui il sistema di monitoraggio
segnala la presenza di un’anomalia in un intervallo temporale dove in
realta` l’anomalia risulta assente.
• Falsi Negativi: con il termine falso negativo si intende la circostanza
in cui il sistema di monitoraggio non segnala la presenza di un’anomalia
in un intervallo temporale dove effettivamente tale anomalia e` presente.
Sulla base di queste definizioni e` facile capire che gli errori piu` critici in
cui puo` incorrere un ADS sono rappresentati dai falsi negativi; infatti e` piu`
pericoloso non rilevare un’anomalia, e quindi non attivare le contromisure piu`
L’Anomaly Detection 9
adatte per limitare l’effetto deleterio dell’anomalia stessa, piuttosto che essere
avvisati piu` frequentemente anche in circostanze in cui non risulta necessario.
Tuttavia anche i falsi allarmi non risultano essere meno innocui di quello che
puo` sembrare a prima vista: un ADS, non addestrato in maniera corretta, che
segnala in continuazione come anomali eventi perfettamente normali, dopo
un po’ verra` ignorato vanificando in questo modo il suo impiego.
Le osservazioni fatte evidenziano come la fase di addestramento deve es-
sere effettuata in maniera estremamente accorta; infatti solo con una fase di
addestramento corretta, unitamente alla scelta di un opportuno metodo di
analisi, si ha la possibilita` di minimizzare i falsi negativi ed i falsi allarmi
consentendo, in questo modo, di realizzare un ADS efficiente. Per migliora-
re ulteriormente le prestazioni e l’efficienza dell’ADS bisogna prevedere un
addestramento periodico in modo tale da adattare il sistema di analisi alle
eventuali variazioni del traffico tipico relativo alla rete monitorata.
Formalmente, un sistema di Anomaly Detection, indicato con λ, puo` es-
sere definito come una coppia λ = (M,D), dove M e` il modello di compor-
tamento normale del sistema e D e` una misura di similarita` che permette
di ottenere, date delle attivita` di rete registrate, il grado di deviazione (o
somiglianza) che tali attivita` producono rispetto al modello M [4].
Figura 1.2: Architettura di un Anomaly Detection System
Obiettivi di un ottimo sistema di Anomaly Detection sono:
• essere in grado di determinare che la rete e` sotto attacco;
• adattare la rilevazione e le tecniche di risposta a un ampio spettro di
Stato dell’arte 10
ambienti eterogenei, possibilmente senza un un numero significativo di
parametri da settare manualmente;
• consentire una rilevazione piu` accurata possibile: i falsi positivi posso-
no infatti condurre a risposte inappropriate che potrebbero causare la
negazione dei servizi ai legittimi utenti;
• implementare meccanismi intelligenti di filtraggio dei pacchetti per
ridurre l’impatto dell’attacco, preservando i pacchetti legittimi;
• essere efficace contro una grande varieta` di tools di attacco disponibili
oggigiorno, e robusto contro futuri tentativi degli attaccanti di evadere
la rilevazione.
1.3 Stato dell’arte
Gli ADS rappresentativi dello stato dell’arte analizzati in questo lavoro di
tesi, ricadono, facendo riferimento alla tassonomia degli ADS proposta nel
lavoro [4], nella famiglia degli ADS che si basano sull’analisi del flusso di
traffico di rete. Tali tipi di ADS individuano le anomalie in base all’evoluzione
temporale del traffico, che viene ad essere rappresentato come una successione
di campioni di assegnata intensita`. A seconda del tipo di anomalia che si
vuole individuare, tali campioni possono indicare:
• il numero di bit o byte inviati o ricevuti in un prefissato intervallo di
tempo;
• il numero di pacchetti IP/TCP/UDP/ICMP inviati o ricevuti in un
prefissato intervallo di tempo;
• il numero di connessioni TCP/UDP attivate in un prefissato intervallo
di tempo;
• il numero di richieste ricevute da un server HTTP/DNS/FTP/etc.. in
un prefissato intervallo di tempo.
ADS basati sull’applicazione di regole 11
E´ possibile classificare gli ADS, sulla base della metodologia implementata
[42], in:
• ADS basati sull’applicazione di regole
• ADS basati su macchine a stati finiti
• ADS basati su Pattern Matching
• ADS basati su Analisi statistiche
• ADS basati sull’Analisi Spettrale
• ADS basati sull’utilizzo della Trasformata Wavelet
1.4 ADS basati sull’applicazione di regole
In questo tipo di approccio si utilizza un database contenente le regole di com-
portamento di un sistema per determinare se avviene o meno un’anomalia
(sistemi rule-based). I sistemi basati su regole sono pero` troppo lenti per ap-
plicazione in real-time e dipendono da precedenti conoscenze delle condizioni
di anomalie della rete [39].
L’identificazione di anomalie in questo approccio dipende dai sintomi spe-
cifici della particolare manifestazione di un’anomalia. Esempi di tali sintomi
sono l’eccessivo utilizzo di banda, il numero troppo elevato di connessioni
TCP aperte, il throughput totale in eccesso. Questi sistemi tengono conto
dell’esperienza dei gestori della rete e non si adattano al meglio all’evolversi
della rete. In [25] gli autori, per superare questo limite, descrivono un mo-
dello basato su una mappa conoscitiva (FCM). La FCM puo` essere usata per
ottenere un modello intelligente della propagazione e iterazione delle ano-
malie di rete. Le FCM sono costruite con i nodi che denotano i dispositivi
controllati e archi che denotano il modello della propagazione dell’anomalia.
Il metodo case-based e` un’estensione del sistema rule-based [26]. La dif-
ferenza con FCM, e` che, in aggiunta alle regole, si tiene conto, per prendere
decisioni, di precedenti scenari in cui si sono verificate anomalie . Gli scenari
ADS basati su macchine a stati finiti 12
qui si riferiscono a circostanze o eventi che hanno condotto ad anomalie. Al
fine di adattare lo schema di ragionamento del case-based ai cambiamenti
della rete, si ricorre a tecniche adattative dipendenti da criteri rilevanti, qua-
li carico di rete e tasso di collisione. Tramite il ragionamento case-based,
per descrivere gli scenari anomali si ha una forte dipendenza dalle informa-
zioni passate; inoltre l’identificazione di criteri validi per differenti anomalie
richiede lo sviluppo di un vasto insieme di regole. Per di piu` l’uso di qualsia-
si schema di approssimazione causa un incremento del tempo e complessita`
computazionale: il numero di funzioni che devono essere addestrate aumenta
infatti con il numero di anomalie studiate.
1.5 ADS basati su macchine a stati finiti
La rilevazione di anomalie usando modelli di macchine a stati finiti produce
una serie di allarmi prima o durante un’anomalia. Si costruisce un modello
probabilistico di macchina a stati finiti per caratterizzare le anomalie di rete
sfruttando dati passati. Gli stati della macchina sono costruiti con l’intenzio-
ne non solo di rilevare un’anomalia, ma anche identificare e diagnosticare il
possibile problema. La sequenza di allarmi ottenuta in differenti punti della
rete e` modellata come gli stati di una macchina a stati finiti. Si assume che
gli allarmi diano informazioni come il nome del dispositivo, il sintomo e il
tempo dell’occorrenza. Le transizioni tra gli stati sono misurate usando gli
eventi precedenti [27, 28, 29].
Una data serie di allarmi puo` avere un certo numero di spiegazioni: l’ob-
biettivo e` trovare la migliore. La difficolta` incontrata nell’usare un metodo
di macchina a stati finiti e` che nessuna anomalia puo` essere catturata da
una sequenza finita di allarmi di ragionevole lunghezza. Cio` puo` causare
l’esplosione del numero di stati richiesti come funzione del numero e della
complessita` delle anomalie modellate. Inoltre il numero dei parametri au-
menta, in quanto non rimanere costante con l’evoluzione della rete. Una
stima di questa variabilita` richiederebbe un lungo tempo di addestramento
prima che lo schema possa essere impiegato sulla rete.
ADS basati su Pattern Matching 13
1.6 ADS basati su Pattern Matching
Il metodo proposto da Maxion et al. [24, 38] descrive le anomalie come
deviazione dal comportamento normale. Questo approccio considera quindi
la variabilita` nell’ambiente della rete. Si utilizza un addestramento on-line
per costruire i profili di traffico di una data rete; i profili sono costruiti usando
vettori caratteristici di sintomi specifici come utilizzazione dei link, perdita
di pacchetti e numero di collisioni. Questi profili sono scelti in base alle
ore del giorno, ai giorni della settimana, ai giorni particolari quali week end
e giorni festivi. Quando i dati acquisiti non cadono all’interno di un dato
profilo allora si dichiara che c’e` stata un’anomalia.
In [24], il comportamento normale dei dati e` ottenuto mediante limiti
di tolleranza impostati su differenti livelli di deviazione standard. Tali limiti
sono stati ottenuti testando una serie di dati di analisi. Gli autori propongono
anche uno schema basato sul pattern matching per rilevare l’anomalia: per
una data anomalia, se avviene un match, viene dichiarata l’individuazione
dell’anomalia.
L’efficacia di questo approccio dipende ovviamente dall’accuratezza dei
profili di traffico generati. Data una nuova rete e` possibile che sia necessario
spendere del tempo considerevole per costruire dei profili di traffico. Di fronte
all’evoluzione della topologia della rete ed alle condizioni di traffico, questi
metodi spesso non sono scalabili in maniera opportuna.
1.7 ADS basati su analisi statistiche
Esistono software di uso comune che forniscono una soluzione al problema
della raccolta, memorizzazione e visualizzazione di dati del tipo real-time.
Tuttavia il monitoraggio simultaneo di tutti i servizi di interesse e` un com-
pito difficile perfino per esperti tecnici di rete. Per ovviare a tale problema
una soluzione e` di integrare un modello statistico per rilevare comportamenti
anomali presenti nei dati monitorati dal software. Una volta che un compor-
ADS basati su analisi statistiche 14
tamento anomalo e` stato identificato, puo` attivarsi un allarme che richiami
l’attenzione dei tecnici ai possibili problemi.
1.7.1 Tecniche predittive: Exponential smoothing e
Holt-Winters Forecasting
Si parla di tecnica di rilevazione di tipo predittivo [23, 37] se la rilevazione
del comportamento anomalo e` costituita da:
• un algoritmo per predire il valore futuro;
• una misura della deviazione tra il valore predetto e il valore osservato;
• un meccanismo che decide se e quando un valore osservato o una
sequenza di valori osservati si discosta troppo dal valore predetto.
Tecniche di questo tipo hanno il vantaggio di essere tecniche di tipo statistico
dalla proprieta` ben assestate, e che considerano proprieta` tempo-varianti nei
dati. Purtroppo necessitano di un elevato numero di parametri da settare
affinche´ gli algoritmi funzionino bene e spesso non funzionano al meglio in
real-time.
Le principali tecniche di questo tipo sono:
• Exponential smoothing
• Holt-Winters Forecasting
Exponential Smooting
Se si indica con y1, . . . , yt−1, yt, yt+1 la sequenza di valori osservati in un fis-
sato intervallo temporale, la predizione del prossimo valore ŷt+1 , dato il
valore attuale yt e l’attuale predizione ŷt, e` data dalla seguente formula, che
implementa l’algoritmo exponential smoothing:
ŷt+1 = αyt + (1− α)ŷt (1.1)
Variando il valore di α si puo` decidere il peso da assegnare al valore attuale
e a quelli passati.