Scheda insegnamento

Anno Accademico di erogazione
2026/2027
Periodo di erogazione
Primo semestre
CFU
9 CFU
Lingua
Italiano
SSD
IINF-05/A

Scopri il programma didattico

Programma, testi adottati e modalità d’esame sono quelli pubblicati dai docenti per l’anno accademico 2026/2027. L’insegnamento è diviso in canali: ogni canale ha il suo programma.

Curriculum
Sistemi Informatici Complessi
Anno di corso
1
Periodo
Primo semestre
Ore
81
CUIN
260005032

Programma

• Introduzione al corso
• Introduzione alla sicurezza informatica e terminologia
• Vulnerabilità e minacce
◦ Vulnerabilità del software input fidato e non fidato, validazione dell'input. Vulnerabilità di applicazioni scritte in linguaggi interpretati, code injection. Injection in pagine web: XSS. Cross site request forgery. OWASP.
▪ esempio di sito vulnerabile a sql injection
◦ Attacchi di tipo buffer overflow . Exploitation: privilege excalation, intrusioni via rete tramite servizi aperti, intrusione via documenti non fidati (via email, via web o altro).
▪ esempio di codice vulnerabile a buffer overflow e relativo exploit
◦ Vulnerabilità delle reti : sniffing, mac flood, ARP poisoning, vulnerabilità del DNS, attacco di Kaminsky. TCP session hijecking, attacchi MitM, DOS e Distributed DoS, Route hijacking.
• Pianificazione della sicurezza: contenuti del piano di sicurezza, analisi dei rischi.
• Contromisure
◦ Principi di progettazione di politiche e meccanismi
◦ Modelli: AAA, confinamento, DAC, MAC, access control matrix 
◦ Tecniche crittografiche:
▪ richiami di crittografia (hash, simmetrica, asimmetrica, MAC, 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: Porotocolli ssl, tls, ssh, virtual private network, ipsec, ecc. Protocolli di autenticazione punto-punto e in rete locale. radius e vulnerabilità. Altre applicazioni.
◦ Considerazioni sui sistemi per la rilevazione automatica dei problemi
◦ Sicurezza dei sistemi:
▪ principi generali: passwords e loro vulnerabilità, metodologia di hardening, assessment e auditing
▪ unix: controllo di accesso discrezionario, sicurezza nel filesystem, autenticazione, PAM, syslog
◦ Sicurezza delle reti:
▪ Firewalling: firewall stateless e statefull, connessioni, syn-proxy e syn-cookies, load balancing e high availability, linux netfilter ed esempi di configurazioni.
▪ Sicurezza di rete a livello 1 e 2.
▪ Proxy applicativi, Intrusion detection systems di rete.
• Authenticated Data Structures
• Distributed Ledger Technologies and Bitcoin
• Smart contracts
• Cybersecurity nelle grandi organizzazioni

Prerequisiti

networking: ethernet, ip, tcp, udp, arp, icmp, dns, http, nat, vlan, BGP
operating systems: processes, system call, filesystem, C language, unix/linux
Basi di dati: SQL

Testi adottati

Dispense del corso

Bibliografia di riferimento

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, "Security in Computing", Pearson - Prentice Hall.
A. Antonopoulos, Mastering Bitcoin, 2nd Edition, O'Reilly, ,2017
A. Antonopoulos, G, Wood, Mastering ethereum: building smart contracts and dapps. O'Reilly Media, 2018

Modalità di erogazione

Lezioni teoriche ed esercitazioni pratiche con il notebook in aula.

Modalità di frequenza

Gli studenti sono incoraggiati a seguire il corso in aula dal vivo, tuttavia è possibile, anche se non consigliabile, sostenere l'esame senza aver seguito il corso.

Modalità di valutazione

Gli studenti verranno valutati sulla base di una prova scritta (circa il 66% della valutazione) e di una prova pratica in laboratorio (circa il 33% della valutazione).

Prove previste

  • Prova scritta
  • Prova pratica

Curriculum
Ingegneria dei Dati
Anno di corso
1
Periodo
Primo semestre
Ore
81
CUIN
260005043

Programma

• Introduzione al corso
• Introduzione alla sicurezza informatica e terminologia
• Vulnerabilità e minacce
◦ Vulnerabilità del software input fidato e non fidato, validazione dell'input. Vulnerabilità di applicazioni scritte in linguaggi interpretati, code injection. Injection in pagine web: XSS. Cross site request forgery. OWASP.
▪ esempio di sito vulnerabile a sql injection
◦ Attacchi di tipo buffer overflow . Exploitation: privilege excalation, intrusioni via rete tramite servizi aperti, intrusione via documenti non fidati (via email, via web o altro).
▪ esempio di codice vulnerabile a buffer overflow e relativo exploit
◦ Vulnerabilità delle reti : sniffing, mac flood, ARP poisoning, vulnerabilità del DNS, attacco di Kaminsky. TCP session hijecking, attacchi MitM, DOS e Distributed DoS, Route hijacking.
• Pianificazione della sicurezza: contenuti del piano di sicurezza, analisi dei rischi.
• Contromisure
◦ Principi di progettazione di politiche e meccanismi
◦ Modelli: AAA, confinamento, DAC, MAC, access control matrix 
◦ Tecniche crittografiche:
▪ richiami di crittografia (hash, simmetrica, asimmetrica, MAC, 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: Porotocolli ssl, tls, ssh, virtual private network, ipsec, ecc. Protocolli di autenticazione punto-punto e in rete locale. radius e vulnerabilità. Altre applicazioni.
◦ Considerazioni sui sistemi per la rilevazione automatica dei problemi
◦ Sicurezza dei sistemi:
▪ principi generali: passwords e loro vulnerabilità, metodologia di hardening, assessment e auditing
▪ unix: controllo di accesso discrezionario, sicurezza nel filesystem, autenticazione, PAM, syslog
◦ Sicurezza delle reti:
▪ Firewalling: firewall stateless e statefull, connessioni, syn-proxy e syn-cookies, load balancing e high availability, linux netfilter ed esempi di configurazioni.
▪ Sicurezza di rete a livello 1 e 2.
▪ Proxy applicativi, Intrusion detection systems di rete.
• Authenticated Data Structures
• Distributed Ledger Technologies and Bitcoin
• Smart contracts
• Cybersecurity nelle grandi organizzazioni

Prerequisiti

networking: ethernet, ip, tcp, udp, arp, icmp, dns, http, nat, vlan, BGP
operating systems: processes, system call, filesystem, C language, unix/linux
Basi di dati: SQL

Testi adottati

Dispense del corso

Bibliografia di riferimento

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, "Security in Computing", Pearson - Prentice Hall.
A. Antonopoulos, Mastering Bitcoin, 2nd Edition, O'Reilly, ,2017
A. Antonopoulos, G, Wood, Mastering ethereum: building smart contracts and dapps. O'Reilly Media, 2018

Modalità di erogazione

Lezioni teoriche ed esercitazioni pratiche con il notebook in aula.

Modalità di frequenza

Gli studenti sono incoraggiati a seguire il corso in aula dal vivo, tuttavia è possibile, anche se non consigliabile, sostenere l'esame senza aver seguito il corso.

Modalità di valutazione

Gli studenti verranno valutati sulla base di una prova scritta (circa il 66% della valutazione) e di una prova pratica in laboratorio (circa il 33% della valutazione).

Prove previste

  • Prova scritta
  • Prova pratica

Curriculum
Intelligenza artificiale e Machine Learning
Anno di corso
1
Periodo
Primo semestre
Ore
81
CUIN
260005054

Programma

• Introduzione al corso
• Introduzione alla sicurezza informatica e terminologia
• Vulnerabilità e minacce
◦ Vulnerabilità del software input fidato e non fidato, validazione dell'input. Vulnerabilità di applicazioni scritte in linguaggi interpretati, code injection. Injection in pagine web: XSS. Cross site request forgery. OWASP.
▪ esempio di sito vulnerabile a sql injection
◦ Attacchi di tipo buffer overflow . Exploitation: privilege excalation, intrusioni via rete tramite servizi aperti, intrusione via documenti non fidati (via email, via web o altro).
▪ esempio di codice vulnerabile a buffer overflow e relativo exploit
◦ Vulnerabilità delle reti : sniffing, mac flood, ARP poisoning, vulnerabilità del DNS, attacco di Kaminsky. TCP session hijecking, attacchi MitM, DOS e Distributed DoS, Route hijacking.
• Pianificazione della sicurezza: contenuti del piano di sicurezza, analisi dei rischi.
• Contromisure
◦ Principi di progettazione di politiche e meccanismi
◦ Modelli: AAA, confinamento, DAC, MAC, access control matrix 
◦ Tecniche crittografiche:
▪ richiami di crittografia (hash, simmetrica, asimmetrica, MAC, 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: Porotocolli ssl, tls, ssh, virtual private network, ipsec, ecc. Protocolli di autenticazione punto-punto e in rete locale. radius e vulnerabilità. Altre applicazioni.
◦ Considerazioni sui sistemi per la rilevazione automatica dei problemi
◦ Sicurezza dei sistemi:
▪ principi generali: passwords e loro vulnerabilità, metodologia di hardening, assessment e auditing
▪ unix: controllo di accesso discrezionario, sicurezza nel filesystem, autenticazione, PAM, syslog
◦ Sicurezza delle reti:
▪ Firewalling: firewall stateless e statefull, connessioni, syn-proxy e syn-cookies, load balancing e high availability, linux netfilter ed esempi di configurazioni.
▪ Sicurezza di rete a livello 1 e 2.
▪ Proxy applicativi, Intrusion detection systems di rete.
• Authenticated Data Structures
• Distributed Ledger Technologies and Bitcoin
• Smart contracts
• Cybersecurity nelle grandi organizzazioni

Prerequisiti

networking: ethernet, ip, tcp, udp, arp, icmp, dns, http, nat, vlan, BGP
operating systems: processes, system call, filesystem, C language, unix/linux
Basi di dati: SQL

Testi adottati

Dispense del corso

Bibliografia di riferimento

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, "Security in Computing", Pearson - Prentice Hall.
A. Antonopoulos, Mastering Bitcoin, 2nd Edition, O'Reilly, ,2017
A. Antonopoulos, G, Wood, Mastering ethereum: building smart contracts and dapps. O'Reilly Media, 2018

Modalità di erogazione

Lezioni teoriche ed esercitazioni pratiche con il notebook in aula.

Modalità di frequenza

Gli studenti sono incoraggiati a seguire il corso in aula dal vivo, tuttavia è possibile, anche se non consigliabile, sostenere l'esame senza aver seguito il corso.

Modalità di valutazione

Gli studenti verranno valutati sulla base di una prova scritta (circa il 66% della valutazione) e di una prova pratica in laboratorio (circa il 33% della valutazione).

Prove previste

  • Prova scritta
  • Prova pratica

Curriculum
Algoritmi, Big Data e Machine Learning
Anno di corso
1
Periodo
Primo semestre
Ore
81
CUIN
260005066

Programma

• Introduzione al corso
• Introduzione alla sicurezza informatica e terminologia
• Vulnerabilità e minacce
◦ Vulnerabilità del software input fidato e non fidato, validazione dell'input. Vulnerabilità di applicazioni scritte in linguaggi interpretati, code injection. Injection in pagine web: XSS. Cross site request forgery. OWASP.
▪ esempio di sito vulnerabile a sql injection
◦ Attacchi di tipo buffer overflow . Exploitation: privilege excalation, intrusioni via rete tramite servizi aperti, intrusione via documenti non fidati (via email, via web o altro).
▪ esempio di codice vulnerabile a buffer overflow e relativo exploit
◦ Vulnerabilità delle reti : sniffing, mac flood, ARP poisoning, vulnerabilità del DNS, attacco di Kaminsky. TCP session hijecking, attacchi MitM, DOS e Distributed DoS, Route hijacking.
• Pianificazione della sicurezza: contenuti del piano di sicurezza, analisi dei rischi.
• Contromisure
◦ Principi di progettazione di politiche e meccanismi
◦ Modelli: AAA, confinamento, DAC, MAC, access control matrix 
◦ Tecniche crittografiche:
▪ richiami di crittografia (hash, simmetrica, asimmetrica, MAC, 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: Porotocolli ssl, tls, ssh, virtual private network, ipsec, ecc. Protocolli di autenticazione punto-punto e in rete locale. radius e vulnerabilità. Altre applicazioni.
◦ Considerazioni sui sistemi per la rilevazione automatica dei problemi
◦ Sicurezza dei sistemi:
▪ principi generali: passwords e loro vulnerabilità, metodologia di hardening, assessment e auditing
▪ unix: controllo di accesso discrezionario, sicurezza nel filesystem, autenticazione, PAM, syslog
◦ Sicurezza delle reti:
▪ Firewalling: firewall stateless e statefull, connessioni, syn-proxy e syn-cookies, load balancing e high availability, linux netfilter ed esempi di configurazioni.
▪ Sicurezza di rete a livello 1 e 2.
▪ Proxy applicativi, Intrusion detection systems di rete.
• Authenticated Data Structures
• Distributed Ledger Technologies and Bitcoin
• Smart contracts
• Cybersecurity nelle grandi organizzazioni

Prerequisiti

networking: ethernet, ip, tcp, udp, arp, icmp, dns, http, nat, vlan, BGP
operating systems: processes, system call, filesystem, C language, unix/linux
Basi di dati: SQL

Testi adottati

Dispense del corso

Bibliografia di riferimento

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, "Security in Computing", Pearson - Prentice Hall.
A. Antonopoulos, Mastering Bitcoin, 2nd Edition, O'Reilly, ,2017
A. Antonopoulos, G, Wood, Mastering ethereum: building smart contracts and dapps. O'Reilly Media, 2018

Modalità di erogazione

Lezioni teoriche ed esercitazioni pratiche con il notebook in aula.

Modalità di frequenza

Gli studenti sono incoraggiati a seguire il corso in aula dal vivo, tuttavia è possibile, anche se non consigliabile, sostenere l'esame senza aver seguito il corso.

Modalità di valutazione

Gli studenti verranno valutati sulla base di una prova scritta (circa il 66% della valutazione) e di una prova pratica in laboratorio (circa il 33% della valutazione).

Prove previste

  • Prova scritta
  • Prova pratica

Curriculum
Cybersecurity
Anno di corso
1
Periodo
Primo semestre
Ore
81
CUIN
260005025

Programma

• Introduzione al corso
• Introduzione alla sicurezza informatica e terminologia
• Vulnerabilità e minacce
◦ Vulnerabilità del software input fidato e non fidato, validazione dell'input. Vulnerabilità di applicazioni scritte in linguaggi interpretati, code injection. Injection in pagine web: XSS. Cross site request forgery. OWASP.
▪ esempio di sito vulnerabile a sql injection
◦ Attacchi di tipo buffer overflow . Exploitation: privilege excalation, intrusioni via rete tramite servizi aperti, intrusione via documenti non fidati (via email, via web o altro).
▪ esempio di codice vulnerabile a buffer overflow e relativo exploit
◦ Vulnerabilità delle reti : sniffing, mac flood, ARP poisoning, vulnerabilità del DNS, attacco di Kaminsky. TCP session hijecking, attacchi MitM, DOS e Distributed DoS, Route hijacking.
• Pianificazione della sicurezza: contenuti del piano di sicurezza, analisi dei rischi.
• Contromisure
◦ Principi di progettazione di politiche e meccanismi
◦ Modelli: AAA, confinamento, DAC, MAC, access control matrix 
◦ Tecniche crittografiche:
▪ richiami di crittografia (hash, simmetrica, asimmetrica, MAC, 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: Porotocolli ssl, tls, ssh, virtual private network, ipsec, ecc. Protocolli di autenticazione punto-punto e in rete locale. radius e vulnerabilità. Altre applicazioni.
◦ Considerazioni sui sistemi per la rilevazione automatica dei problemi
◦ Sicurezza dei sistemi:
▪ principi generali: passwords e loro vulnerabilità, metodologia di hardening, assessment e auditing
▪ unix: controllo di accesso discrezionario, sicurezza nel filesystem, autenticazione, PAM, syslog
◦ Sicurezza delle reti:
▪ Firewalling: firewall stateless e statefull, connessioni, syn-proxy e syn-cookies, load balancing e high availability, linux netfilter ed esempi di configurazioni.
▪ Sicurezza di rete a livello 1 e 2.
▪ Proxy applicativi, Intrusion detection systems di rete.
• Authenticated Data Structures
• Distributed Ledger Technologies and Bitcoin
• Smart contracts
• Cybersecurity nelle grandi organizzazioni

Prerequisiti

networking: ethernet, ip, tcp, udp, arp, icmp, dns, http, nat, vlan, BGP
operating systems: processes, system call, filesystem, C language, unix/linux
Basi di dati: SQL

Testi adottati

Dispense del corso

Bibliografia di riferimento

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, "Security in Computing", Pearson - Prentice Hall.
A. Antonopoulos, Mastering Bitcoin, 2nd Edition, O'Reilly, ,2017
A. Antonopoulos, G, Wood, Mastering ethereum: building smart contracts and dapps. O'Reilly Media, 2018

Modalità di erogazione

Lezioni teoriche ed esercitazioni pratiche con il notebook in aula.

Modalità di frequenza

Gli studenti sono incoraggiati a seguire il corso in aula dal vivo, tuttavia è possibile, anche se non consigliabile, sostenere l'esame senza aver seguito il corso.

Modalità di valutazione

Gli studenti verranno valutati sulla base di una prova scritta (circa il 66% della valutazione) e di una prova pratica in laboratorio (circa il 33% della valutazione).

Prove previste

  • Prova scritta
  • Prova pratica

Esplora gli obiettivi dell’insegnamento

Ambito disciplinare: Ingegneria informatica

Il corso in Cybersecurity intende fornire allo studente le competenze necessarie per comprendere e affrontare problematiche di sicurezza informatica per sistemi ICT e organizzazioni complesse, per progettare reti e sistemi informatici con un certo livello di sicurezza e per pianificare e gestire attività legate alla sicurezza informatica. Il corso fornice competenze circa attacchi, contromisure, strumenti crittografici, applicazioni e metodologie nel campo della cybersecurity. Argomenti avanzati circa l'integrità dei dati sono anche trattati.

Esempi di domande d’esame

Maurizio Pizzonia

Trovare le vulnerabilità in un codice C o php.
Descrivere l'attacco birthday agli hash crittografici.
Descrivere il modello AAA.
Descrivere il concetto di Syn Fload e le principali contromisure (es. syn cookies)
Attacchi on-line e off-line ai sistemi di login.

Maurizio Pizzonia

Trovare le vulnerabilità in un codice C o php.
Descrivere l'attacco birthday agli hash crittografici.
Descrivere il modello AAA.
Descrivere il concetto di Syn Fload e le principali contromisure (es. syn cookies)
Attacchi on-line e off-line ai sistemi di login.

Maurizio Pizzonia

Trovare le vulnerabilità in un codice C o php.
Descrivere l'attacco birthday agli hash crittografici.
Descrivere il modello AAA.
Descrivere il concetto di Syn Fload e le principali contromisure (es. syn cookies)
Attacchi on-line e off-line ai sistemi di login.

Maurizio Pizzonia

Trovare le vulnerabilità in un codice C o php.
Descrivere l'attacco birthday agli hash crittografici.
Descrivere il modello AAA.
Descrivere il concetto di Syn Fload e le principali contromisure (es. syn cookies)
Attacchi on-line e off-line ai sistemi di login.

Maurizio Pizzonia

Trovare le vulnerabilità in un codice C o php.
Descrivere l'attacco birthday agli hash crittografici.
Descrivere il modello AAA.
Descrivere il concetto di Syn Fload e le principali contromisure (es. syn cookies)
Attacchi on-line e off-line ai sistemi di login.

Il corso in cui è erogato questo insegnamento

API