SOFTWARE SECURITY
- Anno accademico
- 2024/2025 Programmi anni precedenti
- Titolo corso in inglese
- SOFTWARE SECURITY
- Codice insegnamento
- CM0631 (AF:513754 AR:286779)
- 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
- ING-INF/05
- Periodo
- II Semestre
- Anno corso
- 1
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
Il corso intende fornire i concetti fondamentali di sicurezza del software e una rassegna di diverse problematiche relative allo sviluppo e la sicurezza del software; in particolare, lo studente acquisirà alcune competenze che servono per proteggere il software da attacchi di reverse engineering
Risultati di apprendimento attesi
1. Conoscenza e comprensione:
1.1 acquisire i concetti teorici di reverse engineering e protezione del software;
1.2 acquisire le conoscenze di diversi argomenti relativi alla sicurezza del software.
2. Capacità di applicare conoscenza e comprensione:
2.1 sapere utilizzare le conoscenze acquisite per migliorare la protezione del software,
2.2 sessioni pratiche per sperimentare e acquisire una conoscenza attiva degli argomenti del corso.
3. Abilità comunicative
3.1 Saper comunicare informazioni, idee, problemi e soluzioni a interlocutori specialisti.
3.2 Sviluppare capacita' di lavoro di gruppo - teamwork
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
- 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
I progetti (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 di fronte al resto della classe.
Il progetto dà un bonus di max 4 punti sul punteggio acquisito allo scritto.
Per quanto riguarda la gradazione del voto dello scritto (modalità con cui saranno assegnati i voti), a prescindere dalla modalità frequentante o non frequentante:
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.
Modalità di esame
Metodi didattici
Risorse online (note, slide, video);
Chat e forum;
Tesine su diversi argomenti che daranno punteggio extra.
Laboratori pratici.