Programmazione Sicura

Avvisi

Informazioni generali del corso

Nome del corso: Programmazione Sicura [262-004]
Docenti:

Mauro Andreolini

Andrea Balboni

Corso di Studio: Laurea Magistrale di Informatica
Tipologia: Caratterizzante
CFU: 6
Periodo Didattico: secondo trimestre

Recapiti docenti:

Edizioni precedenti del corso

Obiettivi formativi

L'insegnamento si prefigge i seguenti obiettivi formativi:
  • acuire la sensibilità ai rischi insiti in applicazioni non sicure;
  • saper valutare il grado di sicurezza di una applicazione esistente;
  • saper irrobustire una applicazione esistente;
  • saper progettare ex-novo un software con caratteristiche di sicurezza (security/safety/privacy by design).

Programma del corso

  • Cenni storici.
  • Vulnerabilità principali nelle applicazioni.
  • Strumenti per l'analisi di software esistente.
  • Ciclo di sviluppo del software sicuro.

Testi

Testi di riferimento

Testi di approfondimento

Dispense fornite dal docente.

Orario delle lezioni

  • Martedì: h. 9:00-11:00 (Aula M2.4 Dip. Mat.)
  • Mercoledì: h. 9:00-11:00 (Lab. M2.4 Dip. Mat.)

Lucidi delle lezioni

Lezione 1: Introduzione al corso di Programmazione Sicura

Data: martedì 27 febbraio 2018 11:00 - 13:00
Slide:

Lezione 2: Cenni storici

Data: martedì 27 febbraio 2018 11:00 - 13:00
Data: mercoledì 28 febbraio 2018 9:00 - 11:00
Slide:

Lezione 3: Definizioni

Data: mercoledì 28 febbraio 2018 9:00 - 11:00
Slide:

Lezione 4: Vulnerabilità software

Data: martedì 6 marzo 2018 11:00 - 13:00
Data: mercoledì 7 marzo 2018 11:00 - 13:00
Data: martedì 13 marzo 2018 14:00 - 16:00
Slide:

Lezione 5: Esecuzione con privilegi elevati

Data: martedì 13 marzo 2018 14:00 - 16:00
Data: mercoledì 14 marzo 2018 11:00 - 13:00
Data: martedì 20 marzo 2018 14:00 - 16:00
Data: mercoledì 21 marzo 2018 11:00 - 13:00
Slide: Esempi: Approfondimenti:

Lezione 6: Iniezione locale

Data: mercoledì 4 aprile 2018 11:00 - 13:00
Data: martedì 10 aprile 2018 14:00 - 16:00
Data: mercoledì 11 aprile 2018 11:00 - 13:00
Slide: Esempi: Approfondimenti:

Lezione 7: Iniezione remota

Data: martedì 17 aprile 2018 14:00 - 16:00
Data: mercoledì 18 aprile 2018 11:00 - 13:00
Data: martedì 24 aprile 2018 14:00 - 16:00
Slide: Esempi:

Lezione 8: Corruzione della memoria

Data: martedì 24 aprile 2018 14:00 - 16:00
Data: mercoledì 2 maggio 2018 11:00 - 13:00
Slide: Esempi: Approfondimenti:

Hall of Fame studenti (in ordine alfabetico e di data)

Nome studente Data Motivazione Punteggio parziale Punteggio totale

Ricevimento studenti

il ricevimento studenti è fissato giovedì in orario 14:00 - 16:00 nello studio del docente (edificio di matematica, secondo piano, stanza mo-18-02-008). per richieste più semplici e puntuali è possibile contattare il docente anche per e-mail. Si faccia riferimento al seguente documento per capire come porre domande tecniche con profitto: how to ask questions the smart way.

Modalità d'esame

l'esame si compone di un colloquio orale di tre domande. Lo studente ha a disposizione 15 minuti max. per rispondere correttamente a ciascuna domanda. Ciascuna domanda contribuisce con un max. di 10 punti al voto finale.

In caso di esito brillante (tutte e tre le domande risposte correttamente in un tempo complessivo strettamente minore di 45 minuti), il docente può proporre una ulteriore domanda per ottenere la lode. Tale domanda avrà un grado di difficoltà superiore a quello delle domande usuali, e dovrà essere risposta nel tempo limite di 15 minuti. in caso di risposta soddisfacente, lo studente prenderà 30 e lode. in caso di errore, il voto finale sarà abbassato in misura pari alle imprecisioni commesse durante l'esposizione.

Iscrizione agli esami

Per iscriversi ad uno degli appelli previsti, occorre prenotarsi tramite il sistema esse3.