SECURITY 1

Anno accademico
2018/2019 Programmi anni precedenti
Titolo corso in inglese
SECURITY 1
Codice insegnamento
CM0493 (AF:274841 AR:159100)
Modalità
Blended (in presenza e online)
Crediti formativi universitari
6
Livello laurea
Laurea magistrale (DM270)
Settore scientifico disciplinare
INF/01
Periodo
I Semestre
Anno corso
1
Sede
VENEZIA
Spazio Moodle
Link allo spazio del corso
Fornire i concetti di base e le tecniche per lo sviluppo di sistemi e reti sicure. Nella prima parte del corso, ci occuperemo di program exploitation, system, network and web security. Nella seconda parte del corso, la teoria verrà applicata in un laboratorio di hacking etico in cui gli studenti dovranno attaccare le altre squadre e, allo stesso tempo, difendere il proprio sistema. La prima parte è propedeutica alla seconda.
- conoscenza dei concetti di base e le tecniche per lo sviluppo di sistemi e reti sicure;
- conoscenza delle principali tecniche di attacco e difesa relative a program exploitation, system, network and web security;
- competenze relative sicurezza di sistemi e reti reali sviluppate all'interno di un laboratorio di hacking etico.
Si richiede una conoscenza base di matematica, programmazione (buon livello in C e conoscenza base di scripting, SQL e PHP), architetture degli elaboratori, sistemi operativi e reti di elaboratori.
1. Background e strumenti
1.1 Introduzione alla shell di Linux
1.2 Introduzione a Python
1.3 Assembly Intel
1.4 Analisi di programmi

2. Program exploitation
2.1 Overflow e protezione dello stack
2.2 Sovrascrittura del return address
2.3 Format strings
2.4 Programmazione sicura e contromisure

3. Sicurezza di sistemi e reti
3.1 Identificazione
3.2 Attacchi di rete e contromisure
3.3 Configurazione di firewall

4. Sicurezza Web lato server
4.1 SQL injections
4.2 Blind SQL injections
4.3 Prevenzione di SQL injections

5. Sicurezza Web lato client
5.1 Cross site scripting (XSS)
5.2 Cross site request forgery (CSRF)
5.3 Prevenzione di attacchi lato client
J. Erickson, Hacking, the art of exploitation, No starch press, 2008.
R. J. Anderson, Security Engineering: A Guide to Building Dependable Distributed Systems, Wiley, 2008.
La verifica dell'apprendimento avviene attraverso una prova scritta, alcuni assignment e una competizione di hacking etico. La prova scritta ha lo scopo di accertare le conoscenze acquisite sui diversi argomenti del corso. Gli assignment sono facoltativi e consistono in un problema (challenge) da risolvere. La soluzione degli assignment dà un bonus sul punteggio acquisito allo scritto. La competizione di hacking etico ha lo scopo di mettere in pratica le conoscenze acquisite e di verificare la competenze relative all'attacco e conseguente messa in sicurezza di sistemi informatici.
Lezioni teoriche in aula e lezioni pratiche in laboratorio;
Risorse audio e video online;
Chat e forum;
Sfide su diversi argomenti che daranno punteggio extra;
Laboratorio di hacking etico.
Inglese
scritto

Questo insegnamento tratta argomenti connessi alla macroarea "Città, infrastrutture e capitale sociale" e concorre alla realizzazione dei relativi obiettivi ONU dell'Agenda 2030 per lo Sviluppo Sostenibile

Programma definitivo.
Data ultima modifica programma: 10/04/2018