Laboratorio di Cyber-Security

Il corso costituisce una risposta scientifica ed inter-culturale, alla crescente domanda, proveniente sia dalla realtà industriale sia dal mondo dei servizi, di professionalità tecniche e manageriali nel campo della sicurezza. 

Si prevede pertanto l’approfondimento "Tecnologico-informatico”, inteso a formare specialisti sulle problematiche e soluzioni tecniche nel campo della protezione dei sistemi informatici in rete (70%), e fornire competenze sulle metodologie per la gestione del "processo sicurezza" nell'ambito di organizzazioni di medie-grandi dimensioni (20%) e nozioni sulle relative normative (10%).

L'obiettivo è di trasmettere a tutti gli studenti una cultura trasversale della sicurezza, sufficientemente articolata da permettere la corretta gestione delle situazioni dalle più diverse angolazioni, e sufficientemente rigorosa da fornire tutti gli strumenti, normativi, tecnici e gestionali, necessari a tal fine. D'altro canto, la sicurezza dei sistemi informatici è una disciplina trasversale ed in continua evoluzione, sia dal punto di vista tecnologico sia dal punto di vista giuridico. 

Gli obiettivi dettagliati del corso sono:

  • fornire le conoscenze relative al progetto e realizzazione di sistemi di gestione del processo sicurezza, introdurre alle principali normative relative alla sicurezza
  • sviluppare competenze di tipo organizzativo e gestionale
  • fornire le conoscenze atte a valutare il livello di sicurezza ed il rispetto delle normative vigenti
  • fornire le necessarie conoscenze criminologiche per le attività di prevenzione di condotte informatiche illecite
  • specializzare sulle tecnologie e strumenti avanzati per garantire la sicurezza dei sistemi informatici
  • specializzare sulle metodologie e tecniche per la valutazione ed il miglioramento del livello di sicurezza

Sono previsti interventi e seminari tenuti da personaggi di chiara fama nel settore della sicurezza informatica provenienti dalle principali aziende e istituzioni.

Al fine di meglio comprendere gli argomenti trattati, si consiglia la frequenza dei corsi attienti la materia.

PROGRAMMA

Introduzione alla sicurezza informatica avanzata

Protezione delle risorse; Caratteristiche delle intrusioni e delle Violazioni informatiche; Principio del punto più debole; Minacce, Vulnerabilità e Controlli; Il paradigma MOM; Gli obiettivi della Sicurezza Informatica ed il paradigma CIA; Metodi di difesa ed Efficacia dei controlli; Principio di protezione adeguata. Esempi di violazioni ed andamento (frequenza, impatto economico, etc.) negli ultimi anni delle violazioni informatiche in base ai rapporti CSI/FBI.

Cyber-security e cyber warfare

Minacce alla sicurezza informatica di una nazione; Tecniche di cyber-warfare; Strategie di difesa; La guerra elettronica del terzo millennio; Normative nazionali ed internazionali

Intelligence e sicurezza

Definizione di intelligence per la sicurezza informatica; Tecniche di raccolta delle informazioni; Il black-maket; Social engineering; Elicitation: definizioni, obiettivi e tecniche; Il ruolo dei social media (Facebook, twitter, youtube, ecc.); Privacy: tutela e attacchi

Trasferire le informazioni all'esterno

Ciclo di vita delle vulnerabilità; Steganografia; Malware e reti di distribuzione di malware; Nascondere le proprie tracce

Elementi di crittografia applicata

Terminologia, Crittografia e Steganografia, Cifrari a sostituzione e a trasposizione, One-Time Pad, Attacchi, Criptoalgoritmi e relativa sicurezza.
Primitive Crittografiche: Criptosistemi simmetrici, Funzioni Hash Crittografiche, Criptosistemi asimmetrici, Firme digitali, Generatori di numeri (pseudo)-casuali; Protocolli Crittografici di base: Scambio di chiavi, Autenticazione, Autenticazione con scambio di chiavi, Verifica Formale dei protocolli, Crittografia asimmetrica a chiavi multiple, Secret Splitting, Secret Sharing. Protocolli Crittografici intermedi: Servizi di Timestamping, Canali Subliminari, Firme Digitali Irrevocabili e Designate, Firme Proxy, Firme di Gruppo, Firme Fail-Stop, Bit Committement, Lancio della moneta. Protocolli Crittografici avanzati: Prove a “conoscenza-zero”, Verifica di identità a “conoscenza-zero”, Firme Nascoste, Trasferimenti Immemori, Firme Immemori, Firma Simultanea di contratti, Posta Elettronica Certificata. Modalità operativa dei Criptoalgoritmi: Modo Electronic Codebook, Block Replay, Modo Cipher Block Chaining, Cifrari a flusso, Cifrari a flusso auto-sincroni, Modo Cipher-Feedback, Cifrari a flusso sincroni, Modo Output-Feedback.

