Sicurezza/2006-2007

Da WikiDsy.

Sicurezza, anno 2006/2007

Sicurezza è un corso complementare per la laurea in comunicazione digitale e altri corsi di laurea.

Docenti

Danilo Bruschi e-mail: <bruschi [at] dico [dot] unimi [it]>

Orari delle lezioni

Lunedì Mercoledì
15:30-17:30 Aula Alfa 16:30-18:30 Aula Sigma

Le lezioni del lunedì tratteranno la parte teorica del corso e saranno tenute dal prof. Bruschi,mentre le lezioni del mercoledi` tratteranno la parte pratica del corso e saranno tenute dai dott. Paleari, Marrone e Lanzi.

Indirizzi email docenti

  • Prof. Bruschi <bruschi [at] dico [dot] unimi [dot] it>
  • Dott. Lanzi <andrew [at] security [dot] dico [dot] unimi [dot] it>
  • Dott. Paleari <roberto [at] security [dot] dico [dot] unimi [dot] it>
  • Dott. Marrone <davide [at] security [dot] dico [dot] unimi [dot] it>

Sito del corso

Se andate qui trovate il programma del corso,le modalità d'esame e quant'altro di necessario.

Materiale didattico

  • Libro fondamentale:
    • Titolo: "Computer Security"
    • Autore: D.Gollmann
    • Casa editrice: J.Wiley
    • Lingua: solo inglese
    • prezzo: sui 45/50€
  • libro che forse verrà utilizzato:
    • Titolo: "Networking Security essentials"
    • Autori: Wiley, Stalling
    • Casa Editrice: Prentice Hall
    • Prezzo: n/a

Verranno presentate slides alle lezioni di teoria del lunedì, ma probabilmente NON verranno messe a disposizione sul sito.

Modalità d'esame

Si raccomandano come prerequisiti l'aver frequentato il corso di Reti di calcolatori e Sistemi Operativi,e di poter lavorare su Linux,in quanto la pratica verterà su questo sistema operativo. L'esame consiste di due prove da svolgere:

  • TEORIA: compito scritto a domande, ci si iscrive tramite sifa
  • PRATICA: orale se ci sono meno di venti persone, altrimenti esercizi in laboratorio; ci si iscrive al termine della prova di teoria, o tramite email


Diario del corso

Lezione del 02-10-06 (teoria)

  • definizioni di
    1. sistema operativo sicuro
    2. bug
    3. exploit
  • descrizione dei primissimi atti di hacking riusciti di rilevanza mondiale, ad opera di:
    1. Hess
    2. Robert Morris
    3. Vladimir Levin



Lezione del 09-10-06 (teoria)

Lezione incentrata sulla crittografia, spiegazione di essa e della distinzione fra chiavi simmetriche ed asimmetriche.

  • Principali protocolli crittografici asimmetrici:
    1. AES
    2. DES
    3. IDEA
  • Problema del key exchange.
  • Algoritmo Diffie-Hellman.
  • Tipologia di attacco: man in the middle.



Lezione del 11-10-06 (laboratorio)

  • accesso alla propria macchina virtuale
  • gestione della rete all'interno della macchina virtuale utilizzando le modalità:
    1. NAT: da usare quando e' necessario "uscire" su Internet; l'ip viene assegnato automaticamente e per ottenerlo basta usare il comando dhclient <interfacccia> (es. eth0)
    2. BRIDGE: da utilizzare per collegarsi ad un altra macchina virtuale del laboratorio, per svolgere alcuni degli esercizi che verranno assegnati (non e' possibile uscire su Internet); l'ip dev'essere impostato manualmente, tramite ifconfig <interfacccia> <ip> netmask <netmask>



Lezione del 16-10-06 (teoria)

Spiegazione della crittografia a chiave asimmetrica (coppia di chiavi pubblica/privata), chiarite le definizioni di:

  • chiave pubblica.
  • chiave privata.

Protocolli usati per la crittografia a chiave asimmetrica:

    1. Diffie-Hellman.
    2. RSA.

L'RSA funziona a partire da due numeri primi di almeno 300 cifre.

  • Problemi correlati:
    1. necessità di trovare un algoritmo che verifichi se un numero é primo.
    2. La fattorizzazione rende possibile rompere RSA (nell'arco di qualche secolo, con i mezzi attuali).


  • Necessità imprescindibili:
    1. Confidenzialità.
    2. Integrità.
    3. Autenticazione.
  • definizioni, spiegazioni, motivazioni dell'ordine di applicazione di:
    1. message digest o checksum.
    2. keyed hash.
    3. firma digitale.

Pro/contro crittografia asimmetrica:

  • + Gestione chiavi semplice.
  • - Diffusione delicata della chiave pubblica.
  • -- Protocolli inefficienti come tempo di esecuzione.



Lezione del 18-10-06 (laboratorio)

Lezione teorica tenuta in laboratorio, avente come argomento la gestioni dei permessi su Linux; questa é la slide usata per la spiegazione. Le istruzioni da compiere per accedere ed utilizzare la propria macchina virtuale sono state riportate qui.

Gli argomenti affrontati sono:

  • Permessi d'accesso per file e cartelle.
    1. r: lettura.
    2. w: scrittura.
    3. x: esecuzione.
  • Modalità d'accesso.
    • File:
      1. SGID.
      2. SUID.
    • Cartelle:
      1. Sticky.
      2. GID.
    • umask.
  • Attributi.
    • chattr serve a impostare i seguenti attributi, preceduti da un + o un -.
      1. A
      2. a
      3. c
      4. i
      5. s
      6. u
      7. S
    • lsattr:
      1. -R
      2. -a
      3. -d
  • Comandi utilizzati nella gestione dei permessi:
    1. chown
    2. chgrp
    3. chmod
  • Schema di autenticazione: utente/password.
    • Si basa su due file:
      1. passwd
      2. shadow
    • Algoritmi utilizzati per la cifratura:
      1. DES modificato.
      2. funzione hash (MD5).
  • Tool di cracking: John the Ripper.
    • Modalità operative:
      1. Worldlistmode. es: # john -wordfile:password -rules passwordcheck
      2. Single Crack mode. es: # john -single passwordcheck
      3. Incremental mode. es: # john -incremental:alpha passwordcheck
      4. External mode. es: # john -wordfile:common-4 -external:Filter_Alpha password_check



Lezione del 23-10-06 (teoria)

  • applicazione della crittografia mista.
  • spiegazione e necessità dell'Autorità di Certificazione, e annessi certificati.
  • definizioni di:
    1. criptoanalisi
    2. robustezza
    3. attacchi di forza bruta, consentono di rompere:
      • AC4: rotto in otto giorni nel '95 con 120 workstastions
      • DES: necessari due anni, già rotto dall'NSA nel '78
  • lunghezza idonea in bit di una coppia di chiavi pubblica-privata:
privata pubblica
56bit 384bit
64bit 512bit
80bit 768bit
112bit 1792bit
128bit 2304bit
  • lunghezze da associare alle chiavi a seconda della lunghezza del periodo per cui devono essere usate:
durata segreto lunghezza minima chiave privata
decine di minuti 56bit
giorni 64bit
decade 112bit
40 anni 128bit

Capitolo 3 del libro

  • entità (principal) che accedono a un pc:
    1. utenti.
    2. gruppi.
    3. altri computer.
  • identità: attributo che identifica univocamente un principal all'interno di un pc.
  • rappresentazioni di identità:
    1. casuale.
    2. scelta dagli utenti.
    3. gerarchica.
  • riconoscimento utente:
    1. ciò che hai.
    2. ciò che sai.
    3. ciò che sei.
  • debolezze del sistema di identificazione ed autenticazione, username//password:
    1. intercettazione possibile.
    2. recuperare la password dal file delle password.
    3. password guessing.
      1. ricerca esaustiva.
      2. ricerca mirata.
      3. dictionary check.



Lezione del 25-10-06 (laboratorio)

Prima parte della lezione teorica, avente come argomento l'ACL;questa é la slide usata per la spiegazione.

Successivamente sono stati assegnati degli esercizi da svolgere, il cui testo é disponibile qui. Le soluzioni saranno rese disponibili durante la prossima lezione di laboratorio.



Lezione del 30-10-06 (teoria)


Lezione del 06-11-06 (laboratorio)


Lezione del 08-11-06 (teoria)


Lezione del 13-11-06 (teoria)


Lezione del 15-11-06 (laboratorio)


Lezione del 20-11-06 (teoria)


Lezione del 22-11-06 (laboratorio)


Lezione del 27-11-06 (teoria)


Lezione del 29-11-06 (laboratorio)


Lezione del 04-12-06 (teoria)


Lezione del 06-12-06 (laboratorio)


Lezione del 11-12-06 (teoria)


Lezione del 13-12-06 (laboratorio)


Lezione del 18-12-06 (teoria)


Lezione del 20-12-06 (laboratorio)