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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Elenco delle figure<br />

1.1 Codice semanticamente equivalente. . . . . . . . . . . . . . . . . . . 1<br />

1.2 Buffer over<strong>flow</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

2.1 Architettura generale di un sistema black-box. . . . . . . . . . . . . 9<br />

2.2 FSA d’esempio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

2.3 Esempio riguardante la parte induttiva della definizione dell’EG. . . 15<br />

2.4 Rappresentazione grafica del significato di successore. . . . . . . . . . 16<br />

2.5 Time to check to time of use. . . . . . . . . . . . . . . . . . . . . . . 17<br />

2.6 Banale programma vulnerab<strong>il</strong>e ad un non-<strong>control</strong> <strong>data</strong> attack. . . . . 18<br />

2.7 Informazioni apprese a runtime dall’analisi <strong>data</strong> <strong>flow</strong>. . . . . . . . . . 21<br />

3.1 Programma vulnerab<strong>il</strong>e d’esempio. . . . . . . . . . . . . . . . . . . . 27<br />

3.2 FSA <strong>per</strong> <strong>il</strong> primo esempio. . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

3.3 Execution graph <strong>per</strong> <strong>il</strong> primo esempio. . . . . . . . . . . . . . . . . . 28<br />

3.4 Passi dell’attacco al programma. . . . . . . . . . . . . . . . . . . . . 29<br />

3.5 Programma <strong>per</strong> <strong>il</strong> secondo esempio. . . . . . . . . . . . . . . . . . . . 32<br />

3.6 FSA <strong>per</strong> <strong>il</strong> secondo esempio. . . . . . . . . . . . . . . . . . . . . . . . 33<br />

3.7 Execution graph <strong>per</strong> <strong>il</strong> secondo esempio. . . . . . . . . . . . . . . . . 34<br />

3.8 Codice d’esempio <strong>per</strong> <strong>il</strong> terzo scenario. . . . . . . . . . . . . . . . . . 35<br />

3.9 Nuovo <strong>modello</strong> <strong>per</strong> l’esempio del primo scenario. . . . . . . . . . . . 36<br />

3.10 Nuovo <strong>modello</strong> <strong>per</strong> l’esempio del terzo scenario. . . . . . . . . . . . . 37<br />

3.11 Esecuzione dell’algoritmo su una traccia. . . . . . . . . . . . . . . . . 40<br />

3.12 Esecuzione dell’algoritmo su una traccia. . . . . . . . . . . . . . . . . 41<br />

4.1 Struttura generale del sistema. . . . . . . . . . . . . . . . . . . . . . 52<br />

4.2 Script di DTrace <strong>per</strong> monitorare lo stack. . . . . . . . . . . . . . . . 52<br />

4.3 Tempi di esecuzione di ls senza e con tracing. . . . . . . . . . . . . . 53<br />

4.4 Script di DTrace <strong>per</strong> monitorare lo stack. . . . . . . . . . . . . . . . 53<br />

4.5 Strutture dati usate da un consumer DTrace. . . . . . . . . . . . . . 54

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

Saved successfully!

Ooh no, something went wrong!