Sicurezza informatica Prof. Fabrizio d’Amore Università di Roma “La Sapienza” Dip. di Informatica e Sistemistica premessa • qualunque sia lo scenario di riferimento, l’innalzamento del livello di sicurezza comporta la riduzione delle funzionalità rese disponibili agli utenti • in qualunque discorso relativo alla sicurezza occorre valutare i costi e benefici relativamente ad entrambi gli aspetti • un computer totalmente immune da rischi è un computer non connesso in rete, in una stanza chiusa, possibilmente non alimentato Sicurezza informatica – F. d’Amore 2 generalità • sebbene il termine sicurezza nell’informatica sia utilizzato da oltre 30 anni, il suo significato nel tempo è andato modificandosi • una possibile definizione della sicurezza è l’insieme delle misure atte a garantire disponibilità, integrità e riservatezza delle informazioni gestite • sostanzialmente il tema della sicurezza può essere considerato e sviluppato in due maniere differenti, a seconda dello scenario di riferimento – sistemi di elaborazione centralizzati – sistemi di elaborazione distribuiti Sicurezza informatica – F. d’Amore 3 sicurezza nei sistemi di elaborazione centralizzati • nelle architetture centralizzate la sicurezza è di tipo “fisico” – tutto l’hardware risiede di norma in un ambiente ristretto e facile da proteggere – l’interazione con il sistema di elaborazione si svolge • nell’ambiente protetto • fuori dall’ambiente tramite terminale (mero dispositivo di ingresso/uscita) Sicurezza informatica – F. d’Amore 4 sicurezza nei sistemi di elaborazione distribuiti • l’avvento delle moderne tecnologie informatiche e telematiche, che ha causato il ricorso sempre più frequente alle architetture distribuite, che fanno uso intenso della rete ha sostanzialmente modificato il concetto di sicurezza • la sicurezza fisica non può più essere facilmente realizzata in quanto il sistema distribuito interagisce profondamente con altri sistemi e utenti arbitrariamente collocati Sicurezza informatica – F. d’Amore 5 le vulnerabilità elementi presenti nel sistema che possono essere sfruttati per condurre un attacco – tecnologiche • errori del software • difetti di configurazione • ... – procedurali • password sotto il tappetino • spedizione combinata di smart-card e pin • ... Sicurezza informatica – F. d’Amore 6 tipologie di attacco comuni • IP spoofing / shadow server – qualcuno si sostituisce ad un host • packet sniffing – si leggono password di accesso e/o dati riservati • connection hijacking / data spoofing – si inseriscono / modificano dati durante il loro transito in rete • alterazioni del software – virus e cavalli di Troia • negazione di servizio (denial-of-service) – si impedisce il funzionamento di un servizio sovraccaricandolo o mandandolo in errore Sicurezza informatica – F. d’Amore 7 altri attacchi • • • • • • password cracking basati su file di accesso privilegiato dirottamento di sessioni corruzione di librerie condivise all’organizzazione aziendale basati su bug o su tecnologie imperfette Sicurezza informatica – F. d’Amore 8 Computer Emergency Response Team – CERT Sicurezza informatica – F. d’Amore 9 obiettivi della sicurezza informatica (ISO/IEC TR13335-1) • • • • • • Affidabilità Disponibilità Riservatezza Integrità Imputabilità Autenticità Sicurezza informatica – F. d’Amore 10 affidabilità • il sistema deve sempre comportarsi in modo conforme alle specifiche il comportamento del sistema è prevedibile anche in presenza di guasti e in caso di valori errati dei dati Sicurezza informatica – F. d’Amore 11 disponibilità • il sistema deve rendere disponibili a ciascun utente abilitato le informazioni alle quali ha diritto di accedere, nei tempi e nei modi previsti nei sistemi informatici, i requisiti di disponibilità sono legati anche a quelli di prestazione e di robustezza Sicurezza informatica – F. d’Amore 12 riservatezza • nessun utente deve poter ottenere o dedurre dal sistema informazioni che non è autorizzato a conoscere il fatto stesso che una informazione risulti protetta, o che esista una comunicazione in atto fra due utenti o processi in un certo contesto, può essere sufficiente per dedurre informazioni riservate Sicurezza informatica – F. d’Amore 13 integrità • il sistema deve impedire la alterazione diretta o indiretta delle informazioni, sia da parte di utenti e processi non autorizzati, che a seguito di eventi accidentali anche la perdita di dati (p.es. a seguito di cancellazione o danneggiamento), viene considerata come alterazione Sicurezza informatica – F. d’Amore 14 imputabilità • deve sempre essere possibile risalire all’entità che ha eseguito una specifica azione il sistema deve provvedere alla registrazione degli eventi significativi e proteggere le registrazioni dalle manomissioni Sicurezza informatica – F. d’Amore 15 l’autenticazione CREDITO INFORMATICO Sono il Credito Informatico Sono Mario GIOVANNI Sicurezza informatica – F. d’Amore 16 politiche di sicurezza • RFC1244 – Site Security Handbook – FYI 8 • scopi della politica di sicurezza – definire le aspettative di uso proprio dei computer e della rete – definire procedure per prevenire incidenti riguardanti la sicurezza – definire procedure per rispondere ad incidenti riguardanti la sicurezza Sicurezza informatica – F. d’Amore 17 politiche di sicurezza - risorse • per definire una politica di sicurezza occorre considerare gli risorse da includere nella pianificazione – – – – – hardware software dati documentazione supporti Sicurezza informatica – F. d’Amore 18 politiche di sicurezza - aggressori • utenti interni – necessità di proteggere le risorse fisicamente – autenticazione forte • utenti esterni – uso di firewall – uso di VPN (Virtual Private Channel) • sia fra i primi sia fra i secondi possono essere presenti degli hacker • una misura considerata oggi molto efficace è la protezione delle applicazioni Sicurezza informatica – F. d’Amore 19 chi sono gli hacker? • hacker – studenti brillanti e in generale persone spinte da motivazioni positive • cracker – hanno l’obiettivo di infrangere sistemi di sicurezza • phreaker – utilizzano informazioni telefoniche per accedere ad altri computer • phracher – tentano di ottenere servizi telefonici gratuitamente ed illecitamente Sicurezza informatica – F. d’Amore 20 politiche di sicurezza – tipi di minacce • accesso non autorizzato • rivelazione di informazioni • negazione di servizio (denial-of-service) Sicurezza informatica – F. d’Amore 21 politiche di sicurezza – protezione • la politica di sicurezza definisce cosa proteggere, valutando anche la priorità – – – – punti di accesso sistemi mal configurati minacce interne difetti del software • come proteggere le risorse sarà definito da opportune procedure di sicurezza – – – – – procedure biomedico accounting logging monitoring accesso fisico Sicurezza informatica – F. d’Amore 22 politiche di sicurezza – controllo uso del sistema • analisi file di log e confronto con i file di log passati – è rispettata la regolarità nell’uso del sistema? • login falliti – attacco alle password? • analisi elenco processi – uso improprio di qualche applicazione? • checklist permessi – sono stati modificati i permessi e le dimensione di file critici per il sistema? Sicurezza informatica – F. d’Amore 23 politiche di sicurezza – le contromisure azioni in grado di ridurre la possibilità che una vulnerabilità possa essere sfruttata per condurre un attacco – fisiche • locali ad accesso controllato • sistemi di allarme • ... – logiche • ACL (Access Control List) • crittografia • … – procedurali • accesso combinato Sicurezza informatica – F. d’Amore 24 politiche di sicurezza – le verifiche • controllo della configurazione • rispetto delle procedure • analisi delle minacce • test di impenetrabilità Sicurezza informatica – F. d’Amore 25 politiche di sicurezza – revisione continua del processo • evoluzione delle strategie di attacco analisi rischio • disponibilità di strumenti innovativi per contrastare gli attacchi verifica • incidenti di sicurezza sicurezza Sicurezza informatica – F. d’Amore attuazione misure 26 standard per la sicurezza • a partire dagli anni ’80 sono condotti vari studi volti a definire livelli di sicurezza attribuibili ai sistemi informatici sulla base di criteri predefiniti • nel 1980 vengono introdotti negli USA dei criteri denominati TCSEC (Trusted Computer System Evaluation Criteria), a cura del DoD (Department of Defense), e pubblicati in un volume con la copertina arancione – di qui il nome “Orange Book” con cui questi criteri sono diventati celebri • nell’85 viene adottato dal DoD come standard Sicurezza informatica – F. d’Amore 27 Orange book (TCSEC) • D, sicurezza assente • C, sicurezza media quattro famiglie di livelli – C1, sicurezza discrezionale – il sistema può essere configurato in modo da fornire livelli base di sicurezza – C2, sicurezza obbligatoria – il sistema fornisce comunque livelli base di sicurezza • B, sicurezza media-alta – B1, supporta sicurezza di differenti livelli, nega la possibilità di modificare i permessi di accesso ai file – B2, richiede che a ogni dispositivo hw sia assegnato un livello si sicurezza – B3, usa hw specifico per proteggere risorse importanti da accessi non autorizzati • A, sicurezza massima – certificata – per ora, mai raggiunta Sicurezza informatica – F. d’Amore 28 gli standard si moltiplicano: i Common Criteria • ITSEC, 1991, Europa – Francia, Germania, Olanda e Regno Unito • CTCPEC, 1993, Canada – TCSEC + ITSEC = CTCPEC • 1993, inizia negli USA la “fusione” degli standard… • CCITSE (Common Criteria for Information Technology Security Evaluation), 1996, noti più semplicemente come “Common Criteria” – ISO/ICI 15408 – 7 livelli di sicurezza, denominati EAL1…EAL7, approssimativamente corrispondenti ai livelli TCSEC Sicurezza informatica – F. d’Amore 29 normativa italiana documentazione alla URL http://www.aipa.it • legge 675/96 – “privacy” nel trattamento di dati personali • Art. 15, comma 2, legge 15-3-1997, n. 59 – atti e documenti elettronici • DPR 513-97 – regolamento per attuazione firma elettronica • DPCM 8-2-1999 – regole tecniche per formazione, trasmissione e gestione dei documenti informatici • DPR 318-99 – regolamento recante norme per l’individuazione delle misure minime di sicurezza per il trattamento dei dati personali • DPCM 31-10-2000 – regole tecniche per il protocollo informatico Sicurezza informatica – F. d’Amore 30 strumento di base per la sicurezza: la crittografia • obbiettivo primario della crittografia è la cifratura di un testo testo in chiaro algoritmo di cifratura testo cifrato chiave1 • il testo cifrato non è utile all’intercettatore in quanto la decifratura può avvenire “solo” tramite l’apposita chiave di decifratura Sicurezza informatica – F. d’Amore 31 decifratura • la decifratura può avvenire “solo” qualora si sia in possesso della chiave di decifratura chiave2 testo cifrato algoritmo di decifratura testo in chiaro chiave2 • e se l’intercettatore ha un computer potente per provare tutte le chiavi possibili per decifrare il testo? – basta usare chiavi sufficientemente lunghe: per esempio, esistono oltre 340 miliardi di miliardi di miliardi di miliardi di chiavi a 128 bit – risulta egualmente laborioso dedurre la chiave con cui è stato cifrato un documento confrontandolo con la sua versione in chiaro Sicurezza informatica – F. d’Amore 32 crittografia e sicurezza informatica • l’uso opportuno della crittografia consente di realizzare servizi di più alto livello – riservatezza – firma autentica – integrità di documenti • nella realizzazione prendono parte anche le tecniche di message digest (o hashing) Sicurezza informatica – F. d’Amore 33 esempio di sostituzione polialfabetica a scostamento progressivo Da un testo sorgente (“Siamo sei…”) si ottiene un testo cifrato (“Vigor tot…”) con un algoritmo (sostituzione alfabetica a scostamento progressivo) mediante una chiave di cifratura (“30623 189…”) Sicurezza informatica – F. d’Amore 34 algoritmi a chiave privata e pubblica • gli algoritmi di crittografia possono essere classificati come – simmetrici, anche detti a chiave privata • chiave1 = chiave2 – asimmetrici, anche detti a chiave pubblica • chiave1 ≠ chiave2 Sicurezza informatica – F. d’Amore 35 algoritmi simmetrici • gli algoritmi simmetrici utilizzano la stessa (ed unica) chiave privata, per cifrare e decifrare • un algoritmo di questo tipo generalmente utilizzato al momento è il DES (Data Encription Standard), nelle sue versioni normale e triplo, con chiavi a 56 e 112 bit – il DES è un algoritmo non particolarmente costoso, in termini di tempo di calcolo, e ne esistono implementazioni molto veloci anche su PC – essendo un algoritmo simmetrico, richiede che il mittente di un documento cifrato comunichi in qualche modo al destinatario la chiave di cifratura Sicurezza informatica – F. d’Amore 36 DES • cifrario a blocchi, poiché opera su seuqnze di 64 bit, mediante l’uso di una chiave di 56 bit, più 8 bit di parità chiave di 56+8 bit blocco di 64 bit in chiaro algoritmo simmetrico DES blocco di 64 bit cifrati • per cifrare un testo con più di 64 bit? Sicurezza informatica – F. d’Amore 37 Electronic CodeBook (ECB) testo in chiaro k k k k testo cifrato Sicurezza informatica – F. d’Amore 38 Cipher Block Chaining (CBC) testo in chiaro XOR XOR XOR k k k seme testo cifrato Sicurezza informatica – F. d’Amore 39 Triple-DES • con la crescita della potenza di calcolo degli elaboratori una cifratura con una chiave di 56 bit non è più inviolabile – 256 è poco più di 76 milioni di miliardi • nasce il Triple-DES (o TDES o 3DES), in cui si applica in pratica l’algoritmo DES tre volte, sequenzialmente, usando tre chiavi differenti – tre chiavi di 56 bit ciascuna sono composte da 168 bit – il livello di sicurezza di TDES è eguale a quello di DES con una chiave a 168 bit? – no, è pari a quello che sarebbe garantito da DES utilizzando una chiave a 112 bit (questo è un risultato matematico, sebbene non intuitivo) Sicurezza informatica – F. d’Amore 40 algoritmi simmetrici • come tutti gli algoritmi simmetrici, DES, non si presta bene a garantire la riservatezza nella comunicazione continuativa fra n soggetti indipendenti – occorre una chiave privata per ogni coppia di soggetti • in tutto n(n-1)/2 chiavi • per n = 1000 circa 500.000 chiavi diverse • ogni soggetto è costretto a possedere n-1 chiavi, a mantenerle segrete ed a ricordare quale sia la chiave da utilizzare per comunicare con ciascuno degli altri soggetti • nel caso in cui la chiave sia generata autonomamente dal soggetto che avvia la comunicazione, è necessario che venga trasmessa al destinatario affinché questo possa decifrare i messaggi che riceve Sicurezza informatica – F. d’Amore 41 algoritmi asimmetrici • di recente concezione (1976), utilizzano due chiavi distinte per cifrare e decifrare, con alcune proprietà fondamentali • un documento cifrato con una chiave può essere decifrato con l’altra e viceversa – le chiavi vengono generate in coppia da uno speciale algoritmo ed è di fatto impossibile ottenere una chiave a partire dall’altra – una qualsiasi delle due chiavi viene detta pubblica, è può essere distribuita; l’altra, detta privata, deve essere mantenuta segreta Sicurezza informatica – F. d’Amore 42 Diffie-Hellman • algoritmo di cifratura asimmetrica • concepito per concordare pubblicamente una chiave segreta con un partner – nato per risolvere i problemi della crittografia a chiave privata ha gettato le basi per la nuova crittografia, a chiave pubblica Sicurezza informatica – F. d’Amore 43 algoritmo di Diffie-Hellman (1) s è detta radice primitiva di N se accade che s mod N, s2 mod N, s3 mod N, …, sN-1 mod N, è una permutazione di 1, 2, …, N-1 1. A e B scelgono pubblicamente un numero primo N 2. A e B scelgono pubblicamente un numero intero s in [1, N-1] che sia una radice primitiva di N 3. B sceglie casualmente un intero b in [1, N-1], calcola XB = sb mod N e lo invia pubblicamente ad A 4. A sceglie casualmente un intero a in [1, N-1], calcola XA = sa mod N e lo invia pubblicamente a B Sicurezza informatica – F. d’Amore 44 algoritmo di Diffie-Hellman (2) 5. 6. 7. 8. B calcola YB = (XA)b mod N A calcola YA = (XB)a mod N in base alle proprietà dell’algebra modulare risulta YA = YB la chiave segreta è proprio YA = YB, e non è mai stata inviata sulla rete • il punto di forza dell’algoritmo risiede nel fatto che un intercettatore dei dati trasmessi, per calcolare la chiave ha bisogno di uno dei due numeri segreti pensati da A e da B calcolare b noto XB o a noto XA è un problema computazionalmente difficile, chiamato calcolo del logaritmo intero • Sicurezza informatica – F. d’Amore 45 RSA (1) • proposto da Rivest, Shamir e Adleman nel 1978, è attualmente considerato come standard per la crittografia a chiave pubblica • RSA basa la sua robustezza sulla complessità algoritmica della scomposizione in fattori primi, operazione per la quale non è attualmente noto un algoritmo efficiente • esistono varie implementazioni di RSA, che variano in funzione della dimensione in bit delle chiavi, e quindi del grado di sicurezza offerto • chiavi di 1024 bit sono un buon compromesso fra sicurezza e prestazioni Sicurezza informatica – F. d’Amore 46 RSA – generazione chiavi 1. 2. 3. 4. 5. 6. 7. scegliere due grandi interi primi, p e q calcolare N = p·q calcolare T = (p-1)·(q-1) scegliere un intero c primo rispetto a T sia KP = c (chiave pubblica) calcolare l’intero d tale che (c·d) mod T = 1 sia KS = d (chiave segreta, o privata) Sicurezza informatica – F. d’Amore 47 RSA – cifratura e decifratura • sia M il messaggio da cifrare • il messaggio cifrato X corrispondente ad M si ottiene calcolando X = Mc mod N – M è interpretato come un numero • la decodifica procede come segue – Xd mod N = (Mc mod N)d mod N = Mc·d mod N = M – anche X è interpretato come un numero • si è cifrato con la chiave pubblica e decifrato con quella privata, ma avremmo potuto fare l’esatto contrario – cifrare con la privata e decifrare con la pubblica • che differenza c’è? Sicurezza informatica – F. d’Amore 48 i due utilizzi della cifratura asimmetrica • comunicazione da A (chiavi AP e AS) a B (BP e BS) • se A cifra con BP, per decifrare occorrerà BS e solo B ne è a conoscenza riservatezza – A dunque cifra in modo che solo B possa decifrare • se A cifra con AS, chiunque può decifrare usando AP, e questo ci assicura che è stato proprio A a cifrare firma digitale – l’identità di A è certa ed il messaggio non può essere alterato Sicurezza informatica – F. d’Amore 49 chiavi per algoritmi asimmetrici • essendo asimmetrico, RSA risulta molto più versatile di DES, ed è alla base di tutti i servizi di sicurezza • nella comunicazione fra n soggetti, ad esempio, RSA garantisce riservatezza con 2n chiavi, una coppia (pubblica,privata) per ciascun soggetto Sicurezza informatica – F. d’Amore 50 introduzione di riservatezza Informazione Informazione in inchiaro chiaro Chiave ChiaveRSA RSApubblica pubblica del destinatario del destinatario Chiave ChiaveDES DES casuale casuale DES DES RSA RSA Informazione Informazione cifrata cifrata Chiave ChiaveDES DEScasuale casuale cifrata cifrata Sicurezza informatica – F. d’Amore 51 rimozione di riservatezza Chiave ChiaveDES DES cifrata cifrata Chiave ChiaveRSA RSAprivata privata del destinatario del destinatario RSA RSA Chiave ChiaveDES DES in chiaro in chiaro Informazione Informazione cifrata cifrata DES DES Informazione Informazione in inchiaro chiaro Sicurezza informatica – F. d’Amore 52 algoritmi di message digest • permettono di creare, a partire da un documento D, una sequenza di bit, detta message digest, strettamente correlata a D e di lunghezza fissa h (cioè indipendente dalla dimensione di D) • sono detti anche algoritmi di hashing e basati su funzioni di hashing • un algoritmo di questo tipo generalmente utilizzato dai servizi sicurezza è lo SHA (Secure Hash Algorithm), sviluppato a partire da un lavoro di ricerca di Rivest • vari altri algoritmi – MD2 e MD5 • il digest è una sorta di riassunto del documento Sicurezza informatica – F. d’Amore 53 insieme dei documenti lunghi N bit (2N documenti diversi) funzione hash invertibilità del digest insieme dei digest lunghi h bit (2h digest diversi) • se N > h, come è naturale, i fenomeni di collisione saranno inevitabili • ciò significa che esisteranno riassunti corrispondenti a più di un documento • la funzione hash dunque è non iniettiva e non invertibile Sicurezza informatica – F. d’Amore 54 requisiti delle buone funzioni di hashing • facili da calcolare • pienamente deterministiche • debbono mediamente bilanciare le collisioni Sicurezza informatica – F. d’Amore 55 firma digitale (1) • informazione crittografata che, allegata ad un documento informatico, ne garantisce: – integrità, ossia l’assenza di modifiche successive alla sottoscrizione – provenienza, ossia l’identità del sottoscrittore • il sottoscrittore usa la sua chiave crittografica privata (segreta) per firmare • i destinatari usano la chiave crittografica pubblica del sottoscrittore per verificare la firma Sicurezza informatica – F. d’Amore 56 firma digitale (2) • SHA è spesso utilizzato insieme ad RSA per generare e validare firme digitali • generare la firma è semplice: – si estrae un digest SHA dal documento da firmare – si cifra RSA il digest con la chiave privata del firmatario • chiunque può verificare la validità della firma – decifrando la firma con la chiave pubblica del firmatario – generando a parte un digest SHA del documento firmato – confrontando il digest ottenuto dalla firma con quello ottenuto dal documento • il medesimo procedimento può in teoria essere applicato sfruttando un qualunque algoritmo di hashing e una qualunque tecnica di codifica asimmetrica Sicurezza informatica – F. d’Amore 57 firma digitale - generazione Documento Documento SHA SHA Digest Digest Chiave ChiaveRSA RSAprivata privata di chi firma di chi firma RSA RSA Firma Firma Sicurezza informatica – F. d’Amore 58 firma digitale - verifica di autenticità Chiave ChiaveRSA RSApubblica pubblica di chi ha firmato di chi ha firmato Firma Firma Documento Documento RSA RSA SHA SHA Digest Digestdel deldocumento documento alalmomento momentodella dellafirma firma Digest Digestdel deldocumento documento nella versione nella versionecorrente corrente = Comparazione Comparazione Firma valida Sicurezza informatica – F. d’Amore != Firma falsa, oppure autentica ma apposta su un documento diverso da quello allegato 59 timbratura (time-stamp) Informazione Informazione da datimbrare timbrare Data Dataed edora oracorrente corrente del server di timbratura del server di timbratura SHA SHA Digest Digestcon contime-stamp time-stamp Chiave ChiaveRSA RSAprivata privata del server di timbratura del server di timbratura RSA RSA Timbro Timbro Sicurezza informatica – F. d’Amore 60 gli attori CERTIFICATORE ALICE Certifica e rende pubblico il fatto che le chiavi generate da Alice appartengono effettivamente a lei Genera e fa certificare le chiavi con cui firma moduli di richiesta di servizi Sicurezza informatica – F. d’Amore BRUNO Impiegato che riceve le richieste e le verifica 61 servizi di notariato • offerti da una Autorità di Certificazione (CA) che sia riconosciuta come riferimento valido per definizione da tutti gli utenti del sistema informativo • come ogni altro utente, anche la CA dispone di una coppia (privata, pubblica) di chiavi asimmetriche Sicurezza informatica – F. d’Amore 62 CA • identifica il soggetto proprietario di una coppia di chiavi di sottoscrizione • verifica che il proprietario delle chiavi abbia le caratteristiche necessarie per divenire titolare del certificato richiesto • emette il certificato che attesta la corrispondenza tra chiavi di sottoscrizione ed identità del titolare • pubblica il certificato nel proprio elenco dei certificati che può essere consultato telematicamente Sicurezza informatica – F. d’Amore 63 certificazione chiavi pubbliche (1) • la CA deve garantire la effettiva corrispondenza di una chiave pubblica con il soggetto che la espone • la CA pubblica, in un apposito registro, certificati firmati con la propria chiave privata che includono – – – – – il nome della CA la data di emissione del certificato la data di scadenza del certificato il nominativo del soggetto (distinguished name) la chiave pubblica del soggetto VeriSign 09/11/1998 Mario Rossi JDF78EH9834 HF903NF0H3 48H39GFH8 H3948H Sicurezza informatica – F. d’Amore 64 certificazione chiavi pubbliche (2) • la verifica di una firma impone – la conoscenza della chiave pubblica del soggetto firmatario al momento della firma • possibile richiedendo alla CA il relativo certificato – la certezza della reale appartenenza della chiave al soggetto firmatario • la firma della CA garantisce la validità del certificato e quindi la effettiva corrispondenza fra chiave pubblica e soggetto – tale sequenza di operazioni viene tipicamente svolta in modo automatico dal software che gestisce le firme digitali, a partire da informazioni contenute nella firma stessa Sicurezza informatica – F. d’Amore 65 certificazione chiavi pubbliche (3) • le chiavi pubbliche possono essere sospese o revocate (ad esempio a seguito di furto o smarrimento delle corrispondenti chiavi private) – in generale, quindi, i certificati relativi vanno richiesti alla CA al momento della verifica della firma • la CA deve gestire un registro storico delle chiavi pubbliche revocate (CRL, Certificate Revocation List), al fine di garantire nel tempo la verificabilità delle firme generate utilizzando le corrispondenti chiavi private Sicurezza informatica – F. d’Amore 66 certificazione temporale (timbratura) • il servizio base di timbratura ricade fra i servizi di notariato in quanto richiede che il time-stamp sia generato ed apposto da una CA riconosciuta da tutti gli utenti del sistema – il cliente sottopone al servizio di timbratura un digest del documento da timbrare – il servizio di timbratura ottiene un time-stamp da un orologio che, in quanto gestito dalla CA, tutti gli utenti del sistema convengono di riconoscere come valido – il servizio di timbratura allega il time-stamp al digest, cifra il tutto con la chiave privata della CA e lo restituisce al cliente Sicurezza informatica – F. d’Amore 67 la registrazione presso la CA (1) • è l’operazione che stabilisce il rapporto tra titolare delle chiavi e e la CA • comporta le seguenti azioni – compilazione della richiesta da parte del titolare – generazione della coppia di chiavi di sottoscrizione – verifica dell’identità e dei requisiti del titolare – emissione del certificato relativo alla coppia di chiavi generate Sicurezza informatica – F. d’Amore 68 la registrazione presso la CA (2) coppia di chiavi chiave privata chiave pubblica chiave pubblica certificata Sicurezza informatica – F. d’Amore 69 sottoscrizione e verifica (1) sottoscrizione • il documento viene elaborato con la chiave segreta producendo un valore cifrato che costituisce la firma digitale – la firma digitale è unica perché dipende dal documento e dalla chiave segreta – la firma digitale viene allegata al documento verifica • la firma digitale viene decifrata mediante la chiave pubblica e si verifica che corrisponda al documento Sicurezza informatica – F. d’Amore 70 sottoscrizione e verifica (2) C Sicurezza informatica – F. d’Amore D 71 X.509 • standard per crittografia a chiave pubblica e e firma digitale – non impone un particolare algoritmo ma raccomanda RSA • il nucleo dello standard è costituito dai certificati a chiave pubblica Sicurezza informatica – F. d’Amore 73 struttura (semplificata) certificati X.509 • Version – esistono tre versioni • Serial Number – identificativo unico – usato nelle CRL come riferimento • Signature Algorithm Identifier – identifica l’algoritmo usato dalla CA per apporre la firma • Issuer Name – nome X.500 della CA che ha firmato il certificato • Validity Period – ogni certificato ha una data di scadenza • Subject Name – nome X.500 del proprietario della chiave pubblica • Subject Public Key Information – chiave pubblica certificata Sicurezza informatica – F. d’Amore 74 Public Key Infrastructure (PKI) • le PKI sono definite attraverso gli standard PKCS (Public Key Cryptography Standards) e le specifiche X.509 • un insieme di protocolli e standard che descrivono la struttura dei certificati di chiave pubblica, le procedure di sicurezza per il trattamento delle chiavi private, la struttura delle richieste per l’emissione di certificati di chiave pubblica da parte della CA, e molti altri aspetti per l’implementazione di sistemi di sicurezza Sicurezza informatica – F. d’Amore 75 interoperabilità delle CA ? RootCA1 SubCA1.1 SubCA1.3 RootCA2 SubCA1.2 SubCA2.1 SubCA1.4 Sicurezza informatica – F. d’Amore SubCA2.2 SubCA2.3 76 autenticazione • è il problema della verifica dell’identità • tre tipi di autenticazione – user-to-host • l’host identifica l’utente prima di erogare servizi – host-to-host • l’host identifica con certezza un host partner – user-to-user • per accertare che i dati elettronici originino con certezza dal supposto utente (un metodo è la firma digitale) Sicurezza informatica – F. d’Amore 77 autenticazione user-to-host • password statiche • one-time password (OTP) – S-Key – smart card • terze parti di fiducia Sicurezza informatica – F. d’Amore 78 password statiche 1. il sistema detiene in un apposito DB l’elenco delle username registrate e quello delle relative password, trasformate tramite una cosiddetta funzione “one-way hash” • non dissimile da un funzione di hashing per produrre message digest 2. l’utente immette username e password 3. il sistema verifica la username – se sconosciuta l’accesso è negato 4. il sistema applica la funzione one-way hash alla password e ottiene un valore che viene confrontato con quello registrato nel DB delle password 5. l’accesso viene consentito/negato sulla base dell’esito del confronto Sicurezza informatica – F. d’Amore 79 password statiche – debolezze • le password possono essere comunicate intenzionalmente o per errore • le password possono spesso essere indovinate – la funzione one-way hash è nota! – attacchi “a dizionario” – se è disponibile il file DB con username e password codificate gli attacchi a dizionario sono efficacissimi Sicurezza informatica – F. d’Amore 80 password statiche – miglioramenti • password “aging” – le password sono soggette a scadenza temporale • password history – vengono memorizzate (in forma codificata) tutte le vecchie password di un utente per impedirgli di cambiare password scegliendone una vecchia • uso di shadow password – le password codificate sono memorizzate in file difficilmente accessibili (occorrono privilegi del system manager) – (tradizionalmente, nei sistemi Unix, il file delle passwrod codificate era accessibile in lettura, per facilitare l’operatività del protocollo finger) Sicurezza informatica – F. d’Amore 81 one-time password (OTP) • l’utente ha una lista di password da usare, ciascuna delle quali può essere utilizzata una volta soltanto, e su precisa richiesta del sistema (“dammi la password n. 52!”) • spedite sempre in chiaro poiché non riutilizzabili Sicurezza informatica – F. d’Amore 82 meccanismi OTP • S-Key – vengono generate (staticamente o dinamicamente) a partire da una frase segreta scelta dall’utente e da una password scelta dal system manager – l’algoritmo di generazione è spesso una funzione hash per message digest (es., MD5) – ogni OTP viene costruita codificando la precedente tramite un codice segreto • sono numerate e ad ogni login il sistema domanda la “prossima” nella sequenza – viaggiano in chiaro – si inizia dalla OTP col numero più alto • se si fa uso di una smart card questa è in grado di generare la OTP richiesta al momento opportuno, in alternativa l’utente è provvisto di un supporto cartaceo – per tale motivo, dopo la verifica della OTP, il sistema chiede di norma anche la password statica Sicurezza informatica – F. d’Amore 83 terze parti di fiducia • sia l’utente che l’host hanno fiducia in una terza entità detta KDC (Key Distribution Center) – entrambi condividono una chiave segreta con KDC, sulla cui base KDC è in grado di garantire l’autenticità dei due partner • solo KDC ha la fiducia di tutti • utente ed host non hanno in questo schema fiducia reciproca Sicurezza informatica – F. d’Amore 84 host-to-host tre possibilità • nessuna autenticazione – es., IPv4 • autenticazione tramite password in chiaro nei pacchetti – basso livello di sicurezza • uso di firma digitale e cifratura – incluse in IPv6 Sicurezza informatica – F. d’Amore 85 user-to-user • firma digitale • terze parti (KDC) – es., kerberos, progettato al MIT sul finire degli anni ’70 • si basa su un KDC per effettuare autenticazione tramite terzi • il KDC condivide una chiave segreta con ciascun client e ciascun server della rete cui il KDC dà servizio Sicurezza informatica – F. d’Amore 86 kerberos – descrizione semplificata (1) un client chiede servizio a un server 1. firma la richiesta del client con la chiave pubblica del KDC – la richiesta contiene – – – nome client nome server timestamp 2. KDC verifica che il client sia autorizzato al servizio e gli invia una chiave (ticket) cifrata con la chiave pubblica del client – il ticket contiene – – – chiave di sessione (chiave simmetrica) istante di scadenza nome client Sicurezza informatica – F. d’Amore 87 kerberos – descrizione semplificata (2) 3. KDC invia messaggio al server con • • • copia del ticket ora corrente (autenticante) checksum (autenticante) client invia a server la propria copia del ticket (con un sistema di cifratura asimmetrica) server controlla il timestamp per verificare se la chiave di sessione è ancora valida e quindi verifica il checksum 4. client e server possono comunicare (cifrando con chiave simmetrica o asimmetrica, fornita da KDC, o in chiaro) alla fine il server comunicherà a KDC che il ticket va distrutto Sicurezza informatica – F. d’Amore 88 attacchi alla sicurezza a livello applicativo • la trattazione sistematica è lunga e complessa • verrà esaminato il mail spoofing • sfrutta la semplicità del protocollo SMTP (Simple mail Transfer Protocol) con cui due host scambiano un messaggio di posta elettronica Sicurezza informatica – F. d’Amore 89 mail spoofing telnet athena smtp Trying 151.100.16.10... Connected to athena.dis.uniroma1.it. Escape character is '^]'. 220 athena.dis.uniroma1.it ESMTP Sendmail 8.9.3/8.9.3; Mon, 30 Jul 2001 16:44:52 +0200 (MET DST) helo hermes 250 athena.dis.uniroma1.it Hello hermes.dis.uniroma1.it [151.100.16.20], pleased to meet you mail from:<[email protected]> 250 <[email protected]>... Sender ok rcpt to:<damore> 250 <damore>... Recipient ok data 354 Enter mail, end with "." on a line by itself ciao . 250 QAA20887 Message accepted for delivery quit 221 athena.dis.uniroma1.it closing connection Connection closed by foreign host. Sicurezza informatica – F. d’Amore 90 prevenire il mail spoofing • uso di firma digitale – problema pratico: le CA italiane registrate nell’albo dei certificatori presso l’AIPA hanno avuto un avvio lento • uso di un firewall – occorre competenza specialistica: un firewall è un sistema hardware/software che è in grado di controllare il traffico in ingresso/uscita dalla rete bloccandone le componenti che non soddisfano determinati requisiti, descritti in una tavola di “regole” Sicurezza informatica – F. d’Amore 91 Firewall Firewall Rete Protetta Internet policy Sicurezza informatica – F. d’Amore 92 Firewall: componenti Packet-Filtering Routers OSI Model Proxy Servers Application + Low Cost + High Performance + (Usually) Not UNIX + Transparent Presentation Session Transport - Client Addresses Exposed - Stateless —> Spoofable - Error-Prone Rulesets + Stateful + Client Addresses Hidden Network Data Link - Costly - Low Performance - Shares UNIX Problems - Intrusive on Client Side Physical Sicurezza informatica – F. d’Amore 93 Packet filtering FTP TELNET DNS TCP NFS Application layer Transport layer UDP IP PING ICMP Network layer IP Packet Sicurezza informatica – F. d’Amore 94 Packet Filtering: pro e contro Pro Contro • Bassi costi di implementazione • Alto throughput • Trasparenza agli utenti • Flessibile • • • • • Sicurezza informatica – F. d’Amore L’ACL può diventare molto complessa Nessuna visibilità dei dati applicativi No User Authentication Visibilità della rete protetta Problemi di filtraggio di applicazioni FTP 95 Proxy Server External server Internet 3 2 Proxy Proxy server Application protocol analysis Proxy client Application layer proxy service 4 Internal network 1 Client Sicurezza informatica – F. d’Amore 96 Proxy Server: pro e contro Pro Contro • • • • Non trasparenza agli utenti • Basse prestazioni • Non supportano ogni possibile servizio, ma soltanto quelli per cui esiste il relativo Security Proxy (FTP, Telnet, HTTP, SMTP, ...) • • Strong User authentication Full logging Nasconde gli indirizzi della rete interna Content filtering Caching Sicurezza informatica – F. d’Amore 97 i virus • un virus informatico è un insieme di istruzioni che possono costituire un programma autonomo ovvero essere inserite all’interno di un programma lecito che ignora di essere il portatore del virus stesso (annidamento in programmi eseguibili) • un virus informatico ha la proprietà di potersi autoriprodurre • un virus è di norma costituito di due parti: la parte responsabile dell’autoriproduzione e la parte responsabile delle azioni dannose Sicurezza informatica – F. d’Amore 98 dove si annidano i virus (1) • S.O. Dos/Win 3.x • • • • • • 1. loader principale 2. Kernel (IO.sys, MSDOS.sys) 3. COMMAND.COM 4. nei file .exe e .com 5. nei driver .drv e .sys 6. nei file .dll e .ovl Sicurezza informatica – F. d’Amore 99 dove si annidano i virus (2) • ambiente OFFICE • nelle Macro inserite nei file .doc • nel codice javascript, VBS, java e Activex, all’interno di documenti HTML • nei file NORMAL.DOT • nelle Macro inserite nei file .XLS • nei file .ZIP Sicurezza informatica – F. d’Amore 100 classificazione dei virus • • • • • • • BOOT Infector Generic Application Infector (DOS, WIN3.x,WIN95/98, WINNT, OS/2, Unix) Macro Virus Java/ActiveX Virus Internet Worms Trojan Horses / Logic Bomb Hoaxes Sicurezza informatica – F. d’Amore 101 boot infector • questi virus utilizzano il settore di bootstrap del S.O. • al momento dell’attivazione il virus prende il controllo del computer trasferendosi nella RAM prima del S.O. acquisendo il controllo sulle supervisor call e quindi sulle risorse • in tal modo si riproduce sui dischi del computer infettato Sicurezza informatica – F. d’Amore 102 Generic Application Infector • questi virus sono quelli che infettano i file .EXE, .COM, .DLL, .OVL ecc. Sicurezza informatica – F. d’Amore 103 macro virus • utilizzano le potenzialità offerte dai linguaggi di macro (p.es. il MS Visual Basic for Application di Word) • lo svantaggio presentato da questa categoria è di essere application dependent e non O.S. dependent e quindi di poter girare sotto S.O. diversi – es. “I Love You” Sicurezza informatica – F. d’Amore 104 Java/ActiveX virus • rientrano in questa categoria i virus scritti con tecnologia Java, Javascript o ActiveX. Sicurezza informatica – F. d’Amore 105 Internet worms • la categoria di virus Internet più antica • lo scopo principale è la propagazione in rete al fine rallentarne le prestazioni Sicurezza informatica – F. d’Amore 106 Trojan horses • icavalli di Troia sono programmi che hanno funzioni illecite nascoste all’interno di un programma apparentemente lecito (p.es. uno screen saver) • un esempio noto è BackOrifice prodotto dall’associazione The cult of the dead cow Sicurezza informatica – F. d’Amore 107 logic bomb • le bombe logiche sono varianti dei Trojan con attivazione su base evento Sicurezza informatica – F. d’Amore 108 hoaxes • falsi virus (generalmente delle mail) che annunciano l’esistenza di presunti virus • il vero scopo è provocare una perdita di tempo nel lettore (che dovrà verificare la veridicità della mail ecc.) Sicurezza informatica – F. d’Amore 109 la diffusione dei virus 30 25 20 15 10 5 0 assicur. Banche Sicurezza informatica – F. d’Amore PAC/PAL 110 legislazione di riferimento • L. 547/93 ha modificato l’art. 615/quinques del Codice Penale : – “chiunque diffonde comunica o consegna un programma informatico da lui stesso o da altri redatto, avente per scopo o per effetto il danneggiamento di un sistema informatico o telematico, dei dati o dei programmi in esso contenuti o ad esso pertinenti, ovvero l’interruzione, totale o parziale, o l’alterazione del suo funzionamento, è punito con la reclusione sino a due anni e con la multa sino a lire 20 milioni” Sicurezza informatica – F. d’Amore 111 antivirus • software specifici che rilevano la presenza di virus – non capaci di rilevare nuovi virus – debbono essere aggiornati costantemente, spesso attraverso la rete • possono essere configurati in modo da controllare in tempo reale tutti i file che arrivano sul sistema (dalla rete, da supporti di memoria secondaria ecc.) • possono essere integrati con il mail server, ottenendo così il controllo centralizzato sulla presenza di virus nella posta elettronica • quando rilevano un virus sono di norma in grado di prendere opportune contromisure, eliminandolo Sicurezza informatica – F. d’Amore 112 siti di riferimento • Symantec – http://enterprisesecurity.symantec.com • Micro Trend – http://www.trend.com/ • Computer Associates – http://antivirus.cai.com/ • McAfee – http://www.mcafee.com/ Sicurezza informatica – F. d’Amore 113