Il corso tratta i principi fondamentali della Sicurezza Informatica. Gli argomenti trattati includono funzioni hash crittografiche, cifrari simmetrici e asimmetrici, firme digitali, certificati digitali, protocolli di sicurezza e controllo degli accessi. Viene inoltre fornita un'introduzione alla sicurezza della rete e alla sicurezza web. Il corso prevede anche una serie di sessioni pratiche e un esercizio pratico al calcolatore (CyberEx) tipo “Capture-the-Flag”.
Per gli studenti di Informatica il CyberEx non è obbligatorio e il numero dei crediti è ridotto a 6.
This course provides the students with the fundamental principles of computer security. Topics covered include: cryptographic hash functions, symmetric and asymmetric ciphers, digital signatures, digital certificates, security protocols, and access control, and an introduction to network and web security and web security.
Gli studenti acquisiranno una conoscenza approfondita delle problematiche di sicurezza che affliggono i moderni sistemi informatici e le complesse infrastrutture ICT nonché delle tecniche utilizzate per risolverle o, quantomeno, mitigarle. Gli studenti impareranno come valutare se la riservatezza, l'integrità e la disponibilità dei dati e delle comunicazioni sono a rischio e a identificare soluzioni adeguate per raggiungere queste fondamentali proprietà di sicurezza. Il corso prevede una serie di sessioni pratiche che forniscono agli studenti la capacità di risolvere problemi pratici tratti da una varietà di ambiti: crittografia, sicurezza di rete, sicurezza dell'host e sicurezza web.
Lezioni frontali anche integrate con sessioni pratiche su argomenti selezionati (ad esempio posta sicura, sicurezza web).
Introduzione Sicurezza Informatica [1h]
I concetti di risorsa, vulnerabilità, minaccia, contromisura e rischio
Obiettivi di sicurezza: riservatezza, integrità, disponibilità, ...
Introduzione alla crittografia [2h]
Concetti fondamentali (crittografia, crittoanalisi, schema crittografico generale)
Cifrari a sostituzione monoalfabetica (cifrario di Cesare)
Cifrari a sostituzione polialfabetica (cifrario di Vigenère)
Tamponi monouso (cifratura Vernam)
Cifrature di trasposizione
Cifrazioni composite
Crittografia simmetrica [3h]
Cifrari a blocchi e in streaming
Struttura del cifrario Feistel
DES e 3DES
Modalità operative (Libro di codici elettronici, Concatenamento di blocchi di cifratura, Cifrazioni a flusso)
Collegamento e crittografia end-to-end
Il problema della distribuzione delle chiavi
Crittografia a chiave pubblica [6h]
Introduzione alla crittografia a chiave pubblica
Introduzione alla teoria dei numeri
L'algoritmo RSA
Scambio di chiavi Diffie-Hellman
Autenticazione dei messaggi e firme digitali [3h]
Integrità dei messaggi e funzioni di autenticazione (crittografia dei messaggi, codice di autenticazione dei messaggi, funzioni hash crittografiche)
Firma digitale
Infrastruttura a chiave pubblica (PKI) [3h]
Componenti PKI
Certificati digitali
Modelli di fiducia
Protocolli di sicurezza [6h]
Nozioni di base (esecuzione del protocollo, ipotesi e obiettivi, modello dell'attaccante)
Esempi di protocolli (NSPK, Otway-Rees, Andrew Secure RPC, Denning & Sacco)
Ingegneria attenta dei protocolli di sicurezza
Kerberos (architettura, protocollo, comunicazione inter-reame, limitazioni)
Posta sicura [3 ore+3 ore di intervento]
PGP
Sicurezza di rete [6 ore]
Livello di collegamento: sicurezza WiFi
Livello di rete: IP-Sec
Livello di trasporto: SSL/TLS
Introduzione ai firewall
Sicurezza Web [6 ore + 6 ore pratiche]
Sicurezza lato client (cookie e privacy, meccanismi di autenticazione HTTP)
Sicurezza lato server (input non validati, autenticazione e gestione sessioni interrotte, cross-site scripting, difetti di injection, Denial of Service, ...)
Programmazione sicura [6h]
Overflow del buffer
Vulnerabilità delle stringhe di formato
Controllo accessi [6h]
Controllo degli accessi discrezionale e obbligatorio
Modello di matrice di controllo degli accessi
Controllo degli accessi basato sui ruoli (RBAC)
Controllo degli accessi amministrativi basati sui ruoli (ARBAC)
I modelli di Bell-LaPadula, Harrison-Ruzzo-Ullman, Chinese Wall
CyberEx [12 ore pratiche]
Ricevimento: Gli incontri via MS Teams o di persona (ufficio 102, DIBRIS, via Dodecaneso 35, Genova) devono essere preventivamente concordati per email. Per le richieste di incontro va inviato un messaggio all’indirizzo alessandro.armando@unige.it con oggetto che inizia con la stringa “[SO]”.
ALESSANDRO ARMANDO (Presidente)
ENRICO RUSSO
LUCA VERDERAME (Presidente Supplente)
https://courses.unige.it/11160/p/students-timetable
L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy
Scritto
La prova scritta valuterà
La comprensione dei problemi e delle tecniche fondamentali della Sicurezza Informatica
la capacità di valutare criticamente le caratteristiche delle diverse soluzioni ai classici problemi di sicurezza (es. protezione dei dati, autenticazione, autorizzazione)
La prova pratica valuterà
La capacità di utilizzare strumenti di penetration test
la capacità di scoprire vulnerabilità ed exploit nei sistemi informatici.
Gli studenti con certificazione di Disturbi Specifici dell'Apprendimento (DSA), disabilità o altri bisogni educativi speciali devono contattare il docente all'inizio del corso per concordare modalità di insegnamento e di esame che, nel rispetto degli obiettivi del corso, tengano conto degli stili di apprendimento e delle esigenze individuali. prevedere adeguati strumenti compensativi. Si ricorda che la richiesta di misure compensative/dispensative per gli esami deve essere indirizzata al docente del corso, al rappresentante della Scuola e all'ufficio “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” (dsa@unige.it<e-mail:dsa@unige.it>) almeno 10 giorni lavorativi prima della prova, come da linee guida disponibili al link: https://unige.it/disabilita-ds