Metodi e tecnologie per la sicurezza dei sistemi e delle reti (con laboratorio)

Protezione nei Sistemi Operativi General-Purpose. Sistemi Operativi Fidati. Sicurezza dei Database. Sicurezza delle Reti.

Elementi di Sicurezza del Software

Approcci per la sicurezza del software: Eliminazione dei difetti, Test di comportamento di programma, Analisi della sicurezza di un programma; Tipi di difetti del software; Errori di programmazione con implicazioni di sicurezza: Buffer overflow, Mediazioni incomplete, errori Time-To-Check-Time-To-Use, Difetti derivanti da errori multipli; Codice Malizioso (Malware) a scopo generico e specifico. Classificazione del Malware. Virus: Modalità operative, Firme virali,Polimorfismo, Fonti di virus e Prevenzione, Verità e falsità sui virus, Casi di studio: il Brain (Pakistani) virus, l'Internet worm, Code Red; Web Bug; Trapdoors; Attacchi “del salame”; Canali nascosti; Controlli finalizzati alla sicurezza di programma: Controlli in fase di sviluppo, Controlli a livello di sistema operativo, controlli amministrativi. Hacking del codice e buffer overflow: exploit basati su bachi (difetti) del software, exploit basati su debolezze di programmazione; Un esempio di programma vulnerabile agli overflow: Layout in memoria di un programma C, Chiamate di funzioni e comportamento dello stack; Tipi di exploit basati su overflow: buffer overflow relativi allo stack, buffer overflow relativi ai segmenti heap, bss e data; Rimedi per i buffer-overflow; Prevenzione in fase di sviluppo; Esempi relativi al linguaggio C: Lettura dallo STDIN, Scrittura in un buffer, Operazioni con stringhe, Buffer-overflow “interni”; Analisi in fase di postsviluppo;
Condizioni e modalità di un attacco heap-overflow; Condizioni e modalità di un attacco buffer-overflow. Controllo degli accessi nei SO generalpurpose, con particolare riferimento ad Unix+; Unix+: Credenziali di processo; Principio del minimo privilegio (PMP) e sue conseguenze; Gestione delle credenziali: API Unix+; Implementazione del PMP; PMP per programmi setuidroot e non; Implementazione sicura del PMP; Esempi; Gestione avanzata dei privilegi (cenni); Unix+: modalità di accesso ai file; Programmi set-uid e set-gid;
Accesso ai file: comandi Unix+; Accesso ai file: API Unix+; Uso sicuro delle API di accesso ai file: esempi; Suddividere in comparti; Condizioni di tempificazione (Race Condition): esempi; Condizioni TOCTOU: esempi; Come evitare condizioni TOCTOU: esempi; File temporanei; Altri tipi di condizioni di tempificazione.

MATERIALE DIDATTICO

  • Lucidi proiettati durante le lezioni
  • Dispense a cura del docente
  • I seguenti testi possono essere d'aiuto nella preparazione dell'esame:
    • C. Pfleeger, S.L.Pfleeger, Sicurezza in Informatica, 2nd ed., Pearson 2008
    • W.Stallings, Cryptography and Network Security: Principles and Practices, 5th ed., Prentice Hall 2011
    • M.Bishop, Computer Security: Art and Science, Addison-Wesley 2003
    • D. Griztalis, S. De Capitani, P. Samarati, S. Katsikas, Security and Privacy in the Age of Uncertainty, Kluwer Academic Publishers, 2003
    • DM. Ghonaimy. M. El-Hadidi, H. Aslans, Security in the Information Society, Kluwer Academic Publishers, 2003
    • M. D. Abrams, S. Jajodia, and H. J. Podell, eds., Information Security: An Integrated Collection of Essays. IEEE Computer Society Press, 1995