~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6...

23
Introduzione 0 Sicurezza su Reti Alfredo De Santis Università di Salerno http://www.dia.unisa.it/~ads [email protected] Introduzione 1 Orari Corso q Lunedì 14:00 - 16:00, aula F2 q Martedi 11:00 - 13:00, aula F2 q Venerdì 11:00 - 13:00, aula F2 Introduzione 2 Organizzazione q Bibliografia Appunti dalle lezioni – http://www.dia.unisa.it/~ads/corso-security/www q Laboratorio q Progetti Presentazione di argomenti specifici q Compitini di valutazione Interazione Introduzione 3 Prerequisiti q Teoria dei Numeri q Fondamenti di Reti Introduzione 4 Prerequisiti q Teoria dei Numeri q Fondamenti di Reti … ma faremo un veloce riepilogo Introduzione 5 Elenco studenti q Per l’organizzazione del corso (prove, progetti, laboratorio) q Nome, Cognome, matricola q Account presso laboratorio reti? q Studenti iscritti al corso Sicurezza su Reti: 66 Sicurezza su Reti II: 2

Transcript of ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6...

Page 1: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •1

Introduzione 0

Sicurezza su Reti

Alfredo De Santis

Università di Salerno

http://www.dia.unisa.it/~ads

[email protected]

Introduzione 1

Orari Corso

q Lunedì 14:00 - 16:00, aula F2q Martedi 11:00 - 13:00, aula F2q Venerdì 11:00 - 13:00, aula F2

Introduzione 2

Organizzazioneq Bibliografia

– Appunti dalle lezioni– http://www.dia.unisa.it/~ads/corso-security/www

q Laboratorioq Progetti

– Presentazione di argomenti specifici

q Compitini di valutazione

InterazioneIntroduzione 3

Prerequisitiq Teoria dei Numeri q Fondamenti di Reti

Introduzione 4

Prerequisitiq Teoria dei Numeri q Fondamenti di Reti

… ma faremo un veloce riepilogo

Introduzione 5

Elenco studentiq Per l’organizzazione del corso

(prove, progetti, laboratorio)

q Nome, Cognome, matricola

q Account presso laboratorio reti?

q Studenti iscritti al corso– Sicurezza su Reti: 66

– Sicurezza su Reti II: 2

Page 2: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •2

Introduzione 6

Ed ora …qualcosa sui

contenuti

Introduzione 7

Crescita di Internet

1 . 7 7 6 . 0 0 0 3 . 2 1 2 . 0 0 08 . 2 0 0 . 0 0 0

1 6 . 7 2 9 . 0 0 0

2 6 . 0 5 3 . 0 0 0

3 6 . 7 3 9 . 0 0 0

5 6 . 2 1 8 . 0 0 0

9 3 . 0 4 7 . 0 0 0

1 2 5 . 8 8 8 . 0 0 0

1 6 2 . 1 2 8 . 0 0 0

0

20.000.000

40.000.000

60.000.000

80.000.000

100.000.000

120.000.000

140.000.000

160.000.000

180.000.000

1993 1994 1995 1996 1997 1998 1999 2000 2001 2002

Numero di host

Introduzione 8

Problemiq Internet consente alle aziende di

– Effettuare commercio elettronico– Fornire un migliore servizio ai clienti– Ridurre i costi di comunicazione– Accedere facilmente alle informazioni

…tuttavia…

q … espone i computer all’azione di attacchi da partedi malintenzionati– Il numero di incidenti aumenta di anno in anno– Le perdite finanziarie hanno raggiunto livelli

misurabili in miliardi di dollari

Introduzione 9

Il worm di Morris

q Il 2 Novembre 1988 Internet fu colpita dal Worm di Morris– 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,

perché sovraccaricati da molteplici copie del worm

q Per bloccare il virus fu formato un team di esperti – Furono sviluppate e divulgate le procedure per lo "sradicamento"del

worm – In una settimana tutto tornò alla normalità

q Data la potenzialità del virus, i danni furono minimi, ma ci si rese conto dei rischi legati ad Internet

Introduzione 10

CERT Computer Emergency Response Team

