2 Capitolo 1. Introduzione
che non si focalizzasse quindi su uno di questi aspetti in maniera intensiva
ma che permettesse di procedere abbracciando tutte e tre le dimensioni
evidenziatesi. Gia` dalle prime analisi, infatti, si e` rilevato che nei software
gia` esistenti la pecca principale era data da una chiara mancanza di visione
globale, che ha portato a realizzare dei prodotti molto specializzati ma ben
poco versatili. Si e` ritenuto (a ragione, anticipando i risultati finali) che
una prospettiva multidisciplinare e aperta potesse dimostrarsi piu` flessibile
e quindi in grado di portare a risultati innovativi rispetto a quanto gia`
esistente.
La prima fase del lavoro si e` esplicitata nello studio della trattazione
pregressa relativa all’argomento, e nella valutazione qualitativa dei sistemi
gia` esistenti in questo ambito. Questo ha permesso di delineare con piu`
chiarezza quali fossero le principali caratteristiche desiderate in un sistema di
monitoraggio, e quali fossero i maggiori problemi che andavano a diminuire
l’efficacia delle soluzioni gia` presenti sul mercato.
Successivamente il processo si e` suddiviso in piu` attivita` parallele: da
una parte si e` resa necessaria la modellizzazione concettuale di un nuovo
framework per la supervisione, dall’altra sono state valutate attentamente
le modalita` implementative con cui realizzare questo framework in un ambito
basato sul web, nonche` quali fossero gli eventuali strumenti gia` esistenti che
si potevano integrare nel design.
Una volta fatte queste scelte, il lavoro si e` concretizzato nello sviluppo
di un prototipo evolutivo che permettesse sia di valutare la realizzabilita` di
quanto proposto, sia di costruire un solido punto di partenza per lo sviluppo
futuro di un vero e proprio framework di visualizzazione adottabile dagli
utenti finali. La valutazione finale del prototipo implementato ha infine
permesso di delineare i risultati raggiunti dal lavoro di tesi e di indicare con
chiarezza quale deve verosimilmente essere la direzione futura di sviluppo del
framework, e come puo` essere applicato con successo ai casi d’uso quotidiani.
L’intero lavoro e` stato basato, oltre che sull’esperienza personale del-
l’autore in ambito di applicazioni web e sistemi di interfaccia avanzati per il
browser, sulle ricerche gia` effettuate in questo ambito accademico, in partico-
lare sulle pubblicazioni e sugli strumenti sviluppati da John Goodall, specie
per quanto riguarda le modalita` innovative di visualizzazioni, e sul lavoro
di Gregory Conti, in particolare per quanto riguarda le principali problem-
atiche correlate a una interfaccia di visualizzazione preposta alla sicurezza
informatica di un sistema, e ai metodi che possono invalidare l’efficacia di
una tale applicazione.
Una attenzione particolare e` stata posta anche nell’individuazione delle
soluzioni tecnologiche piu` rispondenti al problema in esame, argomento che
3verra` trattato in maniera approfondita nella quarta sezione. In questo caso
si specifica che in questo lavoro non sono state inserite, per non rendere
dispersiva la trattazione, le analisi e le valutazioni che sono state effettuate
sugli strumenti che poi non sono stati scelti nell’implementazione, sia per
quanto riguarda il framework MVC a fondamento del prototipo realizzato
(Turbogears 2 ), sia per quanto riguarda le librerie javascript che realizzano
l’interfaccia avanzata (MooTools e Clientcide).
La tesi e` strutturata nel modo seguente:
Nella sezione due si mostra lo stato attuale riguardo le problematiche di
visualizzazione in ambito Intrusion Detection e in ambito algoritmico. Si
mostra inoltre un’analisi degli strumenti esistenti, sottolineando gli aspetti
in cui si ritiene vi siano inadeguatezze rispetto ai compiti preposti.
Nella sez. tre si illustra il lavoro di analisi dei requisiti e impostazione
logica della nuova applicazione proposta (SnortPaper), effettuati sulla base
di quanto concluso nella sezione precedente.
Nella sez. quattro si descrivono i sistemi gia` esistenti che sono stati scelti
per implementare quanto modellato nella seconda sezione, e si spiegano le
motivazioni delle scelte effettuate. Nella seconda parte si descrive come e`
stata implementata nei fatti la struttura proposta.
Nella sez. cinque si spiegano le procedure di valutazione, mostrandone in
primis gli obiettivi e poi descrivendone l’esecuzione e le conclusioni parziali
edotte dal processo
Nella sez. sei si conclude il lavoro, mostrandone le direzioni di sviluppo
future.
Nell’appendice A si riporta la documentazione asservita al progetto logi-
co, che e` stata utilizzata in fase di modellizzazione.
Capitolo 2
Stato dell’arte
2.1 La visualizzazione delle informazioni
Quello relativo alla visualizzazione delle informazioni e` un campo di studio
molto vasto, che e` possibile affrontare da numerose prospettive. Tale prob-
lematica riveste, specialmente al giorno d’oggi, un ruolo primario qualora vi
sia la necessita` di gestire situazioni non banali nelle quali l’interazione con
un utente sia di tipo continuativo e ripetuta nel tempo. La presenza del-
la componente umana inserisce nel problema aspetti che normalmente non
vengono sufficientemente considerati durante il processo di sviluppo di un
software: ad esempio non si e` soliti valutare la componente psicologica, che
puo` determinare o meno il successo di una certa strategia di presentazione
rispetto ad un’altra.
La visualizzazione di informazioni in ambito di sicurezza informatica e`
forse una branca di questo campo in cui tali aspetti, usualmente “secon-
dari”, si ripresentano con piu` decisione all’attenzione dello sviluppatore.
Basti pensare alla pratica del social engineering, secondo la quale la com-
promissione dei sistemi protetti viene ottenuta grazie allo sfruttamento delle
“debolezze umane“ e non tramite veri e propri atti informatici. La supervi-
sione, per definizione, e` gestita da un operatore (sia pur aiutato da strumen-
ti semi-automatici): e` evidente quindi che tali aspetti non potranno essere
trascurati.
La crescente informatizzazione che ha pervaso tutti i settori della societa`,
inoltre, ha reso la sicurezza informatica parte integrante di tutte le configu-
razioni hardware e software con cui si ha a che fare ogni giorno. Gli esperti
in sicurezza informatica lavorano sostanzialmente su due fronti: identificano
vulnerabilita` e propongono politiche e contromisure per aumentare il livello
5
6 Capitolo 2. Stato dell’arte
di sicurezza dei sistemi.
Entrambi questi processi possono trarre beneficio dall’uso di tecniche di
visualizzazione: un protocollo complesso, le politiche di controllo degli ac-
cessi, le anomalie presenti in una rete possono, tramite la visualizzazione,
fornire agli esperti un insieme coerente di dati su cui effettuare facilmente
inferenza, al fine di scoprire i punti di debolezza delle varie configurazioni e
di porvi immediatamente rimedio. A questo fine, spesso bisogna interagire
con moli di dati non trascurabili, presentate in maniera inefficiente e poco
fruibile. La gestione manuale dei log e degli altri dati inerenti la sicurezza
informatica puo` essere un’attivita` scomoda ed inefficace, il che rende molto
importante l’utilizzo delle tecniche di visualizzazione e soprattutto la cor-
retta gestione della complessita` delle informazioni inerenti questo campo di
applicazione. [2]
Figura 2.1: Una visualizzazione geolocalizzata su Google Earth delle richieste giunte a
un nodo
Per introdurre i principali aspetti da approfondire qualora si affrontino
tematiche relative ad un sistema di sicurezza informatico e` possibile ricorrere
ad un’analogia con un sistema semplice e conosciuto da tutti, quale puo`
essere l’antifurto di un automobile. L’obiettivo che un tale sistema persegue
e` chiaro: esso evita che il ladro si introduca nell’auto, e compia quindi azioni
illecite. Quando si installa un antifurto in un automobile, si e` interessati ad
aspetti ben precisi di questo apparato:
• Deve funzionare “sempre” (cioe` in modo ragionevole secondo gli scopi)
2.1. La visualizzazione delle informazioni 7
• Deve essere robusto e non facilmente escludibile
• Deve notificare al proprietario eventuali tentativi di intrusione e/o
manomissione
Essendo il primo aspetto ovvio, si parta valutando l’ultimo, che e` di par-
ticolare interesse e non cos`ı immediato come potrebbe apparire. Tornando
all’esempio concreto, quando un ladro cerca di entrare in un automobile
con antifurto, noi vogliamo che questo scatti e che avverta chi di dovere (in
questo caso le forze dell’ordine) con la massima rapidita` possibile (ad esem-
pio tramite un forte allarme acustico, o con una segnalazione alla centrale
di polizia). Se tralasciassimo questo aspetto, il sistema sarebbe totalmente
inutile, perche` l’intrusione, pur rilevata, non verrebbe posta all’attenzione
di chi ne deve essere informato all’occorrenza, affinche` possa gestirla.
Questo e` esattamente cio` che avviene anche in un sistema informatico
anti intrusione (IDS). Tale sistema esegue un monitoraggio di determinate
azioni secondo criteri prestabiliti: ad esempio, nel caso di un sistema come
SNORT, si ha il monitoraggio passivo del traffico transitante su una rete, e
l’identificazione di pacchetti (o di sessioni) potenzialmente pericolose. Nel-
l’ottica di questo studio, non e` di interesse sapere come questa identificazione
avvenga, bens`ı l’accento viene posto sulle modalita` con cui questa potenziale
violazione di sicurezza viene notificata ad un operatore umano, che ha il com-
pito di intervenire per porvi rimedio qualora essa si riveli realmente dannosa
per il sistema.
Se l’operatore (il ‘poliziotto’ della nostra analogia) non si accorge in
tempo utile della potenziale violazione, sicuramente non potra` intervenire
in alcun modo per ovviare ad essa. D’altro canto, nel caso di falsi posi-
tivi, non sara` in grado di determinarne immediatamente la natura “spuria”,
sottranendo quindi attenzione e risorse agli eventi realmente interessanti.
Relativamente a quest’ottica, non e` da tralasciare il secondo aspetto nella
lista precedentemente stilata, cioe` la robustezza del sistema anti intrusione.
Parlando di antifurti per automobili, quello che si vuole e` che il sistema
non sia disinseribile con pochi e semplici passi (ad esempio tagliando un
filo non protetto). Nel caso di sistemi informatici preposti alla sicurezza,
la robustezza e` definibile in modo piu` complesso: il concetto si riferisce
infatti sia alla resilienza generale del sistema che materialmente controlla
le condizioni di sicurezza, sia alla capacita` del sistema di monitoraggio di
evidenziare il fallimento delle condizioni di sicurezza controllate dal primo
componente. Se il sistema di monitoraggio fallisce, la sicurezza non e` piu`
garantita: il sensore rileva la presenza del ladro nell’automobile, ma l’allarme
acustico e` stato disinserito e non suona piu`. Allo stesso modo una violazione
8 Capitolo 2. Stato dell’arte
informatica puo` venir registrata, ma il sistema di monitoraggio la presenta
all’operatore in modo inefficace, o non la presenta affatto: anche in questo
caso, la sicurezza del sistema e` stata compromessa.
Gli aspetti di complessita` legati alla visualizzazione efficiente e coer-
ente delle informazioni sono noti e studiati anche in ambiti differenti da
quello qui considerato. Ad esempio, come e` lecito aspettarsi, essi sono di
estrema importanza in ambito militare [3]. In uno scenario di tale tipo, i
vertici strategico/decisionali a capo delle operazioni devono essere in grado
di scegliere rapidamente ed efficientemente le soluzioni migliori in base ai
dati disponibili, in modo tale da impartire senza indugio ordini corretti alle
unita` in azione. In questo campo e` di fondamentale importanza il filtraggio
delle informazioni: l’introduzione di metodi sempre piu` sofisticati ed etero-
genei di intelligence (basti pensare al recente impiego della Smart Dust1,
o all’utilizzo degli UAV2) ha ingrandito enormemente la quantita` di dati a
disposizione di chi presiede ai processi decisionali. Per cui e` di vitale im-
portanza che questa mole di informazioni venga gestita coerentemente, con
aggregazioni implicite, viste in dettaglio ed esclusione automatica di cio` che
non e` affidabile. Ed e` altres`ı imperativo, proprio per via della complessita`
coinvolta nel processo, che si utilizzino tutti gli accorgimenti tecnici neces-
sari per avere interfaccie ergonomiche ed efficienti. Da questi punti di vista
si notano grandi somiglianze con il contesto trattato in questo studio.
Tornando ad ambiti meno “bellicosi”, si puo` considerare anche il modo
in cui vengono gestiti i dati nelle moderne applicazioni di Social Networking :
esistono ad oggi migliaia di siti internet che immagazzinano enormi quantita`
di informazioni (inserite piu` o meno volontariamente dai propri utenti) e
devono poi utilizzarle in modo coerente per fornire dei servizi basandosi su
correlazioni tra di essi: ad esempio un sito di incontri online cerchera` di
“suggerire l’anima gemella” a ogni iscritto, una rete sociale di appassionati
di lettura e cinema fara` in modo che i propri utenti possano trovare libri
e film a seconda dei propri gusti e via dicendo. In questo caso l’aspetto
interessante per i nostri scopi e` rappresentato dalla modalita` con cui la
correlazione viene effettuata, spesso proprio a partire dalla profilazione dei
comportamenti utente oppure tramite l’ausilio di strumenti ausiliari come
etichette e categorie. E questo, in un certo senso, e` quello che si vuole fare
anche in una applicazione di supervisione ID (Intrusion Detection), andando
a categorizzare gli alert di sicurezza creando storici e banche dati cui fare
riferimento.
1Rete wireless autoconfigurante di sensori miniaturizzati
2Unmanned Aerial Vehicle, veicoli da ricognizione senza pilota