SOFTWARE SECURITY
- Anno accademico
- 2023/2024 Programmi anni precedenti
- Titolo corso in inglese
- SOFTWARE SECURITY
- Codice insegnamento
- CM0631 (AF:451581 AR:245308)
- 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
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
- Protezione contro la pirateria del software
- 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 fortemente consigliate 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. La tesina dà un bonus sul punteggio acquisito allo scritto.
Modalità di esame
Metodi didattici
Risorse online (note, slide, video);
Chat e forum;
Tesine su diversi argomenti che daranno punteggio extra.
Laboratori pratici.
Obiettivi Agenda 2030 per lo sviluppo sostenibile
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