Studiare

In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.

Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso.
Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:

Laurea magistrale in Ingegneria e scienze informatiche - Immatricolazione dal 2025/2026
Le attività formative in ambito D o F comprendono gli insegnamenti impartiti presso l'Università di Verona o periodi di stage/tirocinio professionale.
Nella scelta delle attività di tipo D, gli studenti dovranno tener presente che in sede di approvazione si terrà conto della coerenza delle loro scelte con il progetto formativo del loro piano di studio e dell'adeguatezza delle motivazioni eventualmente fornite.

 
Anno accademico:
I semestre Dal 01/10/20 Al 29/01/21
anni Insegnamenti TAF Docente
1° 2° Linguaggio Programmazione Matlab-Simulink D Bogdan Mihai Maris (Coordinatore)
1° 2° Sfide di programmazione D Romeo Rizzi (Coordinatore)
II semestre Dal 01/03/21 Al 11/06/21
anni Insegnamenti TAF Docente
1° 2° Introduzione alla stampa 3D D Franco Fummi (Coordinatore)
1° 2° Linguaggio programmazione Python D Vittoria Cozza (Coordinatore)
1° 2° Progettazione di componenti hardware su FPGA D Franco Fummi (Coordinatore)
1° 2° Prototipizzazione con Arduino D Franco Fummi (Coordinatore)
1° 2° Tutela dei beni immateriali (SW e invenzione) tra diritto industriale e diritto d’autore D Roberto Giacobazzi (Coordinatore)
Elenco degli insegnamenti con periodo non assegnato
anni Insegnamenti TAF Docente
1° 2° Lab.: The fashion lab (1 cfu) D Maria Caterina Baruffi (Coordinatore)
1° 2° Minicorso Blockchain D Nicola Fausto Spoto (Coordinatore)

Codice insegnamento

4S008904

Crediti

6

Coordinatore

Massimo Merro

Lingua di erogazione

Italiano

Settore Scientifico Disciplinare (SSD)

INF/01 - INFORMATICA

L'insegnamento è organizzato come segue:

Teoria

Crediti

5

Periodo

II semestre

Laboratorio

Crediti

1

Periodo

II semestre

Obiettivi formativi

L’insegnamento si propone di presentare le principali metodologie e tecnologie per garantire la sicurezza delle reti informatiche e dei sistemi informatici distribuiti in generale. Al termine del corso lo studente dovrà dimostrare di conoscere le principali nozioni teoriche e applicative per la progettazione, la realizzazione pratica e l'analisi formale di strumenti e protocolli per la sicurezza delle reti e dei sistemi informatici distribuiti. Queste conoscenze consentiranno allo studente di confrontare diverse tecniche di protezione delle reti e scegliere tra queste la più adeguata a seconda del contesto d'uso e di fare le scelte progettuali più appropriate in fase di definizione di una nuova rete informatica. Lo studente sarà quindi in grado di proseguire gli studi nell’ambito della sicurezza delle reti e dei sistemi distribuiti in maniera auto-diretta, studiando autonomamente, e presentando in modo chiaro e privo di ambiguità, nuove vulnerabilità delle reti informatiche e le relative soluzioni adottate per mitigarne gli effetti.

Programma

Didattica frontale (44 ore)
-- Introduzione all'Information security
-- Proprietà classiche di sicurezza (Confidentiality, Integrity, Availability, Accountability, Authentication)
-- Obiettivi, rischi, attacchi
-- Crittografia a chiavi simmetriche e asimmetriche
-- Il problema della distribuzione delle chiavi segrete
-- Integrità dei messaggi e autenticazione dei messaggi
-- Certificati e modelli di trust
-- Infrastrutture a chiavi pubbliche
-- Casi di studio di infrastrutture a chiavi pubbliche (X.509, PGP)
-- Protocolli crittografici classici per lo scambio di chiavi
-- Tassonomia di attacchi per protocolli crittografici classici
-- Tecniche per la progettazione di protocolli crittografici corretti
-- Protocolli per la sicurezza di rete a diversi livelli
-- Casi di studio (Kerberos, Security Socket Layer SSL, Internet Key Exchange IKE, IP Security IPSec)
-- Privacy e anonimità
-- Politiche di anonimato, problemi tecnici, meccanismi implementativi (pseudonimi e proxies)
-- Casi di studio (Mix Networks, Crowds, Onions networks, TOR)
-- Firewalls (packet filter, stateful, application level, circuit level)
-- Intruders e Intrusion Detection Systems.

