Sicurezza/2006-2007
Indice
- 1 Sicurezza, anno 2006/2007
- 2 Diario del corso
- 2.1 Lezione del 02-10-06 (teoria)
- 2.2 Lezione del 09-10-06 (teoria)
- 2.3 Lezione del 11-10-06 (laboratorio)
- 2.4 Lezione del 16-10-06 (teoria)
- 2.5 Lezione del 18-10-06 (laboratorio)
- 2.6 Lezione del 23-10-06 (teoria)
- 2.7 Lezione del 25-10-06 (laboratorio)
- 2.8 Lezione del 30-10-06 (teoria)
- 2.9 Lezione del 06-11-06 (teoria)
- 2.10 Lezione del 08-11-06 (laboratorio)
- 2.11 Lezione del 13-11-06 (teoria)
- 2.12 Lezione del 15-11-06 (laboratorio)
- 2.13 Lezione del 20-11-06 (teoria)
- 2.14 Lezione del 22-11-06 (laboratorio)
- 2.15 Lezione del 27-11-06 (teoria)
- 2.16 Lezione del 29-11-06 (laboratorio)
- 2.17 Lezione del 04-12-06 (teoria)
- 2.18 Lezione del 06-12-06 (laboratorio)
- 2.19 Lezione del 11-12-06 (teoria)
- 2.20 Lezione del 13-12-06 (laboratorio)
- 2.21 Lezione del 18-12-06 (teoria)
- 2.22 Lezione del 20-12-06 (laboratorio)
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
- sistema operativo sicuro
- bug
- exploit
- descrizione dei primissimi atti di hacking riusciti di rilevanza mondiale, ad opera di:
- Hess
- Robert Morris
- 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 simmetrici:
- AES
- DES
- 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à:
- 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)
- 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:
- Diffie-Hellman.
- RSA.
L'RSA funziona a partire da due numeri primi di almeno 300 cifre.
- Problemi correlati:
- necessità di trovare un algoritmo che verifichi se un numero é primo.
- La fattorizzazione rende possibile rompere RSA (nell'arco di qualche secolo, con i mezzi attuali).
- Necessità imprescindibili:
- Confidenzialità.
- Integrità.
- Autenticazione.
- definizioni, spiegazioni, motivazioni dell'ordine di applicazione di:
- message digest o checksum.
- keyed hash.
- 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.
- r: lettura.
- w: scrittura.
- x: esecuzione.
- Modalità d'accesso.
- File:
- SGID.
- SUID.
- Cartelle:
- Sticky.
- GID.
- umask.
- File:
- Attributi.
- chattr serve a impostare i seguenti attributi, preceduti da un + o un -.
- A
- a
- c
- i
- s
- u
- S
- lsattr:
- -R
- -a
- -d
- chattr serve a impostare i seguenti attributi, preceduti da un + o un -.
- Comandi utilizzati nella gestione dei permessi:
- chown
- chgrp
- chmod
- Schema di autenticazione: utente/password.
- Si basa su due file:
- passwd
- shadow
- Algoritmi utilizzati per la cifratura:
- DES modificato.
- funzione hash (MD5).
- Si basa su due file:
- Tool di cracking: John the Ripper.
- Modalità operative:
- Worldlistmode. es: # john -wordfile:password -rules passwordcheck
- Single Crack mode. es: # john -single passwordcheck
- Incremental mode. es: # john -incremental:alpha passwordcheck
- External mode. es: # john -wordfile:common-4 -external:Filter_Alpha password_check
- Modalità operative:
Lezione del 23-10-06 (teoria)
- applicazione della crittografia mista.
- spiegazione e necessità dell'Autorità di Certificazione, e annessi certificati.
- definizioni di:
- criptoanalisi
- robustezza
- 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:
- utenti.
- gruppi.
- altri computer.
- identità: attributo che identifica univocamente un principal all'interno di un pc.
- rappresentazioni di identità:
- casuale.
- scelta dagli utenti.
- gerarchica.
- riconoscimento utente:
- ciò che hai.
- ciò che sai.
- ciò che sei.
- debolezze del sistema di identificazione ed autenticazione, username//password:
- intercettazione possibile.
- recuperare la password dal file delle password.
- password guessing.
- ricerca esaustiva.
- ricerca mirata.
- 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.
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.
- si utilizzano schemi biometrici, es:
- ciò che hai
- 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
- failure rate, dà luogo a:
- 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.
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 (teoria)
- politiche di sicurezza.
- users.
- roles.
- procedures.
- data types.
- objects.
- matrice degli accessi.
- righe = capability.
- colonne = ACLS.
- anelli di protezione, le cui importanze possibili sono:
- operating system kernel: 0
- operating system: 1
- utilities: 2
- user processes: 3
- etichetta/label:
- se é dominata da altre etichette é detta system low.
- se domina altre etichette é detta system high.
- MLS: multi level security.
- caratterizzazioni delle politiche:
- ai documenti vengono asegnati livelli di sicurezza.
- gli utenti sono caratterizati da clearance.
- da garantire per definire l'os sicuro:
- no read up.
- no read down.
Lezione del 08-11-06 (laboratorio)
Prima parte della lezione teorica, avente come argomento le tecniche di criptaggio simmetriche/asimmetrice ;questa é la slide usata per la spiegazione.
Successivamente sono stati assegnati degli esercizi da svolgere, il cui testo é disponibile qui.
Quest'altra pagina descrive i comandi la sintassi da utilizzare per svolgere gli esercizi.