Differenze tra le versioni di "Sicurezza/2006-2007"
m |
|||
(28 versioni intermedie di 14 utenti non mostrate) | |||
Riga 40: | Riga 40: | ||
** prezzo: sui 45/50€ | ** prezzo: sui 45/50€ | ||
− | * libro che | + | * libro che sarebbe dovuto essere utilizzato: |
** Titolo: ''"Networking Security essentials"'' | ** Titolo: ''"Networking Security essentials"'' | ||
** Autori: Wiley, Stalling | ** Autori: Wiley, Stalling | ||
Riga 46: | Riga 46: | ||
** Prezzo: n/a | ** Prezzo: n/a | ||
− | + | Sono state presentate slides alle lezioni di teoria del lunedì, ma non sono state messe a disposizione sul sito. | |
+ | |||
+ | '''Volevo segnalarvi che se andate al sito del 2004-2005 di sicurezza ci sono le slide di teoria''' | ||
+ | http://security.dico.unimi.it/sicurezza0405/ | ||
+ | '''Tante sono file zip protetti ma in particolare la lezione 4 Teoria, Lezione 11a Teoria e Lezione 11b Teoria sono semplici file pdf molto simili a quelli utilizzati dal proff a lezione quest'anno e possono essere utili x lo studio.''' | ||
=== Modalità d'esame === | === Modalità d'esame === | ||
Riga 55: | Riga 59: | ||
* TEORIA: compito scritto a domande, ci si iscrive tramite sifa | * 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 | * 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 | ||
+ | |||
+ | É OBBLIGATORIO DARE L'ESAME DI PRATICA AL PRIMO O AL SECONDO APPELLO DISPONIBILE DOPO LA TEORIA; solitamente la parte di pratica si fa 10gg dopo la teoria. | ||
+ | |||
+ | SE NON SI PASSA LA PRATICA, BISOGNA RIFARE LA TEORIA. | ||
Riga 77: | Riga 85: | ||
Lezione incentrata sulla crittografia, spiegazione di essa e della distinzione fra chiavi simmetriche ed asimmetriche. | Lezione incentrata sulla crittografia, spiegazione di essa e della distinzione fra chiavi simmetriche ed asimmetriche. | ||
− | * Principali protocolli crittografici | + | * Principali protocolli crittografici simmetrici: |
*# AES | *# AES | ||
*# DES | *# DES | ||
Riga 269: | Riga 277: | ||
=== Lezione del 25-10-06 (laboratorio) === | === Lezione del 25-10-06 (laboratorio) === | ||
+ | Prima parte della lezione teorica, avente come argomento l'ACL;[http://security.dico.unimi.it/sicurezza0607/stuff/02b_lab_sicurezza_18-10-2006.pdf questa] é la slide usata per la spiegazione. | ||
+ | |||
+ | Successivamente sono stati assegnati degli esercizi da svolgere, il cui testo é disponibile [http://security.dico.unimi.it/sicurezza0607/stuff/ex/ex_acl_password_25-10-2006.pdf qui]. | ||
Riga 274: | Riga 285: | ||
=== 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 | ||
+ | |} | ||
Riga 279: | Riga 405: | ||
---- | ---- | ||
− | === Lezione del 06-11-06 ( | + | === 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. | ||
Riga 285: | Riga 441: | ||
---- | ---- | ||
− | === Lezione del 08-11-06 ( | + | === Lezione del 08-11-06 (laboratorio) === |
+ | Prima parte della lezione teorica, avente come argomento le tecniche di criptaggio simmetriche/asimmetriche ;[http://security.dico.unimi.it/sicurezza0607/stuff/03_lab_sicurezza_08-11-2006.pdf questa] é la slide usata per la spiegazione. | ||
+ | Successivamente sono stati assegnati degli esercizi da svolgere, il cui testo é disponibile [http://security.dico.unimi.it/sicurezza0607/stuff/ex/ex02_gnupg_08-11-2006.pdf qui]. | ||
---- | ---- | ||
Riga 293: | Riga 451: | ||
=== Lezione del 13-11-06 (teoria) === | === 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. | ||
Riga 301: | Riga 471: | ||
=== Lezione del 15-11-06 (laboratorio) === | === Lezione del 15-11-06 (laboratorio) === | ||
− | + | Lezione essenzialmente teorica, avente come argomento la "costruzione" di una vpn;[http://security.dico.unimi.it/sicurezza0607/stuff/04_lab_sicurezza_15-11-2006.pdf questa] é la slide usata per la spiegazione. | |
Riga 308: | Riga 478: | ||
=== 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 | ||
Riga 316: | Riga 585: | ||
=== Lezione del 22-11-06 (laboratorio) === | === Lezione del 22-11-06 (laboratorio) === | ||
+ | Lezione pratica, in cui sono stati svolti esercizi concernenti la costruzione di vpn [http://security.dico.unimi.it/sicurezza0607/stuff/ex/ex03_openvpn_22-11-2006.pdf questi] sono gli esercizi. | ||
+ | ---- | ||
+ | === Lezione del 27-11-06 (teoria) === | ||
− | + | Unix Access Control | |
+ | |||
+ | * Soggetti: | ||
+ | *# processi | ||
+ | *# UID/GID | ||
+ | *## real UID/GID | ||
+ | *## effective UID/GID | ||
+ | |||
+ | * Oggetti | ||
+ | * Owner | ||
+ | * Sticky bit. | ||
+ | |||
+ | Access control in Windows Xp | ||
+ | |||
+ | * contenuti token: | ||
+ | *# user SID, group SID, alias SID | ||
+ | *# previlegi | ||
+ | *# owner SID, group SID, DACL | ||
+ | |||
+ | * 27 tipi diversi di oggetti | ||
+ | * DACL | ||
+ | * ACE | ||
+ | |||
+ | * Access rights: | ||
+ | *# standard permissions: | ||
+ | *## detect | ||
+ | *## read_controlo | ||
+ | *## write_dac | ||
+ | *## write_owner | ||
+ | *## synchronize | ||
+ | *# specific permissions: | ||
+ | *## generic_read | ||
+ | *## generic_write | ||
+ | *## generic_xxecute | ||
+ | *## generic_all | ||
+ | |||
+ | * inheritance | ||
+ | * inheritange flags: | ||
+ | *# inherited_only_ace | ||
+ | *# no_propagate_inherit | ||
+ | *# object_inherit_ace | ||
+ | *# container_inherit_ace | ||
+ | *# inherited_object_type | ||
− | |||
+ | Finora sono stati svolti i primi sette capitoli del libro di testo adottato. | ||
Riga 332: | Riga 646: | ||
+ | Prima parte della lezione teorica, in cui é stato spiegato l'utilizzo di tcpdump [http://security.dico.unimi.it/sicurezza0607/stuff/05b_lab_sicurezza_29-11-2006.pdf questa] é la slide usata x la spiegazione. | ||
+ | |||
+ | Successivamente sono stati assegnati degli esercizi da svolgere, ovvero | ||
+ | [http://security.dico.unimi.it/sicurezza0607/stuff/ex/ex04_tcpdump_29-11-2006.pdf questi]. | ||
Riga 338: | Riga 656: | ||
=== Lezione del 04-12-06 (teoria) === | === Lezione del 04-12-06 (teoria) === | ||
+ | modalità di attacchi locali: | ||
+ | # environment attacks | ||
+ | # input argument attacks | ||
+ | # symlink attacks | ||
+ | # race condition attacks | ||
+ | # file descriptor attacks | ||
+ | # core-file attacks | ||
+ | # format strings attacks | ||
+ | # overflow | ||
+ | * buffer overlow | ||
Riga 346: | Riga 674: | ||
+ | Lezione pratica, in cui sono stati svolti esercizi concernenti tcpdump,[http://security.dico.unimi.it/sicurezza0607/stuff/tcpdump.html questi] sono gli esercizi. | ||
Riga 352: | Riga 681: | ||
=== Lezione del 11-12-06 (teoria) === | === Lezione del 11-12-06 (teoria) === | ||
+ | * Format bug | ||
+ | |||
+ | Virus (malcode): | ||
+ | |||
+ | # computer virus | ||
+ | # trojan horse | ||
+ | # macro | ||
+ | # hoax | ||
+ | # worm | ||
+ | |||
+ | i malcode possono propagarsi anche tramite: | ||
+ | # applet | ||
+ | # activex | ||
+ | # html | ||
+ | |||
+ | teniche per infettare host: | ||
+ | # overwriting virus | ||
+ | # parasitic virus | ||
+ | # appending virus | ||
+ | # prepending virus | ||
+ | |||
+ | virus famosi analizzati a lezione: | ||
+ | # melissa | ||
+ | # iloveyou | ||
+ | # codered | ||
+ | # slammer | ||
+ | problemi legati all'individuazione di virus da parte di antivirus: | ||
+ | # falsi positivi | ||
+ | # falsi negativi | ||
+ | |||
+ | meccanismi di autodifesa dei virus: | ||
+ | # polimorfismo | ||
+ | # entry point changer | ||
+ | # stealth | ||
+ | # armor | ||
Riga 359: | Riga 723: | ||
=== Lezione del 13-12-06 (laboratorio) === | === Lezione del 13-12-06 (laboratorio) === | ||
− | + | La lezione di laboratorio del 13/12 è sospesa causa sciopero mezzi pubblici. | |
Riga 366: | Riga 730: | ||
=== Lezione del 18-12-06 (teoria) === | === Lezione del 18-12-06 (teoria) === | ||
+ | * Teoria di base relativa ad Internet Protocol (ip). | ||
+ | |||
+ | |||
+ | * Attacchi su lan: | ||
+ | |||
+ | # tecniche: | ||
+ | ## sniffing | ||
+ | ## spoofing / hijacking, blind spoofing | ||
+ | ## attacchi a protocolli arp/rarp | ||
+ | # obiettivi: | ||
+ | ## impersonare un host | ||
+ | ## denial of service | ||
+ | ## accesso a dati sensibili | ||
+ | |||
+ | * Attacchi ad arp | ||
+ | * se la rete é switched si usa: | ||
+ | *# mac flooding | ||
+ | *# mac duplicating/cloning | ||
+ | |||
+ | * icmp e icmp redirect | ||
Riga 373: | Riga 757: | ||
=== Lezione del 20-12-06 (laboratorio) === | === Lezione del 20-12-06 (laboratorio) === | ||
+ | Prima parte della lezione teorica, in cui é stato spiegato l'utilizzo di openssh, [http://security.dico.unimi.it/sicurezza0607/stuff/06_lab_sicurezza_20-12-2006.pdf questa] é la slide usata x la spiegazione. | ||
+ | |||
+ | Successivamente sono stati assegnati degli esercizi da svolgere, ovvero | ||
+ | [http://security.dico.unimi.it/sicurezza0607/stuff/ex/ex05_ssh_20-12-2006.pdf questi]. | ||
---- | ---- | ||
+ | |||
+ | === Lezione del 08-01-07 (teoria) === | ||
+ | |||
+ | '''Protezioni crittografiche x la rete | ||
+ | ''' | ||
+ | |||
+ | Adozione di sistemi crittografici su reti insicure (tcp/ip) | ||
+ | |||
+ | - Aggiunta del MAC (Message Authentication Code) al messaggio trasmesso per verificarne l'integrità. | ||
+ | |||
+ | - Aspetti politici dell'uso della crittografia, il trattato di Wassennar sull'esportazione dei protocolli crittografici | ||
+ | |||
+ | - Aspetti tecnologici sulla scelta dei protocolli crittografici (Simmetrici o asimmetrici) | ||
+ | |||
+ | - Livelli di gestione della crittografia nello stack TCP/IP | ||
+ | - Livello applicazione (Kerberos, PGP, S/MIME, Set, ...) | ||
+ | - Livello trasporto (SSL/TLS) | ||
+ | - Livello rete (IPSec) | ||
+ | |||
+ | - SSL/TLS | ||
+ | - Handshake SSL 1.0 | ||
+ | - Attacco con Man in The Middle su SSL 1.0 e relativa soluzione | ||
+ | |||
+ | |||
+ | === Lezione del 10-01-07 (laboratorio) === | ||
+ | |||
+ | |||
+ | Prima parte della lezione teorica, in cui é stato spiegato l'utilizzo di openssh, [http://security.dico.unimi.it/sicurezza0607/stuff/07_lab_sicurezza_10-01-2007.pdf questa] é la slide usata x la spiegazione. | ||
+ | |||
+ | Successivamente sono stati assegnati degli esercizi da svolgere, ovvero | ||
+ | [http://security.dico.unimi.it/sicurezza0607/stuff/ex/ex06_hping_10_01_2007.pdf questi]. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | === Lezione del 15-01-07 (teoria) === | ||
+ | |||
+ | * Obiettivi di IPSEC: | ||
+ | *# riservatezza e integrità dei dati | ||
+ | *# autenticazione | ||
+ | |||
+ | * relativi componenti: | ||
+ | *# authentication header (AH) fornisce: | ||
+ | *## connectionless integrity | ||
+ | *## data origin authentication | ||
+ | *## anti replay | ||
+ | *# encapsulation security payload (ESP) fornisce: | ||
+ | *## opzionalmente tutti i servizi di AH | ||
+ | *## confidentiality | ||
+ | *## limitated flow confidentiality | ||
+ | |||
+ | * protocolli ESP per cifratura: | ||
+ | *# DES-CBC | ||
+ | *# triplo DES | ||
+ | *# IDEA | ||
+ | *# RC5 | ||
+ | *# blowfish | ||
+ | *# triplo IDEA | ||
+ | |||
+ | * transport mode | ||
+ | * tunnel mode | ||
+ | |||
+ | * traffico outbound IPSEC, decide di: | ||
+ | *# eliminare pacchetto | ||
+ | *# applicare /AH/ESP | ||
+ | *# aggirare IPSEC | ||
+ | * strumenti usati per traffico inbound: | ||
+ | *# security association | ||
+ | *# protocolli key exchange | ||
+ | |||
+ | * security policies | ||
+ | ** relativi selettori: | ||
+ | **# DST_IP_ADDR | ||
+ | **# SRC_IP_ADDR | ||
+ | **# USERNAME | ||
+ | **# TRANS_PROTO | ||
+ | **# SRC_PORT | ||
+ | **# DST_PORT | ||
+ | |||
+ | * security association | ||
+ | * key management | ||
+ | * ISAKMP | ||
+ | |||
+ | * metodi di autenticazione IKE: | ||
+ | *# pre shared key | ||
+ | *# crittografia a chiave pubblica | ||
+ | *# firma digitale | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | === Lezione del 17-01-07 (laboratorio) === | ||
+ | |||
+ | Prima parte della lezione teorica, in cui é stato spiegato l'utilizzo di netfilter, [http://security.dico.unimi.it/sicurezza0607/stuff/08_lab_sicurezza_17-01-2007.pdf questa] é la slide usata x la spiegazione. | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | === Lezione del 22-01-07 (teoria) === | ||
+ | |||
+ | * Firewall | ||
+ | *# tutto il traffico in entrata ed in uscita deve passarvici | ||
+ | *# solo traffico autorizzato può entrare/uscire | ||
+ | *# deve essere il più possibile immune ad attacchi rispetto ad un host normale (per esempio, un qualunque pc con un firewall software) | ||
+ | |||
+ | * Filtri: | ||
+ | *# servizi | ||
+ | *# direzione | ||
+ | *# user control | ||
+ | *# behavior control | ||
+ | |||
+ | * Tipi di firewall: | ||
+ | *# packet filtering | ||
+ | *#* vantaggi: | ||
+ | *#*# semplice | ||
+ | *#*# trasparente ad utenti | ||
+ | *#*# opera ad alta velocità | ||
+ | *#* svantaggi: | ||
+ | *#*# difficoltà di configurazione | ||
+ | *#*# meccanismi di autenticazione | ||
+ | *# application_level gateway (detto anche proxy server) | ||
+ | *#* vantaggi: | ||
+ | *#*# controlli più sofisticati | ||
+ | *#*# operazioni di logging più mirate | ||
+ | *#* svantaggi: | ||
+ | *#*# più lento | ||
+ | *# circuit_level gateway | ||
+ | |||
+ | |||
+ | * bastion host | ||
+ | * screened subnet firewall | ||
+ | * delimitarized zone (DMZ) | ||
+ | |||
+ | * IDS (intrusion detection system) | ||
+ | *# anomaly detection | ||
+ | *# misuse detection |
Versione attuale delle 20:06, 11 gen 2010
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)
- 2.23 Lezione del 08-01-07 (teoria)
- 2.24 Lezione del 10-01-07 (laboratorio)
- 2.25 Lezione del 15-01-07 (teoria)
- 2.26 Lezione del 17-01-07 (laboratorio)
- 2.27 Lezione del 22-01-07 (teoria)
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 sarebbe dovuto essere utilizzato:
- Titolo: "Networking Security essentials"
- Autori: Wiley, Stalling
- Casa Editrice: Prentice Hall
- Prezzo: n/a
Sono state presentate slides alle lezioni di teoria del lunedì, ma non sono state messe a disposizione sul sito.
Volevo segnalarvi che se andate al sito del 2004-2005 di sicurezza ci sono le slide di teoria http://security.dico.unimi.it/sicurezza0405/ Tante sono file zip protetti ma in particolare la lezione 4 Teoria, Lezione 11a Teoria e Lezione 11b Teoria sono semplici file pdf molto simili a quelli utilizzati dal proff a lezione quest'anno e possono essere utili x lo studio.
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
É OBBLIGATORIO DARE L'ESAME DI PRATICA AL PRIMO O AL SECONDO APPELLO DISPONIBILE DOPO LA TEORIA; solitamente la parte di pratica si fa 10gg dopo la teoria.
SE NON SI PASSA LA PRATICA, BISOGNA RIFARE LA TEORIA.
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
Lezione del 22-11-06 (laboratorio)
Lezione pratica, in cui sono stati svolti esercizi concernenti la costruzione di vpn questi sono gli esercizi.
Lezione del 27-11-06 (teoria)
Unix Access Control
- Soggetti:
- processi
- UID/GID
- real UID/GID
- effective UID/GID
- Oggetti
- Owner
- Sticky bit.
Access control in Windows Xp
- contenuti token:
- user SID, group SID, alias SID
- previlegi
- owner SID, group SID, DACL
- 27 tipi diversi di oggetti
- DACL
- ACE
- Access rights:
- standard permissions:
- detect
- read_controlo
- write_dac
- write_owner
- synchronize
- specific permissions:
- generic_read
- generic_write
- generic_xxecute
- generic_all
- standard permissions:
- inheritance
- inheritange flags:
- inherited_only_ace
- no_propagate_inherit
- object_inherit_ace
- container_inherit_ace
- inherited_object_type
Finora sono stati svolti i primi sette capitoli del libro di testo adottato.
Lezione del 29-11-06 (laboratorio)
Prima parte della lezione teorica, in cui é stato spiegato l'utilizzo di tcpdump questa é la slide usata x la spiegazione.
Successivamente sono stati assegnati degli esercizi da svolgere, ovvero questi.
Lezione del 04-12-06 (teoria)
modalità di attacchi locali:
- environment attacks
- input argument attacks
- symlink attacks
- race condition attacks
- file descriptor attacks
- core-file attacks
- format strings attacks
- overflow
- buffer overlow
Lezione del 06-12-06 (laboratorio)
Lezione pratica, in cui sono stati svolti esercizi concernenti tcpdump,questi sono gli esercizi.
Lezione del 11-12-06 (teoria)
- Format bug
Virus (malcode):
- computer virus
- trojan horse
- macro
- hoax
- worm
i malcode possono propagarsi anche tramite:
- applet
- activex
- html
teniche per infettare host:
- overwriting virus
- parasitic virus
- appending virus
- prepending virus
virus famosi analizzati a lezione:
- melissa
- iloveyou
- codered
- slammer
problemi legati all'individuazione di virus da parte di antivirus:
- falsi positivi
- falsi negativi
meccanismi di autodifesa dei virus:
- polimorfismo
- entry point changer
- stealth
- armor
Lezione del 13-12-06 (laboratorio)
La lezione di laboratorio del 13/12 è sospesa causa sciopero mezzi pubblici.
Lezione del 18-12-06 (teoria)
- Teoria di base relativa ad Internet Protocol (ip).
- Attacchi su lan:
- tecniche:
- sniffing
- spoofing / hijacking, blind spoofing
- attacchi a protocolli arp/rarp
- obiettivi:
- impersonare un host
- denial of service
- accesso a dati sensibili
- Attacchi ad arp
- se la rete é switched si usa:
- mac flooding
- mac duplicating/cloning
- icmp e icmp redirect
Lezione del 20-12-06 (laboratorio)
Prima parte della lezione teorica, in cui é stato spiegato l'utilizzo di openssh, questa é la slide usata x la spiegazione.
Successivamente sono stati assegnati degli esercizi da svolgere, ovvero questi.
Lezione del 08-01-07 (teoria)
Protezioni crittografiche x la rete
Adozione di sistemi crittografici su reti insicure (tcp/ip)
- Aggiunta del MAC (Message Authentication Code) al messaggio trasmesso per verificarne l'integrità. - Aspetti politici dell'uso della crittografia, il trattato di Wassennar sull'esportazione dei protocolli crittografici
- Aspetti tecnologici sulla scelta dei protocolli crittografici (Simmetrici o asimmetrici)
- Livelli di gestione della crittografia nello stack TCP/IP - Livello applicazione (Kerberos, PGP, S/MIME, Set, ...) - Livello trasporto (SSL/TLS) - Livello rete (IPSec)
- SSL/TLS - Handshake SSL 1.0 - Attacco con Man in The Middle su SSL 1.0 e relativa soluzione
Lezione del 10-01-07 (laboratorio)
Prima parte della lezione teorica, in cui é stato spiegato l'utilizzo di openssh, questa é la slide usata x la spiegazione.
Successivamente sono stati assegnati degli esercizi da svolgere, ovvero questi.
Lezione del 15-01-07 (teoria)
- Obiettivi di IPSEC:
- riservatezza e integrità dei dati
- autenticazione
- relativi componenti:
- authentication header (AH) fornisce:
- connectionless integrity
- data origin authentication
- anti replay
- encapsulation security payload (ESP) fornisce:
- opzionalmente tutti i servizi di AH
- confidentiality
- limitated flow confidentiality
- authentication header (AH) fornisce:
- protocolli ESP per cifratura:
- DES-CBC
- triplo DES
- IDEA
- RC5
- blowfish
- triplo IDEA
- transport mode
- tunnel mode
- traffico outbound IPSEC, decide di:
- eliminare pacchetto
- applicare /AH/ESP
- aggirare IPSEC
- strumenti usati per traffico inbound:
- security association
- protocolli key exchange
- security policies
- relativi selettori:
- DST_IP_ADDR
- SRC_IP_ADDR
- USERNAME
- TRANS_PROTO
- SRC_PORT
- DST_PORT
- relativi selettori:
- security association
- key management
- ISAKMP
- metodi di autenticazione IKE:
- pre shared key
- crittografia a chiave pubblica
- firma digitale
Lezione del 17-01-07 (laboratorio)
Prima parte della lezione teorica, in cui é stato spiegato l'utilizzo di netfilter, questa é la slide usata x la spiegazione.
Lezione del 22-01-07 (teoria)
- Firewall
- tutto il traffico in entrata ed in uscita deve passarvici
- solo traffico autorizzato può entrare/uscire
- deve essere il più possibile immune ad attacchi rispetto ad un host normale (per esempio, un qualunque pc con un firewall software)
- Filtri:
- servizi
- direzione
- user control
- behavior control
- Tipi di firewall:
- packet filtering
- vantaggi:
- semplice
- trasparente ad utenti
- opera ad alta velocità
- svantaggi:
- difficoltà di configurazione
- meccanismi di autenticazione
- vantaggi:
- application_level gateway (detto anche proxy server)
- vantaggi:
- controlli più sofisticati
- operazioni di logging più mirate
- svantaggi:
- più lento
- vantaggi:
- circuit_level gateway
- packet filtering
- bastion host
- screened subnet firewall
- delimitarized zone (DMZ)
- IDS (intrusion detection system)
- anomaly detection
- misuse detection