•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