qTeam di esperti nell’ambito della sicurezza– Creato dal DARPA (Defense Advanced Research

Projects Agency) in seguito all’attacco del wormqSi occupa di

– Identificare il tipo di incidenti – Quantificare le perdite economiche– Analizzare le vulnerabilità dei prodotti

Introduzione 11

Incidenti riportati al CERT

1.334 2.340 2.412 2.573 2.134 3.734

9.859

21.756

52.658

82.094

0

10.000

20.000

30.000

40.000

50.000

60.000

70.000

80.000

90.000

1993 1994 1995 1996 1997 1998 1999 2000 2001 2002

Page 3: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •3

Introduzione 12

Perdite economiche

100.119.555

136.822.000123.799.000

256.337.990

377.828.700

455.848.000

0

50.000.000

100.000.000

150.000.000

200.000.000

250.000.000

300.000.000

350.000.000

400.000.000

450.000.000

500.000.000

1997 1998 1999 2000 2001 2002

Introduzione 13

Indagine CSI/FBINel 2002, su 503 intervistati (aziende, agenzie governative, università, ospedali, etc…)

– Il 90% ha riportato incidenti legati alla sicurezza• I danni più seri riguardano il furto di informazioni delicate e le

frodi finanziarie– L’80% ha subito danni economici

• Solo il 44% è stato in grado di quantificare i danni– Il 74% ritiene che la connessione ad Internet costituisca il

maggior punto di attacco– Solo il 34% ha denunciato gli incidenti subiti

• Tutti gli altri non lo hanno fatto per evitare pubblicità negativa

Introduzione 14

Vulnerabilità, Attacchi, Minacce

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 (attacco, disastro naturale, errore umano, buco software o hardware)

Introduzione 15

Attacchi su reteq Tipico attacco:

– ottenere accesso all’account di un utente– ottenere accesso privilegiato– usare il sistema compromesso come base per

attaccare altri macchineE’ possibile manualmente in 45 secondi

…automaticamente in meno!

Introduzione 16

IntrusioniVari tipi di intruder

– Adolescente curioso– Studente universitario che ha

sviluppato nuovo tool– “Spia” a pagamento – Dipendente licenziato o arrabbiato– …

Ragioni per intrusioni:– Divertimento– Senso di potenza– Sfida intellettuale– Attenzione politica– Guadagno economico

Introduzione 17

IntrusioniqIl manager ragiona così:

– Nessuno attaccherà la mia azienda , non c’è nulla di prezioso qui!

qGli hacker invece ragionano così: – Scelgo il target più facile, entro e poi guardo– Al massimo userò il sistema come ponte per altri

attacchi

Page 4: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •4

Introduzione 18

Tipi di incidentiq Probing e scanningq Attacchi alle passwordq Intercettazione di pacchetti (packet sniffing)q Compromissione di account (privilegiati e non)q Denial of Serviceq Codice malizioso (Virus, Worm, Trojan horse)q Attacchi all’infrastruttura di rete (name server,

access provider, grossi archivi di rete,…)

Introduzione 19

Comunicazione q Ci sono newsgroup, pubblicazioni, conferenze

sulle ultime tecniche di intrusioneq 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)– ...

Introduzione 20

Tipologia di Tools Packageq Mantenuti da programmatori competenti,

includono anche versione e documentazioneq Possono contenere:

– 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 21

Hackerq 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

q Più recentemente, nei media:– tipo negativo– sfruttano buchi di sicurezza

Introduzione 22

HackerHACKER noun1. A person who enjoys learning the details of computer systems and how to stretch theircapabilities - as opposed to most users of computers, who prefer to learn only the minimum amount necessary. 2. One who programs enthusiastically or whoenjoys programming rather than just theorizingabout programming.

Guy L. Steele, et al., The Hacker's DictionaryIntroduzione 23

Tipi di Hackerq Cracker: programmatori specializzati nell’infrangere

sistemi di sicurezza per sottrarre o distruggere datiq 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

Page 5: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •5

Introduzione 24

Hacker classificazione

q Black hat: hacker “cattivo”, che sfrutta la propria abilità per delinquere

