Introduzione
Arpanet, la rete sperimentale, che diede vita all'attuale Internet, fu creata da un piccolo gruppo di ricercatori ed esperti di computer, nel 1969, appartenenti all'agenzia DARPA. L'intento di questa rete fu subito quello di migliorare la comunicazione tra loro stessi, consentendo la condivisione di alcune risorse costose, come processori, memoria di massa, e linee di comunicazione tra computer. I protocolli e i servizi, che essi svilupparono, furono rivolti, primariamente, a raggiungere la migliore disponibilità possibile, nonostante l'uso di componenti relativamente inaffidabili, come, ad esempio, linee di comunicazione, router o computer.
In questo scenario, essi non prevedettero un possibile cattivo utilizzo della rete, dato che, a quel tempo, la rete stessa era accessibile solo ad un piccolo gruppo di pionieri, i quali erano spinti da un unico intento, quale quello di far lavorare la rete.
1
Nessuno di loro ebbe l'idea di sperimentare attacchi pericolosi, perchè questo sicuramente avrebbe comportato la loro immediata espulsione dal gruppo.
Risulta, dunque, naturale come i protocolli e i servizi sviluppati, fossero principalmente rivolti ad evitare errori di trasmissione e guasti accidentali, problemi che affliggevano tanto i componenti hardware, quanto quelli software, senza preoccuarsi di attacchi o intrusioni dolosi.
Al giorno d'oggi, Internet è totalmente diventata una rete open source, e gli utenti, che ne fanno uso, sono molto differenti da quelli che componevano la comunità di Arpanet.
Ci sono svariati tipi di interazione, tra differenti categorie di utenti, i quali utilizzano Internet per ragioni commerciali, amministrative, sociali, culturali, o semplicemente per svago.
Le macchine risultano sempre più vulnerabili nei confronti di attacchi dolosi compiuti da persone o agenti, i quali potrebbero tentare di impossessarsi del controllo di queste macchine, oltre a propagare i loro attacchi.
Così, è possibile, per questi attaccanti, non solo aumentare il loro potere, perpetrando attacchi ai siti ben protetti, ma anche nascondere le loro tracce e far sì che sia difficile trovare indizi che li possano identificare.
Il continuo espandersi delle reti informatiche, e l'aumentare dei 2
servizi da rendere disponibili al pubblico, hanno reso necessario lo studio approfondito dei concetti relativi alla sicurezza in questo ambito.
Per l’individuazione di intrusioni in un sistema informatico vengono utilizzati dispositivi sia software che hardware detti Intrusion Detection System (IDS).
Obiettivo di questa tesi, e di seguito presentato, sarà l'implementazione di un sistema Anomaly-based, capace di rilevare, in un insieme di dati, tutti quegli eventi che si discostano da ciò che rappresenta il normale comportamento, anche grazie all'utilizzo del metodo degli sketch, cui segue l'applicazione dell'algoritmo lzw.
I capitoli di questa tesi sono organizzati come di seguito illustrato.
Nel primo capitolo sarà presentata l'evoluzione della computer security, dalle tecniche convenzionali di sicurezza, come quelle di autenticazione, fino ai più moderni concetti di fault tolerance e intrusion tolerance, le quali provvedono ad un corretto servizio del sistema, nonostante la presenza di fenomeni accidentali.
Il secondo capitolo sarà interamente dedicato alla descrizione dei sistemi di IDS, andando a presentare una dettagliata classificazione di tali sistemi, come ad esempio le tecniche di detection e i modelli architetturali che li distinguono, finendo con la descrizione dell'attuale stato dell’arte.
Nel terzo e quarto capitolo verrà dettagliatamente spiegato il metodo 3
degli sketch e l'algoritmo di compressione lzw, rispettivamente, parlando anche dell'implementazione di tali metodi attraverso il linguaggio di programmazione C in ambiente linux.
Per finire, il quinto capitolo sarà dedicato alla analisi dettagliata dei risultati ottenuti, mediante le prove effettuate durante il lavoro di tesi.
4