SOFTWARE SECURITY
- Anno accademico
- 2026/2027 Programmi anni precedenti
- Titolo corso in inglese
- SOFTWARE SECURITY
- Codice insegnamento
- CM0631 (AF:733829 AR:436308)
- Lingua di insegnamento
- Inglese
- Modalità
- In presenza
- Crediti formativi universitari
- 6 su 12 di SYSTEM AND SOFTWARE SECURITY
- Livello laurea
- Laurea magistrale (DM270)
- Settore scientifico disciplinare
- IINF-05/A
- Periodo
- II Semestre
- Anno corso
- 1
- Sede
- VENEZIA
Inquadramento dell'insegnamento nel percorso del corso di studio
Nella prima parte del corso verrà trattata la protezione del software da attacchi di reverse engineering e attacchi Man-At-The-End (MATE), con laboratori ed esempi pratici.
Nella seconda parte verrano trattati diversi argomenti relativi alla sicurezza del software su diversi tipi di sistemi.
Risultati di apprendimento attesi
- l'importanza della protezione delle applicazioni software da attacchi MATE (Man-At-The-End) basati su reverse engineering.
- l'uso di strumenti software per la protezione della proprietà intellettuale (Digital Rights Management) come offuscazione, tamper-proofing e watermarking
- la conoscenza di varie tematiche di sicurezza software: malware e cybercrime, anonymity e privacy, analisi e modellazione di attacchi, voto elettronico
Con le esercitazioni si avrà l’opportunità di sperimentare e di acquisire una conoscenza attiva della materia.
Prerequisiti
Si consiglia vivamente di frequentare le lezioni, dato che il corso ha componenti teoriche e sperimentali.
L'acquisizione dei concetti avviene anche grazie all'uso di strumenti software in laboratorio e discussioni di casi pratici.
Contenuti
- Analisi del codice binario e reverse engineering
- Strumenti di protezione dell'analisi del software con vari tipi di offuscazione
- Strumenti di protezione dell'integrità del codice: tamperproofing e code-guards
- Watermarking e strumenti di protezione della proprietà intellettuale e Digital Rights Management
- Software Vulnerabilities e Cyber-Threat Intelligence
- Malware analysis e Cybercrime
- Modellazione di attacchi
- Tematiche avanzate di Software Security: e-Voting, anonymity e privacy, fattori umani in security.
Testi di riferimento
1. Christian Collberg, Jasvir Nagra; Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection, 2009, Addison-Wesley Professional, ISBN 978-0321549259, First Edition.
2. Adam Shostack; Threat Modeling: Designing for Security, 2014, Wiley, ISBN 978-1118809990
3. Chris Eagle, Kara Nance; The Ghidra book: the Definitive Guide, 2020, No Starch Press, ISBN-13: 978-1-71850-102-7
4. Vijay Kumar Velu, Robert Beggs; Kali Linux for Advanced Penetration Testing- Third Edition, 2019, Packt Publishing, ISBN 978-1-78934-056-3
5. Alexey Kleymenov, Amr Thabet, "Mastering Malware Analysis: A malware analyst's practical guide to combating malicious software, APT, cybercrime, and IoT attacks", 2nd Ed., Packt Publishing, 2022, ISBN 1803240245.
Modalità di verifica dell'apprendimento
Le tesine sono obbligatorie e consistono in un problema pratico da risolvere, o nello svolgere una presentazione di un articolo di ricerca, o di un breve tutorial su un tool software di fronte al resto della classe.
La tesina dà un bonus di max 3 punti sul punteggio acquisito allo scritto.
Modalità di esame
Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.
Graduazione dei voti
A. punteggi nella fascia 18-22 verranno attribuiti in presenza di sufficiente conoscenza e capacità di comprensione applicata in riferimento al programma;
B. punteggi nella fascia 23-26 verranno attribuiti in presenza di discreta conoscenza e capacità di comprensione applicata in riferimento al programma;
C. punteggi nella fascia 27-30 verranno attribuiti in presenza di buona o ottima conoscenza e capacità di comprensione applicata in riferimento al programma;
D. la lode verrà attribuita in presenza di conoscenza e capacità di comprensione applicata in riferimento al programma, capacità di giudizio e abilità comunicative, eccellenti.
Metodi didattici
I partecipanti al corso dovranno svolgere una tesina, discutendo i risultati con il docente e gli altri studenti (active learning).
Se necessario verranno inseriti, per determinati argomenti, test di autovalutazione per verificare l'apprendimento durante il semestre.
Altre informazioni
Il materiale didattico del corso è in lingua inglese, e le lezioni saranno in lingua inglese.