Laboratorio (12 ore):

--Analisi del traffico di rete:
* Sistemi di filtraggio di pacchetti (firewall) più diffusi. Introduzione a Netcat, Wireshark e tcpdump.
* Scrittura di un port scanner in Python. Accenni al tool nmap.
* Indirizzi fisici e protocollo ARP, tabelle ARP ed attacchi di tipo ARP spoofing. Il concetto di ARP poisoning. Il tool Ettercap. Modalità di rilevazione di attacchi basati sull'ARP spoofing e mitigazione dei rischi.
* Accenni alle modalità di striping di header HTTP. Tool SSLStrip e Bettercap.
* Limiti del livello di rete come strumento di difesa per attacchi al livello applicativo.

-- Rilevamento di anomalie nel traffico di rete:
* Analisi dei log per la rilevazione di attacchi. Accenni alle modalità di configurazione di IPS ed IDS basati sui log.
* Errori di configurazione tipici del livello di rete e conseguenti rischi ai livelli superiori. Le maggiori vulnerabilità delle applicazioni web derivanti dal livello di rete (A5: security misconfiguration, A6: sensitive data exposure, A9 Using known vulnerable components), furto di credenziali di autenticazione, token di sessione ed informazioni sensibili in genere). Esempi di ARP poisoning.
* l firewall Linux Netfilter: funzionalità e modalità di funzionamento, tabelle, catene, regole, target e policy di default. Accenni al QoS e suo utilizzo per connessioni che richiedono particolari garanzie di latenza. Accenni alle modalità di ottimizzazione delle regole di filtraggio per favorirne il funzionamento.
* Le estensioni di Netfilter per il matching dello stato delle connessioni (new, established, related ed invalid), i tipi di indirizzi (unspec, local prohibit, unicast, broadcast), i commenti, i limiti ed il concetto di burst, i filtri a livello di mac address, utilizzo del firewall per mitigare attacchi di tipo ARP spoofing.

-- Verifica delle configurazioni di filtraggio del traffico di rete e IDS:
* Progettazione di un sistema IDS. Esempio di attivazione di IDS per un infrastruttura web. Implementazione di sistema IPS per attacchi di tipo a forza bruta su credenziali ftp e nel caso di scansione delle porte. Scrittura di prototipo di IPS tramite il firewall iptables e la shell Linux. L'IPS OSSEC.
* Caso di studio: attacchi di tipo SYN flood (half-open-attack) e modalità di mitigazione degli impatti: limitazione delle risorse assorbite dall'attacco mediante strumenti di rete.
* Considerazioni sull'efficacia della sicurezza tramite progressive chiusure di rete.
* Comparazione del firewall Netfilter con ASA di CISCO (accenni) e PF (sistemi BSD).
* Esercitazione guidata nell'utilizzo del firewall enterprise pfSense (community edition).
* Le funzioni di affasciamento di connessioni, port forwarding e definizione di regole di filtraggio offerte dal firewall OpenWRT per sistemi embedded.

Bibliografia

Testi di riferimento
Attività Autore Titolo Casa editrice Anno ISBN Note
Teoria William Stallings Network Security Essentials: Applications and Standards (6th Edition) (Edizione 6) Prentice Hall 2017 ISBN-10: 013452733X

Modalità d'esame

La verifica dell'esame avviene tramite:
- una prova orale riguardante gli argomenti affrontati durante le lezioni frontali;
- la presentazione di un progettino su argomento attinente al laboratorio.

Il voto finale deriva dalla media delle valutazioni in trentesimi ottenute nella prova orale e nella discussione del progetto.

Le/gli studentesse/studenti con disabilità o disturbi specifici di apprendimento (DSA), che intendano richiedere l'adattamento della prova d'esame, devono seguire le indicazioni riportate QUI