Sicurezza Informatica

Docenti: Danilo Bruschi & Andrea Lanzi

AA 2014/2015

Contenuti

News

  • risultati-2compitino-sicurezza.pdf Chi volesse verbalizzare subito il voto, mandi una e-mail al Professor Bruschi.
    Chi volesse aumentare il voto fino ad un massimo di 3 punti, mandare una e-mail al docente lanzi andrea, che fornira delle pubblicazioni su cui dovranno essere fatti dei seminari, secondo date da concordare.
  • L'esame di Mercoledi 21 Gennaio si svolgera in Sala Lauree I piano via Comelico, 39 dalle 9:00 alle 13:00
  • risultati-compitino-sicurezza.pdf
  • La Lezione del 12 Novembre si svolgera` in Aula Omega
  • Gli homework vanno mandati a questo indirizzo: E-mail: 
  • Descrizione del corso

    In questo corso saranno analizzate approfonditamente una serie di vulnerabilità presenti nei sistemi informatici a livello di sistema operativo ed applicazioni web e si analizzeranno le tecniche utilizzate per lo sfruttamento di tali vulnerabilità ai fini dell'accesso non autorizzato nei sistemi informatici. La trattazione sarà particolarmente articolata e approfondita al fine di consentire allo studente di poter cogliere appieno l'importanza della problematica trattata ed i suoi risvolti. Particolare enfasi verrà posta sugli aspetti pratici dei vari problemi trattati senza ovviamente trascurare le implicazioni teoriche ad essi correlate. Viste le modalità di svolgimento del corso e delle prove d'esame si incoraggiano vivamente gli studenti interessati al corso a frequentarne assiduamente le lezioni.

    Logistica e organizzazione

    Le lezioni del corso si terranno nella Sala Lauree di Via Comelico 39 dalle 8,30 alle 12.30 il mercoledì. Al corso sono riconosciuti 6 CFU, per un carico di studio complessivo di 150 ore di cui 47 di didattica e prove intermedie e 100 di studio. Qualora lo studente non sia in regola con i prerequisiti, questo numero di ore dovrà essere opportunamente adeguato. Gli studenti che intendono seguire il corso sono invitati a installare sul proprio PC le utility (apt-get install binutils) necessarie alla programmazione GAS, che dovranno essere disponibili sin dalla prima lezione.

    Obiettivi Formativi

    Al termine del corso lo studente che avrà superato con profitto l'esame sarà in grado di:

    Prerequisiti

    Al fine di poter trarre il massimo profitto dal corso gli studenti interessati a frequentarlo devono possedere i seguenti requisiti:

    Studenti che NON posseggono questi requisiti possono comunque seguire il corso ma dovranno autonomamente provvedere al recupero delle suddette nozioni e capacità.

    Programma del corso

    1. Introduzione alla programmazione assembler IA-32

      • Richiami sull'architettura IA-32
      • Principali istruzioni Assembler
      • GAS: GNU Assembler
      • Puntatori
      • System call in assembler
    2. Elementi di reverse engineering

      • Debugger
      • Disassembler
    3. Memory error exploits

      • Shell code
      • Buffer overflow
      • Integer overflow: accenni
      • Proteggersi dai memory error exploit
    4. Reverse Engineering

      • Conoscenze degli eseguibili
      • Tecniche di Analisi degli eseguibili
      • Gestione delle tecniche di Obfuscation
    5. Computer Forensic

      • Tecniche di Analisi della Memoria
      • Individuazione delle informazioni nel sistemi operativi
      • Tecniche di ricerca dei dati

    Materiale didattico

    Gli argomenti trattati nel corso fanno riferimento a materiale in inglese reperibile direttamente dalla rete, per ulteriori riferimenti consultare il calendario del corso.

    Altro materiale:

    Orario e argomenti delle lezioni

    Segue l'orario settimanale del corso, con gli argomenti trattati nelle lezioni e il relativo materiale di riferimento per lo studio e l'approfondimento dei temi trattati a lezione. Questo elenco pu? essere modificato senza preavviso per motivi di ordine didattico.

    Data Argomento Materiale didattico Tipo attivita Altro
    1 Ott. Programmazione Assembler (parte prima) GNU Assembler
    Instruction set
    SLIDES: lezione1
    Didattica frontale
    8 Ott. Programmazione Assembler (parte seconda) Programming from the Ground Up
    SLIDES: lezione2
    Didattica frontale
    15 Ott. Debugging: GDB GDB Tutorial, Didattica frontale
    23 Oct. Memory error: buffer overflow (prima parte) Smashing the stack Didattica frontale
    30 Oct. Memory error: buffer overflow (seconda parte), shellcode. Tecniche di protezione Didattica frontale
    5 Nov. Memory error: return into libc, off by one, integer overflow. Ret-into-libc by c0ntex Off by one by klog Basic Integer Overflows Didattica frontale
    12 Nov. Introduzione e tecniche di reverse engineering Executable Format (1) Executable Format (2) Didattica frontale
    19 Nov. Tecniche di reverse engineering e Obfuscation Debugging Internals, Obfuscation Didattica frontale
    26 Nov. Tecniche di reverse engineering and Exercises homework4, System Protection I, System Protection II Didattica frontale + Lab.
    3 Dic. Introduzione al Computer Forensic (Volatility) Slide:memory_forensics2.pdf.gpg Didattica frontale
    10 Dic. Computer Forensic Tools (Malware Analysis) silentbanker.vmem.zip
    laqma.vmem.zip
    stuxnet.vmem.zip
    zeus.vmem.zip
    zeus.vmem.zip
    forensic-book.gpg
    Slide:memory_forensics1.pdf.gpg
    Didattica frontale + Lab
    17 Dic. Tecniche di Network Computer Forensic Slide:network_forensics.pdf.gpg
    La Password per i pcap e`: infected666 seguita dall'ultimo carattere del pcap file per esempio abc.zip password infected666c
    Didattica frontale
    21 Gennaio 2015 Esame test.vmem.zip
    net1.pcap
    net2.pcap
    net3.pcap
    binary.exe
    Didattica frontale

    Modalità d'esame

    L'esame per il corso di sicurezza prevede lo svolgimento di due prove scritte/pratiche. Le prove si svolgeranno durante il corso in particolare:

    Dettagli

    Ore di lezione

    Il corso si svolge il Mercoledì dalle 8.30 alle 12.30, in Sala Lauree in via Comelico, 39.

    Docenti