[CySec]
Cybersecurity
ex Sicurezza dei Sistemi
Informatici e delle Reti
Anno Accademico
2023-2024
Laurea magistrale in ingegneria informatica (DM. 270), 2º anno, 6
cfu
Docente: Maurizio
Pizzonia - Dip. Ingegneria (sezione Inf e Autom., ex DIA) stanza
225.
Collaboratore: Lorenzo Airemma
Orario di ricevimento studenti: su appuntamento, contattare il docente via MS-Teams o email.
Prerequisiti: Reti di Calcolatori e Sistemi
Operativi (importanti); Infrastrutture delle Reti di
Calcolatori
(consigliato).
Periodo: dal 5 ottobre 2023 al 19 gennaio 2024.
Giorni della settimana, orario e aule : vedi
calendario delle lezioni della laurea magistrale pubblicato dal
collegio
didattico
di ingegneria
informatica.
Obiettivi del corso
- motivare verso lo studio e l’applicazione della cybersecurity,
- fornire
strumenti per la progettazione e la gestione di sistemi informatici e
reti con certe garanzie di sicurezza, con particolare riferimento ad
ambiti produttivi,
- mettere in grado di comprendere le emergenti tecnologie legate alle blockchain e le loro caratteristiche,
- fornire le basi per poter affrontare l’approfondimento di tematiche specifiche in autonomia.
Modalità di erogazione
Il corso è erogato in presenza e registrato tramite la piattaforma MS-Teams dell'Universtà Roma Tre ed è presente
nel sistema
Moodle del Dipartimento di
Ingegneria
accessibile solo agli studenti di Roma Tre. Per accedere alle lezioni
nel Team gli studenti devono sottoscrivere il corso su Moodle.
Ulteriori dettagli sulle
guide
di ateneo. Eventuali persone esterne che volessero seguire il corso e quindi accedere al team devono
contattare il docente.
Materiale didattico
Materiale di studio.
- Slides proiettate a lezione e scaricabili da questo sito.
- David A. Wheeler,"Secure
Programming
for Linux and Unix HOWTO". On-line, part of the Linux
Documentation
Project.
- Oskar Andreasson,"Iptables
Tutorial". On-line.
- C. Ellison, B.
Schneier, "Ten Risks of PKI: What You're Not Being Told About Public
Key Infrastructure", Computer Security Journal, v 16, n 1, 2000, pp.
1-7.
- A. Antonopoulos, G, Wood, Mastering ethereum: building
smart contracts and dapps. O'Reilly Media, 2018
Testi di riferimento il cui acquisto non è strettamente necessario.
- M. Bishop, "Computer Security: Art and Science", Addison-Weslesy.
- C. Kaufman, R. Perlman, M. Speciner, "Network Security: Private
Comunication in a Public World (second edition)", Prentice Hall.
- C. Pfleeger, S. Pfleeger, "Sicurezza in informatica", Pearson -
Prentice Hall.
- A. Antonopoulos, Mastering Bitcoin, 2nd Edition, O'Reilly, ,2017
Programma delle Lezioni
Il programma viene aggiornato con le slide e con eventuali
variazioni degli argomenti.
Gli argomenti con link non attivi devono essere considerati provvisori.
- Introduzione al
corso
-
Introduzione
alla sicurezza informatica e terminologia
- Vulnerabilità e minacce
- Vulnerabilità del software:
- correttezza dei programmi,
vlunerabilità, programmazione difensiva e by contract, definizione di input fidato e non fidato,
cybercrime, cert, statistiche sulle vulnerabilità
- Web security in pratica:
Prerequisiti
HTTP, PHP, sessioni, HTTP
requests in python
Command and code
injection
File
disclosure, server side request forgery
SQL injection
Cross site scripting (XSS), Cross Site
Request Forgery (CSRF)
-
Attacchi
di tipo buffer overflow . Rilevanza e impatto, principi di funzionamento (memory layout del processo
e dello stack),
simulazione dell'exploit, rassegna delle difficoltà nella creazione di un exploit per buffer overflow,
NOP, input troncato,
metodi per scrivere l'exploit, esempio exploit, test, contromisure, canaries, ASLR, NX. Varianti: string
size, heap based, length overflow.
Return Oriented Programming. Rassegna di tools.
- Vulnerabilità
delle
reti : sniffing, mac flood, ARP poisoning, vulnerabilità
del
DNS, attacco di Kaminsky. TCP session hijecking, attacchi MitM, DOS
e
Distributed DoS, Amplification, Route
hijacking, BGP biggest security hole.
- Pianificazione della sicurezza: contenuti
del piano di sicurezza,
analisi dei rischi, mitigazione.
- Contromisure
- Principi
di
progettazione
di politiche e meccanismi
- Modelli:
Modelli architetturali:AAA,
reference monitor, delega. Modelli per l'espressione di policy: DAC, MAC, access control matrix
- Sicurezza dei sistemi:
- Sicurezza delle reti:
-
Hardening.
- Considerazioni
sui
sistemi per la rilevazione automatica di problemi/anomalie
- Tecniche crittografiche:
-
richiami di
crittografia (hash, message authentication codes, crittografia simmetrica, stream/block ciphers,
operation modes, crittografia asimmetrica, firma
digitale),
attacchi birthday, rainbow, qualità delle chiavi,
generazione di numeri
pesudo-casuali.
-
Protocolli
di autenticazione e di scambio di chiavi. Attacchi replay e
reflection.
Nonces. Perfect Forward Secrecy. Diffie-Helman.
-
Certificati,
certification authority, public key infrastructure e loro
vulnerabilità.
- Applicazioni:
- Distributed
Ledger
Technologies (blockchains): classificazione, elementi architetturali, strutture dati autenticate, algoritmi di consenso, attacchi al consenso, Proof of Work, Bizantine-Fault Tolerant, Proof of Stake, il trilemma della scalabilità
- Smart
contracts, garanzie di sicurezza, il modello di Ethereum, Solidity, aspetti sullo sviluppo.
- Hardware security: attacchi Rowhammer e Meltdown, impatto e contromisure.
- Materiale utile ma fuori programma.
Per sostenere l'esame non necessario la consultazione di questo
materiale, che non è stato mostrato a lezione.
- Malaware e
scocial
engineering : virus, worm, trojan, rootkit, spyware, adware,
botnet, market, cyberwar, phishing.
-
confinamento
in sistemi dac (jailing e virtualizzazione), selinux, apparmor
- Sicurezza di sistema
- Windows
- Esercizi su
access control e sicurezza di sistema
- Esercizi sulla
sicurezza delle reti
-
Esercizi
su protocolli di autenticazione e scambio di chiavi
- Sicurezza nei
sistemi di controllo industriali, panoramica su malware e adavanced
persistent threates, strutture dati autenticate e Merkle hash
trees, integrità per USB memory sticks nell'ambito dei sistemi critici
(Host Integrity System), protezione da attacchi al firmware tipo BadUSB
(USBCheckIn)
- Authenticated data structures
- DLT e Bitcoin
- Cybersecurity nella grandi organizzazioni
Esami, esoneri e vecchi appelli
La prova di esame sarà sia pratica (in laboratorio) che scritta. Quest'anno sono previste degli esoneri (o
valutazioni in itinere).
Per l'esame e' obbligatorio prenotarsi mediante il sito
GOMP.
Le procedure per le prenotazioni per gli esoneri verranno comunicate in prossimità degli esoneri.
Regolamento esami ed esoneri
- L’esame consiste di una prova pratica di laboratorio che pesa 2 CFU e una prova teorica scritta che pesa 4
CFU.
- Alternativamente ci si può avvalere della valutazione in itinere consistente in 3 esoneri (comprendente sia
pratica che teoria). Gli esoneri si terranno secondo il seguente calendario (provvisorio)
- Giovedì 9 Novembre 2023 ore 8:15 in aula CampusOne
- Giovedì 7 Dicembre 2023 ore 8:15 in aula CampusOne
- Il terzo esonero probabilmente coinciderà con la sessione d’esame in aula CampusOne
- Lo studente avrà la possibilità durante la sessione d’esame di scegliere se mantenere la valutazione dei primi
due esoneri (e quindi la sua prova sarà limitata al terzo esonero) o scartare gli esoneri e svolgere l’esame
completo.
- Il risultato della valutazione in itinere, qualora accettato dallo studente, potrà essere utilizzato solo
nella prima sessione d’esame di febbraio. In altri termini, chi non si presenta all’appello di febbraio rinuncia
alla valutazione degli esoneri.
- La valutazione delle prove di laboratorio in itinere prevede 3 prove in tutto. Il voto si otterrà facendo la
media aritmetica dei voti delle 3 prove. L’eventuale assenza in una delle prove verrà contata con voto pari a
zero per la prova in oggetto.
- L’accesso a ciascuna delle 3 prove in itinere o all’esame è subordinato ad aver svolto alcuni esercizi a casa
(homework), i quali però non saranno oggetto di valutazione.
- Durante le prove di laboratorio, per la parte pratica, gli studenti potranno accedere a Internet, ma sarà
chiaramente vietata ogni forma di comunicazione con chiunque e con qualsiasi forma di AI e chatbot.
Vecchi compiti di esame
Notare che l'esame ha subito nel tempo dei cambiamenti. In alcuni anni (fino al 2023) e stata persente una tesina da
(2cfu).
Nel 2024 è prevista una prova pratica
ma non sono previste le tesine.
Collegio didattico di
Ingegneria Informatica
Questa pagina è mantenuta da Maurizio Pizzonia.