Insegnamento CYBERSECURITY FUNDAMENTALS

Corso
Matematica
Codice insegnamento
A002683
Curriculum
Matematica per la crittografia
Docente
Stefano Bistarelli
Docenti
  • Stefano Bistarelli
  • Ivan Mercanti (Codocenza)
  • Francesco Santini (Codocenza)
Ore
  • 31 ore - Stefano Bistarelli
  • 7 ore (Codocenza) - Ivan Mercanti
  • 25 ore (Codocenza) - Francesco Santini
CFU
6
Regolamento
Coorte 2023
Erogato
2024/25
Attività
Affine/integrativa
Ambito
Attività formative affini o integrative
Settore
INF/01
Tipo insegnamento
Opzionale (Optional)
Tipo attività
Attività formativa monodisciplinare
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
Condividi su