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.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.
https://hdl.handle.net/10589/38181