qWhite hat: hacker che si ritiene moralmente e legalmente integerrimo

q Grey hat: una via di mezzo tra white e black hat

q Termini coniati nel 1996, in occasione della prima conferenza Black Hat Briefings, a Las Vegas

Introduzione 25

Hacker

Origine termine:– Tech Model Railroad Club, Massachussets Institute of

Technology [1958]– Plastico ferroviario, due gruppi:

• Modelli treni• Signal and Power: segnali e distribuzione energia

Hack = gergo, scherzo, denotava virtuosismo, innovazioneMembri gruppo si definivano HackerIBM 704 … Tx-0 … PDP-10

Hack = "tagliare", "fare a pezzi"

Introduzione 26

Etica dell’Hacker

q Access to computers - and anything which might teachyou something about the way the world works - shouldbe unlimited and total. Always yield to the Hands-Onimperative.

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.

Hackers: Heroes of the Computer Revolution

Introduzione 27

Sicurezza Dati: obiettivi

q Confidenzialitàq Autenticazioneq Non-ripudioq Controllo Accessiq Integritàq Anonimiaq Disponibilità Risorse

Introduzione 28

ConfidenzialitàPrivacy, Segretezza

Informazioni

sono accessibili in lettura solo da chi è autorizzato

trasmessememorizzate

(anche la semplice esistenza di un oggetto)

Introduzione 29

Autenticazionemessaggi entità tempo

(Identificazione) (Timestamp)

Page 6: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •6

Introduzione 30

Non-ripudio

non può negare latrasmissione del messaggio

Chi inviaChi riceve

Introduzione 31

Controllo Accessi

Accesso alle informazioni

controllato da o per

il sistema

Introduzione 32

IntegritàSolo chi è autorizzato può modificare

l’attività di un sistema o le

informazioni trasmesse

modifica = scrittura, cambiamenti, cancellazione,creazione, ritardi, replay e riordino di messaggi, …

Introduzione 33

Anonimia

Protezione dell’identità o del servizio utilizzato.

… meglio “Grado di anonimia”

Introduzione 34

Disponibilità Risorse

Diverse attese:– presenza di oggetti e servizi utilizzabili– capacità di soddisfare le richieste di servizi– progresso: tempo di attesa limitato– adeguato tempo del servizio

Obiettivi:– risposta pronta– allocazione fair– utilizzabilità– fault tolerance– concorrenza controllata (accessi simultanei, gestione

deadlock, accesso esclusivo)

Risorse disponibili a chi è autorizzato quando necessario

Availability

Introduzione 35

Alcune relazioni

Availability

IntegritàConfidenzialità

Page 7: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •7

Introduzione 36

Contenuto CorsoqPrima parte: Crittografia

– Cifrari simmetrici– Cifrari asimmetrici– Firme digitali– Funzioni hash– Message Authentication Codes– Generazione pseudo-casuale– Protocolli crittografici

Introduzione 37

Contenuto CorsoqSeconda parte: Sicurezza su Reti

– Public Key Infrastructure– Autenticazione utente – Sicurezza della posta elettronica – Sicurezza e anonimia nel WEB – Strumenti per la sicurezza delle reti – Codice malizioso– Firewall

Introduzione 38

Contenuto CorsoqTerza parte: Sicurezza

– Steganografia– Watermark– Smart Card – GSM, WAP– Sicurezza nei Sistemi Operativi– Java Security– Commercio Elettronico (iKP, SET)– Digital Video Broadcasting– DVD

Introduzione 39

CrittografiaDall’antichità fino a pochi anni fa:

– Essenzialmente comunicazioni private– Usi Militari e Diplomatici

χρυπτοσ γραφια λογοσ

Oggi: studio di tecniche ed applicazioni chedipendono dall’esistenza di problemi difficili

Introduzione 40

Alcuni metodi antichi di cifratura

qErodotoqScytala spartana, 500 a.C. (Plutarco in Vite parallele) qPolibio

testo in chiaro: C A S A testo cifrato: (1,3) (1,1) (4,3) (1,1)

