Linux examples of Buffer overflow attacks

Slides:



Advertisements
Presentazioni simili
Università degli Studi G. DAnnunzio (Chieti – Pescara) Dipartimento di Scienze Storia dellinformatica Laurea in Economia Informatica Stefano Bistarelli.
Advertisements

Procedure In assembler.
Procedure e funzioni A. Ferrari.
DIS - Dipartimento di Informatica e Sistemistica Calcolatori Elettronici II Programmazione C/Assembler per i processori ARM Prof. A. Mazzeo Dipartimento.
Gestione del processore
Chiamate a Procedure. Per lesecuzione di una procedura, un programma deve eseguire i seguenti sei passi: mettere i parametri in un posto dove la procedura.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e Puntatori Marco D. Santambrogio – Ver. aggiornata al 18 Marzo 2013.
UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della.
Buffer overflow attack and defense
Costruzione di Interfacce Lezione 11 Dal Java al C++ parte 2
Laboratorio di Linguaggi lezione VI: puntatori 2/3 Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Laboratorio di Linguaggi lezione VIII Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea.
Laboratorio di Linguaggi lezione V Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Laboratorio di Linguaggi lezione VII: puntatori 3/3 Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Laboratorio di Linguaggi P R I M O C O M P I T I N O Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
eliana minicozzi linguaggi1a.a lezione2
CALCOLATORI ELETTRONICI Gestione delle subroutine.
Gestione delle subroutine
1 Gestione del processore Il modello a processi sequenziali.
7) Creazione di un programma eseguibile
Creazione di un programma eseguibile. Laboratorio di Calcolo AA2005/062 Livelli di programmazione Si può programmare a diversi livelli utilizzando linguaggi.
A.A. 2010/2011Ambienti di Programmazione per il Software di Base1 (Es. – 6) Ambienti di Programmazione per il Software di Base Le Stringhe in C Input.
1 Strutture Dinamiche Corso di Informatica A Vito Perrone.
Università degli Studi di Perugia - Dipartimento di Ingegneria Industriale Prof. Francesco Castellani -
AN Fondam98 Puntatori Azioni e procedure Assegnamenti, indirizzi e puntatori.
Reverse engineering.
I vettore interruzioni
1 ListaDiElem Cancella( ListaDiElem lista, TipoElemento elem ) { ListaDiElem puntTemp; if( ! ListaVuota(lista) ) if( lista–>info == elem ) { puntTemp =
Sottoprogramma Un blocco di istruzioni, come ad esempio lanello di ritardo, può costituire un sottoprogramma (subroutine) a sé stante, richiamabile dal.
UNIVERSITA’ DEGLI STUDI DI PERUGIA
Reti di Calcolatori e Sicurezza Laurea specialistica in Economia Informatica Stefano Bistarelli Università degli Studi G. DAnnunzio (Chieti – Pescara)
Laboratorio di Linguaggi lezione VII: variabili Globali e Locali Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali.
Sia TAPE una periferica di gestione di nastri magnetici in grado di acquisire/fornire dati a 8 bit, e sia CD una periferica di masterizzazione in grado.
ICT security 2002/ Buffer Overflows (stack based) Alberto Ornaghi Lorenzo Cavallaro.
Unità centrale di processo
Le funzioni Rassegna degli argomenti trattati LS Tron 14/15 Prof. Carla Fanchin.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Pile e Code.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Istruzioni iterative For, while.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Procedure e Macro.
Allievi Elettrici - AA Le funzioni ricorsive in C
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Gestione dei dispositivi di I/O:
Buffer Overflow G G ianluca Mazzei A A ndrea Paolessi S S tefano Volpini Corso di Sistemi Operativi Prof. Alfio Andronico Prof.ssa Monica Bianchini.
Dal click alla pagina web... Centro di Calcolo Corso Internet 22 Novembre 1996 Stefano Bistarelli Università di Chieti-Pescara “G. D’Annunzio” Dipartimento.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Marzo 2014.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della.
Sicurezza e Privacy Laurea specialistica in Economia Informatica Stefano Bistarelli Università degli Studi G. D’Annunzio (Chieti – Pescara) Dipartimento.
Università degli Studi G. D’Annunzio (Chieti – Pescara) Dipartimento di Scienze Sistemi di Elaborazione Stefano Bistarelli Università degli Studi G. D’Annunzio.
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
Università degli Studi G. D’Annunzio (Chieti – Pescara) Dipartimento di Scienze Tecnologie Web XHTML, CSS, JavaScript Stefano Bistarelli Università degli.
Convenzioni chiamate a procedure Riassunto Pratico.
UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della.
1 System Call ancora Vediamo passo passo come funziona una SC.
Laboratorio di Linguaggi... altre D O M A N D E ! Marco Tarini Università dell’Insubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Corso di Laurea in Informatica Architettura degli elaboratori a.a Programmazione Assembly: procedure (1) Supporto hardware alle procedure Passaggio.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 8 Aprile 2015.
Accesso a ShareGrid mediante VPN ing. Sergio Rabellino Dipartimento di Informatica Università degli Studi di Torino.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. ITALIAN.
Generazione e Modifica di Oggetti Digitali Tridimensionali Gruppo di Ricerca di Computer Graphics Supervisor: Prof. Riccardo Scateni Dipartimento di Matematica.
Tecnologie Informatiche ed Elettroniche per le produzioni animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE DELLA PRODUZIONE ANIMALE Massimo Lazzari.
Corso di Laurea in Informatica Architettura degli elaboratori a.a Programmazione Assembly: procedure (2) Convenzioni di uso dei registri Utilizzo.
LA SICUREZZA INFORMATICA MATTEO BUDASSI 1°B MATTEO BUDASSI 1°B ANNO SCOLASTICO 2014/2015.
AusTel by taha.a.
Transcript della presentazione:

Linux examples of Buffer overflow attacks Prof. Stefano Bistarelli C Consiglio Nazionale delle Ricerche Iit Istituto di Informatica e Telematica - Pisa Università “G. d’Annunzio” Dipartimento di Scienze, Pescara

S. Bistarelli - Metodologie di Secure Programming Stack based overflow Vedi 0x270 Stack-Based Overflows buffer flag SFP* Indirizzo di ritorno (ret) a b memoria alta memoria bassa EBP' nuovo EBP S. Bistarelli - Metodologie di Secure Programming

S. Bistarelli - Metodologie di Secure Programming Uno dei problemi da risolvere nello stack based overflow attack e’ capire dove far saltare il programma attaccato (scrivendo l’indirizzo 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) A che indirizzo ?? NOP sled bytecode Indirizzo di ritorno ripetuto S. Bistarelli - Metodologie di Secure Programming

S. Bistarelli - Metodologie di Secure Programming 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 S. Bistarelli - Metodologie di Secure Programming

S. Bistarelli - Metodologie di Secure Programming NOP sled bytecode Indirizzo di ritorno ripetuto ESP ESP Ambiente procedura che chiama programma da attaccare Ambiente programma da attaccare S. Bistarelli - Metodologie di Secure Programming