Sviluppo di un sistema per la ricerca automatica di Buffer Overflow su piattaforma GNU/Linux
La cattiva qualità del software costituisce la maggior fonte di vulnerabilità nei sistemi informatici, gran parte dei technical cyber alert pubblicati dallo US Cert riportano vulnerabilità attribuibili ai buffer overflow: famosi worm come Codered, Blaster, Slammer e Conflicker sfruttano tali overflow per propagarsi e danneggiare i sistemi.
Il buffer overflow si ottiene eccedendo la capacità prefissata di uno spazio di memoria, l'overflow può causare terminazioni non previste nei programmi e sovrascritture non desiderate di zone di memoria riservate al contesto d’esecuzione e all’allocazione delle variabili; tali alterazioni possono compromettere il flusso d’esecuzione prestabilito offrendo ad un attaccante la possibilità di eseguire arbitrariamente codice.
I livelli aggiuntivi di privilegi ottenibili nei sistemi unix-like - settando l’attributo suid - elevano la qualità d’attacco ottenibile, dando modo di eseguire codice con diritti di amministrazione.
Sovraccaricando gli input di un programma è possibile:
- Terminarlo in modo non previsto (Denial of Service)
- Modificarne lo stato cambiando il contenuto delle variabili (Unauthorized Modification of Information)
- Modificare il flusso d’esecuzione prestabilito per eseguire codice in modo da ottenere diritti di amministrazione (Malicious Code promuovibile ad Account Compromise)
Si noti in particolare che (per il secondo punto) la potenza dell’attacco dipende dalla semantica d’utilizzo delle variabili, una variabile potrebbe contenere:
- l’importo di uno stipendio
- la data di un appuntamento
- il nome di un file utilizzato per contenere un elenco di codici d’accesso (es. /etc/passwd, /etc/shadow in unix)
- un saldo di un conto corrente
- dati anagrafici
- una password
- l’indirizzo di un pacchetto di dati
- la posizione di un satellite nello spazio
- ecc..
La ricerca automatica di buffer overflow esaminando il codice sorgente è un problema indecidibile in generale. La disponibilità del solo codice oggetto diminuisce il numero di informazioni acquisibili: non si ha né la completa conoscenza di tutte le sorgenti di input, né il completo conoscimento del tipo di dati in ingresso. D’altronde l’esame del codice oggetto è necessario nell’analisi dei programmi per i quali il codice sorgente non è disponibile, come ad esempio i software commerciali.
Le vulnerabilità inoltre sono in generale difficilmente individuabili, perché è difficile che i bachi di sicurezza allontanino il software dall’aderenza alle specifiche funzionali; disporre di uno strumento di ricerca che permetta di rilevare e classificare eventuali vulnerabilità prima che siano sfruttate da un attaccante è un aiuto per diminuire il livello d’insicurezza dei sistemi informatici.
Si presenta un sistema automatico per l’individuazione di buffer overflow nel codice oggetto, la piattaforma di riferimento è GNU/Linux su architettura Intel (IA32). Il rilevamento di buffer overflow e i tentativi d’esecuzione di codice (esecuzione di una shellcode allo scopo di ottenere una shell di root) sono effettuati sul solo codice oggetto.
Le caratteristiche del sistema sviluppato lo rendono utilizzabile nelle attività di:
- analisi del rischio
- di debug
- di verifica della corretta installazione e configurazione del software.
Il contributo di questa tesi è il seguente:
• Sono stati analizzati differenti tipi di attacco che sfruttano le vulnerabilità buffer overflow.
• È stato sviluppato un sistema di ricerca automatica di buffer overflow con le seguenti caratteristiche:
- Analisi degli input mediante il passaggio di parametri da riga di comando, l’utilizzo di variabili d’ambiente e l’uso di una modalità di ricerca innovativa basata sull’intercettazione delle chiamate di sistema sys_read().
- Utilizzo della crittazione polimorfica e della generazione di istruzioni equivalenti per limitare le possibilità di rilevamento di un Intrusion Detection System.
- Utilizzo di uno spiazzamento variabile per attaccare programmi che abbiano strutture di stack frame variabili.
• È stato utilizzato il sistema sviluppato per effettuare attacchi Stack Smashing iniettando codice eseguibile allo scopo di ottenere una shell di super utente.
• Sono stati analizzati differenti sistemi di difesa mostrandone le caratteristiche e le limitazioni.
CONSULTA INTEGRALMENTE QUESTA TESI
La consultazione è esclusivamente in formato digitale .PDF
Acquista
CONSULTA INTEGRALMENTE QUESTA TESI
La consultazione è esclusivamente in formato digitale .PDF
Acquista
L'unico servizio antiplagio competitivo nel prezzo che garantisce l'aiuto della nostra redazione nel controllo dei risultati.
Analisi sicura e anonima al 100%!
Ottieni un Certificato Antiplagio dopo la valutazione.
Informazioni tesi
Autore: | Giuseppe Rapicano |
Tipo: | Tesi di Laurea |
Anno: | 2003-04 |
Università: | Università degli Studi di Milano |
Facoltà: | Scienze Matematiche, Fisiche e Naturali |
Corso: | Informatica |
Relatore: | Ing. Mattia Monga, Prof. Danilo Bruschi |
Lingua: | Italiano |
Num. pagine: | 71 |
FAQ
Come consultare una tesi
Il pagamento può essere effettuato tramite carta di credito/carta prepagata, PayPal, bonifico bancario.
Confermato il pagamento si potrà consultare i file esclusivamente in formato .PDF accedendo alla propria Home Personale. Si potrà quindi procedere a salvare o stampare il file.
Maggiori informazioni
Perché consultare una tesi?
- perché affronta un singolo argomento in modo sintetico e specifico come altri testi non fanno;
- perché è un lavoro originale che si basa su una ricerca bibliografica accurata;
- perché, a differenza di altri materiali che puoi reperire online, una tesi di laurea è stata verificata da un docente universitario e dalla commissione in sede d'esame. La nostra redazione inoltre controlla prima della pubblicazione la completezza dei materiali e, dal 2009, anche l'originalità della tesi attraverso il software antiplagio Compilatio.net.
Clausole di consultazione
- L'utilizzo della consultazione integrale della tesi da parte dell'Utente che ne acquista il diritto è da considerarsi esclusivamente privato.
- Nel caso in cui l’utente che consulta la tesi volesse citarne alcune parti, dovrà inserire correttamente la fonte, come si cita un qualsiasi altro testo di riferimento bibliografico.
- L'Utente è l'unico ed esclusivo responsabile del materiale di cui acquista il diritto alla consultazione. Si impegna a non divulgare a mezzo stampa, editoria in genere, televisione, radio, Internet e/o qualsiasi altro mezzo divulgativo esistente o che venisse inventato, il contenuto della tesi che consulta o stralci della medesima. Verrà perseguito legalmente nel caso di riproduzione totale e/o parziale su qualsiasi mezzo e/o su qualsiasi supporto, nel caso di divulgazione nonché nel caso di ricavo economico derivante dallo sfruttamento del diritto acquisito.
Vuoi tradurre questa tesi?
Per raggiungerlo, è fondamentale superare la barriera rappresentata dalla lingua. Ecco perché cerchiamo persone disponibili ad effettuare la traduzione delle tesi pubblicate nel nostro sito.
Scopri come funziona »
DUBBI? Contattaci
Contatta la redazione a
[email protected]
Parole chiave
Non hai trovato quello che cercavi?
Abbiamo più di 45.000 Tesi di Laurea: cerca nel nostro database
Oppure consulta la sezione dedicata ad appunti universitari selezionati e pubblicati dalla nostra redazione
Ottimizza la tua ricerca:
- individua con precisione le parole chiave specifiche della tua ricerca
- elimina i termini non significativi (aggettivi, articoli, avverbi...)
- se non hai risultati amplia la ricerca con termini via via più generici (ad esempio da "anziano oncologico" a "paziente oncologico")
- utilizza la ricerca avanzata
- utilizza gli operatori booleani (and, or, "")
Idee per la tesi?
Scopri le migliori tesi scelte da noi sugli argomenti recenti
Come si scrive una tesi di laurea?
A quale cattedra chiedere la tesi? Quale sarà il docente più disponibile? Quale l'argomento più interessante per me? ...e quale quello più interessante per il mondo del lavoro?
Scarica gratuitamente la nostra guida "Come si scrive una tesi di laurea" e iscriviti alla newsletter per ricevere consigli e materiale utile.
La tesi l'ho già scritta,
ora cosa ne faccio?
La tua tesi ti ha aiutato ad ottenere quel sudato titolo di studio, ma può darti molto di più: ti differenzia dai tuoi colleghi universitari, mostra i tuoi interessi ed è un lavoro di ricerca unico, che può essere utile anche ad altri.
Il nostro consiglio è di non sprecare tutto questo lavoro:
È ora di pubblicare la tesi