03.06.2013 Views

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 ...

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!