Sicurezza informatica

A.A. 2019/2020
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
In questo insegnamento verranno esplorate le foundation del software security. e considerate importanti vulnerabilita` software e attacchi low-level come heap overflow, use after free e buffer overflow. Verranno inoltre illustrate ed analizzate le techniche di difesa per prevenire e mitigare questi attacchi includendo meccanismi di testing avanzato e di program analysis come la symbolic execution e il fuzzing.
Risultati apprendimento attesi
Lo studente che avrà superato l'esame di questo insegnamento con successo sarà in grado di applicare tecniche di attacco di base sui low-level attacks come buffer overflow, heap overflow e use after free. Avra` compreso le tecniche di difesa generali dei sistemi e sarà in grado di applicare techniche avanzate di testing e program analysis su linguaggi C e C++. Lo studente che affronta questo insegnamento dovrà avere un background di base sulla programmazione, una conoscenza dei linguaggi C/C++ e degli algoritmi.
Corso singolo

Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.

Programma e organizzazione didattica

Edizione unica

Responsabile
Periodo
Primo semestre

Programma
Modulo Low-Level Attacks
1 - Introduzione
2 - Buffer Overflow
3 -Lab Buffer overflow
4- Heap Overflow Lab Heap Overflow
5 -Use after Free (UAF)
6 -Lab UAF

Modulo Low-Level Security: Defense
1- Introduzione
2- Memory Safety
3- Type Safety + Avoid Exploitation
4- ROP Return Oriented Programming
5- ROP lab
6- CFI

Modulo Static and Dynamic Flow
1 - Introduzione
2- Static Analysis
3- Data Flow analysis

Modulo Symbolic Execution
1 - Introduzione
2 - Symbolic Execution
3 - Lab of Symbolic Execution
Prerequisiti
Al fine di poter trarre il massimo profitto dal corso gli studenti interessati a frequentarlo dovranno possedere i seguenti requisiti:

1 - Aver frequentato l'insegnamento di sistemi operativi.
2 - Aver frequentato l'insegnamento di Sicurezza 1
3 - Buona Conoscenza del linguaggio C
Metodi didattici
Didattica Frontale.
Materiale di riferimento
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consistera in un test con domande teoriche sul programma e una prova pratica che vertera` nella risoluzione di esercizi di sicurezza quali per esempio i Memory Errors.
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
Docente: Lanzi Andrea
Turni:
-
Docente: Lanzi Andrea