Theses proposals
For fast information you can contact Matteo Zoia (nome.cognome@unimi.it), Andrea
Monzani (nome.cognome@unimi.it), Davide Rusconi (nome.cognome@unimi.it), Mirco
Picca (nome.cognome@unimi.it) via Email.
-
Embedded Systems and IoT Security
Possible topics include reverse engineering in embedded devices, implementing real-world attacks and studying
security mechanisms for IoT chips. The research will involve analyzing vulnerabilities, developing exploits and
exploring countermeasures for secure IoT deployments.
Advisor: prof. Danilo Bruschi, Andrea Monzani, Matteo Zoia
Prerequisites:
- Good knowledge of C/C++
- Experience with hardware debugging tools (optional)
-
Testing Trusted Execution Environments
This thesis explores Trusted Execution Environments such as ARM TrustZone, Intel SGX, AMD SEV and the new ARM CCA
architecture. The goal is to evaluate their security guarantees and executing various test scenarios, secure
enclave testing, comparison and practical attack implementations.
Advisor: prof. Danilo Bruschi, Andrea Monzani, Matteo Zoia
Prerequisites:
- Good knowledge of C
- QEMU, Hypervisor (optional)
-
Autonomous Network for CTF and Cybersecurity Research
This set of thesis involves designing and developing an autonomous network for security research. The system will
facilitate the automatic deployment of attacks and the testing of defense mechanisms. Additional objectives
include creating cybersecurity challenges and developing the necessary infrastructure for automated assessment.
Advisor: prof. Danilo Bruschi, Andrea Monzani, Matteo Zoia
Prerequisites:
- Basic knowledge of Docker and networking fundamentals
- Familiarity with attack techniques (if implementing offensive security scenarios)
-
Smart contract vulnerability
This thesis proposes a methodology for smart contract vulnerability finding that combines symbolic execution and
emulation. Smart contracts are self-executing programs that run on blockchain platforms, and they are becoming
increasingly popular for implementing decentralized applications. However, smart contracts are also prone to
vulnerabilities that can lead to severe financial losses or other adverse consequences.
Advisor: prof. Andrea Lanzi, Matteo Zoia
Prerequisites:
- Good knowledge of smbolic execution with angr
-
Smart contract fuzzing
This thesis explores smart contract fuzzing by comparing the effectiveness, performance, and coverage of various
state-of-the-art smart contract fuzzers. The study aims to identify strengths, weaknesses, and optimal use cases
for each tool in enhancing smart contract security.
Advisor: prof. Andrea Lanzi, Mirco Picca
Prerequisites:
- Basic knowledge of fuzzing techniques
- Familiarity with linux to be able to inistall and run fuzzers
-
Privacy and Web Tracking Analysis
This thesis focuses on developing privacy-enhancing technologies to study large-scale web tracking mechanisms,
such as cookies and fingerprinting and their impact on online marketing. The project may involve building
automated tools for data collection and analysis, as well as evaluating privacy-preserving countermeasures.
Advisor: prof. Danilo Bruschi, Andrea Monzani, Matteo Zoia
Prerequisites:
- Knowledge of web security concepts
- Basic programming skills for web scraping and data analysis
-
Security Applications of LLMs
If you have an innovative idea related to security applications of LLMs, it will be evaluated for potential thesis
work. The research should focus on novel AI-based security challenge.
Advisor: prof. Danilo Bruschi, Andrea Monzani, Matteo Zoia
-
Analisi delle vulnerabilità ROP in software legacyNew
La tesi si propone di riprodurre exploit ROP (Return Oriented Programming) noti su
software legacy open-source (ad esempio: versioni vulnerabili di NGINX, ProFTPD,
ImageMagick). L’obiettivo sarà verificare l’efficacia di tecniche difensive già esistenti (ASLR,
Stack Canaries, RELRO, PIE) e raccogliere dati quantitativi su tempo di exploit, complessità
e affidabilità. Si utilizzeranno strumenti di analisi come ROPgadget e Angr.
Misurazioni previste: tempo medio di creazione exploit, successo exploit con/ senza
mitigazioni, impatto prestazioni.
Advisor: Prof. Andrea Lanzi
-
Valutazione pratica di fuzzing guidato (AFL++, libFuzzer)New
Si configureranno fuzzing campaign su progetti software con bug noti (ad esempio, il set
Juliet Test Suite o vecchie versioni di OpenSSL). Verranno confrontati diversi fuzzer
esistenti: AFL++
, libFuzzer e honggfuzz. Lo studente misurerà metriche come la code
coverage raggiunta, numero di crash unici scoperti e tempo di esecuzione.
Misurazioni previste: tempo per scoprire crash, percentuale di codice coperto, confronto
tra fuzzer.
Advisor: Prof. Andrea Lanzi
-
Reverse Engineering di firmware IoTNew
La tesi consisterà nel selezionare firmware di dispositivi IoT disponibili in database pubblici
(come il Firmware Analysis Toolkit o Firmadyne). Si useranno strumenti esistenti (Ghidra,
binwalk) per estrarre immagini e identificare vulnerabilità note (come credenziali hardcoded
e buffer overflow noti). Verranno documentate le difficoltà pratiche e valutate le capacità dei
tool di automatizzare il processo.
Misurazioni previste: tempo di estrazione/analisi, tasso di successo dell’estrazione,
numero di vulnerabilità rilevate.
Advisor: Prof. Andrea Lanzi
-
Valutazione di strumenti di analisi di smart contracts (Mythril, Slither)New
Si selezioneranno smart contracts vulnerabili già noti (es. Parity Multisig Wallet Bug, DAO
exploit) e si eseguirà un’analisi con tool statici esistenti come Mythril e Slither. L’obiettivo
sarà testare l’accuratezza nel rilevare vulnerabilità reali, il numero di falsi positivi e i tempi di
scansione.
Misurazioni previste: percentuale di vulnerabilità rilevate, falsi positivi, tempo di analisi.
Advisor: Prof. Andrea Lanzi
-
Benchmark di mitigazioni Spectre/MeltdownNew
La tesi propone test di performance e sicurezza per mitigazioni di side-channel attack
(Spectre/Meltdown) su hardware moderno. Usando testbench esistenti (come Google’s
Retpoline test suite) e compilatori aggiornati, si misurerà l’impatto prestazionale delle
mitigazioni su carichi di lavoro standard (SPEC, Phoronix).
Misurazioni previste: overhead prestazionale (CPU, memoria), successo mitigazione
(exploit proof-of-concept falliti/riusciti).
Advisor: Prof. Andrea Lanzi
-
Analisi della privacy: fingerprinting web su browser moderniNew
Utilizzando tool di fingerprinting come AmIUnique o FP-STALKER, verranno eseguite
misurazioni della resilienza di browser moderni (Firefox, Chrome, Brave) a tecniche di
tracciamento (canvas fingerprinting, audio fingerprinting). Saranno testate configurazioni
standard e con estensioni anti-tracking (uBlock, Privacy Badger).
Misurazioni previste: entropia dell’impronta digitale, variazione fingerprint tra
sessioni/dispositivi, efficacia mitigazioni.
Advisor: Prof. Andrea Lanzi
-
Riproduzione e analisi di exploit buffer overflow e use-after-freeNew
La tesi consisterà nel riprodurre exploit buffer overflow e use-after-free su software
vulnerabile controllato (Juliet Suite o CVE pubblici). Verranno misurate le difficoltà pratiche di
exploitation in presenza di protezioni (ASLR, DEP, stack canaries) e analizzato il
comportamento di strumenti diagnostici come Valgrind e AddressSanitizer.
Misurazioni previste: tempo medio per realizzare exploit, impatto delle mitigazioni,
performance del software con AddressSanitizer.
Advisor: Prof. Andrea Lanzi
-
Esecuzione simbolica con KLEE: valutazione su progetti realiNew
Utilizzando il motore di symbolic execution KLEE, verrà analizzato codice open-source con
vulnerabilità note. Si misureranno i limiti pratici dell’esecuzione simbolica: tempo di analisi,
dimensione del codice esplorabile, qualità delle path esplorate.
Misurazioni previste: tempo di esecuzione, branch coperti, successo nella rilevazione di
bug noti.
Advisor: Prof. Andrea Lanzi
-
Analisi automatica di malware con Cuckoo SandboxNew
La tesi consisterà nell’uso di Cuckoo Sandbox per l’analisi comportamentale di malware già
classificato (ad esempio famiglie come Emotet, TrickBot). Verranno raccolti log di
comportamento e confrontati con classificazioni esistenti. Si valuterà anche il tasso di
rilevamento di attività sospette e la quantità di falsi positivi.
Misurazioni previste: accuratezza del rilevamento, tempo di analisi, risorse consumate.
Advisor: Prof. Andrea Lanzi
-
Valutazione della sicurezza di pipeline CI/CDNew
Abstract:
Si configureranno pipeline di integrazione continua (GitHub Actions e GitLab CI) seguendo
configurazioni vulnerabili documentate (es. permission escalation, dipendenze non
verificate). Si testeranno strumenti di sicurezza automatizzati esistenti come Snyk,
Dependabot e OWASP Dependency-Check per valutare la loro efficacia nella rilevazione dei
problemi.
Misurazioni previste: tasso di vulnerabilità rilevate, falsi negativi, tempo di scansione.
Advisor: Prof. Andrea Lanzi