B0833 - LABORATORIO DI SICUREZZA INFORMATICA T

Anno Accademico 2022/2023

  • Docente: Marco Prandini
  • Crediti formativi: 6
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano
  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Bologna
  • Corso: Laurea in Ingegneria informatica (cod. 9254)

    Valido anche per Laurea in Ingegneria informatica (cod. 9254)

Conoscenze e abilità da conseguire

Conoscenza delle problematiche di sicurezza delle informazioni, dei sistemi per la loro elaborazione, e delle reti che li interconnettono. Conoscenza delle minacce alla sicurezza e delle contromisure per prevenirle, rilevarne la manifestazione e contenerne gli effetti. Capacità di utilizzare strumenti di "penetration testing" per validare la sicurezza di un sistema attraverso la ricerca delle sue vulnerabilità e la misura degli effetti del loro sfruttamento.

Contenuti

L'obiettivo del corso è quello di fornire una panoramica delle tematiche rilevanti per la messa in sicurezza dei sistemi di elaborazione, con un taglio fortemente pratico.

Propedeuticità: PER TRARRE PROFITTO DAL CORSO È INDISPENSABILE AVER CHIARI I CONCETTI E GLI STRUMENTI FORNITI DAI CORSI DI RETI DI CALCOLATORI E SISTEMI OPERATIVI, IN PARTICOLARE AVER ACQUISITO UNA DISCRETA MANUALITÀ IN AMBIENTE LINUX A RIGA DI COMANDO

Introduzione alla sicurezza

  • Proprietà di sicurezza delle informazioni e dei sistemi
  • Definizioni di minaccia, vulnerabilità, exploit e rischio
  • Le tipologie di attacco e le loro conseguenze
  • Cenni ai processi formali di sviluppo sicuro, ai framework per la messa in sicurezza, e alle certificazioni

Red Teaming: capire come vengono attaccati i sistemi

  • Origine e identificazione delle vulnerabilità
  • La cybersecurity kill chain
  • Tecniche di enumerazione, scansione, brute forcing di credenziali
  • Sfruttamento degli errori di configurazione per acquisire privilegi elevati sui sistemi
  • Sfruttamento delle vulnerabilità dei sistemi web-based (cross-site scripting, path traversal, code injection, ecc.)
  • Sfruttamento delle vulnerabilità dei software compilati (buffer overflow, shellcoding, return to libc, ecc.)

Difesa delle informazioni

  • Fondamenti di crittografia
  • Dati a riposo: anonimizzazione e crifratura
  • Dati in transito: protocolli sicuri e VPN

Blue teaming: difendere i sistemi

  • Messa in sicurezza fisica
  • Hardening di base del sistema operativo
  • Sistemi di autenticazione
  • Modelli di controllo dell'accesso e loro implementazione
  • Prevenzione degli attacchi via rete: firewall
  • Rilevazione degli attacchi: IDS, IPS, SIEM
  • Risposta agli attacchi e ripristino

 

Testi/Bibliografia

Le slide pubblicate su Virtuale costituiscono la traccia per lo studio (non sono da considerare materiale didattico interamente sufficiente alla preparazione dell'esame). Sulla stessa piattaforma sono disponibili le tracce e le soluzioni di tutte le esercitazioni svolte in laboratorio e proposte per casa.

Libri di testo consigliati:

  • "Sicurezza dei computer e delle reti" di William Stallings, a cura di Alessandra de Paola e Giuseppe Lo Re - Pearson (2022)

o anche:

  • "Security in Computing" di Shari Lawrence Pfleeger, Charles P. Pfleeger, Jonathan Margulies - Pearson (2015)
  • "Cybersecurity – Attack and Defense Strategies - Second Edition" di  Yuri Diogenes, Erdal Ozkaya - Packt Publishing (2019)

Più datato ma efficace sulla parte Red Team:

  • "Hacking Exposed 7" di Stuart McClure, Joel Scambray, George Kurtz - McGraw-Hill (2012)

Per chi necessita di un'introduzione o comunque di un supporto all'uso di Linux come piattaforma per le operazioni di sicurezza:

  • "Linux Essentials for Cybersecurity", di Denise Kinsey, William Rothwell - Pearson IT Certification (2018) 
  • "Cybersecurity Ops with bash", di Paul Troncone, Carl Albing  - O'Reilly Media (2019)

 
 

 

 

Metodi didattici

Il corso assegna 6 CFU corrispondenti a 60 ore di lezione complessive, divise tra teoria e laboratorio.

I fondamenti teorici saranno esposti durante lezioni tradizionali in aula.

Le esercitazioni saranno svolte sia sotto forma di illustrazione guidata dell'uso degli strumenti, sia sotto forma di "sfide" che gli studenti affronteranno per risolvere problemi proposti, lavorando tipicamente in gruppo.

Per questo motivo la frequenza è di fondamentale importanza.

Modalità di verifica e valutazione dell'apprendimento

  • L'esame è composto di due prove: un accertamento delle conoscenze teoriche e una prova pratica al calcolatore.
  • Il voto finale, attribuito in trentesimi, sarà una combinazione dei risultati ottenuti nelle due prove.
  • L'accertamento delle conoscenze teoriche sarà un breve quiz da svolgere subito prima dell'inizio della prova al calcolatore, senza l'ausilio di alcun materiale. Il risultato sarà disponibile immediatamente, e un voto sufficiente è richiesto per procedere alla parte pratica dell'esame.
  • La prova pratica sarà centrata sulle attività svolte in laboratorio e potrà richiedere sia lo svolgimento di esercizi da completare autonomamente, sia sfide collettive di attacco e difesa.
  • Durante la prova pratica è consentito l'uso di materiale didattico, appunti, e componenti software realizzati in precedenza dal candidato.
  • Data ed ora delle prove saranno pubblicate come liste di AlmaEsami.
  • Gli studenti sono pregati di considerare vincolante l'iscrizione ad una lista, evitando di sovraffollare inutilmente gli appelli e cancellandosi prima della chiusura della lista in caso decidano di non presentarsi. Per ovvie ragioni di organizzazione, le liste prevedono un tetto di iscrizioni e comportamenti incivili impediscono di sostenere l'esame a chi è realmente interessato.

Strumenti a supporto della didattica

Le lezioni teoriche si svolgeranno con proiezione di presentazioni in forma elettronica.

Le esercitazioni pratiche in laboratorio, guidate dal docente, sono parte fondamentale del corso, e riguardano pressoché tutti gli argomenti del programma.

Le esercitazioni sono svolte con l'ausilio di un sistema di virtualizzazione che permette di operare con i privilegi di amministratore su sistemi Linux. Le macchine virtuali possono inoltre essere utilizzate sui sistemi personali degli studenti, mettendo a disposizione un ambiente di lavoro identico a quello del laboratorio.

Orario di ricevimento

Consulta il sito web di Marco Prandini

SDGs

Imprese innovazione e infrastrutture

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.