Un modello integrato control-flow e data-flow per il rilevamento ...
Un modello integrato control-flow e data-flow per il rilevamento ...
Un modello integrato control-flow e data-flow per il rilevamento ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
1.2. Obiettivo del lavoro 5<br />
informazione diventa quindi possib<strong>il</strong>e approntare un semplice sistema che osserva le<br />
chiamate di sistema e se non sono <strong>per</strong>tinenti prende provvedimenti quali impedirle<br />
o addirittura uccidere <strong>il</strong> processo dal quale sono state fatte.<br />
Già a metà degli anni ’90 ci si è resi conto che l’osservazione delle chiamate di<br />
sistema effettuate da un programma durante la sua esecuzione è un buon modo <strong>per</strong><br />
capire se <strong>il</strong> suo comportamento è normale o meno. In [9] ad esempio viene proposto<br />
un semplice metodo che, osservando le ultime tre chiamate di sistema effettuate da un<br />
processo, è in grado di stab<strong>il</strong>ire con buona approssimazione se <strong>il</strong> suo comportamento<br />
è anomalo. Negli anni successivi sono stati proposti svariati nuovi metodi basati<br />
sulle più disparate tecniche, sia statiche che dinamiche. Di queste ultime molte di<br />
esse sono di tipo probab<strong>il</strong>istico, molte di esse si basano su analisi più formali. Le<br />
più recenti tecniche dinamiche presenti in letteratura sono in grado di ricostruire<br />
una parte significativa del <strong>control</strong> <strong>flow</strong> di un programma. Successivamente queste<br />
tecniche sono state applicate con successo a sistemi virtualizzati, <strong>per</strong>mettendo di<br />
monitorare le attività dei processi in modo completamente invisib<strong>il</strong>e dall’interno<br />
della macchina virtuale [15].<br />
Presto ci si è resi conto che osservare soltanto qual’era la system call effettuata<br />
era limitativo e si è iniziato a prendere in considerazione anche i parametri. Anche in<br />
questo caso sono state proposte idee molto diverse, prevalentemente di tipo statistico.<br />
Recentemente <strong>per</strong>ò è stato proposto un <strong>modello</strong> in grado di apprendere <strong>il</strong> <strong>data</strong> <strong>flow</strong><br />
tra le chiamate di sistema.<br />
1.2 Obiettivo del lavoro<br />
Il lavoro presentato in questa tesi è centrato proprio sull’anomaly detection basata<br />
sull’osservazione delle system call. Tra i vari modelli che si possono costruire a<br />
questo scopo ne esistono alcuni basati su automi o su grafi, che si differenziano <strong>per</strong><br />
la loro precisione nel rappresentare <strong>il</strong> <strong>control</strong> <strong>flow</strong> del programma. Dal lato <strong>data</strong><br />
<strong>flow</strong> i modelli sono invece tutt’altro che numerosi. In questa tesi verranno prese in<br />
considerazione entrambe le tipologie di modelli, verranno studiate le loro possib<strong>il</strong>ità<br />
sia considerando i modelli presi singolarmente sia se integrati tra di loro (<strong>control</strong><br />
<strong>flow</strong> + <strong>data</strong> <strong>flow</strong>) e verranno evidenziate delle debolezze. Verrà quindi proposto un<br />
nuovo <strong>modello</strong> <strong>integrato</strong> che cerca di su<strong>per</strong>arle.