1 2 3 4 51 A B C D E2 F G H IJ K3 L M N O P4 Q R S T U5 V W X Y Z

Introduzione 41

Chiavi simmetriche

nnarella iagio

chiave privata k chiave privata k

Page 8: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •8

Introduzione 42

Chiavi simmetriche

nnarella iagio

chiave privata k chiave privata k

messaggio M

Introduzione 43

Chiavi simmetriche

nnarella

chiave privata k chiave privata k

C ← CIFRA(k,M) M ← DECIFRA(k,C)

??

C

iagio

Introduzione 44

Cifrari a blocchi che vedremo

q Data Encryption Standard (DES)q DES triplo, RC2, RC5, RC6, Skipjackq Advanced Encryption Standard (AES)q e poi … Modalità di cifratura

cifrariotesto in chiaro testo cifrato

chiave

N bit N bit

Introduzione 45

Stream Cipher

qTrasformazione dipendente dal tempo di singoli caratteri del testo in chiaro qUsato nel GSM

Stream ciphertesto in chiaro testo cifrato

chiave

Base station

Introduzione 46

Crittosistema a chiave pubblica

file pubblico

utente chiave pubblicaA kpub

… …

chiave privatakpriv

nnarellaIntroduzione 47

Cifratura

iagio

utente chiave pubblicaA kpub

… …

Devo cifrare il messaggio M

ed inviarlo ad A

file pubblico

Page 9: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •9

Introduzione 48

Cifratura

utente chiave pubblicaA kpub… …

Cifratura di M per AC ← CIFRA (kpub, M)

Cfile pubblico

iagioIntroduzione 49

Decifratura

nnarella

utente chiave pubblicaA kpub… …

Devo decifrare il messaggio cifrato C

C??

C?

file pubblico

Introduzione 50

Decifratura

utente chiave pubblicaA kpub… …

C

Decifratura di CM ← DECIFRA (kpriv, C)

chiave privatakpriv

file pubblico

nnarellaIntroduzione 51

Principio di Kerckhoffs

La sicurezza di un cifrario deve dipendere solo dalla segretezza della chiave e non dalla segretezza dell’algoritmo usato.

Jean Guillaume Hubert Victor Francois Alexandre Auguste Kerckhoffs von Nieuwenhof (1835-1903), filologo olandese,

“La Criptographie Militarie” [1883]

Introduzione 52

Firma DigitaleEquivalente alla firmaconvenzionaleM

firma

Introduzione 53

Firma DigitaleEquivalente alla firmaconvenzionale

Soluzione naive:incollare firma digitalizzata

Mfirma

Page 10: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •10

Introduzione 54

Firma Digitale

Equivalente alla firmaconvenzionale

Soluzione naive:incollare firma digitalizzata

Mfirma

Introduzione 55

Desiderata per la Firma Digitale

La firma digitale deve poter essere facilmente prodotta dal legittimo firmatario

Nessun utente deve poter

riprodurre la firma di altri

Chiunque può facilmente

verificare una firma

Introduzione 56

Firma digitalefile pubblico

utente chiave pubblicaA kpub… …

chiave privatakpriv

MA

??

Devo firmare M

nnarellaIntroduzione 57

Firma digitale

utente chiave pubblicaA kpub… …

chiave privatakpriv

MFirma di M

F ← FIRMA (M,kpriv)

A Fnnarella

file pubblico

Introduzione 58

Verifica firma digitale

erificatore

utente chiave pubblicaA kpub… …

M

Devo verificare se F è una firma di A per M

A F

file pubblico

Introduzione 59

Verifica firma digitale

erificatore

utente chiave pubblicaA kpub… …

M

Verifica firma di Mvera se VERIFICA (F,M,kpub) = SI

falsa altrimenti

A F

file pubblico

Page 11: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •11

Introduzione 60

Firme digitali che vedremo

q RSA

q Digital Signature Standard (DSS)

Introduzione 61

Funzione Hash b bitlunghezza arbitraria/finita

Funzioni Hash

qIdea alla base: il valore hash h(M) è una rappresentazione non ambigua e non falsificabile del messaggio MqProprietà: comprime ed è facile da computareqApplicazioni: firme digitali ed integrità dei

