Questo elaborato di tesi si inserisce nel contesto della sicurezza informatica e dei sistemi operativi, in particolare nell'ambito dello sviluppo di misure per la protezione da attacchi informatici per il sistema operativo Linux. L'obiettivo della tesi è quello di progettare e implementare contromisure che prevengano attacchi volti ad alterare il flusso di esecuzione di un processo. Le contromisure implementate sono due e vanno a proteggere due differenti aree della memoria virtuale di un processo. La prima contromisura è costituita da una libreria dinamica in grado di prevenire attacchi che interessano lo ``stack'': ``buffer overflow'', ``frame pointer overwrite'', ``format string'' e ``return oriented programming''. Questa libreria è stata progettata in modo da essere indipendente dall'architettura hardware del sistema, oltre a minimizzare l'impatto sulle prestazioni. La seconda contromisura consiste in una modifica al Linux kernel propedeutica a una modifica del compilatore C/C++ che permetta di prevenire attacchi di tipo ``heap overflow''. La campagna sperimentale ha fatto uso della Phoronix Test Suite su un sistema operativo Ubuntu GNU/Linux 11.04 (architettura AMD64), ed è stata condotta per confrontare i risultati dei benchmarks con quelli ottenuti sullo stesso sistema protetto con le contromisure sviluppate. I risultati sperimentali hanno evidenziato un impatto sulle prestazioni inferiore al 10% , dimostrando un'ampia efficacia e applicabilità delle soluzioni sviluppate.

Analisi, progettazione e sviluppo di contromisure per vulnerabilità basate su alterazioni del flusso di controllo. LibDefender : una libreria dinamica per garantire l'integrità del flusso di esecuzione

POZZI, FABIO
2010/2011

Abstract

Questo elaborato di tesi si inserisce nel contesto della sicurezza informatica e dei sistemi operativi, in particolare nell'ambito dello sviluppo di misure per la protezione da attacchi informatici per il sistema operativo Linux. L'obiettivo della tesi è quello di progettare e implementare contromisure che prevengano attacchi volti ad alterare il flusso di esecuzione di un processo. Le contromisure implementate sono due e vanno a proteggere due differenti aree della memoria virtuale di un processo. La prima contromisura è costituita da una libreria dinamica in grado di prevenire attacchi che interessano lo ``stack'': ``buffer overflow'', ``frame pointer overwrite'', ``format string'' e ``return oriented programming''. Questa libreria è stata progettata in modo da essere indipendente dall'architettura hardware del sistema, oltre a minimizzare l'impatto sulle prestazioni. La seconda contromisura consiste in una modifica al Linux kernel propedeutica a una modifica del compilatore C/C++ che permetta di prevenire attacchi di tipo ``heap overflow''. La campagna sperimentale ha fatto uso della Phoronix Test Suite su un sistema operativo Ubuntu GNU/Linux 11.04 (architettura AMD64), ed è stata condotta per confrontare i risultati dei benchmarks con quelli ottenuti sullo stesso sistema protetto con le contromisure sviluppate. I risultati sperimentali hanno evidenziato un impatto sulle prestazioni inferiore al 10% , dimostrando un'ampia efficacia e applicabilità delle soluzioni sviluppate.
BARENGHI, ALESSANDRO
ING V - Scuola di Ingegneria dell'Informazione
20-dic-2011
2010/2011
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2011_12_Pozzi.PDF

accessibile in internet per tutti

Descrizione: Testo della tesi
Dimensione 1.88 MB
Formato Adobe PDF
1.88 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/38181