Sicurezza e privatezza

A.A. 2019/2020
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
Scopo dell'insegnamento è quello di introdurre allo studente le basi concettuali e pratiche della Sicurezza Informatica e della Privacy, ponendo una certa enfasi sugli aspetti più implementativi della disciplina. Il dominio di riferimento sarà rappresentato dai sistmei con particolare enfasi sul sistema Linux e dalle reti.
Risultati apprendimento attesi
Al termine del corso lo studente sarà in grado di: valutare le principali vulnerabilità presenti in un sistema dato; sfruttare alcune di queste vulnerabilità per ottenere l'accesso non autorizzato ad informazioni o sistemi; individuare le migliori contromisure da adottare a fronte dei più comuni attacchi, valutare le principali minacce alla privacy derivanti dall'uso di specifiche tecnologie informatiche, progettare un sistema di sicurezza informatica per realtà di piccole dimensioni.
Programma e organizzazione didattica

Linea Milano

Linea Milano
Responsabile
Periodo
Secondo semestre
Programma
L'insegnamento si articola in una parte di teoria e in una parte di laboratorio. La parte di teoria è suddivisa in 4 parti.

Parte 1: Introduzione alla Sicurezza ICT
· Concetti fondamentali
· Modelli di controllo degli accessi
· Nozioni elementari di crittografia
· I problemi implementativi
· La sicurezza fisica
o Locks and safe
o Le tecnologie di autenticazione
o Attacchi fisici ai computer
o Sistemi tamper proof
Parte 2: La sicurezza logica
· Operating System Security
o La sicurezza dei processi
o La sicurezza della memoria
o La sicurezza del file system
o La sicurezza applicativa
o Il Malware
· Web e network security
o Attacchi al protocollo ARP
o Attacchi al protocollo IP
o Attacchi al protocollo TCP
o DNS Attacks
o Firewall
o IDS
o La sicurezza del wi-fi: WEP/WPA
Parte 3: Information Security Management Systems
· Security planning
· Risk Analysis
· Security Policies
· ISO27001: a brief introduction
Part 4: Legal, Privacy and Ethical issues in Computer security
· Ethics and Computer Security
· Privacy
· Aspetti legali della Computer Security
· Introduzione al GDPR

Nella parte di laboratorio lo studente dovrà familiarizzare con alcune delle tecniche e degli strumenti illustrati durante le ore di teoria attraverso l'uso di strumenti che consentono di simulare attacchi informatici e la configurazione di strumenti di protezione. In particolare gli argomenti trattati sono:
· Crittografia: uso del PGP e di un clienti di posta cifrato
· Uso degli strumenti di controllo degli accessi del file system
Linux/Windows
· Effettuazione di un attacco di buffer overflow
· Effettuazione di un ARP poisoning
· Effettuazione di un attacco del tipo cross site scripting
· Effettuazione di un defacing
· Uso di Wireshark
· Uso di Snort
· Computer Ethics: casi di studio

Un elenco dettagliato degli argomenti trattati, lezione per lezione, viene pubblicato e aggiornato sul
sito web dell'insegnamento.
Prerequisiti e modalità di esame
Saper programmare almeno un linguaggio di
programmazione imperativo (con preferenza verso il linguaggio C) e in un linguaggio di web scripting.
Saper installare e gestire il sistema operativo Linux, saper configurare una rete locale ed i suoi principali servizi.

Il superamento dell'esame di Programmazione è propedeutico all'insegnamento di Sicurezza e Privatezza. E' inoltre fortemente consigliato il superamento degli esami di Sistemi Operativi e di Reti di Calcolatori.
Metodi didattici
La parte di teoria viene svolta mediante lezioni frontali. La parte di laboratorio alterna lezioni frontali a esercitazioni e attività pratiche svolte individualmente.
Materiale didattico e bibliografia
Sito Web:
https://dbruschisp.ariel.ctu.unimi.it

Il libro di testo adottato per la parti 1, 2 e per la parte di laboratorio è:
M. Goodrich, R. Tamassia, "Introduction to Computer Security", Pearson New Internation Edition, 2014.

Per la parti 3 e 4 sarà reso disponibile materiale integrativo sul sito web dell'insegnamento.
Modalità esame
L'esame consiste di una prova di laboratorio e di una prova orale.
Nella prova di laboratorio, della durata di 3 ore sono assegnati esercizi che richiedono 1) analizzare un sistema o un servizio al fine di individuarne eventuali vulnerabilità 2) scrivere un programma che siano in grado di sfruttare queste vulnerabilità 3) dimostrare l'efficacia del programma progettato per accedere ad informazioni riservate o compromettere il funzionamento di un servizio.

L'esame si conclude con la prova orale, alla quale si accede dopo il superamento della prova di laboratorio. La prova orale verte sulla discussione di alcuni argomenti trattati nell'insegnamento.
Al termine della prova orale viene formulata la valutazione complessiva, espressa in trentesimi,
tenendo conto dei seguenti parametri: grado di conoscenza degli argomenti, capacità di applicare
le conoscenze alla risoluzione di problemi concreti, capacità di ragionamento critico, chiarezza
espositiva e proprietà di linguaggio.
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
Siti didattici
Docente/i
Ricevimento:
su appuntamento e-mail: danilo.bruschi@unimi.it
Stanza 8024 via Celoria 18