•Alfredo De Santis
•17/03/2004
Sicurezza su Reti
Orari Corso
Alfredo De Santis
Università di Salerno
q Lunedì 14:00 - 16:00, aula F2
http://www.dia.unisa.it/~ads
q Venerdì 11:00 - 13:00, aula F2
q Martedi 11:00 - 13:00, aula F2
[email protected]
Introduzione
0
Introduzione
1
Prerequisiti
Organizzazione
q Bibliografia
– Appunti dalle lezioni
– http://www.dia.unisa.it/~ads/corso-security/www
q Laboratorio
q Progetti
Teoria dei Numeri
q Fondamenti di Reti
q
– Presentazione di argomenti specifici
q Compitini di valutazione
Interazione
Introduzione
2
Introduzione
Prerequisiti
3
Elenco studenti
q
Teoria dei Numeri
q Fondamenti di Reti
q
Per l’organizzazione del corso
(prove, progetti, laboratorio)
q Nome, Cognome, matricola
… ma faremo un veloce riepilogo
q Account presso laboratorio reti?
q Studenti iscritti al corso
– Sicurezza su Reti: 66
– Sicurezza su Reti II: 2
Introduzione
•Corso di Sicurezza su Reti
4
Introduzione
5
•1
•Alfredo De Santis
•17/03/2004
Crescita di Internet
Numero di host
Ed ora …
180.000.000
162.128.000
160.000.000
qualcosa sui
140.000.000
125.888.000
120.000.000
100.000.000
93.047.000
80.000.000
contenuti
60.000.000
56.218.000
40.000.000
36.739.000
26.053.000
20.000.000
0
16.729.000
8.200.000
1.776.000
1993
Introduzione
1994
1995
6
1996
1997
1998
1999
2000
2001
Introduzione
2002
7
Il worm di Morris
Problemi
q Internet consente alle aziende di
–
–
–
–
3.212.000
q Il 2 Novembre 1988 Internet fu colpita dal Worm di Morris
Effettuare commercio elettronico
Fornire un migliore servizio ai clienti
Ridurre i costi di comunicazione
Accedere facilmente alle informazioni
– Il virus sfruttava bug del sistema operativo Unix per penetrare negli
host attraverso la rete
– In una sola ora i computer di molti centri di ricerca furono inutilizzabili,
inutilizzabili,
perché sovraccaricati da molteplici copie del worm
q Per bloccare il virus fu formato un team di esperti
…tuttavia…
– Furono sviluppate e divulgate le procedure per lo "sradicamento" del
worm
– In una settimana tutto tornò alla normalità
q … espone i computer all’azione di attacchi da parte
di malintenzionati
q Data la potenzialità del virus, i danni furono minimi, ma ci si
rese conto dei rischi legati ad Internet
– Il numero di incidenti aumenta di anno in anno
– Le perdite finanziarie hanno raggiunto livelli
misurabili in miliardi di dollari
Introduzione
8
CERT
Introduzione
9
Incidenti riportati al CERT
Computer Emergency Response Team
q Team di esperti nell’ambito della sicurezza
– Creato dal DARPA (Defense
(Defense Advanced Research
Projects Agency
Agency) in seguito all’attacco del worm
q Si occupa di
90.000
82.094
80.000
70.000
60.000
52.658
50.000
– Identificare il tipo di incidenti
– Quantificare le perdite economiche
– Analizzare le vulnerabilità dei prodotti
40.000
30.000
10.000
0
Introduzione
•Corso di Sicurezza su Reti
21.756
20.000
10
9.859
1.334
2.340
2.412
2.573
2.134
1993
1994
1995
1996
1997
3.734
1998
Introduzione
1999
2000
2001
2002
11
•2
•Alfredo De Santis
•17/03/2004
Perdite economiche
500.000.000
Indagine CSI/FBI
Nel 2002, su 503 intervistati
455.848.000
450.000.000
400.000.000
governative, università, ospedali, etc…)
377.828.700
– Il 90% ha riportato incidenti legati alla sicurezza
350.000.000
300.000.000
• I danni più seri riguardano il furto di informazioni delicate e le
frodi finanziarie
256.337.990
– L’80% ha subito danni economici
250.000.000
• Solo il 44% è stato in grado di quantificare i danni
200.000.000
150.000.000
100.000.000
(aziende, agenzie
136.822.000
– Il 74% ritiene che la connessione ad Internet costituisca il
maggior punto di attacco
– Solo il 34% ha denunciato gli incidenti subiti
123.799.000
100.119.555
• Tutti gli altri non lo hanno fatto per evitare pubblicità negativa
50.000.000
0
1997
1998
1999
2000
2001
2002
Introduzione
12
Vulnerabilità, Attacchi, Minacce
Introduzione
13
Attacchi su rete
q Tipico attacco:
q Vulnerabilità debolezza di un sistema di
sicurezza che può essere utilizzata per causare
danni
q Attacco sfruttamento di una vulnerabilità di un
sistema
q Minaccia circostanza che può causare danni
– ottenere accesso all’account di un utente
– ottenere accesso privilegiato
– usare il sistema compromesso come base per
attaccare altri macchine
E’ possibile manualmente in 45 secondi
…automaticamente in meno!
(attacco, disastro naturale, errore umano, buco
software o hardware)
Introduzione
14
Intrusioni
15
Intrusioni
q Il manager ragiona così:
Vari tipi di intruder
– Adolescente curioso
– Studente universitario che ha
sviluppato nuovo tool
– “Spia” a pagamento
– Dipendente licenziato o arrabbiato
– …
– Nessuno attaccherà la mia azienda , non c’è nulla di
prezioso qui!
q Gli hacker invece ragionano così:
– Scelgo il target più facile, entro e poi guardo
– Al massimo userò il sistema come ponte per altri
attacchi
Ragioni per intrusioni:
–
–
–
–
–
Introduzione
Divertimento
Senso di potenza
Sfida intellettuale
Attenzione politica
Guadagno economico
Introduzione
•Corso di Sicurezza su Reti
16
Introduzione
17
•3
•Alfredo De Santis
•17/03/2004
Tipi di incidenti
q
q
q
q
q
q
q
Comunicazione
Probing e scanning
Attacchi alle password
Intercettazione di pacchetti (packet sniffing)
Compromissione di account (privilegiati e non)
Denial of Service
Codice malizioso (Virus, Worm, Trojan horse)
Attacchi all’infrastruttura di rete (name server,
access provider, grossi archivi di rete,…)
Introduzione
q Ci sono newsgroup, pubblicazioni, conferenze
sulle ultime tecniche di intrusione
q Conoscenza condivisa su:
sistemi mal configurati, usati per scambio di:
– software pirata
– numeri di carte di credito
– strumenti facili da utilizzare
– identità dei siti compromessi (inclusi account e
password)
– ...
18
Tipologia di Tools Package
q Mantenuti da programmatori competenti,
includono anche versione e documentazione
q Possono contenere:
–
–
–
–
–
19
Hacker
q Steven Levy,
Hackers: Heroes of the Computer Revolution
– tipo positivo, studente di MIT o Stanford
– ideale: rendere la tecnologia accessibile a tutti
– risolvere i problemi e creare soluzioni
Network Scanner
Tool per password cracking e grandi dizionari
Packet Sniffer
Virus, Troian horse programmi e librerie
Tool per la modifica selettiva dei file di log del
sistema
Introduzione
Introduzione
q Più recentemente, nei media:
– tipo negativo
– sfruttano buchi di sicurezza
20
Hacker
Introduzione
21
Tipi di Hacker
HACKER noun
1. A person who enjoys learning the details of
computer systems and how to stretch their
capabilities - as opposed to most users of
computers, who prefer to learn only the minimum
amount necessary.
2. One who programs enthusiastically or who
enjoys programming rather than just theorizing
about programming.
q Cracker: programmatori specializzati nell’infrangere
sistemi di sicurezza per sottrarre o distruggere dati
q Script Kiddie: cracker che adoperano script scritti
da altri, non essendo in grado di produrli da sè
q Phracher: rubano programmi che offrono servizi
telefonici gratuiti o penetrano computer e database
di società telefoniche
q Phreaker: utilizzano informazioni telefoniche
(numeri telefoni, carte telefoniche,…) per
accedere ad altri computer
Guy L. Steele, et al., The Hacker's Dictionary
Introduzione
•Corso di Sicurezza su Reti
22
Introduzione
23
•4
•Alfredo De Santis
Hacker
•17/03/2004
Hacker
classificazione
Hack = "tagliare", "fare a pezzi"
q Black hat: hacker “cattivo”, che sfrutta la
propria abilità per delinquere
q White hat: hacker che si ritiene moralmente e
legalmente integerrimo
q Grey hat: una via di mezzo tra white e black hat
Origine termine:
– Tech Model Railroad Club, Massachussets Institute of
Technology [1958]
– Plastico ferroviario, due gruppi:
• Modelli treni
• Signal and Power:
Power segnali e distribuzione energia
Hack = gergo, scherzo, denotava virtuosismo, innovazione
Membri gruppo si definivano Hacker
IBM 704 … Tx-0 … PDP-10
q Termini coniati nel 1996, in occasione della
prima conferenza Black Hat Briefings,
a Las Vegas
Introduzione
24
Etica dell’Hacker
Introduzione
Sicurezza Dati: obiettivi
Hackers: Heroes of the Computer Revolution
q Confidenzialità
q Access to computers - and anything which might teach
you something about the way the world works - should
be unlimited and total. Always yield to the Hands-On
imperative.
q All information should be free.
q Mistrust Authority. Promote Decentralization.
q Hackers should be judged by their hacking, not bogus
criteria such as degrees , age, race, or position.
q You can create art and beauty on a computer.
q Computers can change your life for the better.
q Autenticazione
Introduzione
25
q Non-ripudio
q Controllo Accessi
q Integrità
q Anonimia
q Disponibilità Risorse
26
Confidenzialità
Introduzione
27
Autenticazione
Privacy, Segretezza
messaggi
entità
(Identificazione)
tempo
(Timestamp)
trasmesse
Informazioni memorizzate
(anche la semplice esistenza di un oggetto)
sono accessibili in lettura
solo da chi è autorizzato
Introduzione
•Corso di Sicurezza su Reti
28
Introduzione
29
•5
•Alfredo De Santis
•17/03/2004
Non-ripudio
Controllo Accessi
Accesso alle informazioni
Chi invia
Chi riceve
controllato da o per
il sistema
non può negare la
trasmissione del
messaggio
Introduzione
30
Introduzione
31
Anonimia
Integrità
Solo chi è autorizzato può modificare
l’attività di un sistema o le
Protezione dell’identità o
informazioni trasmesse
del servizio utilizzato.
modifica = scrittura, cambiamenti, cancellazione,
… meglio “Grado di anonimia”
creazione, ritardi, replay e riordino
di messaggi, …
Introduzione
32
Disponibilità Risorse
Risorse disponibili a chi è
Introduzione
33
Alcune relazioni
Availability
Confidenzialità
autorizzato quando necessario
Integrità
Diverse attese:
–
–
–
–
presenza di oggetti e servizi utilizzabili
capacità di soddisfare le richieste di servizi
progresso: tempo di attesa limitato
adeguato tempo del servizio
–
–
–
–
–
risposta pronta
allocazione fair
utilizzabilità
fault tolerance
concorrenza controllata (accessi simultanei, gestione
deadlock, accesso esclusivo)
Obiettivi:
Introduzione
•Corso di Sicurezza su Reti
Availability
34
Introduzione
35
•6
•Alfredo De Santis
•17/03/2004
Contenuto Corso
Contenuto Corso
q Prima parte: Crittografia
–
–
–
–
–
–
–
q Seconda parte: Sicurezza su Reti
Cifrari simmetrici
Cifrari asimmetrici
Firme digitali
Funzioni hash
Message Authentication Codes
Generazione pseudo-casuale
Protocolli crittografici
–
–
–
–
–
–
–
Introduzione
Public Key Infrastructure
Autenticazione utente
Sicurezza della posta elettronica
Sicurezza e anonimia nel WEB
Strumenti per la sicurezza delle reti
Codice malizioso
Firewall
36
Introduzione
Contenuto Corso
Crittografia
q Terza parte: Sicurezza
–
–
–
–
–
–
–
–
–
Dall’antichità fino a pochi anni fa:
Steganografia
Watermark
Smart Card
GSM, WAP
Sicurezza nei Sistemi Operativi
Java Security
Commercio Elettronico (iKP, SET)
Digital Video Broadcasting
DVD
– Essenzialmente comunicazioni private
– Usi Militari e Diplomatici
χρυπτοσ
38
q Erodoto
q Scytala spartana, 500 a.C. (Plutarco in Vite parallele)
q Polibio
1 2 3 4 5
B
G
M
R
W
C
H
N
S
X
testo in chiaro:
testo cifrato:
D
IJ
O
T
Y
E
K
P
U
Z
C
A
λογοσ
dipendono dall’esistenza di problemi difficili
Alcuni metodi antichi di cifratura
A
F
L
Q
V
γραφια
Oggi: studio di tecniche ed applicazioni che
Introduzione
1
2
3
4
5
37
S
Introduzione
Chiavi simmetriche
chiave
chiaveprivata
privatakk
chiave
chiaveprivata
privatakk
nnarella
A
39
iagio
(1,3) (1,1) (4,3) (1,1)
Introduzione
•Corso di Sicurezza su Reti
40
Introduzione
41
•7
•Alfredo De Santis
•17/03/2004
Chiavi simmetriche
chiave
chiaveprivata
privatakk
Chiavi simmetriche
chiave
chiaveprivata
privatakk
chiave privata k
chiave privata k
CC ←
CIFRA(k,M)
←CIFRA
CIFRA(k,M)
messaggio
messaggioM
M
M
DECIFRA(k,C)
M←
←DECIFRA
DECIFRA(k,C)
C
nnarella
iagio
Introduzione
42
N bit
cifrario
cifrario
testo cifrato
Stream
Streamcipher
cipher
chiave
q
q
q
q
Introduzione
q Trasformazione dipendente dal tempo di
singoli caratteri del testo in chiaro
q Usato nel GSM
Base station
44
Introduzione
file pubblico
file pubblico
utente
utente chiave
chiavepubblica
pubblica
AA
kpub
kpub
…
…
45
Cifratura
Crittosistema a chiave pubblica
kpriv
kpriv
testo cifrato
chiave
Data Encryption Standard (DES)
DES triplo, RC2, RC5, RC6, Skipjack
Advanced Encryption Standard (AES)
e poi … Modalità di cifratura
chiave
chiave privata
privata
43
Stream Cipher
testo in chiaro
N bit
iagio
Introduzione
Cifrari a blocchi che vedremo
testo in chiaro
??
nnarella
utente
utente chiave
chiavepubblica
pubblica
AA
kpub
kpub
…
…
…
…
…
…
Devo cifrare il messaggio M
ed inviarlo ad
A
iagio
nnarella
Introduzione
•Corso di Sicurezza su Reti
46
Introduzione
47
•8
•Alfredo De Santis
•17/03/2004
Cifratura
Decifratura
file pubblico
Devo decifrare il
messaggio cifrato C
utente
utente chiave
chiavepubblica
pubblica
AA
kpub
kpub
C
…
…
Cifratura di M per
…
…
A
…
…
Introduzione
kpriv
kpriv
…
…
Decifratura di C
M ← DECIFRA (kpriv, C)
49
Jean Guillaume Hubert Victor Francois Alexandre Auguste
Kerckhoffs von Nieuwenhof (1835-1903), filologo olandese,
“La Criptographie Militarie” [1883]
C
Introduzione
50
Firma Digitale
M
Introduzione
La sicurezza di un cifrario deve dipendere
solo dalla segretezza della chiave e
non dalla segretezza dell’algoritmo usato.
file pubblico
nnarella
C?
Principio di Kerckhoffs
utente
utente chiave
chiavepubblica
pubblica
AA
kpub
kpub
…
…
??
nnarella
48
Decifratura
chiave
chiave privata
privata
…
…
C
iagio
C ← CIFRA (kpub, M)
file pubblico
utente
utente chiave
chiavepubblica
pubblica
AA
kpub
kpub
Introduzione
51
Firma Digitale
Equivalente alla firma
convenzionale
M
firma
Equivalente alla firma
convenzionale
firma
Soluzione naive:
incollare firma digitalizzata
Introduzione
•Corso di Sicurezza su Reti
52
Introduzione
53
•9
•Alfredo De Santis
•17/03/2004
Firma Digitale
Desiderata per la Firma Digitale
Equivalente alla firma
convenzionale
M
La firma digitale deve poter essere
facilmente prodotta dal legittimo firmatario
Nessun utente deve poter
firma
riprodurre la firma di altri
Soluzione naive:
Chiunque può facilmente
incollare firma digitalizzata
verificare una firma
Introduzione
54
Introduzione
Firma digitale
Firma digitale
file pubblico
chiave
chiave privata
privata
…
…
…
…
Introduzione
file pubblico
utente
utente chiave
chiavepubblica
pubblica
AA
kpub
kpub
A
…
…
…
…
F
…
…
Verifica firma di M
vera se VERIFICA (F,M,kpub) = SI
falsa altrimenti
erificatore
•Corso di Sicurezza su Reti
57
file pubblico
M
Devo verificare se F
è una firma di A per M
Introduzione
F
Introduzione
Verifica firma digitale
utente
utente chiave
chiavepubblica
pubblica
AA
kpub
kpub
…
…
M
A
nnarella
56
Verifica firma digitale
F
…
…
Firma di M
F ← FIRMA (M,kpriv)
M
A
??
nnarella
A
utente
utente chiave
chiavepubblica
pubblica
AA
kpub
kpub
kpriv
kpriv
…
…
Devo firmare M
M
file pubblico
chiave
chiave privata
privata
utente
utente chiave
chiavepubblica
pubblica
AA
kpub
kpub
kpriv
kpriv
55
erificatore
58
Introduzione
59
•10
•Alfredo De Santis
•17/03/2004
Firme digitali che vedremo
q RSA
Funzioni Hash
lunghezza arbitraria/finita
q Digital Signature Standard (DSS)
Introduzione
60
Firme digitali e Funzioni hash
b bit
q Idea alla base:
il valore hash h(M) è una rappresentazione non
ambigua e non falsificabile del messaggio M
q Proprietà: comprime ed è facile da computare
q Applicazioni: firme digitali ed integrità dei
dati
Introduzione
61
Integrità dei dati e Funzioni hash
Tipico uso delle funzioni hash
Problema firma digitale di messaggi grandi
Problema:
Soluzione naive
naive: Divisione in blocchi e firma per ogni blocco
q Computo al tempo T il valore hash del file M
problema per la sicurezza: una permutazione/composizione
delle firme è una nuova firma
q Conservo H = h(M) in un luogo sicuro
Soluzione di uso corrente:
corrente
firmare il valore hash del messaggio
[firma di M] = Fk (h(M))
Vantaggi: integrità dei dati ed efficienza degli algoritmi
Vantaggi
Introduzione
Funzione
Funzione
Hash
Hash
62
MAC
q Per controllare se il file è stato successivamente
modificato, calcolo h(M´) e verifico se H = h(M´)
h(M) è l’impronta digitale del file
Assicura se un file è stato modificato!
Introduzione
63
Certificazione del tempo
Message Authentication Code
q Il notaio digitale
q Quando è stato creato
segreto
messaggio
lunghezza arbitraria/finita
MAC
MAC
il documento D ?
b bit
Integrità dei dati
Autenticità dei dati
Introduzione
•Corso di Sicurezza su Reti
64
Introduzione
65
•11
•Alfredo De Santis
•17/03/2004
Protocolli crittografici
qLancio di una moneta
Grandi Numeri
 90
  = 622.614.630 ≈1,15•2 29
 6
q Numero colonne per l’ Enalotto
q Microsecondi in un giorno
qPoker
8.640.000.000 ≈1,26 •236
q Microsecondi in un secolo
qMoneta elettronica
qElezioni
q
q
Condivisione di segreti
qCrittografia visuale
≈2 •1017 ≈1,38 •257
q Cicli in un secolo di una macchina a 1.000 MHz
≈3,15 •1018 ≈1,37 •2 61
q Cicli in un secolo di una macchina a 10.000 MHz
≈3,15 •1019 ≈1,71 •2 64
q Cicli in un secolo di 1.000.000 macchine a 10.000 MHz ≈3,15 •1025 ≈1,63 •2 84
qEmail certificata
Introduzione
≈3,15 •10 15 ≈1,4 •2 51
q Secondi dalla creazione del sistema solare
q Numeri primi di 75 cifre (cioè 249 bit)
≈5,2 •10 72 ≈1,83 •2 244
q Numero di elettroni nell’universo
≈8,37•1077 ≈1,8 •2258
66
Chiave di 40 bit
Introduzione
67
Chiave di 40 bit
Supponiamo di avere una macchina che in un
microsecondo prova una singola chiave
Quanto è “sicura”
una chiave di 40 bit?
Provare tutte le possibili chiavi
≈ 12 giorni 17 ore
Provare 10% delle possibili chiavi
≈ 30.5 ore
Se avessimo 4 macchine …
Introduzione
Provare tutte le possibili chiavi
≈ 3 giorni 4 ore
Provare 10% delle possibili chiavi
≈ 7.6 ore
68
Chiave di 112 bit
Introduzione
69
Chiave di 112 bit
Supponiamo di
Quanto è “sicura” una
chiave di 112 bit?
– avere 1.000.000.000 macchine a 10.000 MHz
– ognuna prova una singola chiave in 10 cicli
Numero chiavi = 2112
Chiavi provate in un anno = 109•109 •60
60•60
60•24
24•365
365
≈ 3,15•1025 ≈ 1,63•284
Provare tutte le possibili chiavi ≈ 164.646.653 anni
Introduzione
•Corso di Sicurezza su Reti
70
Introduzione
71
•12
•Alfredo De Santis
•17/03/2004
Esercizio
Chiave di 128 bit
Supponiamo di
– avere 1.000.000.000 macchine a 10.000 MHz
– ognuna prova una singola chiave in 10 cicli
Quanto è “sicura” una
chiave di 128 bit?
Numero chiavi = 2128
Chiavi provate in un anno = 109 •109 •60
60•60
60•24
24•365
365
≈ 3,15•1022 ≈ 1,63•284
Provare tutte le possibili chiavi ≈ 10.790.283.070.806 anni
Provare 1/622.614.630 delle possibili chiavi ≈ 17.330 anni
Numero
Numerocolonne
colonneper
perl’l’Enalotto
Enalotto == 622.614.630
622.614.630
Introduzione
72
Introduzione
Contenuto Corso
Public Key Infrastructure
q Seconda parte: Sicurezza su Reti
–
–
–
–
–
–
–
q Come vengono distribuite le chiavi
pubbliche?
Public Key Infrastructure
Autenticazione utente
Sicurezza della posta elettronica
Sicurezza e anonimia nel WEB
Strumenti per la sicurezza delle reti
Codice malizioso
Firewall
Introduzione
q Chi ci assicura che una chiave
pubblica è quella di un prefissato
utente?
74
Introduzione
Public Key Infrastructure
q Mondo fisico
• Un’autorità riconosciuta lega un nome ad una foto
Public Key Infrastructure
–
–
–
–
–
q Mondo digitale
– Certificato digitale
• Un’autorità riconosciuta lega un nome ad una chiave
Creare
Gestire
Memorizzare
Distribuire
Revocare
Questa chiave
è di Alice
A.C.
certificati digitali
Questa chiave
è di Alice
A.C.
•Corso di Sicurezza su Reti
75
Insieme di hardware, software, procedure,
politiche, per
– Carta di identità
Introduzione
73
76
Introduzione
77
•13
•Alfredo De Santis
•17/03/2004
Autenticazione utente:
Autenticazione utente
Principi
q Qualcosa che l’utente POSSIEDE
Sono Bob!
– cose fisiche o elettroniche, …
Dimostralo!
apriti
apriti
sesamo
sesamo
Per utilizzare un servizio,
un utente deve autenticarsi
Introduzione
– biometria, cioè misura di proprietà biologiche
78
Introduzione
– accettabilità, facilità d´uso, …
Database delle password
(userid, password)
Brevi stringhe di caratteri, che un utente
fornisce a richiesta per provare la sua identità
80
Introduzione
81
Password: Vulnerabilità
Attacchi alle password
q Nomi comuni (Anna, Maradona,…)
q Parole comuni (computer,...)
q Specificità dell’utente (telefono, targa, date, indirizzi,…)
q Permutazioni delle precedenti (a ritroso,...)
q Il worm di Internet (novembre 1988) provava:
q Spiare durante la digitazione
q Intercettare
q Tentare a caso o sistematicamente
– In genere bassa entropia, quindi deboli password
– Attacchi con dizionario
•Corso di Sicurezza su Reti
79
Password
q Sicurezza
q Tempo dell’autenticazione (password, analisi DNA,... )
q Costo
q Complessità dell’update (riconoscimento vocale,…)
q Affidabilità e Mantenibilità
q Fattori psicologici:
Introduzione
– password, PIN,…
q Qualcosa che l’utente E´ (o come si comporta)
Autenticazione utente:
Caratteristiche
Introduzione
q Qualcosa che l’utente CONOSCE
82
–
–
–
–
–
–
nessuna password
user name
user name concatenato con se stesso
cognome
cognome a ritroso
dizionario di 432 parole
Introduzione
83
•14
•Alfredo De Santis
•17/03/2004
Idee per scegliere una
password
Come difendersi
q Usare minuscole e maiuscole
q Usare numeri e lettere
q Effettuare sostituzioni sistematiche, come o 0 l 1
q Includere caratteri non alfanumerici
q Scegliere lettere da una frase lunga
q Lunga (7/8 caratteri)
q Facile da ricordare (nessuna necessità di scriverla su carta!)
Esempi: DA.nMdCdNV
qE’uC24o ...
Introduzione
– dovrebbe verificare che la password scelta da
un nuovo utente non sia contenuta in un dato
dizionario
– dovrebbe periodicamente verificare la bontà
delle password dei suoi utenti mediante un
attacco simulato
84
Sicurezza e-mail
Introduzione
85
Sicurezza sul WEB
I messaggi inviati per e-mail possono essere
intercettati e falsificati
nnarella
q Gli utenti dovrebbero scegliere password
difficilmente prevedibili
q L’amministratore di sistema
q Protocollo SSL
– Consente alle applicazioni client/server di
comunicare in modo sicuro
– Utilizzato per il commercio elettronico e
l’accesso riservato ai dati
iagio
q Protocollo SSH
– Consente il login remoto sicuro e altri servizi di
rete sicuri su un canale insicuro
– Nato per rimpiazzare i comandi Berkeley r* con
le rispettive versioni sicure
Possibili soluzioni:
q PGP
q S/MIME
SSH
Introduzione
86
Introduzione
87
Strumenti per la
sicurezza delle reti
Anonimia sul WEB
qInternet non garantisce l’anonimato
– Ogni computer connesso ad Internet ha un indirizzo IP unico
Packet sniffer
qAlcune tecniche per mantenere una certa anonimia:
– Remailers
-Invio di posta elettronica con mittente anonimo
– Crowds, Anonymizer
Port scanner
-Accesso anonimo a siti WEB
– Autenticazione Anonima
-Accesso anonimo a risorse
Introduzione
•Corso di Sicurezza su Reti
Tripwire
88
Introduzione
89
•15
•Alfredo De Santis
•17/03/2004
Probing
Probing
q Nei server su reti TCP/IP i servizi di rete sono
associati ad un numero di porta
q Un client onesto
– Si connette al server indicando il numero di porta
del servizio a cui è interessato
– Dialoga con il server attraverso un protocollo
stabilito
– Server di posta elettronica: porta numero 25
– Server ftp: porta numero 21
– Server http: porta numero 80
q Accede a questi servizi chi è autorizzato
q Tuttavia un intruso potrebbe
q Un client fraudolento
– Utilizzare il servizio come “porta” per accedere alla macchina, e
persino ottenerne il controllo
– Bloccare il servizio, o la macchina, per impedirne l’utilizzo
– Utilizzare illecitamente il servizio “fingendosi” un utente auto rizzato
Introduzione
90
– Si connette come un normale client
– Invia messaggi “strani” che possono indurre il
server a bloccarsi o eseguire codice “pericoloso”
Introduzione
91
Scanning di un server
Probing e scanning
q Mediante un software di probing
– il pirata può ottenere informazioni sul sistema allo scopo di
sfruttarne le vulnerabilità
– l’amministratore di rete può verificare la robustezza dei
servizi e delle macchine e scoprire eventuali attività sospette
q Una diffusa tecnica di probing e’ detta port scanning
– Simula connessioni ai servizi di rete, scandendo tutte le porte
per appurare quali servizi sono attivi
– Per ciascun servizio identifica il tipo di server e ne determina
il grado di vulnerabilità
Introduzione
92
In ambienti distribuiti:
q Le risorse sono dislocate in punti diversi di una
rete
q Spesso più macchine condividono delle risorse
q I dati transitano ripetutamente attraverso la
rete ed alcuni suoi nodi
•Corso di Sicurezza su Reti
93
Ethernet
Packet sniffing
Introduzione
Introduzione
94
vLAN (Local Area Network)
Insieme di computer interallacciati entro uno
spazio fortemente delimitato
vEthernet
Tutte le macchine condividono lo stesso cavo
Introduzione
95
•16
•Alfredo De Santis
•17/03/2004
Modalità normale
Modalità promiscua
q Normalmente solo l'interfaccia del
destinatario passa i dati allo strato superiore
A
q Modalità di configurazione dell'ethernet
adapter in cui è permesso a una macchina
l'ascolto di tutto il traffico di rete
B
A
Scheda Ethernet
B
Scheda Ethernet
Dati per B
Introduzione
Dati per B
96
Introduzione
Cosa è uno Sniffer?
97
Rischi
L’esistenza di uno sniffer in rete rappresenta una
minaccia alla sicurezza e alla riservatezza delle
comunicazioni
q Qualsiasi strumento, software o hardware, che
raccoglie le informazioni che viaggiano lungo una
rete
q Usato per
– Monitorare il funzionamento e le performance della rete
– Visualizzare dati altrui
• Password
• Numeri di carte di credito
• Dati segreti
PRIVACY
SICUREZZA
Introduzione
98
Introduzione
99
Protocolli vulnerabili
Sniffer e TCP/IP
vTelnet e rlogin
q Ogni macchina in una rete su cui passano i dati
potrebbe essere uno sniffer
•Uno sniffer può intercettare User_ID e password
dell’utente
Bob
vHTTP
•Dati inviati in chiaro
vSMNP
Alice
•Password inviate in chiaro
vNNTP, POP, IMAP, FTP
•Password e dati inviati in chiaro
Introduzione
•Corso di Sicurezza su Reti
100
Introduzione
101
•17
•Alfredo De Santis
•17/03/2004
TCPDUMP
Altri sniffer
q Sniffer estremamente semplice e versatile
q Consente di interpretare le informazioni
legate ai principali protocolli di comunicazione
su reti locali TCP/IP
q Funzionamento:
q TCPDUMP è per lo più uno strumento di
diagnostica
q Sono disponibili programmi più sofisticati che
offrono servizi più “specializzati” per il tipo di
dati che si intende captare
– Pone la scheda ethernet in modalità promiscua
– Legge i dati provenienti dalla rete
– Li “organizza” a seconda delle richieste dell’utente
Introduzione
–
–
–
–
password di login,
web,
segmenti NetBIOS,
Etc.
102
Denial of service
Introduzione
103
Codice “malizioso”
q Dopo una violazione del sistema, un intruso potrebbe
installare dei programmi per
q Lo scopo dell’attacco non è l’accesso non
autorizzato al sistema, ma l’impedimento dell’uso
delle risorse da parte degli utenti autorizzati
q Esempio: l’hacker sovraccarica il sistema con
richieste di servizi
– sottrarre dati riservati
– muovere attacchi verso altre macchine
q Tale codice può anche sostituire comandi o applicazioni
di sistema
– L’intruso sostituisce il server di posta elettronica in uscita
(sendmail) con una sua versione che memorizza in un file i
messaggi inviati da un certo utente
– L’intruso sostituisce il comando ls con una sua versione che
non visualizza quel suo file
Introduzione
104
Codice “malizioso”
q David Gerrold, 1972
– Nel libro “When Harlie Was One” parla di un programma chiamato
virus creato da uno scienziato pazzo
– indurre un utente/amministratore a scaricarlo dalla
rete ed eseguirlo (anche inconsapevolmente)
• Il computer infettato provava a contattare un altro computer via
telefono
• Entrava in quel sistema e lo infettava con una sua copia
• Si infiltrava nel software di sistema e lo rallentava fino a renderlo
inutilizzabile
• Antivirus Vaccine creato dall’inventore a scopo di lucro
q Un’applicazione tipica di questo approccio sono
i Virus
– Programmi che penetrano in un programma ospite
modificandolo, sia per riprodursi sia per danneggiare
dati e/o programmi
•Corso di Sicurezza su Reti
105
Il termine “Virus”
q Altro metodo per l’installazione o esecuzione
di software malizioso su una macchina
Introduzione
Introduzione
q Fred Cohen
– Il primo a definire in modo formale il concetto di virus
• "... a program that can infect other programs by modifing them to
include a possibly evolved copy of itself "
106
Introduzione
107
•18
•Alfredo De Santis
•17/03/2004
Virus e simili
Cavallo di Troia
q Cavallo di Troia
– Programma apparentemente legale che contiene
istruzioni che realizzano funzioni non richieste
dell’utente
q Kevin Mitnich, 1986
– Progettò un cavallo di Troia che infettò
• Nove Università
• Quindici compagnie della Silicon Valley
q Worm
• Nove siti Arpanet
• Tre laboratori governativi
– Programma che si ricopia su reti di computer sfruttando
bug del sistema operativo
– Non necessita di un programma portatore
• Etc…
– Il virus sostituiva il programma di accesso alla rete con
una sua copia modificata
q Virus
– Porzioni di codice autoreplicante
– Boot virus, macrovirus, etc…
Introduzione
• Restituiva al suo autore login e password dell'utente che si
stava identificando in quell'istante
108
Introduzione
Worm
Boot Virus
q Infettano il Boot Sector di un floppy o il
Master Boot Record degli hard disk
q Votati principalmente alla diffusione
– Danneggiamento o sottrazione di dati
– Rallentano fino a bloccare il computer ospite
– Possono intasare una rete locale con le loro “spore”
– MBR copiato su un altro settore del disco
– Virus copiato nell’MBR
– Se più grande del settore sono usati altri settori
marcati BAD
q Alcuni esempi
–
–
–
–
109
q Boot da disco infetto
– Viene letto il Boot Sector (contente il virus), copiato
in memoria ed eseguito
– Virus setta i vettori di interrupt
– Carica il vero Boot sector e gli trasferisce il
controllo
Il worm di Morris (novembre 1988)
Code Red (luglio 2001)
Nimda (settembre 2001)
SQL Slammer (gennaio 2003)
Introduzione
110
Introduzione
Macrovirus
Macrovirus
q Virus scritti come macro di applicazioni utente
q Melissa
– Macro: insieme di istruzioni usate per automatizzare
compiti
– Individuato nel marzo del 1999, in tre giorni ha infettato
100.000 computer
– Si replica sotto Office97 e infetta i documenti Word 97 e
successive versioni
– Spedisce sue copie attraverso email usando Microsoft
Outlook
q Possono essere eseguiti all’atto dell’apertura di
un documento
q Possono accedere virtualmente a tutte le
funzioni del sistema operativo
q Esempi: Melissa e I Love You
q I Love You
– Individuato nel maggio 2000, in pochi giorni ha raggiunto 50
milioni di computer e provocato danni per oltre 10 miliardi di
dollari
– Il 9 maggio 2000 è stato arrestato il presunto creatore
Reonel Ramones
– Scritti in VB
– Si trasmettono via E-Mail
– Accedono e modificano il file registro di Windows
Introduzione
•Corso di Sicurezza su Reti
111
112
Introduzione
113
•19
•Alfredo De Santis
•17/03/2004
Difendersi dai macrovirus
q Nelle applicazioni Office, attivare la voce Macro virus
protection
q Aprendo un documento contenente macro possiamo
scegliere di attivare o disattivare le macro incluse
q Se non si è certi dello scopo o della funzione di tali
macro, si consiglia di disattivarle sempre
– In questo modo si impedirà l'esecuzione dei virus macro
rendendoli innocui
q Il virus viene attivato solo se
Difendersi dai virus
q Utilizzare/installare software solo se di
provenienza fidata
q Microsoft e Sun hanno proposto alcuni sistemi per
la certificazione (mediante firma digitale)
dell’affidabilità di ActiveX ed Applet
q Molti Anti Virus possono verificare la presenza di
file infetti anche quando questi sono giunti sul
sistema come allegati di posta elettronica
– si apre il documento allegato e si sceglie di attivare le macro
– la protezione da virus macro è disattivata
Introduzione
114
Introduzione
115
Codice malizioso
Diffusione dei virus
La diffusione dei virus informatici nel mondo ad Agosto 2001 in base
alla percentuale di infezioni sul totale
Virus
Cavalli di Troia
Macrovirus
Bulletin Virus
Introduzione
116
Programi Self-reproducing
Rootkits
– Una volta installata, falsa la percezione dello stato
del sistema e nasconde le tracce dell’attività
dell’intruso
output se stesso come eseguibile
qScrivere un programma che da in
– L’intruso ha il controllo della macchina e accesso
completo ai dati presenti su di essa
output se stesso come sorgente
•Corso di Sicurezza su Reti
117
Raccolta di applicazioni di sistema modificate e
già “pronte per l’uso”
qScrivere un programma che da in
Introduzione
Introduzione
118
Introduzione
119
•20
•Alfredo De Santis
•17/03/2004
Firewall
Tripwire
Utility che consente di individuare programmi
“contraffatti” installati sul sistema
Fire wall: A fireproof wall used as a barrier to prevent
the spread of a fire. - American Heritage Dictionary
– Inizializza il suo database, raccogliendo le informazioni
necessarie ai confronti sui file da “sorvegliare”
– Periodicamente calcola le stesse informazioni e le confronta
con quelle ottenute durante l’inizializzazione
– Se le due impronte non coincidono, il file ad esse associato
potrebbe essere stato modificato/sostituito
“Modo per restringere l’accesso
tra Internet e la rete interna”
Introduzione
120
Introduzione
Firewall
Contenuto Corso
Fire wall: A fireproof wall used as a barrier to prevent
the spread of a fire. - American Heritage Dictionary
“Modo per restringere l’accesso
tra Internet e la rete interna”
Introduzione
121
q Terza parte: Sicurezza
–
–
–
–
–
–
–
–
–
Steganografia
Watermark
Smart Card
GSM, WAP
Sicurezza nei Sistemi Operativi
Java Security
Commercio Elettronico (iKP, SET)
Pay TV
Protezione dei DVD
122
Steganografia
Introduzione
123
Steganografia
immagini GIF
q Nasconde l’esistenza di un messaggio
q Esempio: immagini Bitmap
Red
Green
Blue
(11100001, 00000100, 00010111)
– Livello colore primario: 0,…,255
– Uso dei bit meno significativi
palette
Introduzione
•Corso di Sicurezza su Reti
124
Introduzione
125
•21
•Alfredo De Santis
•17/03/2004
Watermark
Pay TV
q Letteralmente “filigrana”
q Assicura autenticità ed integrità ai documenti in cui è
immerso
q E’ una sequenza di bit inseriti all'interno del
documento da proteggere con le caratteristiche:
– Impercettibile - Il documento marcato e quello originale
devono apparire identici.
– Legata al documento - La marca deve essere funzione del
documento e parte integrante di esso.
– Robusta - La marca deve essere in grado di resistere a tutte
le più comuni trasformazioni operabili sul documento.
Introduzione
126
Pay TV
Introduzione
Introduzione
127
Videocrypt: McCormac Hack
128
Digital Versatile Disk (DVD)
Introduzione
129
Secure Electronic Transaction
SET
q Protocollo per transazioni scure con carte
di credito su reti aperte
q VISA e Mastercard, novembre 1995
Protezione dei DVD
•Evitare copie e distribuzione
Contents Scrambling System (CSS)
•Sviluppato nel 1996 da Matsushita
Introduzione
•Corso di Sicurezza su Reti
130
Introduzione
131
•22
•Alfredo De Santis
•17/03/2004
Algoritmo LUHN-10
Algoritmo LUHN-10
q Specificato in ISO-7812-1, standard per il formato
delle carte di credito
q Ultima cifra per controllo dell’errore
4563 9601 2200 1999
Introduzione
•Corso di Sicurezza su Reti
132
Somma = 70
multiplo di 10
Introduzione
133
•23