Differenze tra le versioni di "Sicurezza/2006-2007"
Riga 469: | Riga 469: | ||
=== Lezione del 20-11-06 (teoria) === | === Lezione del 20-11-06 (teoria) === | ||
+ | |||
+ | * Caratteristiche sistemi unix e windows: | ||
+ | ** multiutente | ||
+ | ** multitasking, multithreading | ||
+ | ** time sharing, soft real-time. | ||
+ | |||
+ | * Principali meccanismi di protezione: | ||
+ | ** processi di identificazione/autenticazione | ||
+ | ** controllo degli accessi | ||
+ | ** audit/monitoring | ||
+ | |||
+ | |||
+ | Identificazione in unix | ||
+ | |||
+ | * Soggetti in ambito unix sono: | ||
+ | *# utenti | ||
+ | *#* identificati da: | ||
+ | *#*# nome | ||
+ | *#*# UID | ||
+ | *#*# associazione fra nome e UID é in /etc/passwd | ||
+ | *# gruppi: | ||
+ | *#* un utente può appartenere a più gruppi | ||
+ | *#* il gruppo primario é memorizzato in /etc/passwd | ||
+ | *#* l'elenco dei gruppi é in /etc/group | ||
+ | *# processi | ||
+ | |||
+ | * root. | ||
+ | *# può: | ||
+ | *#* accedere a tutto | ||
+ | *#* modificare il sistema operativo | ||
+ | *#* diventare qualunque utente | ||
+ | *# non può: | ||
+ | *#* risalire al contenuto in chiaro di password o file cifrati. | ||
+ | |||
+ | |||
+ | Identificazione in Windows Xp | ||
+ | |||
+ | * due modalità di gestione: | ||
+ | *# stand-alone | ||
+ | *# dominio | ||
+ | *#* un server funge da domain controller | ||
+ | *#* gli admin del dominio gestiscono tutte le risorse del dominio | ||
+ | |||
+ | * principal: | ||
+ | ** dotati di: | ||
+ | **# nome | ||
+ | **# identificatore SID | ||
+ | ** si dividono in: | ||
+ | **# local user | ||
+ | **# aliases | ||
+ | **# domain user | ||
+ | **# gruppi | ||
+ | **# macchine (host) | ||
+ | |||
+ | * LSA | ||
+ | |||
+ | * SID format (S-R-I-SA-SA-SA-N): | ||
+ | ** S: security identifier | ||
+ | ** R: revision number | ||
+ | ** I: identify authority | ||
+ | ** SA: sub authority | ||
+ | ** N: identificatore unico | ||
+ | |||
+ | * registry | ||
+ | |||
+ | |||
+ | Logon su sistemi unix: | ||
+ | |||
+ | * criptaggio della password di login: | ||
+ | *# viene applicato l'algoritmo DES a un messaggio di 64 zeri, usando come chiave la password | ||
+ | *# Il tutto viene eseguito per 25 volte | ||
+ | *# é possibile usare un SALT a partire dalla data. | ||
+ | |||
+ | * Sequenza di login: | ||
+ | *# usando la password inserita al login prompt, viene calcolato il crypt(3) | ||
+ | *# il risultato viene comparato con la voce corrispondente in /etc/passwd. | ||
+ | *# se i due termini di paragone collimano, viene eseguito il login. | ||
+ | |||
+ | Logon su sistemi windows xp: | ||
+ | |||
+ | * le macchine sono principal e hanno la password | ||
+ | * possono essere usati dispositivi come le smart card | ||
+ | * mediante crtl+alt+canc viene stabilito il trusted path fra tastiera e servizio di login | ||
+ | |||
+ | * Quando un principal si collega al sistema: | ||
+ | *# il processo di logon raccoglie le credenziali e le invia ad LSA | ||
+ | *# LSA (lsass.exe) verifica le credenziali | ||
+ | *# Logon (winlogon.exe) avvia una shell (explorer.exe) in una nuova sezione di lavoro appartenente al principal | ||
+ | *# la shell genera i processi successivi nella sessione definitiva | ||
+ | |||
+ | |||
+ | Attacchi contro le password: | ||
+ | * Trojan al logon | ||
+ | * eaves dropping, shoulder sufrgin, post-it snapshot | ||
+ | * social engineering | ||
+ | * keyboard-logging, TTY tapping | ||
+ | * brute forcing | ||
+ | * dictionary attacks | ||
+ | |||
+ | Contromisure: | ||
+ | * /etc/shadow contiene le password cifrate, accessibile solo da root | ||
+ | * Utilizzo di MD5 al posto di DES | ||
+ | |||
Versione delle 20:29, 20 nov 2006
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/asimmetriche ;questa é la slide usata per la spiegazione.
Successivamente sono stati assegnati degli esercizi da svolgere, il cui testo é disponibile qui.
Lezione del 13-11-06 (teoria)
- Trusted Computing Base (TCB).
- Reference monitor.
- Security kernel.
- Meccanismi per proteggere l'os da modifiche non autorizzate:
- separazione fisica.
- bit di stato.
- controlled invocation -> supervisor call.
- protezione della memoria, implica:
- rilocazione.
- protezione.
- tagged architecture.
Lezione del 15-11-06 (laboratorio)
Lezione essenzialmente teorica, avente come argomento la "costruzione" di una vpn;questa é la slide usata per la spiegazione.
Lezione del 20-11-06 (teoria)
- Caratteristiche sistemi unix e windows:
- multiutente
- multitasking, multithreading
- time sharing, soft real-time.
- Principali meccanismi di protezione:
- processi di identificazione/autenticazione
- controllo degli accessi
- audit/monitoring
Identificazione in unix
- Soggetti in ambito unix sono:
- utenti
- identificati da:
- nome
- UID
- associazione fra nome e UID é in /etc/passwd
- identificati da:
- gruppi:
- un utente può appartenere a più gruppi
- il gruppo primario é memorizzato in /etc/passwd
- l'elenco dei gruppi é in /etc/group
- processi
- utenti
- root.
- può:
- accedere a tutto
- modificare il sistema operativo
- diventare qualunque utente
- non può:
- risalire al contenuto in chiaro di password o file cifrati.
- può:
Identificazione in Windows Xp
- due modalità di gestione:
- stand-alone
- dominio
- un server funge da domain controller
- gli admin del dominio gestiscono tutte le risorse del dominio
- principal:
- dotati di:
- nome
- identificatore SID
- si dividono in:
- local user
- aliases
- domain user
- gruppi
- macchine (host)
- dotati di:
- LSA
- SID format (S-R-I-SA-SA-SA-N):
- S: security identifier
- R: revision number
- I: identify authority
- SA: sub authority
- N: identificatore unico
- registry
Logon su sistemi unix:
- criptaggio della password di login:
- viene applicato l'algoritmo DES a un messaggio di 64 zeri, usando come chiave la password
- Il tutto viene eseguito per 25 volte
- é possibile usare un SALT a partire dalla data.
- Sequenza di login:
- usando la password inserita al login prompt, viene calcolato il crypt(3)
- il risultato viene comparato con la voce corrispondente in /etc/passwd.
- se i due termini di paragone collimano, viene eseguito il login.
Logon su sistemi windows xp:
- le macchine sono principal e hanno la password
- possono essere usati dispositivi come le smart card
- mediante crtl+alt+canc viene stabilito il trusted path fra tastiera e servizio di login
- Quando un principal si collega al sistema:
- il processo di logon raccoglie le credenziali e le invia ad LSA
- LSA (lsass.exe) verifica le credenziali
- Logon (winlogon.exe) avvia una shell (explorer.exe) in una nuova sezione di lavoro appartenente al principal
- la shell genera i processi successivi nella sessione definitiva
Attacchi contro le password:
- Trojan al logon
- eaves dropping, shoulder sufrgin, post-it snapshot
- social engineering
- keyboard-logging, TTY tapping
- brute forcing
- dictionary attacks
Contromisure:
- /etc/shadow contiene le password cifrate, accessibile solo da root
- Utilizzo di MD5 al posto di DES