L'insegnamento mira a sensibilizzare gli sviluppatori sul fatto che i programmi (scritti male) possono essere sfruttati da un attaccante per scopi potenzialmente dannosi, facendo agire i programmi in modi non voluti dagli autori. Questo obiettivo viene raggiunto mostrando come i programmi binari possono essere analizzati e come eventuali vulnerabilità trovate possano essere sfruttate. Inoltre, il corso descrive come progettare e scrivere software sicuro, cioè privo di tali vulnerabilità. L'analisi in contesti avversariali, come, l'analisi del malware, verrà inoltre discussa.
Essere in grado di scrivere codice sicuro, analizzare il comportamento e valutare proprietà di sicurezza in programmi sorgente e binari, trovando vulnerabilità ed eliminarle o applicare delle contromisure adeguate.
Essere in grado di analizzare il comportamento e valutare le proprietà di sicurezza dei programmi (sia avendo a disposizione il codice sorgente, sia, soprattutto, avendo a disposizione i soli binari), individuando le loro vulnerabilità. Inoltre, saper scrivere codice sicuro, eliminando eventuali vulnerabilità o applicando contromisure correttive.
Per il percorso da 9-CFU, essere inoltre in grado di analizzare programmi in contesti avversariali (per esempio, campioni di malware).
Familiarità con la programmazione in C (sopratutto, gestione diretta della memoria, uso di puntatori) e coi concetti di sistemi operativi
Lezioni ed esercizi pratici ("compiti a casa").
Alcuni argomenti ed esercizi, esplicitamente marcati nel materiale di supporto, sono opzionali per chi ha la versione da 6 CFU in piano di studi.
Il materiale di supporto e la bibliografia suggerita saranno disponibili su AulaWeb.
Ricevimento: Orario di ricevimento: su appuntamento via email
GIOVANNI LAGORIO (Presidente)
ALESSANDRO ARMANDO
DAVIDE ANCONA (Supplente)
MAURA CERIOLI (Supplente)
Sessione pratica e discussione orale.
L'esame valuterà la capacità di analizzare i programmi per scovare eventuali vulnerabilità, di scrivere semplici "exploit" e applicare misure correttive.
Agli studenti da 9-CFU potrebbero venir assegnati dei campioni di malware (o simil-malware) da analizzare