dati

Introduzione 62

Firme digitali e Funzioni hash

Problema: firma digitale di messaggi grandiSoluzione naive: Divisione in blocchi e firma per ogni blocco

problema per la sicurezza: una permutazione/composizione delle firme è una nuova firma

Soluzione di uso corrente: firmare il valore hash del messaggio[firma di M] = Fk(h(M))

Vantaggi: integrità dei dati ed efficienza degli algoritmi

Introduzione 63

Integrità dei dati e Funzioni hash

Tipico uso delle funzioni hash

q Computo al tempo T il valore hash del file M

q Conservo H = h(M) in un luogo sicuro

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 64

MAC b bitlunghezza arbitraria/finita

MAC

Integrità dei dati

segreto

Message Authentication Code

messaggio

Autenticità dei datiIntroduzione 65

Certificazione del tempo

q Il notaio digitale

q Quando è stato creato

il documento D ?

Page 12: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •12

Introduzione 66

Protocolli crittograficiqLancio di una moneta

qPoker

qMoneta elettronicaqElezioni

qq Condivisione di segreti

qEmail certificataqCrittografia visuale

Introduzione 67

Grandi Numeriq Numero colonne per l’ Enalotto = 622.614.630 ≈1,15•229

q Microsecondi in un giorno 8.640.000.000 ≈1,26•236

q Microsecondi in un secolo ≈3,15 •1015 ≈1,4 •251

q Secondi dalla creazione del sistema solare ≈2•1017 ≈1,38 •257

q Cicli in un secolo di una macchina a 1.000 MHz ≈3,15•1018 ≈1,37 •261

q Cicli in un secolo di una macchina a 10.000 MHz ≈3,15•1019 ≈1,71 •264

q Cicli in un secolo di 1.000.000 macchine a 10.000 MHz ≈3,15•1025 ≈1,63 •284

q Numeri primi di 75 cifre (cioè 249 bit) ≈5,2 •1072 ≈1,83 •2244

q Numero di elettroni nell’universo ≈8,37•1077 ≈1,8 •2258

6

90

Introduzione 68

Chiave di 40 bit

Quanto è “sicura” una chiave di 40 bit?

Introduzione 69

Chiave di 40 bit

Supponiamo di avere una macchina che in un microsecondo prova una singola chiaveProvare tutte le possibili chiavi ≈ 12 giorni 17 ore

Provare 10% delle possibili chiavi ≈ 30.5 ore

Se avessimo 4 macchine …

Provare tutte le possibili chiavi ≈ 3 giorni 4 ore

Provare 10% delle possibili chiavi ≈ 7.6 ore

Introduzione 70

Chiave di 112 bit

Quanto è “sicura” una chiave di 112 bit?

Introduzione 71

Chiave di 112 bitSupponiamo di – avere 1.000.000.000 macchine a 10.000 MHz– ognuna prova una singola chiave in 10 cicli

Provare tutte le possibili chiavi ≈ 164.646.653 anni

Numero chiavi = 2112

Chiavi provate in un anno = 109•109•60•60•24•365 ≈ 3,15•1025 ≈ 1,63•284

Page 13: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •13

Introduzione 72

Esercizio

Quanto è “sicura” una chiave di 128 bit?

Introduzione 73

Chiave di 128 bitSupponiamo di – avere 1.000.000.000 macchine a 10.000 MHz– ognuna prova una singola chiave in 10 cicli

Provare tutte le possibili chiavi ≈ 10.790.283.070.806 anni

Numero chiavi = 2128

Chiavi provate in un anno = 109•109•60•60•24•365 ≈ 3,15•1022 ≈ 1,63•284

Numero colonne per l’Enalotto = 622.614.630

Provare 1/622.614.630 delle possibili chiavi ≈ 17.330 anni

Introduzione 74

Contenuto CorsoqSeconda parte: Sicurezza su Reti

– Public Key Infrastructure– Autenticazione utente – Sicurezza della posta elettronica – Sicurezza e anonimia nel WEB – Strumenti per la sicurezza delle reti – Codice malizioso– Firewall

