LAB OF COMPUTER SECURITY

Anno accademico
2019/2020 Programmi anni precedenti
Titolo corso in inglese
LAB OF COMPUTER SECURITY
Codice insegnamento
ET7016 (AF:257198 AR:148270)
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea
Settore scientifico disciplinare
INF/01
Periodo
1° Periodo
Anno corso
3
Sede
RONCADE
Spazio Moodle
Link allo spazio del corso
La sicurezza dei computer e delle reti è una delle aree più critiche dell ICT. Un digital manager deve essere consapevole delle basi della sicurezza informatica per gestire correttamente questa componente chiave di qualsiasi attività digitale.

L'obiettivo di questo corso è introdurre le basi tecniche della sicurezza dei computer e delle reti, al fine di essere in grado di comprendere le minacce alle quali qualsiasi azienda digitale può essere soggetta.
Gli studenti affronteranno i temi della sicurezza informatica, dei principi di rete, dei protocolli di sicurezza e dei servizi di sicurezza, con un approccio "hands-on".
Alla fine del corso lo studente avrà raggiunto le seguenti conoscenze e abilità:

Conoscenza:
- Le basi di un'amministrazione di sistema, privilegi e comandi in un ambiente GNU / Linux;
- Che cosa è un servizio di sicurezza, una minaccia alla sicurezza e un bug del software;
- Quali sono le basi delle reti di comunicazione (Internet) e le basi della sicurezza della rete;
- Un'introduzione sulla crittografia;
- Protocolli di Internet sicuri.

Abilità; lo studente sarà in grado di:
- Riprodurre esempi di base di vulnerabilità tipiche del software;
- Applicare i principi di base della programmazione sicura;
- Eseguire network survey, analisi della sicurezza e attacchi remoti ("Ethical Hacking");
- Utilizzare e configurare servizi Internet sicuri;

Lo studente sarà anche in grado di esprimere giudizi sulla solidità e le caratteristiche di sicurezza dei sistemi in relazione ai servizi di sicurezza tipici (autenticazione, segretezza dei dati, disponibilità ecc.) e di essere in grado di comunicare con esperti del dominio sulle caratteristiche di sicurezza che un un servizio specifico deve offrire ai suoi utenti.
Familiarità con i linguaggi di programmazione acquisiti nel corso "Introduction to Coding".
Il corso è strutturato in 5 settimane, ogni settimana affronta un argomento ed include una parte di pratica usando software dedicato. Il programma non immutabile, può cambiare in base agli interessi e alle reazioni degli studenti.

Prima settimana: Introduzione alla sicurezza delle informazioni e sicurezza dei sistemi operativi:
- Introduzione a servizi, minacce e meccanismi di sicurezza;
- Sicurezza di un sistema operativo, l'esempio di GNU/Linux: gli utenti, i privilegi, e al design del sistema.

Seconda settimana: sicurezza del sistema operativo:
- Attacchi software: cos'è un bug ?;
- Esempi di vulnerabilità note e cattive pratiche di programmazione;
- Fonti di vulnerabilità note: CVE;
- Linee guida di programmazione sicure.

Terza settimana: sicurezza della rete:
- Introduzione alle reti;
- Attaccare i sistemi remoti;
- Attacchi noti e tipici a vari livelli di rete: scansione, spoofing, DDoS, forza bruta.

Quarta settimana: Introduzione alla crittografia:
- Concetti di crittografia classica;
- Crittografia simmetrica;
- Funzioni hash e HMAC;
- Esempi di applicazioni: hashing delle password e blockchain.

Settimana 5: crittografia asimmetrica e PKI:
- crittografia a chiave pubblica/privata;
- Certificati e PKI;
- Protocolli sicuri: TLS;
- Esempi di applicazioni: Bitcoin e Tor.
Il corso si basa su varie fonti, la maggior parte delle quali sono disponibili online e saranno fornite con il materiale del corso. Le fonti e le slides delle lezioni sono materiale sufficiente per gli studenti che seguono le lezioni.

Un libro che copre materiale per quasi l'intero corso (e molto altro) è:
Wenliang Du: Computer & Internet Security: A Hands-on Approach, (second edition, 2019, ISBN: 978-1-7330039-2-6, hardcover. ISBN: 978-1-7330039-3-3, paperback). The book is available at: https://www.handsonsecurity.net/ .

Altri libri che possono essere usati come riferimenti ulteriori sono:

Andrew S. Tanenbaum, David J. Wetherall, Computer Networks: Pearson, fifth edition.
Olivier Bonaventure Computer Networks: Principles, Protocols, Practice https://inl.info.ucl.ac.be/cnp3 (Creative Commons license, third edition).
William Stallings, Cryptography and Network Security, Pearson, seventh edition.
La verifica avverà attraverso una prova scritta (eventualmente utilizzando la piattaforma Moodle fornita da Ca 'Foscari) più un progetto di gruppo opzionale con una breve discussione.
Il test sarà composto da domande a scelta multipla più risposte aperte relative ai problemi (e alla loro soluzione) analizzati durante le lezioni.

Agli studenti verranno assegnati assignment opzionali durante il corso come auto-verifica di comprensione della materia.
In ogni settimana ci saranno approssimativamente il 50% del tempo di lezioni frontali e il 50% di sessioni pratiche. Gli studenti installeranno una macchina virtuale su cui sperimentare i comandi e il software necessari per raggiungere gli obiettivi di apprendimento.
Inglese
scritto
Programma definitivo.
Data ultima modifica programma: 29/07/2019