CYBERSECURITY
Anno accademico 2024/2025 - Docente: Giampaolo BELLARisultati di apprendimento attesi
- Conoscenza e capacità di comprensione (knowledge and understanding). Lo studente acquisisce conoscenza critica dei problemi di sicurezza che affiggono Internet oggigiorno, nonchè degli strumenti esistenti per arginare tali problemi. Ad esempio, il protocollo più diffuso su Internet, SSL/TLS, viene studiato nel dettaglio insieme al suo recente bug heartbleed.
- Capacità di applicare conoscenza e comprensione (applying knowledge and understanding). Lo studente compendia la conoscenza di problemi e strumenti di sicurezza con la loro applicazione pratica alla costruzione di un mini laboratorio di computer portatili. In particolare, tale applicazione richiede la configurazione di macchine interconnesse in modo che i dati scambiati si mantengano sicuri da un attaccante dotato di potenzialità offensive reali.
- 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. Questo processo viene poi reiterato fino a quando gli unici attacchi possibili avrebbero costi improponibili.
- 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”, ad esempio nella sua diversità dalla “crittografia”. In particolare, si chiarisce che l'aggetivo “sicuro” è definibile a seconda dell'applicazione con una ben precisa proprietà che resista a un ben preciso attaccante.
- 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. Viene istruito alla definizione del sistema, dei suoi requisiti di sicurezza nonchè alla configurazione degli strumenti che possano raggiungere i requisiti malgrado l'azione illecita di un preciso attaccante.
Modalità di svolgimento dell'insegnamento
Le lezioni combinano l'utilizzo della lavagna tradizionale e di slide videoproiettate con una forte interazione docente-studenti anche per via della costruzione in aula di un mini laboratorio portatile. Su tale laboratorio si svolveranno delle prove in itinere, lezione per lezione, sotto forma di "mini-challenge" pratico-applicativi. In particolare, lo studente riceve durante una lezione un compito da studiare e preparare a casa per poi riprodurlo in classe la lezione successiva sul mini laboratorio portatile. Consultare l'orario ufficiale sul sito del CdL in Informatica Triennale.
Prerequisiti richiesti
Buone capacità logico-deduttive. Elementi di sistemi operativi e reti di calcolatori.
Frequenza lezioni
La frequenza delle lezioni è obbligatoria, con le modalità e le limitazioni previste dal Manifesto degli studi L-31 e dal Regolamento Didattico di Ateneo.
Contenuti del corso
Lezioni frontali:
Esempi reali e falsi miti di sicurezza
Proprietà, attacchi e attaccanti
Cenni di crittografia
Protocolli di sicurezza classici
Autenticazione
Politiche di sicurezza e privatezza
Malware
Intrusioni
Protocolli di sicurezza per Internet
Firewall
Costruzione del mini laboratorio:
Networking
Password sniffing
Traffic analysis
Intrusion detection
Malware experimenting
Firewalling
SQL injection
Cross-site scripting
Inoltre, in base al rendimento degli studenti durante il corso, il docente valutera' l'organizzazione di un Capture The Flag del tipo http://ictf.cs.ucsb.edu
Gli eventi recenti sono documentati su http://www.dmi.unict.it/giamp/ctf/
Testi di riferimento
Posteriormente alle lezioni, il docente fornisce agli studenti le slide utilizzate. Esse possono essere sfruttate come una precisa descrizione del programma dell'insegnamento, ma mai come strumento fondamentale di studio. Vanno pertanto integrate con materiale proveniente dai libri di testo, da articoli scientifici reperibili su Internet e, idealmente, con le note che lo studente può prendere durante le lezioni.
Testi consigliati
- William Stallings: Sicurezza delle reti. Applicazioni e standard
- Bruce Schneier: Sicurezza digitale. Miti da sfatare, strategie da adottare
Programmazione del corso
Argomenti | Riferimenti testi | |
---|---|---|
1 | Esempi di attacchi reali e falsi miti | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
2 | Proprietà, attacchi e attaccanti | William Stallings ''Sicurezza delle reti. Applicazioni e standard'' |
3 | Cenni di crittografia | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
4 | Protocolli di sicurezza classici | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
5 | Tecniche di autenticazione | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
6 | Politiche di sicurezza e privatezza | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
7 | Malware e tecniche di rimozione | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
8 | Intrusioni e tecniche di rilevamento e contenimento | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
9 | Protocolli di sicurezza per Internet | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
10 | Firewall e loro configurazione | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
11 | Laboratorio di networking sicuro | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
12 | Laboratorio di password sniffing e cracking | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
13 | Laboratorio di traffic analysis | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
14 | Laboratorio di intrusion detection | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
15 | Laboratorio di malware containment | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
16 | Laboratorio di SQL injection | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
17 | Laboratorio di cross-site scripting | William Stallings "Sicurezza delle reti. Applicazioni e standard" |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
- Prove in itinere facoltative di configurazione pratica di laboratorio con risoluzione di problemi reali. Queste si svolgeranno lezione per lezione sotto forma di "mini-challenge" da operare sul mini laboratorio portatile costruito in aula.
- Progetto implementativo.
- Colloquio orale.
La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
La prova è strutturata in modo che ad ogni studente sia attribuito un voto secondo il seguente schema:
Non approvato: lo studente non ha acquisito i concetti di base e non è in grado di rispondere ad almeno il 60% delle domande né di svolgere gli esercizi.
18-23: lo studente dimostra una padronanza minima dei concetti di base, le sue capacità di collegamento dei contenuti sono modeste, riesce a risolvere semplici esercizi.
24-27: lo studente dimostra una buona padronanza dei contenuti del corso, le sue capacità di collegamento dei contenuti sono buone, risolve gli esercizi con pochi errori.
28-30 e lode: lo studente ha acquisito tutti i contenuti del corso ed è in grado di padroneggiarli compiutamente e di collegarli con spirito critico; risolve gli esercizi in modo completo e senza errori.
Gli studenti con disabilità e/o DSA dovranno contattare con sufficiente anticipo rispetto alla data dell'esame il docente e il referente CInAP del DMI per comunicare che intendono sostenere l'esame fruendo delle opportune misure compensative.
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.
Esempi di domande e/o esercizi frequenti
- Prove in itinere: realizzare un attacco forza bruta sul file delle password.
- Progetto implementativo: implementare un protocollo di sicurezza giocattolo tramite socket cifrate.
- Colloquio orale: descrivere la costruzione del Master Secret in TLS.