Introduzione 75

Public Key InfrastructureqCome vengono distribuite le chiavi

pubbliche?

qChi ci assicura che una chiave pubblica è quella di un prefissato utente?

Introduzione 76

Public Key InfrastructureqMondo fisico

– Carta di identità• Un’autorità riconosciuta lega un nome ad una foto

qMondo digitale– Certificato digitale

• Un’autorità riconosciuta lega un nome ad una chiave

Questa chiave è di Alice

A.C.

Introduzione 77

Public Key Infrastructure

Insieme di hardware, software, procedure, politiche, per– Creare– Gestire– Memorizzare– Distribuire– Revocare

certificati digitali

Questa chiave è di Alice

A.C.

Page 14: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •14

Introduzione 78

Autenticazione utente

Per utilizzare un servizio, un utente deve autenticarsi

Sono Bob!

Dimostralo!

Introduzione 79

Autenticazione utente: Principi

q Qualcosa che l’utente POSSIEDE– cose fisiche o elettroniche, …

q Qualcosa che l’utente CONOSCE– password, PIN,…

q Qualcosa che l’utente E´ (o come si comporta)– biometria , cioè misura di proprietà biologiche

apritisesamo

Introduzione 80

Autenticazione utente:Caratteristiche

qSicurezzaqTempo dell’autenticazione (password, analisi DNA,...)qCostoqComplessità dell’update (riconoscimento vocale,…)

qAffidabilità e MantenibilitàqFattori psicologici:

– accettabilità, facilità d´uso, …

Introduzione 81

Password

(userid, password)

Database delle password

Brevi stringhe di caratteri, che un utente fornisce a richiesta per provare la sua identità

Introduzione 82

Attacchi alle password

qSpiare durante la digitazione

qIntercettare

qTentare a caso o sistematicamente

– In genere bassa entropia, quindi deboli password

– Attacchi con dizionario

Introduzione 83

Password: Vulnerabilità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:

– nessuna password– user name– user name concatenato con se stesso– cognome– cognome a ritroso– dizionario di 432 parole

Page 15: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •15

Introduzione 84

Idee per scegliere una password

q Usare minuscole e maiuscoleq Usare numeri e lettere q Effettuare sostituzioni sistematiche, come o 0 l 1q Includere caratteri non alfanumericiq Scegliere lettere da una frase lungaq Lunga (7/8 caratteri)q Facile da ricordare (nessuna necessità di scriverla su carta!)Esempi: DA.nMdCdNV qE’uC24o ...

Introduzione 85

Come difendersi

qGli utenti dovrebbero scegliere password difficilmente prevedibiliqL’amministratore di sistema

– 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

Introduzione 86

I messaggi inviati per e-mail possono essere intercettati e falsificati

Possibili soluzioni:q PGPq S/MIME

Sicurezza e-mail

nnarella iagio

Introduzione 87

Sicurezza sul WEBq Protocollo SSL

– Consente alle applicazioni client/server di comunicare in modo sicuro

– Utilizzato per il commercio elettronico e l’accesso riservato ai dati

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 SSH

Introduzione 88

Anonimia sul WEBqInternet non garantisce l’anonimato

– Ogni computer connesso ad Internet ha un indirizzo IP unico

qAlcune tecniche per mantenere una certa anonimia:– Remailers

-Invio di posta elettronica con mittente anonimo– Crowds, Anonymizer

-Accesso anonimo a siti WEB– Autenticazione Anonima

-Accesso anonimo a risorse

Introduzione 89

Strumenti per la sicurezza delle reti

Packet sniffer

Port scanner

Tripwire

Page 16: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •16

Introduzione 90

Probingq Nei server su reti TCP/IP i servizi di rete sono

associati ad un numero di porta– Server di posta elettronica: porta numero 25– Server ftp: porta numero 21– Server http: porta numero 80

q Accede a questi servizi chi è autorizzatoq Tuttavia un intruso potrebbe

– 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 autorizzato

Introduzione 91

Probingq 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

q Un client fraudolento– Si connette come un normale client– Invia messaggi “strani” che possono indurre il

