Laboratorio di Ingegneria Informatica
Mini-progetti ("tesine") relativi a Sicurezza Informatica
Nota: Tutte le tesine nell'ambito della sicurezza informatica richiedono l'utilizzo di Debian GNU/Linux (versione testing).
Esperienze pregresse con Debian o con altre distribuzioni Linux, con l'installazione di
software a partire da sorgenti (toolchain configure/make/make install), con l'utilizzo di BASH o di altre shell POSIX-compliant sono fortemente consigliate.
1) Intrusion Detection System distribuito e ibrido
Implementazione di un sistema di Intrusion Detection distribuito e ibrido con strumenti open source e con gestione centralizzata degli alert basata su Prelude. Il sistema dovrà raggogliere allarmi generati da un Network IDS (Snort) un Host IDS (OSSEC) e un IDS operazionale (nepenthes). Si dovranno inoltre verificare le funzionalità del modulo Prelude-correlator.
2) Confronto tra Snort e Suricata
Installazione, configurazione e valutazione di due sistemi di Intrusion Detection open source:
Snort e Suricata. Il confronto tra i due NIDS verterà sul tasso di detection, sui requisiti computazionali, e sulla scalabilità in ambienti multi-core.
3) Confronto tra IDS operazionali: nepenthes, dionaea e honeyd
Installazione, configurazione e confronto tra tre sistemi di intrusion detection operazionali:
nepenthes, dionaea e honeyd. Per questa tesi è necessario disporre di una connessione ad un provider ADSL non filtrata (a monte di firewall e/o router con packet filter, o mediante router che consentano di effettuare port forwarding di molti numeri di porta) e con indirizzo IP pubblico (anche se dinamico).
4) Identificazione e confronto tra librerie crittografiche per il linguaggio di scripting Python
Ricerca di librerie per la crittografia con binding per il linguaggio Python. Confronto relativo agli algoritmi implementati dalle diverse librerie, all'interfaccia di programmazione proposta e al loro costo computazionale. Sviluppo di semplici programmi di esempio per (de)cifrare dati eterogenei (file, stream di traffico di rete) con gli algoritmi di crittografia simmetrica e asimmetrica più diffusi.
5) Realizzazione di uno software per automatizzare la creazione delle reti virtuali usate per le esercitazioni sui firewall
Realizzazione di un software in grado di costruire una rete virtuale di macchine User Mode Linux a partire da un file di configurazione che descrive la topologia della rete. Realizzazione di un software per il deployment sulle macchine virtuali di un set di regole di Iptables.
Realizzazione di un software per la verifica automatica della corretta implementazione delle politiche di firewalling.
6) Realizzazione di un sistema VoIP sicuro
Installazione e configurazione di un centralino VoIP basato su Asterisk, configurato per l'utilizzo di comunicazioni cifrate sia in fase di segnalazione che in fase di comunicazione (protocollo ZRTP). Identificazione di client VoIP in grado di supportare protocolli cifrati in ambienti Windows, Linux e Android (qualora non si disponesse di un dispositivo mobile basato su android è possibile usare un sistema virtuale). Intercettazione e analisi del traffico con Wireshark.