Insegnamento CYBERSECURITY WITH LABORATORY
Nome del corso di laurea | Informatica |
---|---|
Codice insegnamento | A002632 |
Curriculum | Cybersecurity |
Docente responsabile | Stefano Bistarelli |
CFU | 15 |
Regolamento | Coorte 2023 |
Erogato | Erogato nel 2023/24 |
Erogato altro regolamento | |
Anno | 1 |
Periodo | Secondo Semestre |
Tipo insegnamento | Obbligatorio (Required) |
Tipo attività | Attività formativa integrata |
Suddivisione |
MOD. I - ADVANCED PRINCIPLES AND PRACTICES
Codice | A002637 |
---|---|
CFU | 9 |
Docente responsabile | Stefano Bistarelli |
Docenti |
|
Ore |
|
Attività | Caratterizzante |
Ambito | Discipline informatiche |
Settore | INF/01 |
Tipo insegnamento | Obbligatorio (Required) |
Lingua insegnamento | Inglese. Se richiesto in Italiano. |
Contenuti | 1 Introduzione 2 ACM curriculum guidelines per IAS 3 Storia della Sicurezza 4 IAS/Foundational Concepts in Security 5 IAS/Principles of Secure Design 6 IAS/Defensive Programming 7 IAS/Threats and Attacks 8 IAS/Network Security 9 IAS/Cryptography 10 laboratory activity 11 Capture the Flag competition (CTF) -------------------- Il corso offre allo studente elementi di sicurezza avanzata riguardanti principalmente Defensive Programming, Identity Management, Sicurezza di OS e Container (Docker), Sicurezza di smart contract in linguaggio Solidity |
Testi di riferimento | Dispense docente e libri di testo consigliati a lezione: Computer Security by Dieter Gollmann Introduction to Computer Security by Matt Bishop COMPUTER SECURITY by WILLIAM STALLINGS and Lawrie Brown Principles of Information Security by Michael E. Whitman and Herbert J. Mattord Security in Computing by Charles P. Pfleeger and Shari Lawrence Pfleeger ----------------- Secure Coding in C and C++ Author: Robert Seacord Series: SEI Series in Software Engineering Paperback: 600 pages Publisher: Addison-Wesley Professional; 2 edition (April 12, 2013) Language: English ISBN-10: 0321822137 ISBN-13: 978-0321822130 Title: Container Security: Fundamental Technology Concepts that Protect Containerized Applications 1st Edition. O'Reilly Media; 1st edition (April 28, 2020). Paperback 200 pages. ISBN-10 : 1492056707 ISBN-13 : 978-1492056706 Title: Mastering Ethereum: Building Smart Contracts and DApps Author: Andreas M. Antonopoulos, Gavin Wood Ph. D. Paperback: 424 pages Publisher: O'Reilly Media; 1 edition (December 23, 2018) Language: English ISBN-10: 1491971940 ISBN-13: 978-1491971949 Solving Identity Management in Modern Applications: Demystifying OAuth 2.0, OpenID Connect, and SAML 2.0. Publisher : Apress; 1st ed. edition (December 19, 2019). Paperback : 337 pages. ISBN-10 : 148425094X ISBN-13 : 978-1484250945 |
Obiettivi formativi | Capire il significato di sicurezza informatica nei suoi attributi di confidenzialità, integrità e disponibilità. Capire le problematiche dei sistemi Sicuri ma connessi su reti insicure. Capire le nozioni più importanti di sicurezza informatica, sicurezza di rete e sicurezza dei dati e dei programmi. Saper gestire attacchi e compromissioni di sistemi, reti e dispositivi mobili. |
Prerequisiti | Conoscenza del protocollo TCP/IP (indspensabile), conoscenza della programmazione C e del funzionamento della chiamata di procedura e funzione (importante), conoscenza del linguaggio SQL (indspensabile) Aver sostenuto con successo l'esame di Programmazione, Reti, Sistemi Operativi, Basi di Dati (importante) |
Metodi didattici | Lezioni frontali e di laboratorio. Possibili seminari di ospiti. |
Altre informazioni | Frequenza è fortemente consigliata. |
Modalità di verifica dell'apprendimento | Colloquio orale della durata media di 30 minuti su argomenti di tutto il programma che evidenzia le capacità espositive dello studente, le sue capacità d'utilizzo appropriato di tecniche e nozioni fondamentali e l'approfondimento dello studio. Possibilità di specifici progetti o seminari. Su richiesta dello studente l'esame può' essere sostenuto in lingua Italiana o Inglese. Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa |
Programma esteso | 1 Introduzione Introduction, prerequisites, textbooks, exam rules 2 ACM curriculum guidelines per IAS from ACM curriculum guidelines, with reference to books where to find specific subjects 3 Storia della Sicurezza story of security 4 IAS/Foundational Concepts in Security CIA (Confidentiality, Integrity, Availability): RIF. Gollmann cap. 3, Bishop cap. 1, Stallings cap. 1, Whitman cap. 1, Pfleeger cap. 1, Anderson cap. 1 Concepts of risk, threats, vulnerabilities, and attack vectors: RIF. Gollmann cap. 2, Bishop cap. 1e18e23, Stallings cap. 1e14, Whitman cap. 1e2(e4), Pfleeger cap. 1 CH01-CompSec3e-note ... rif a security risk analysis, attack trees e indici, Authentication and authorization, access control (mandatory vs. discretionary): RIF. Gollmann cap. 4e5, Bishop cap. 4(e5-8)e12, Stallings cap. 3e4, Whitman cap. 6prima_parte Policies: chapter 4 Bishop Bell-LaPadula: chapter 5 bishop ,cascade problem , secure reconfiguration Biba e Clarck-Wilson: chapter 6 bishop, Chinese Wall Model, ORCON, RBAC: chapter 7 bishop, Crittografia, firma digitale, pki e certificati, protocolli di autenticazione (Needham-Schroeder, Woo-Lam): chapter 8,9,10 bishop, note su diffie-hellman Metodi di autenticazione, Kerberos: chapter 9,11 bishop, Concept of trust and trustworthiness: RIF. Gollmann cap. 13, Bishop chapter. 18e19, Stallings chapter. 13, Pfleeger chapter. 5 Ethics (responsible disclosure): RIF. Stallings chapter. 19, Whitman chapter. 3ultima_parte, Pfleeger chapter. 9ultima_parte 5 IAS/Principles of Secure Design (RIF Bishop cap. 13) Least privilege and isolation, Fail-safe defaults, Open design, End-to-end security, Defense in depth (e.g., defensive programming, layered defense), Security by design, Tensions between security and other design goals, Complete mediation, Use of vetted security components, Economy of mechanism (reducing trusted computing base, minimize attack surface), Usable security , Security composability Prevention, detection, and deterrence 6 IAS/Defensive Programming Input validation and data sanitization, Choice of programming language and type-safe languages, Examples of input validation and data sanitization errors Buffer overflows documentazione di riferimento Integer errors SQL Injection, documentazione di riferimento XSS vulnerability, documentazione di riferimento Race conditions Correct handling of exceptions and unexpected behaviors Correct usage of third-party components Effectively deploying security updates 7 IAS/Threats and Attacks Attacker goals, capabilities, and motivations Examples of malware (e.g., viruses, worms, spyware, botnets, Trojan horses, or rootkits) Denial of Service (DoS) and Distributed Denial of Service (DDoS) Social engineering (e.g., phishing) Whitman chapter. 2, Gollmann: chapter 10, bishop: chapter 22, 26, stalling: 6, 7, 10, 11, pfledger: chapter 3 8 IAS/Network Security RIF: Whitman chapter. 2, Gollmann: chapter 17, bishop: chapter 29, stalling: 8, 9 , pfledger: chapter 7 Network specific threats and attack types (e.g., denial of service, spoofing, sniffing and traffic redirection, man-in-the-middle, message integrity attacks, routing attacks, and traffic analysis) Use of cryptography for data and network security Architectures for secure networks (e.g., secure channels, secure routing protocols, secure DNS, VPNs, anonymous communication protocols, isolation) Defense mechanisms and countermeasures (e.g., network monitoring, intrusion detection, firewalls, spoofing and DoS protection, honeypots, tracebacks 9 IAS/Cryptography Basic Cryptography Terminology covering notions pertaining to the different (communication) partners, secure/insecure channel, attackers and their capabilities, encryption, decryption, keys and their characteristics, signatures Cipher types (e.g., Caesar cipher, affine cipher) together with typical attack methods such as frequency analysis Public Key Infrastructure support for digital signature and encryption and its challenges ---------------------- Defensive programming taxonomy Stack overflows Heap overflows Shellcode Input validation and data sanitization Mitigation Operating system support (e.g., address space randomization, canaries) Integer errors Concurrency and race conditions Static and dynamic analysis Program Verification Fuzz Testing Identity management OAuth2.0 OpenID Connect SAML File rights management in Linux Cgroup, Namespace, Chroot Contaner security Introduction to Ethereum Smart Contract Security in Solidity |
MOD. II -LABORATORY
Codice | A002638 |
---|---|
CFU | 6 |
Docente responsabile | Stefano Bistarelli |
Docenti |
|
Ore |
|
Attività | Caratterizzante |
Ambito | Discipline informatiche |
Settore | INF/01 |
Tipo insegnamento | Obbligatorio (Required) |
Lingua insegnamento | INGLESE |
Contenuti | Il corso ha una forte connotazione laboratoriale. Gli studenti dovranno affrontare e risolvere CTF di vario tipo e testare in laboratorio tecniche di attacco e mitigazione. |
Testi di riferimento | Slide fornite dal docente. Link a materiale e tutorial per ogni argomento. |
Obiettivi formativi | Il corso ha una forte connotazione laboratoriale. Verrano sperimentati i concetti di sicurezza attraverso gamificazione ed eventi Capture the Flag (CTF). |
Prerequisiti | Nozioni generali di Programmazione, Sistemi Operativi, Reti. Gli argomenti trattati nel corso di Cybersecurity: ADVANCED PRINCIPLES AND PRACTICES (per il quale è richiesto anche aver sostenuto l'esame). |
Metodi didattici | Lezioni frontali con slide in inglese. Esercitazioni in laboratorio. |
Altre informazioni | La frequenza delle lezioni è fortemente consigliata. Calendario esami: consultare il sito www.informatica.unipg.it |
Modalità di verifica dell'apprendimento | Valutazione effettuata monitorando le CTF eseguite nel corso delle attività di laboratorio. Esame orale. Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa |
Programma esteso | CTF di tipo reversing, pwn, web, crypto, forensics. OSINT. |