Sicurezza informatica

A.A. 2019/2020
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Italiano
Learning objectives
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.
Expected learning outcomes
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.

Course syllabus and organization

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
Professor(s)