Sicurezza informatica

A.A. 2018/2019
Insegnamento per
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
Al termine del corso lo studente che avrà superato con profitto l'esame sarà in grado di
· Descrivere le principali forme di memory error exploit
· Descrivere alcune criticità delle applicazioni web
· Descrivere le forme di malware più diffuse
· Descrivere le principali vulnerabilità presenti in un sistema informatico
· Effettuare l'analisi del codice per programmi di piccole dimensioni
· Scrivere shell code
· Usare un debugger
· Usare un disassemblatore per codice di piccole dimensioni
· Scrivere forme elementari di Malware
· Comprendere l'importanza di avere sistemi sicuri

Struttura insegnamento e programma

Linea Milano
Edizione attiva
Responsabile
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
STUDENTI FREQUENTANTI
Programma
Introduzione alla programmazione assembler IA-32
Richiami sull'architettura IA-32
Principali istruzioni Assembler GAS: GNU Assembler
Puntatori
System call in assembler
Elementi di reverse engineering
Debugger
Disassembler
Memory error exploits
Shell code
Buffer overflow
Integer overflow: accenni
Proteggersi dai memory error exploit
Reverse Engineering
Conoscenze degli eseguibili
Tecniche di Analisi degli eseguibili
Gestione delle tecniche di Obfuscation
Computer Forensic
Tecniche di Analisi della Memoria
Individuazione delle informazioni nel sistemi operativi
Tecniche di ricerca dei dati
Propedeuticità
Sistemi Operativi
Reti di Calcolatori
Elementi di sicurezza e privatezza
Programmazione C
Prerequisiti e modalità di esame
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
Saper usare un emulatore QEMU/VMware
Aver frequentato il corso di Sicurezza 1

Studenti che NON posseggono questi requisiti possono comunque seguire il corso ma dovranno autonomamente provvedere al recupero delle suddette nozioni e capacità.
Metodi didattici
Didattica frontale seguita da esercizi pratici svolti dagli studenti sotto la supervisione del docente
Materiale didattico e bibliografia
Il materiale di studio consiste di articoli scientifici che saranno via via comunicati durante le lezioni
STUDENTI NON FREQUENTANTI
Programma
Introduzione alla programmazione assembler IA-32
Richiami sull'architettura IA-32
Principali istruzioni Assembler GAS: GNU Assembler
Puntatori
System call in assembler
Elementi di reverse engineering
Debugger
Disassembler
Memory error exploits
Shell code
Buffer overflow
Integer overflow: accenni
Proteggersi dai memory error exploit
Reverse Engineering
Conoscenze degli eseguibili
Tecniche di Analisi degli eseguibili
Gestione delle tecniche di Obfuscation
Computer Forensic
Tecniche di Analisi della Memoria
Individuazione delle informazioni nel sistemi operativi
Tecniche di ricerca dei dati
Prerequisiti e modalità di esame
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
Saper usare un emulatore QEMU/VMware
Aver frequentato il corso di Sicurezza 1

Studenti che NON posseggono questi requisiti possono comunque seguire il corso ma dovranno autonomamente provvedere al recupero delle suddette nozioni e capacità.
Materiale didattico e bibliografia
Il materiale di studio consiste di articoli scientifici che saranno via via comunicati durante le lezioni
Periodo
Primo semestre
Periodo
Primo semestre
Modalità di valutazione
Esame
Giudizio di valutazione
voto verbalizzato in trentesimi
Docente/i
Ricevimento:
su appuntamento e-mail: danilo.bruschi@unimi.it
Stanza 8024 via Celoria 18