La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della.

Presentazioni simili


Presentazione sul tema: "UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della."— Transcript della presentazione:

1 UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Linux examples of Buffer overflow attacks Prof. Stefano Bistarelli C Consiglio Nazionale delle Ricerche Iit Istituto di Informatica e Telematica - Pisa Università G. dAnnunzio Dipartimento di Scienze, Pescara

2 Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione S. Bistarelli - Metodologie di Secure Programming 2 Stack based overflow Vedi 0x270 Stack-Based Overflows buffer flag SFP * Indirizzo di ritorno (ret) a b memoria alta memoria bassa EBP' nuovo EBP

3 Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione S. Bistarelli - Metodologie di Secure Programming 3 Uno dei problemi da risolvere nello stack based overflow attack e capire dove far saltare il programma attaccato (scrivendo lindirizzo nello stack (che verra poi copiato nel ret address). Infatti i programmi vengono caricati dinamicamente in memoria e non so a che indirizzo dello stack sara memorizzato il mio buffer (con la shell code) NOP sledbytecodeIndirizzo di ritorno ripetuto A che indirizzo ??

4 Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione S. Bistarelli - Metodologie di Secure Programming 4 In gcc e possibile conoscere indirizzo inizio stack (valore esp) cosi: unsigned long sp(void) // This is just a little function { __asm__("movl %esp, %eax");} // used to return the stack pointer offset = 0; // Use an offset of 0 esp = sp(); // Put the current stack pointer into esp ret = esp - offset; // We want to overwrite the ret address

5 Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione S. Bistarelli - Metodologie di Secure Programming 5 NOP sledbytecodeIndirizzo di ritorno ripetuto Ambiente procedura che chiama programma da attaccare ESP Ambiente programma da attaccare ESP


Scaricare ppt "UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della."

Presentazioni simili


Annunci Google