~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6...
Transcript of ~ads ads@unisa•Alfredo De Santis •17/03/2004 •Corso di Sicurezza su Reti •2 Introduzione 6...
•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
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
•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
•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
•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
•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)
•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à
•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
•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
•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
•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
•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 ?
•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
•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.
•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
•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
•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
•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
•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 "
•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
•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
•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
•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
•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