Nell'ambito della sicurezza software, questa tesina introduce i concetti di assessment ed exploiting delle vulnerabilità.
Fatto ciò, approfondisce il problema degli stack buffer overflows, senza dare per scontata alcuna conoscenza dell'argomento e fornendo degli esempi minimali di codice C.
Argomenti discussi:
- preparazione del payload (shellcode)
- layout di un programma in memoria
- chiamate a funzione e loro utilizzo dello stack
- la tecnica di exploiting dello "stack smashing"
- contromisure introdotte per mitigare il problema (ASLR, ProPolice, NX stack)
Infine, si analizza un esemplio completo di esecuzione remota di codice in un programma vulnerabile.
Codice sorgente, testo completo e slides sono disponibili per il download:
testo completo slides slides (per la stampa) archivio codice sorgente