Obiettivi Formativi
Al termine del corso lo studente che avrà superato con profitto l'esame sarà in grado di:
Descrivere e scrivere le principali forme di memory error exploit
Descrivere i principali sistemi di difesa nell'ambito dei memory error
Effettuare l'analisi del codice per programmi di piccole dimensioni
Usare un debugger
Descrivere le tecniche piú importanti di analisi del software (Symbolic execution, Fuzzing, ...)
Prerequisiti
Al fine di poter trarre il massimo profitto dal corso gli studenti interessati a frequentarlo devono possedere i seguenti requisiti:
Saper gestire autonomamente un sistema Linux/Windows/MacOS
Saper scrivere programmi in C e python
Descrivere le tecniche piú importanti di analisi del software (Symbolic execution, Fuzzing, ...)
Studenti che
NON posseggono questi requisiti possono comunque seguire il corso ma dovranno autonomamente provvedere al recupero delle suddette nozioni e capacità.
Link Utili
Gli script mostrati durante le lezioni di laboratorio sono consultabili al seguente repository gitlab.
Le registrazioni delle lezioni di laboratorio sono consultabili al seguente link.