LAB OF COMPUTER SECURITY

Anno accademico
2020/2021 Programmi anni precedenti
Titolo corso in inglese
LAB OF COMPUTER SECURITY
Codice insegnamento
ET7016 (AF:338670 AR:160784)
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea
Settore scientifico disciplinare
ING-INF/05
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");
- Riconoscere ed utilizzare 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, il 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;
Il corso si basa su varie fonti, la maggior parte delle quali sono disponibili online e saranno fornite con il materiale del corso.
Le slides delle lezioni e le dispense sono materiale sufficiente per preparare l'esame.

Per approfondire:

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 più un progetto di gruppo opzionale.
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: 09/04/2020