COMPUTER SECURITY E LABORATORIOModulo LABORATORIO
Anno accademico 2024/2025 - 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
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
- 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, risorse online e testi sopracitati |
2 | Utilizzo base di Metasploit | Materiale didattico fornito dal docente, risorse online e testi sopracitati |
3 | Moduli di Metasploit | Materiale didattico fornito dal docente, risorse online e testi sopracitati |
4 | Tipologie di shell | Materiale didattico fornito dal docente, risorse online e testi sopracitati |
5 | Meterpreter | Materiale didattico fornito dal docente, risorse online e testi sopracitati |
6 | Stageless Mode | Materiale didattico fornito dal docente, risorse online e testi sopracitati |
7 | Silent shell | Materiale didattico fornito dal docente, risorse online e testi sopracitati |
8 | Migrazione di Meterpreter | Materiale didattico fornito dal docente, risorse online e testi sopracitati |
9 | Post-exploitation con Metasploit | Materiale didattico fornito dal docente, risorse online e testi sopracitati |
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.
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.