server a bloccarsi o eseguire codice “pericoloso”

Introduzione 92

Probing e scanningq 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 93

Scanning di un server

Introduzione 94

Packet sniffing

In ambienti distribuiti:qLe risorse sono dislocate in punti diversi di una

reteqSpesso più macchine condividono delle risorseqI dati transitano ripetutamente attraverso la

rete ed alcuni suoi nodi

Introduzione 95

vLAN (Local Area Network)Insieme di computer interallacciati entro uno spazio fortemente delimitato

vEthernetTutte le macchine condividono lo stesso cavo

Ethernet

Page 17: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •17

Introduzione 96

Modalità normaleqNormalmente solo l'interfaccia del

destinatario passa i dati allo strato superiore

A B

Dati per B

Scheda Ethernet

Introduzione 97

Modalità promiscuaqModalità di configurazione dell'ethernet

adapter in cui è permesso a una macchina l'ascolto di tutto il traffico di rete

A B

Dati per B

Scheda Ethernet

Introduzione 98

Cosa è uno Sniffer?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

Introduzione 99

PRIVACYSICUREZZA

RischiL’esistenza di uno sniffer in rete rappresenta una minaccia alla sicurezza e alla riservatezza delle

comunicazioni

Introduzione 100

Sniffer e TCP/IPq Ogni macchina in una rete su cui passano i dati

potrebbe essere uno sniffer

Alice

Bob

Introduzione 101

Protocolli vulnerabili

vTelnet e rlogin•Uno sniffer può intercettare User_ID e password

dell’utentevHTTP

•Dati inviati in chiarovSMNP

•Password inviate in chiarovNNTP, POP, IMAP, FTP

•Password e dati inviati in chiaro

Page 18: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •18

Introduzione 102

TCPDUMPqSniffer estremamente semplice e versatileqConsente di interpretare le informazioni

legate ai principali protocolli di comunicazione su reti locali TCP/IP

qFunzionamento:– Pone la scheda ethernet in modalità promiscua– Legge i dati provenienti dalla rete– Li “organizza” a seconda delle richieste dell’utente

Introduzione 103

Altri snifferqTCPDUMP è per lo più uno strumento di

diagnosticaqSono disponibili programmi più sofisticati che

offrono servizi più “specializzati” per il tipo di dati che si intende captare – password di login, – web,– segmenti NetBIOS, – Etc.

Introduzione 104

Denial of serviceq 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

Introduzione 105

Codice “malizioso”q Dopo una violazione del sistema, un intruso potrebbe

installare dei programmi per– 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 106

Codice “malizioso”q Altro metodo per l’installazione o esecuzione

di software malizioso su una macchina– indurre un utente/amministratore a scaricarlo dalla

rete ed eseguirlo (anche inconsapevolmente)

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

Introduzione 107

Il termine “Virus”q David Gerrold, 1972

– Nel libro “When Harlie Was One” parla di un programma chiamato virus creato da uno scienziato pazzo

• Il computer infettato provava a contattare un altro computer viatelefono

• 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 Fred Cohen

– Il primo a definire in modo formale il concetto di virus• "... a program that can infect other programs by modifingthem to

include a possibly evolved copy of itself "

Page 19: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •19

Introduzione 108

Virus e similiq Cavallo di Troia

– Programma apparentemente legale che contiene istruzioni che realizzano funzioni non richieste dell’utente

q Worm– Programma che si ricopia su reti di computer sfruttando

bug del sistema operativo– Non necessita di un programma portatore

q Virus– Porzioni di codice autoreplicante– Boot virus, macrovirus, etc…

Introduzione 109

Cavallo di Troia

q Kevin Mitnich, 1986– Progettò un cavallo di Troia che infettò

• Nove Università• Quindici compagnie della Silicon Valley• Nove siti Arpanet• Tre laboratori governativi• Etc…

– Il virus sostituiva il programma di accesso alla rete con una sua copia modificata

• Restituiva al suo autore login e password dell'utente che si stava identificando in quell'istante

Introduzione 110

Wormq 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”

qAlcuni esempi– Il worm di Morris (novembre 1988)– Code Red (luglio 2001) – Nimda (settembre 2001)– SQL Slammer (gennaio 2003)

