Computer Security
Anno accademico 2025/2026 - Docente: GIAMPAOLO BELLARisultati di apprendimento attesi
- Conoscenza e capacità di comprensione (knowledge and understanding). Lo studente acquisisce conoscenza critica dei problemi di sicurezza considerati "di frontiera" oggigiorno.
- Capacità di applicare conoscenza e comprensione (applying knowledge and understanding). Lo studente acquisisce capacità pratica di costruire un laboratorio virtuale per condurre esperimenti di penetration testing. Diventa altresì capace di condurre elementari sessioni di analisi formale.
- Autonomia di giudizio (making judgements). Lo studente diventa un giocatore esperto del “gioco della sicurezza”, ovvero quello di trovare possibili attacchi ad un sistema che dovrebbe essere sicuro, onde poi aggiustare il sistema per proteggerlo dagli attacchi trovati.
- Abilità comunicative (communication skills). Lo studente familiarizza col lessico tipico della sicurezza informatica, acquisendo la capacità di utilizzare in maniera disambigua le varie sfaccettature del termine “sicurezza” per quanto concerne alcuni argomenti di ricerca, il penetration testing e l'analisi formale.
- Capacità di apprendimento (learning skills). Lo studente acquisisce la mentalità critica e le capacità metodologiche per affrontare e risolvere i nuovi problemi di sicurezza che gli si possano presentare.
Modalità di svolgimento dell'insegnamento
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
Prerequisiti richiesti
Frequenza lezioni
Contenuti del corso
Si parte con lo studio della crittografia visuale e delle sue applicazioni, una tecnica che permette di nascondere informazioni all'interno di immagini in modo da renderle leggibili solo a chi possiede la chiave appropriata. Segue l'analisi della sicurezza delle smartcard, dispositivi utilizzati per l'autenticazione e la protezione dei dati, approfondendo le vulnerabilità e le misure di sicurezza specifiche.
Il corso affronta anche la sicurezza nelle reti LAN, con particolare focus sul protocollo Kerberos V, utilizzato per l'autenticazione in rete, garantendo che solo gli utenti autorizzati abbiano accesso alle risorse. Viene trattato il tema del non ripudio, ossia la garanzia che un'azione o una comunicazione non possa essere negata in seguito, studiando in dettaglio i protocolli Zhou-Gollmann, Crispo, e Abadi et al., che forniscono soluzioni a questo problema.
Gli studenti apprendono come analizzare i protocolli di sicurezza utilizzando tecniche avanzate come il model checking, che verifica l'assenza di attacchi a modelli semplificati dei protocolli, il theorem proving, che dimostra la sicurezza di un protocollo tramite ragionamento logico, e ProVerif, uno strumento automatizzato per l'analisi e la verifica dei protocolli crittografici.
Il corso affronta poi il tema cruciale della compliance di sicurezza, con particolare attenzione al Regolamento Generale sulla Protezione dei Dati (GDPR). Gli studenti analizzano come i requisiti legali e organizzativi influenzino la progettazione e la gestione dei sistemi informativi sicuri.
Infine, il corso introduce i fondamenti del penetration testing, illustrando le principali metodologie e fasi di un test di sicurezza etico. Gli studenti apprendono come identificare e sfruttare vulnerabilità in ambienti controllati, utilizzando strumenti e tecniche professionali per valutare la robustezza di sistemi e reti.
Testi di riferimento
- William Stallings: Sicurezza delle reti. Applicazioni e standard
- Bruce Schneier: Sicurezza digitale. Miti da sfatare, strategie da adottare
Dispense fornite dal docente durante le lezioni e pubblicate sulla piattaforma didattica
Programmazione del corso
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Crittografia visuale e sue applicazioni | Schneier e dispense |
| 2 | Sicurezza delle smartcard | Schneier e dispense |
| 3 | Sicurezza su LAN: Kerberos V | Stallings e dispense |
| 4 | Non ripudio: protocollo Zhou-Gollmann | Stallings e dispense |
| 5 | Non ripudio: protocollo Crispo | Stallings e dispense |
| 6 | Non ripudio: protocollo Abadi et al. | Stallings e dispense |
| 7 | Analisi di protocolli: model checking | Stallings e dispense |
| 8 | Analisi di protocolli: theorem proving | Stallings e dispense |
| 9 | Normative sulla sicurezza: il Codice Privacy e la GDPR | Stallings e dispense |
| 10 | Penetration testing: concetti di base | Stallings e dispense |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
Progetto implementativo e colloquio orale: ciascuna delle due prove produrrà un esito in trentesimi; ambedue gli esiti, mediati, concorreranno alla definizione del voto finale.
La scala di valutazione è la seguente:
La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
Gli studenti con disabilità e/o DSA dovranno contattare con sufficiente anticipo rispetto alla data dell'esame il docente, il referente CInAP del DMI e il CInAP per comunicare che intendono sostenere l'esame fruendo delle opportune misure compensative.
Esempi di domande e/o esercizi frequenti
Naturalmente, la prova potrà includere anche esercizi su altri argomenti del programma.