Differenze tra le versioni di "Sicurezza/2006-2007"

Da WikiDsy.
Riga 277: Riga 277:
  
 
=== Lezione del 30-10-06 (teoria)  ===
 
=== Lezione del 30-10-06 (teoria)  ===
 +
 +
* Single sign_on
 +
* one time password
 +
 +
* metodi autenticazione:
 +
*# ciò che hai
 +
*#* vengono utilizzati i token
 +
*# ciò che sei
 +
*#* si utilizzano schemi biometrici, es:
 +
*#*# voce.
 +
*#*# scansione iride.
 +
*#*# viso.
 +
*#*# impronte digitali, il cui riconoscimento avviene così:
 +
*#*## enrollment.
 +
*#*## memorizzazione templates.
 +
*#*## comparazione fra il template in uso e quello conservato nel db.
 +
*#*## enrollment.
 +
*#*#* viene conservato il template di più dita.
 +
 +
* autenticazione via password, non vi e possibilità d'errore
 +
* autenticazione biometrica, non é precisa al 100%, su usa per due scopi
 +
*# identificazione.
 +
*# verifica.
 +
 +
** failure rate, dà luogo a:
 +
**# falsi positivi.
 +
**# falsi negativi.
 +
** equal error rate
 +
 +
* attacchi alla biometria:
 +
*# falsaggio biometria.
 +
*# modifiche alle interazioni tra dispositivo e sistema.
 +
 +
* autenticazione basata sulla località.
 +
 +
 +
----
 +
 +
 +
* soggetti/principal: entità attive, es: utenti, processi.
 +
* oggetti: entità passive, es: file risorse.
 +
* operazioni d'accesso: accesso a memoria.
 +
 +
* a un primo livello si usano:
 +
*# observe.
 +
*# alter.
 +
 +
* BELL-LAPADULA definiscono quattro diritti d'accesso:
 +
*# execute.
 +
*# read.
 +
*# append -> blind write.
 +
*# write.
 +
 +
* multics.
 +
 +
 +
{| border=1
 +
! !! observe!!alter
 +
|-
 +
| execute|| ||
 +
|-
 +
| append|| || X
 +
|-
 +
| read|| X||
 +
|-
 +
| write|| X|| X
 +
|}
 +
 +
 +
{| border=1
 +
! !! data segments
 +
|-
 +
| execute|| R
 +
|-
 +
| read write|| E R
 +
|-
 +
| read|| W
 +
|-
 +
| write|| A
 +
|}
 +
 +
 +
{| border=1
 +
! !! dir segments
 +
|-
 +
| status|| R
 +
|-
 +
| search|| E
 +
|-
 +
| status modify|| W
 +
|-
 +
| append|| A
 +
|}
 +
 +
 +
{| border=1
 +
! unix, operazioni su file
 +
|-
 +
| execute|| file
 +
|-
 +
| read|| file
 +
|-
 +
| write|| fire
 +
|}
 +
 +
 +
{| border=1
 +
! unix, operazioni su dir
 +
|-
 +
| execute|| cerca file
 +
|-
 +
| read|| lista file
 +
|-
 +
| write|| crea/rinomina file
 +
|}
  
  

Versione delle 16:27, 2 nov 2006

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)

  • Single sign_on
  • one time password
  • metodi autenticazione:
    1. ciò che hai
      • vengono utilizzati i token
    2. ciò che sei
      • si utilizzano schemi biometrici, es:
        1. voce.
        2. scansione iride.
        3. viso.
        4. impronte digitali, il cui riconoscimento avviene così:
          1. enrollment.
          2. memorizzazione templates.
          3. comparazione fra il template in uso e quello conservato nel db.
          4. enrollment.
          • viene conservato il template di più dita.
  • autenticazione via password, non vi e possibilità d'errore
  • autenticazione biometrica, non é precisa al 100%, su usa per due scopi
    1. identificazione.
    2. verifica.
    • failure rate, dà luogo a:
      1. falsi positivi.
      2. falsi negativi.
    • equal error rate
  • attacchi alla biometria:
    1. falsaggio biometria.
    2. modifiche alle interazioni tra dispositivo e sistema.
  • autenticazione basata sulla località.




  • soggetti/principal: entità attive, es: utenti, processi.
  • oggetti: entità passive, es: file risorse.
  • operazioni d'accesso: accesso a memoria.
  • a un primo livello si usano:
    1. observe.
    2. alter.
  • BELL-LAPADULA definiscono quattro diritti d'accesso:
    1. execute.
    2. read.
    3. append -> blind write.
    4. write.
  • multics.


observe alter
execute
append X
read X
write X X


data segments
execute R
read write E R
read W
write A


dir segments
status R
search E
status modify W
append A


unix, operazioni su file
execute file
read file
write fire


unix, operazioni su dir
execute cerca file
read lista file
write crea/rinomina file



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)