Introduzione 111

Boot Virusq Infettano il Boot Sector di un floppy o il

Master Boot Record degli hard disk– MBR copiato su un altro settore del disco– Virus copiato nell’MBR– Se più grande del settore sono usati altri settori

marcati BAD

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

Introduzione 112

Macrovirusq Virus scritti come macro di applicazioni utente

– Macro: insieme di istruzioni usate per automatizzare compiti

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– Scritti in VB– Si trasmettono via E-Mail– Accedono e modificano il file registro di Windows

Introduzione 113

Macrovirusq Melissa

– 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 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

Page 20: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •20

Introduzione 114

Difendersi dai macrovirusq Nelle applicazioni Office, attivare la voce Macro virus

protectionq 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 innocuiq Il virus viene attivato solo se

– si apre il documento allegato e si sceglie di attivare le macro– la protezione da virus macro è disattivata

Introduzione 115

Difendersi dai virusq Utilizzare/installare software solo se di

provenienza fidataq 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

Introduzione 116

Diffusione dei virusLa diffusione dei virus informatici nel mondo ad Agosto 2001 in base

alla percentuale di infezioni sul totale

Bulletin VirusIntroduzione 117

Codice malizioso

Virus

Cavalli di Troia

Macrovirus

Introduzione 118

Programi Self-reproducing

qScrivere un programma che da in output se stesso come eseguibile

qScrivere un programma che da in output se stesso come sorgente

Introduzione 119

RootkitsRaccolta di applicazioni di sistema modificate e già “pronte per l’uso”– Una volta installata, falsa la percezione dello stato

del sistema e nasconde le tracce dell’attività dell’intruso

– L’intruso ha il controllo della macchina e accesso completo ai dati presenti su di essa

Page 21: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •21

Introduzione 120

Tripwire

Utility che consente di individuare programmi “contraffatti” installati sul sistema– 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

Introduzione 121

FirewallFire wall: A fireproof wall used as a barrier to preventthe spread of a fire. - American Heritage Dictionary

“Modo per restringere l’accessotra Internet e la rete interna”

Introduzione 122

FirewallFire wall: A fireproof wall used as a barrier to preventthe spread of a fire. - American Heritage Dictionary

“Modo per restringere l’accessotra Internet e la rete interna”

Introduzione 123

Contenuto CorsoqTerza parte: Sicurezza

– Steganografia– Watermark– Smart Card – GSM, WAP– Sicurezza nei Sistemi Operativi– Java Security– Commercio Elettronico (iKP, SET)– Pay TV– Protezione dei DVD

Introduzione 124

Steganografia

qNasconde l’esistenza di un messaggioqEsempio: immagini Bitmap

Red Green Blue(11100001, 00000100, 00010111)

– Livello colore primario: 0,…,255– Uso dei bit meno significativi

Introduzione 125

Steganografia

immagini GIF

palette

Page 22: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •22

Introduzione 126

Watermarkq Letteralmente “filigrana”q Assicura autenticità ed integrità ai documenti in cui è

immersoq 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 127

Pay TV

Introduzione 128

Pay TV

Introduzione 129

Videocrypt: McCormac Hack

Introduzione 130

Digital Versatile Disk (DVD)

Protezione dei DVD•Evitare copie e distribuzione

Contents Scrambling System (CSS)•Sviluppato nel 1996 da Matsushita

Introduzione 131

Secure Electronic TransactionSET

qProtocollo per transazioni scure con carte di credito su reti aperteqVISA e Mastercard, novembre 1995

Page 23: ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6 Ed ora … qualcosa sui contenuti Introduzione 7 Crescita di Internet 1.776.000 3.212.000

•Alfredo De Santis •17/03/2004

•Corso di Sicurezza su Reti •23

Introduzione 132

Algoritmo LUHN-10

q Specificato in ISO-7812-1, standard per il formato delle carte di credito

q Ultima cifra per controllo dell’errore4563 9601 2200 1999

Introduzione 133

Algoritmo LUHN-10

Somma = 70 multiplo di 10