CODICE 80156 ANNO ACCADEMICO 2024/2025 CFU 6 cfu anno 3 INFORMATICA 8759 (L-31) - GENOVA 9 cfu anno 1 COMPUTER ENGINEERING 11160 (LM-32) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05 LINGUA Inglese SEDE GENOVA PERIODO 1° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE 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. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Upon completion of the course, students will be able to: explain the concepts of confidentiality, availability, and integrity (CIA) as well as the concepts of threat, vulnerability, exploit and (cyber-)risk and (cyber-)risk mitigation; explain the strengths and weaknesses of cryptographic techniques as well as their role in protecting data at rest and in transit, in implementing the concept of digital signature and in supporting the design of security protocols; explain the security model of web browsers and identify the most relevant vulnerabilities of web applications; explain the causes and effects of buffer overflows in executable programs; explain the key principles of access control in information systems and most relevant access control models and mechanisms. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO 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. PREREQUISITI Buone capacità di programmazione Fondamenti di architetture e sistemi operativi degli elaboratori Fondamenti dei protocolli di comunicazione e del TCP/IP MODALITA' DIDATTICHE Lezioni frontali anche integrate con sessioni pratiche su argomenti selezionati (ad esempio posta sicura, sicurezza web). PROGRAMMA/CONTENUTO 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] TESTI/BIBLIOGRAFIA Il materiale didattico (slides ed esercizi) è disponibile su AulaWeb. Charles P. Pfleeger Shari Lawrence Pfleeger. Security in Computing, 4/E. ISBN-10:0132390779, ISBN-13: 9780132390774, Prentice Hall Editor, 2007. (Available also in Italian) William Stallings, Lawrie Brown. Computer Security: Principles and Practice (3rd Edition). Pearson Ed., 2015 DOCENTI E COMMISSIONI ALESSANDRO ARMANDO 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]”. Commissione d'esame ALESSANDRO ARMANDO (Presidente) ENRICO RUSSO LUCA VERDERAME (Presidente Supplente) LEZIONI INIZIO LEZIONI https://courses.unige.it/11160/p/students-timetable Orari delle lezioni COMPUTER SECURITY ESAMI MODALITA' D'ESAME Scritto MODALITA' DI ACCERTAMENTO 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 Calendario appelli Data appello Orario Luogo Tipologia Note 10/01/2025 16:00 GENOVA Scritto B2 21/01/2025 14:00 GENOVA Laboratorio Aula Software 1 - Valletta Puggia 05/02/2025 16:00 GENOVA Scritto Room 505 & 506 (Valletta Puggia Via Dodecaneso, 35) 14/02/2025 15:00 GENOVA Laboratorio 12/06/2025 16:00 GENOVA Scritto 10/07/2025 16:00 GENOVA Scritto 22/07/2025 15:00 GENOVA Laboratorio 01/09/2025 16:00 GENOVA Scritto Agenda 2030 Istruzione di qualità Parità di genere Lavoro dignitoso e crescita economica Imprese, innovazione e infrastrutture