SOMMARIO
Questa tesi presenta una architettura per la realizzazione di un sistema di Intrusion Detection (rilevamento di intrusione) basato sulla rilevazione di anomalie nel traffico di rete.
Vengono analizzati innanzitutto i problemi della sicurezza dell’informazione e degli attacchi contro i sistemi informatici. A partire da questa analisi, viene introdotto il tema della realizzazione degli Intrusion Detection System (IDS), sistemi rivelatori di intrusione nelle reti informatiche. Viene studiato lo stato dell’arte di questi sistemi, e vengono mostrate le problematiche che essi devono affrontare. A partire da queste osservazioni viene introdotto il concetto di IDS basati sulla rilevazione delle anomalie, e vengono analizzati sinteticamente gli approcci alla loro realizzazione. Sulla base di tali osservazioni viene proposta poi una architettura per la realizzazione di un IDS operante sul flusso di traffico di una rete TCP/IP e basato su algoritmi di tipo statistico. A tal fine abbiamo ripreso lo sviluppo di un plug-in per Snort, il noto IDS con licenza Open Source, che effettua un’analisi dei pacchetti su base statistica, ne calcola un
“anomaly score” e genera degli alert per quei pacchetti il cui “score” supera la soglia prefissata. Questo plug-in, il cui sviluppo era stato interrotto a causa della fusione dell’azienda creatrice con un’altra ditta, consisteva in realtà di due stadi, un sensore e un correlatore di eventi, anch’essi Open Source. Lo sviluppo del correlatore non è stato mai completato, per cui il presente lavoro è consistito proprio nel completare tale architettura.
Così come il primo stadio, anche per il secondo si è deciso di utilizzare software Open Source, per poter avere il massimo controllo sulle variabili del problema.
Per validare i risultati ottenuti e ottenere allo stesso tempo un confronto in termini di prestazioni, a questo sistema ne è stato affiancato un secondo su cui è stato installato lo stesso IDS, Snort, facendolo però lavorare in modalità “pattern matching”, così da poter confrontare gli allarmi ricevuti e ricavarne il maggior numero possibile di informazioni. Ovviamente l’architettura di test è stata configurata in modo tale che i due sistemi
“vedano” lo stesso traffico.
2