COMPUTER SECURITY E LABORATORIOModulo LABORATORIO
Anno accademico 2025/2026 - Docente: SERGIO ESPOSITORisultati di apprendimento attesi
- Conoscenza e capacità di comprensione (knowledge and understanding). Lo studente acquisisce conoscenza critica dei problemi di sicurezza considerati "di frontiera" oggigiorno.
- Capacità di applicare conoscenza e comprensione (applying knowledge and understanding). Lo studente acquisisce capacità pratica di costruire un laboratorio virtuale per condurre esperimenti di penetration testing. Diventa altresì capace di condurre elementari sessioni di analisi formale.
- Autonomia di giudizio (making judgements). Lo studente diventa un giocatore esperto del “gioco della sicurezza”, ovvero quello di trovare possibili attacchi ad un sistema che dovrebbe essere sicuro, onde poi aggiustare il sistema per proteggerlo dagli attacchi trovati.
- Abilità comunicative (communication skills). Lo studente familiarizza col lessico tipico della sicurezza informatica, acquisendo la capacità di utilizzare in maniera disambigua le varie sfaccettature del termine “sicurezza” per quanto concerne alcuni argomenti di ricerca, il penetration testing e l'analisi formale.
- Capacità di apprendimento (learning skills). Lo studente acquisisce la mentalità critica e le capacità metodologiche per affrontare e risolvere i nuovi problemi di sicurezza che gli si possano presentare.
Modalità di svolgimento dell'insegnamento
Durante le lezioni verranno videoproiettate delle slide sugli argomenti del corso. Il corso è caratterizzato da una forte interazione docente-studenti anche per via della natura estremamente pratica degli argomenti trattati.
L’insegnamento si svolge attraverso lezioni frontali e attività di laboratorio. Le lezioni introdurranno i concetti teorici, mentre il laboratorio ne permetterà l’applicazione pratica tramite esercitazioni e casi studio.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
Prerequisiti richiesti
Frequenza lezioni
Contenuti del corso
Il Laboratorio di Computer Security è progettato per fornire agli studenti competenze pratiche nell'analisi delle vulnerabilità e nell'uso di strumenti avanzati per la sicurezza informatica. Il modulo inizia con l'esplorazione dei database di vulnerabilità e debolezze, come CVE (Common Vulnerabilities and Exposures), NVD (National Vulnerability Database), MSB (Microsoft Security Bulletins) e CWE (Common Weakness Enumeration), che offrono informazioni sulle vulnerabilità note e le debolezze comuni nei sistemi informatici.
Successivamente, il laboratorio introduce l'uso di Metasploit Framework, una delle piattaforme più utilizzate per il penetration testing. Gli studenti creano il loro laboratorio virtuale di test, impiegando e configurando macchine virtuali vulnerabili al fine di imparare a gestire le basi di Metasploit, ad esempio per eseguire exploit, payload e attacchi contro tali sistemi. Si studiano anche le diverse tipologie di shell utilizzate in questo contesto, con particolare attenzione a Meterpreter, una shell che offre molte funzionalità di controllo remoto e post-exploitation.
Il corso copre inoltre modalità operative specifiche di Meterpreter, come la stageless mode, che consente di eseguire exploit senza passaggi intermedi, e le silent shell, utilizzate per mantenere furtivamente l'accesso ai sistemi compromessi. Viene anche approfondita la migrazione di Meterpreter su altri processi, una tecnica che permette di evitare la rilevazione e di mantenere il controllo su un sistema anche dopo che il processo originale è stato terminato.
Infine, il laboratorio si concentra sulle tecniche di post-exploitation con Metasploit, ossia le attività che è possibile eseguire dopo aver ottenuto l'accesso a un sistema, come il furto di credenziali, la raccolta di dati sensibili, e la privilege escalation.
Testi di riferimento
- Appunti rilasciati dal docente sul canale Teams dell'insegnamento
- William Stallings: Sicurezza delle reti. Applicazioni e standard
- Bruce Schneier: Sicurezza digitale. Miti da sfatare, strategie da adottare
Programmazione del corso
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Database di vulnerabilità e debolezze | Materiale didattico fornito dal docente |
| 2 | Introduzione all'hacking etico | Materiale didattico fornito dal docente |
| 3 | Utilizzo base di Metasploit | Materiale didattico fornito dal docente |
| 4 | Meterpreter | Materiale didattico fornito dal docente |
| 5 | Staged e Stageless payloads | Materiale didattico fornito dal docente |
| 6 | MSFVenom | Materiale didattico fornito dal docente |
| 7 | Utilizzo degli Encoders | Materiale didattico fornito dal docente |
| 8 | Exploit e Module Ranking | Materiale didattico fornito dal docente |
| 9 | MSF Database | Materiale didattico fornito dal docente |
| 10 | Migrazione di Meterpreter | Materiale didattico fornito dal docente |
| 11 | Gestione dei Timeout | Materiale didattico fornito dal docente |
| 12 | Trasporti multipli in Meterpreter | Materiale didattico fornito dal docente |
| 13 | Shell silenti | Materiale didattico fornito dal docente |
| 14 | Esercitazioni con MSF | Materiale didattico fornito dal docente |
| 15 | Esercitazioni su analisi del rischio GDPR | Materiale didattico fornito dal docente |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
- Prove in itinere facoltative di configurazione pratica di laboratorio con risoluzione di problemi reali.
- Progetto implementativo.
- Colloquio orale.
La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
Il progetto implementativo ha valore integrativo rispetto alla prova orale e concorre alla determinazione del voto finale in modo inscindibile. Esso non rappresenta un’opportunità di incremento del punteggio, ma un completamento necessario per la valutazione complessiva della preparazione dello studente.
Per l'attribuzione del voto si seguiranno di norma i seguenti criteri:
• non approvato: lo studente non ha acquisito i concetti di base e non è in grado di rispondere alle domande.
• 18-23: lo studente dimostra una padronanza minima dei concetti di base, le sue capacità di esposizione e di collegamento dei contenuti sono modeste, riesce a rispondere a domande semplici.
• 24-27: lo studente dimostra una buona padronanza dei contenuti del corso, le sue capacità di esposizione e di collegamento dei contenuti sono buone, riesce a rispondere alle domande con un buon livello di dettaglio.
• 28-30 e lode: lo studente ha acquisito tutti i contenuti del corso ed è in grado di esporli compiutamente e di collegarli con spirito critico; riesce a rispondere alle domande dimostrando piena padronanza degli argomenti trattati.
Gli studenti con disabilità e/o DSA dovranno contattare con sufficiente anticipo rispetto alla data dell'esame il docente, il referente CInAP del DMI (prof.ssa Daniele) e il CInAP per comunicare che intendono sostenere l'esame fruendo delle opportune misure compensative.
Esempi di domande e/o esercizi frequenti
- Prove in itinere: sfruttare una vulnerabilità con Metasploit, all'interno di un ambiente di test.
- Progetto implementativo: scrivere un modulo per Metasploit che sfrutti una CVE nota per cui ancora non esiste un exploit pubblico.
- Colloquio orale: descrivere come avviene la migrazione di Meterpreter da un processo all'altro, e qual è il vantaggio di eseguire questa operazione.
Si precisa che tali domande hanno carattere puramente indicativo: le domande effettivamente proposte in sede d’esame potranno divergere, anche in modo significativo, da quelle riportate in questa lista.