La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore.

Presentazioni simili


Presentazione sul tema: "Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore."— Transcript della presentazione:

1 Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

2 Fulvio Bartoloni - Davide Vergni 2 Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Crittografia5 Backdoor4 Trojan Horse3 Virus (Malicious Code)2 Sicurezza Informatica1 link al - Glossario a cura del Security Group del Politecnico di Torino.doc link al - Glossario a cura del Security Group del Politecnico di Torino.docGlossario a cura del Security Group del Politecnico di Torino.docGlossario a cura del Security Group del Politecnico di Torino.doc Se si volesse consultare un glossario completo in lingua inglese si consiglia il RFC

3 Fulvio Bartoloni - Davide Vergni 3 Sicurezza: cosa si intende Sicurezza Fisica Sicurezza Fisica: accesso controllato ai locali, conservazione delle chiavi di accesso alle sale dati, riconoscimento fisico degli utenti ammessi Sicurezza Logica Sicurezza Logica: gestione oculata delle passwords, dei diritti di accesso agli utenti Sicurezza di Rete Sicurezza di Rete: garantire sicurezza nelle comunicazioni in rete, in modo da tutelare lintegrità e la riservatezza dei dati critici e sensibili

4 Fulvio Bartoloni - Davide Vergni 4 Approccio alla sicurezza Quali risorse proteggere? Capire quali sono i processi e le informazioni più sensibili alla sicurezza. Identificare le risorse critiche. Da chi proteggerle? Cercare di individuare i possibili attori dellattacco: interno o esterno? Da cosa proteggerle? Cercare di prevenire le più comuni modalità di attacchi Sensibilizzazione del personale, a tutti i livelli!

5 Fulvio Bartoloni - Davide Vergni 5 Sicurezza Fisica Uso di badge, smart card, dispositivi biometrici

6 Fulvio Bartoloni - Davide Vergni 6 Sicurezza Logica Passwords di minimo 6 caratteri Almeno 13,14 caratteri, misti con maiuscole e minuscole, NO da dizionario (10 caratteri ~ 1 week con un Pentium) Caratteri maiuscoli e minuscoli, con numeri Diritti di administrator (root) sui server e sui router ben tutelati No passwords con post-it sul monitor!!!!

7 Fulvio Bartoloni - Davide Vergni 7 Internet Pubblica Backbone ISP Server Farm LAN Aziendale LAN xDSL DSLAM RAS Analog/ ISDN Wireless Media Gateway Mobile VOIP Sistemi aperti ed interconnessi

8 Fulvio Bartoloni - Davide Vergni 8 Requisiti generali La sicurezza IT deve contribuire ad assicurare requisiti quali: – –La disponibilità del servizio da parte degli utenti legittimi – –La riservatezza delle informazioni scambiate tra utenti legittimi – –Lintegrità delle informazioni – –Il non ripudio delle transazioni e delle altre azioni effettuate con il sistema informativo

9 Fulvio Bartoloni - Davide Vergni 9 Svantaggi: – –Esposizione dei propri sistemi e delle proprie reti ad attacchi provenienti dallesterno (che si vanno ad aggiungere a quelli conducibili dallinterno). – –Eventualità di esportazione (anche involontaria) di informazioni riservate da parte di utenti interni. Vantaggi: – –Possibilità di utilizzare gli stessi strumenti IT per comunicare tanto con utenti interni che con utenti esterni. Limpatto dellinterconnessione a Internet

10 Fulvio Bartoloni - Davide Vergni 10 L'impatto della sicurezza sugli utenti Lintroduzione di controlli per il mantenimento della sicurezza IT è normalmente vissuta dagli utilizzatori finali in maniera ambigua. Da una parte vista come componente necessaria: – –Per consentire luso di servizi informativi critici per il business aziendale – –Per minimizzare inconvenienti derivanti dalla diffusione di virus ed altri agenti ostili sui PC aziendali Dallaltra accresce il livello di complessità: – –Nellutilizzo dei servizi e delle risorse in rete ( , File Transfer, Web browsing, File Sharing, ecc.ecc.) Può essere migliorato il grado di accoglienza tramite una mirata sensibilizzazione degli utenti

11 Fulvio Bartoloni - Davide Vergni 11 L'impatto della sicurezza sui tecnici Gli addetti ai lavori (amministratori, progettisti, responsabili IT) sono costretti a: – –individuare puntualmente tutte le componenti del sistema IT che possono essere utilizzate dagli hacker contro gli interessi dellazienda, per provvedere alla loro messa in sicurezza (stabilendo eventualmente una scala di priorità nellordine di attuazione per rispettare i budget assegnati). – –stabilire le contromisure più opportune (tecniche e organizzative) per la risoluzione dei problemi rilevati. – –prepararsi a gestire il rischio residuo.

12 Fulvio Bartoloni - Davide Vergni 12 Individuazione delle componenti Un approccio metodologico alla risoluzione del problema sicurezza IT prevede come prima cosa lindividuazione degli asset che potrebbero risultare compromessi in seguito ad una violazione o un malfunzionamento di un sistema Loutput di questo processo è una lista di componenti cui deve essere associato il relativo valore aziendale

13 Fulvio Bartoloni - Davide Vergni 13 Le risorse da proteggere Non sono da proteggere solo le informazioni critiche per il business aziendale o per la privacy degli utenti il servizio IT. Molte altre risorse devono essere incluse in un progetto di messa in sicurezza del settore IT. Tra le componenti che possono interessare un hacker troviamo: –Collegamenti (geografici e locali) –Dispositivi di interconnessione e sicurezza (router, switch, firewall, sistemi IDS) –Risorse hardware dei server (CPU, memoria, processi) –Risorse dei client (integrità del software) –Password utenti (memorizzate su file system e/o trasmesse su rete) –Dispositivi di autenticazione (token, smartcard) –Chiavi crittografiche

14 Fulvio Bartoloni - Davide Vergni 14 Analisi del rischio Non tutti gli asset sono di pari criticità Non tutte le componenti del sistema IT sono ugualmente sensibili a guasti o attacchi Lanalisi del rischio deve fornire una visione realistica del livello di rischio associato a ciascun asset

15 Fulvio Bartoloni - Davide Vergni 15 Scegliere una priorità La messa in sicurezza di tutte le componenti è un processo lungo e oneroso. Per questo occorre procedere per step assicurandosi di: –Mantenere la piena funzionalità del sistema complessivo –Attuare per primi gli interventi migliorativi che hanno maggior rilevanza sul business (e che quindi garantiscono un più rapido ritorno dellinvestimento) –Controllare che gli interventi migliorativi non sforino i budget assegnati

16 Fulvio Bartoloni - Davide Vergni 16 Stabilire le contromisure Gli interventi migliorativi, da effettuare per innalzare il livello di protezione delle componenti critiche, devono essere conformi alle direttive descritte nel piano di sicurezza aziendale (security policy) Questo è necessario per evitare lattuazione di contromisure che non sono giustificate dalla policy mentre non vengono adottate le procedure che sono definite come indispensabili per la business continuity aziendale

17 Fulvio Bartoloni - Davide Vergni 17 Security Policy La definizione di una security policy aziendale è un processo ricorsivo che richiede la partecipazione di manager e tecnici per essere veramente efficace. Il documento di output deve contenere non soltanto direttive generali (linee guida di alto livello) non direttamente traducibili in interventi e controlli applicabili nel contesto aziendale. Obiettivo del board che ha steso la policy deve essere anche: –stabilire/assegnare le risorse (sia in termini di budget che umane) –arrivare a condividere le soluzioni tecnologiche generali da adottare in azienda

18 Fulvio Bartoloni - Davide Vergni 18 Rischio Residuo Costi Sostenuti Livello di Sicurezza Rischio Residuo 100% Con un budget illimitato e in un tempo illimitato, si può costruire un Security Environment quasi perfetto. Ma quello che serve è un Security Environment appropriato ed adeguato, comprendente strumenti e procedure di gestione del rischio residuo

19 Fulvio Bartoloni - Davide Vergni 19 Gestire il rischio residuo Significa: –Conoscere le vulnerabilità non risolte. –Conoscere le minacce. –Pianificare le azioni da compiere e le risorse IT da coinvolgere in caso di exploit condotti contro le vulnerabilità residue di una infrastruttura. Una vulnerabilità si trasforma in una minaccia solo se il sistema è oggetto di un attacco. Occorre: –Conoscere le modalità con cui possono essere condotti gli attacchi è fondamentale per stabilire contromisure efficaci. –Monitorare il sistema continuamente per rilevare eventuali tentativi di intrusione. –Reagire in tempi brevi.

20 Fulvio Bartoloni - Davide Vergni 20 Minacce interne 13% frode 24% furto elettronico, sabotaggio o intenzionale distruzione/diffusione di dati/informazioni proprietari 54% installazione/uso di hw/periferiche non autorizzate 42% furto fisico, sabotaggio o distruzione intenzionale di computer equipment 58% abuso di computer control access 50% uso di risorse aziendali per profitto personale (scommesse, spam, gestione di personal e-commerce site, investimenti online) 63% uso di risorse aziendali per comunicazioni /attività illegali o illecite (porn surfing, harassment) 78% installazione/uso di sw non autorizzato Fonte: Information Security – Survey 2000 % aziende con risposta affermativa infezione di componenti aziendali tramite virus, malicious code (deliberata e/o accidentale) 70%

21 Fulvio Bartoloni - Davide Vergni 21 Minacce esterne 25%attacchi dovuti a password non sicure 26%attacchi dovuti a protocol weakness 37% exploits dovuti a scripting/mobile code (activeX, Java, javaScript, VBS) 24%buffer overflow attacks 37%Denial of Service (Dos) 24%attacchi su bug di web server 80%viruses/trojan/worms Fonte: Information Security – Survey 2000 % aziende con risposta affermativa

22 Fulvio Bartoloni - Davide Vergni 22 Classificazione delle minacce Attacchi mirati condotti manualmente con lobiettivo di violare i sistemi di una specifica azienda Sottrazione fisica di componenti e dati Diffusione di worm/virus/software ostile Attacchi generalizzati portati da tool automatici (Dos tool)

23 Fulvio Bartoloni - Davide Vergni 23 Hacking Gli hacker sono soggetti organizzati in gruppi underground con i loro bollettini e newsgroup Gli hacker principalmente discutono delle problematiche relative alla sicurezza Gli hacker sviluppano tool per la verifica del livello di sicurezza di un sistema o di una infrastruttura di rete Molti hacker privi di specifiche competenze tecniche sfruttano i tool sviluppati da altri per condurre attività illegali o dannose

24 Fulvio Bartoloni - Davide Vergni 24 Motivazioni di un hacker Accesso non autorizzato informazioni –Violare la privacy degli utenti –Compromettere la riservatezza delle informazioni Falsificare la propria identità –Per far ricadere responsabilità proprio operato su altri utenti –Per accedere ad un servizio facendo pagare ad un altro utente Immettere informazioni false –Ingannando un altro utente attraverso assunzione di una falsa identità –Sostituzione di dati presso un centro servizi Ripudiare operazioni effettuate –Negare di aver spedito informazioni –Dichiarare di aver spedito informazioni mai trasmesse

25 Fulvio Bartoloni - Davide Vergni 25 Motivazioni di un hacker Modifica diritti di accesso a risorse –Per accedere a servizi senza averne il diritto –Per accedere ai dispositivi raggiungibili via rete Registrazione di informazioni relative agli utenti ed ai dati scambiati –Per un successivo ricatto –Per determinare in anticipo informazioni di interesse, e contatti avuti tra utenti Interruzione del servizio –Per sostituirsi ad un centro servizi –Per rendere momentaneamente irraggiungibili informazioni di vitale importanza per gli utenti Interferire con il naturale processo di scambio dati tra utenti

26 Fulvio Bartoloni - Davide Vergni 26 Hacking fai da te Oltre 30,000 websites orientati allhacking. Non occorre più essere un guru. Download Click and Hack Decine e decine di libri e riviste sullhacking

27 Fulvio Bartoloni - Davide Vergni 27 Storia dei Virus Informatici I virus informatici prendono il loro nome dal campo medico-biologico, per una vaga somiglianza con alcune caratteristiche dei virus nella microbiologia: come questi ultimi per riprodursi, devono penetrare in una cellula ospite ed assumere il controllo dei suoi processi metabolici, cosi i virus informatici devono penetrare nel programma ospite modificandolo, sia per riprodursi sia, in seguito, per danneggiare dati e/o programmi presenti su supporti registrabili. Come nella biologia i virus sono organismi relativamente semplici e molto piccoli, rispetto allorganismo che invadono, così anche i virus informatici sono dei programmi costituiti da poche centinaia di istruzioni, al massimo un migliaio; ciò consente loro di portare a termine il compito per cui sono stati scritti senza, in genere, far notare la loro presenza allutente del computer. Il primo virus fu sviluppato nel novembre del 1983, con fini dimostrativi, nellambito di una ricerca finanziata da una delle principali società costruttrici di computer ed inserita in un più generale progetto di studio della sicurezza dei sistemi informativi.

28 Fulvio Bartoloni - Davide Vergni 28 Lobiettivo della ricerca era di dimostrare come le possibilità di un attacco al patrimonio informativo di unazienda non fossero limitate a quelle tradizionalmente prese in esame negli studi sulla sicurezza fino ad allora svolti. Tali studi avevano incentrato la loro attenzione sullattacco fisico (esempio attacchi terroristici), sulla conoscenza illegittima di password e su modifiche ai programmi effettuate da personale interno alle aziende. A quellepoca il mondo informatico era composto o da computer aziendali (Mainframe) o da client 386 che utilizzavano il drive floppy come unico mezzo di scambio dati e che avevano come funzione preimpostata il boot da questo tipo di dispositivo. I primi virus orientarono soprattutto su questa caratteristica per diffondersi, il boot sector dei dischi era la prima cosa che veniva colpita ed accendere un pc con un dischetto infettato inserito era spesso letale Storia dei Virus Informatici

29 Fulvio Bartoloni - Davide Vergni 29 Nel 1990 nasce il primo virus polimorfo, un virus cioè in grado di automodificarsi per sfuggire al controllo dei software di protezione. Quellanno rappresenta il vero boom di questo fenomeno; nascono generatori di Virus (per crearsi virus personalizzati), iniziano a diffondersi i cdrom e quindi nasce un nuovo mezzo di diffusione ed iniziano le gare tra i vari programmatori a creare i virus più pericolosi. Nel 1994 sale alla ribalta il fenomeno Internet e nascono i primi virus che si diffondono con gli allegati della posta elettronica, mentre nel 1995 nasce il primo Macro Virus ovvero un virus contenuto nella macro dei documenti di Microsoft Office. Attraverso luso delle macro,e quindi di un linguaggio di programmazione, è possibile registrare insieme ad un documento (testo o tabella che sia) dei comandi che vengano lanciati automaticamente allapertura del documento medesimo senza che lignaro utente si accorga di nulla. Storia dei Virus Informatici

30 Fulvio Bartoloni - Davide Vergni 30 Classificazione dei Virus (I) -Floppy boot e MBR Virus:Infettano un particolare settore dei dischi, quello iniziale, di avvio. Nei dischetti tale settore contiene il codice che visualizza il famoso messaggio Disco non di avvio / Sostituire il disco e premere un tasto. Nel disco rigido invece si parla di Master Boot Record (cioè Record di avviamento Principale) meglio conosciuto come MBR. Possono controllare lindice di tutto il Pc, ingannando sul contenuto del disco fisso fino a cancellarlo.Vengono eseguiti nello stesso istante in cui il computer viene acceso, e quindi difficilmente rilevabili da un antivirus. Furono i primi virus ad essere creati e a diffondersi rapidamente. Virus famosi: Form, PingPong, Stoned, AntiEXE, NYB-B1, Michelangelo. Virus Polimorfico:Si replica producendo cloni mai uguali a se stesso,quindi tenta di sfuggire celandosi dietro questa imprevista e sempre nuova forma.

31 Fulvio Bartoloni - Davide Vergni 31 Dos-EXEC file Virus: Sono i più diffusi e mirano ad attaccare tutti i file eseguibili:.exe,.com,.bin e cosi via. Si attaccano ad uno di questi file, sovrascrivono gli ultimi byte e quando il file infetto viene eseguito esso si installa residente in memoria. Da questo momento è pronto ad infettare altri programmi. Un antivirus può facilmente debellarlo, ma occorre reinstallare il programma poiché i file eseguibili del programma sono stati compromessi. Virus famosi: November17, Jerusalem, Ontario, Vienna Virus Stealth:Sono progettati per non essere riconosciuti neanche dagli antivirus, quindi arrecano danno quasi senza possibilità di difesa. Quando un virus è attivo in memoria, può interferire col sistema operativo. La simbiosi può essere tale che il parassita prende il controllo totale su alcune funzioni base del DOS. Tra le cose che un virus può fare ovviamente rientra la capacità di far apparire tutto normale, cioè nascondere tutti i sintomi e i segnali di allarme che possano farlo individuare. Questa tecnica è detta della STEALTH (MBR-Stealth). Classificazione dei Virus (II)

32 Fulvio Bartoloni - Davide Vergni 32 Clean On-the-fly:Il virus può intercettare tutte le operazioni di lettura sui files e modificarne loutput. Se ad esempio un programma antivirus prova a leggere un file infetto, il virus, attivo in memoria, intercetta loperazione e ripulisce il file prima della lettura, rendendolo trasparente al controllo. Una volta finita loperazione, il virus re-infetta il file. Virus TSR: Categoria più complessa di virus, in quanto riesce a rimanere attiva,di nascosto, allinterno del sistema operativo, sostituendo parti di esso. I virus TSR (Terminate and Stay Resident) riservano una porzione di memoria per se stessi o sfruttano dei buchi di RAM non usati dal DOS dove potersi copiare, quindi acquistano una priorità maggiore rispetto al sistema operativo stesso per alcune operazioni a rischio come apertura di un file, esecuzione di un file, rename, accesso a un dischetto e via di seguito. Ognuna di queste operazioni può essere intercettata dal parassita che, prima di eseguire la vera procedura, infetta loggetto in uso. Classificazione dei Virus (III)

33 Fulvio Bartoloni - Davide Vergni 33 Macro Virus: Virus scritti in VBA (Visual Basic for Application). Sono virus Multipiattaforma (possono funzionare sia su sistemi Windows che su sistemi Macintosh) in quanto non dipendono dal sistema operativo ma da una particolare applicazione che consente luso di macro, cioè di comandi automatici. Sfruttano la capacità di alcuni programmi come Microsoft Word e Excel di eseguire macroistruzioni, trasformando un normale testo (che normalmente non potrebbe contenere virus, poiché esso è un programma che deve essere eseguito mentre i testi non sono interpretati dal PC ma letti dallutente) in un veicolo di azioni dannose, scopo principe dei virus. Questi virus possono infettare solo se vengono aperti. Virus famosi:Concept, Wazzu, Laroux, Alliance e Melissa. Java /ActiveX: Linfezione avviene navigando tranquillamente in siti web ed incorrendo in un sito web (volontariamente o involontariamente) infetto. Le potenzialità distruttive di questi virus sono immense. Classificazione dei Virus (IV)

34 Fulvio Bartoloni - Davide Vergni 34 Analisi del virus macro Melissa (I) Questa macro virus si replica sotto MS word 8 e 9 (Office 97 e Office 2000), infettando documenti e modelli di MS Word e inviando copie di se stesso in allegato a messaggi di posta elettronica. Inoltre, il virus modifica il Registro di sistema e disabilita la protezione anti-macro di MS Word. Tale capacità è basata su una caratteristica di Office, la conversione automatica delle macro.Quando le nuove versioni degli applicativi di Office aprono e caricano documenti e modelli creati con versioni precedenti, ne convertono il formato, aggiornando anche la struttura di eventuali macro presenti allinterno dei documenti/modelli. Nel caso in cui il virus venga attivato in Office 2000, esso esegue unulteriore azione: imposta a livello minimo le opzioni di sicurezza (protezione anti-macro) disponibili in Office2000.

35 Fulvio Bartoloni - Davide Vergni 35 Il codice del virus contiene un modulo chiamato Melissa, nel quale è presente una funzione automatica: Document_Open nei documenti infetti o Document_Close nel NORMAL.DOT, cioè il modello generale di MS Word. Il virus infetta il modello NORMAL.DOT quando vengono aperti dei documenti infetti e si diffonde ad altri documenti quando questi ultimi vengono chiusi. Per inviare copie di se stesso attraverso la posta elettronica il virus impiega delle istruzioni in VBA che gli consentono di pilotare MS Outlook. Il virus ottiene gli indirizzi presenti nel database di MS Outlook e invia un nuovo messaggio a ciascun indirizzo. Subj: IMPORTANT MESSAGE FROM [Username] (Username è una variabile e conterrà il nome dellutente di Outlook). HERE IS THAT DOCUMENT YOU ASKED FOR……… DONT SHOW ANYONE ELSE Analisi del virus macro Melissa (II)

36 Fulvio Bartoloni - Davide Vergni 36 Il messaggio presenta in allegato anche un documento infettato dal virus, ovvero il documento attivo che lutente sta editando in MS Word. E importante notare che, come logica conseguenza del sistema usato dal virus per diffondersi, si ottiene linvio tramite posta elettronica dei documenti creati dallutente, con relativa violazione della privacy ed eventuale diffusione di dati confidenziali. Il virus spedisce i messaggi infetti soltanto una volta. Prima dellinvio, il virus controlla il Registro di sistema ricercando una chiave particolare: HKEY_CURRENT_USER\Software\Microsoft\Office\Melissa?=…by Kwyjibo Se tale chiave non esiste, il virus spedisce l dal computer infettato e quindi crea la chiave nel Registro. Altrimenti, evita la spedizione di aventi in allegato dei documenti infetti. Il virus possiede anche una particolare routine la cui azione viene eseguita solo nel caso in cui il numero del giorno corrisponda a quello dei minuti. In tale circostanza, il virus inserisce il seguente testo nel documento attivo in MS Word. TWENTY-TWO POINTS,PLUS TRIPLE-WORD-SCORE,PLUS FIFTY POINTS FOR USING ALL MY LETTERS.GAMES OVER.IM OUTTA HERE. Analisi del virus macro Melissa (II)

37 Fulvio Bartoloni - Davide Vergni 37 Worms Concetto più avanzato di virus, si può definire come un virus che viaggia e si riproduce lungo le reti. Il più famoso nella storia è quello di Robert Morris jr, giovane americano che negli anni 80 riuscì a mandare in tilt migliaia di computer a causa di una replicazione incontrollata del suo verme, che sfruttava un vecchio bug del sendmail.

38 Fulvio Bartoloni - Davide Vergni 38 Un trojan horse non è propriamente un virus,ma un programma distruttivo pronto a esplodere. Con questo si vuole intendere che mentre lo scopo del virus è cercare di restare nascosto il più possibile e replicarsi,lo scopo del cavallo di Troia è quello di danneggiare esplicitamente un sistema.Sono chiamati trojan horse perché di solito vengono distribuiti sotto false spoglie,magari fingendo di essere programmi ambiti o molto ricercati dallutenza.Una volta entrati,un virus ben più subdolo prende possesso del pc per i suoi scopi negativi. Esempi di questo tipo di famiglia sono il Back Orifice ed il NETBUS,che vengono diffusi attraverso le Chat Line o le .Questi trojans rendono il computer controllabile da remoto mettendo quindi a repentaglio informazioni aziendali presenti sul computer. Trojan Horse

39 Fulvio Bartoloni - Davide Vergni 39 Sommario: – –Introduzione – –Che cos'è la crittografia, origini storiche – –Tecniche crittografiche – –La crittografia simmetrica o a chiave segreta – –Il problema della trasmissione della chiave – –Esempi di cifrari simmetrici: DES, 3DES, Blowfish, Rijndael – –La crittografia asimmetrica o a chiave pubblica – –Esempi di cifrari asimmetrici: RSA, Diffie-Hellman. – –La firma digitale e le funzioni hash sicure – –La crittoanalisi, tecniche, Des Cracking, Bug OpenPGP – –Sicurezza della crittografia = Trasparenza – –Esempi di software crittografici open-source Crittografia

40 Fulvio Bartoloni - Davide Vergni 40 Che cos'è la crittografia? La crittografia (dal greco kryptos, nascosto, e graphein, scrivere) è la scienza che si occupa dello studio delle scritture segrete. E nata come branca della matematica e dellinformatica grazie allutilizzo di tecniche di teoria dei numeri e di teoria dellinformazione. Insieme delle tecniche che consentono di realizzare la cifratura di un testo e la decifrazione di un crittogramma Dizionario Garzanti (1972) Introduzione

41 Fulvio Bartoloni - Davide Vergni 41 La crittografia è una scienza antichissima utilizzata nell'antichità per nascondere messaggi tra regnanti, imperatori, nobili. La scitala lacedemonica è un antico esempio di un sistema per cifrare messaggi utilizzando un bastone cilindrico, cifrario a trasposizione (secondo gli scritti di Plutarco, in uso dai tempi di Licurgo, IX sec a.C.). Il periodo doro della crittologia è relativo alla seconda guerra mondiale quando Alan Turing, il padre dellinformatica teorica, insieme al gruppo di ricerca del Bletchley Park formalizzò la matematica necessaria per uno studio sistematico dei cifrari. Storia della crittografia (I)

42 Fulvio Bartoloni - Davide Vergni 42 Enigma è una delle macchine cifranti più famose della seconda guerra mondiale. Claude Shannon, lideatore della moderna teoria dellinformazione, che nel 1949 pubblicò un articolo rimasto nella storia Communication theory of secrecy systems. Nasce nel 1943 in Inghilterra il primo elaboratore elettronico il Colossus utilizzato per decifrare le comunicazioni segrete dei nemici. Storia della crittografia (II)

43 Fulvio Bartoloni - Davide Vergni 43 Le basi teoriche della moderna crittografia, quella attualmente utilizzata, sono ancora più giovani e risalgono a circa 30 anni fa a partire dal 1969 con le prime ricerche di James Ellis del quartier generale governativo delle comunicazioni britanniche (GCHQ). Sviluppata ed affinata nel 1976 in America grazie al contributo di Whitfield Diffie e Martin Hellman con la nascita del termine crittografia a chiave pubblica. Nasce nel 1977 il cifrario a chiave pubblica RSA da tre ricercatori del MIT (Massachusetts Institute of Technology), Ronald Rivest, Adi Shamir e Leonard Adleman. Con il cifrario RSA si inizia a parlare di strong-encryption, crittografia forte. Tecniche crittografiche

44 Fulvio Bartoloni - Davide Vergni 44 Definiamo con Msg l'insieme di tutti i messaggi e con Critto l'insieme di tutti i crittogrammi. Cifratura: operazione con cui si trasforma un generico messaggio in chiaro m in un crittogramma c applicando una funzione C: Msg->Critto. Decifrazione: operazione che permette di ricavare il messaggio in chiaro m a partire dal crittogramma c applicando una funzione D: Critto -> Msg. Matematicamente D(C(m))=m le funzioni C e D sono una inversa dell'altra e la funzione C deve essere iniettiva, ossia a messaggi diversi devono corrispondere crittogrammi diversi. Tecniche crittografiche

45 Fulvio Bartoloni - Davide Vergni 45 Che cos'è un cifrario? Un cifrario è un sistema, di qualsiasi tipo, in grado di trasformare un testo in chiaro (messaggio) in un testo inintellegibile (testo cifrato o crittogramma). Per poter utilizzare un cifrario è necessario definire due operazioni: la cifratura del messaggio e la decifrazione del crittogramma. Tecniche crittografiche

46 Fulvio Bartoloni - Davide Vergni 46 Un primo esempio di cifrario: il cifrario di Cesare Consideriamo l'alfabeto italiano, costruiamo un cifrario che sostituisce ad ogni lettera di questo alfabeto la lettera che si trova 3 posizioni in avanti. Ad esempio il testo in chiaro prova di trasmissione viene cifrato nel crittogramma surbd gn zudvpnvvnrqh. Tecniche crittografiche

47 Fulvio Bartoloni - Davide Vergni 47 Criptazione Sicura Uno schema di criptazione è computazionalmente sicuro se –Il costo di decriptazione supera il valore delle informazioni criptate –Il tempo necessario per la decriptazione supera il tempo per cui linformazione mantiene la sua utilità Molti schemi che discuteremo non sono teoricamente sicuri, ma lo sono computazionalmente Di solito si basano su uno spazio delle chiavi gigantesco, non accessibile a metodi Forza Bruta Inoltre, gli schemi più avanzati si basano sulla mancanza di conoscenza dellesistenza di un certo algoritmo per la soluzione di un certo problema, e non sulla dimostrazione della non esistenza di questo algoritmo –Per esempio: fattorizzazione di numeri interi, logaritmi discreti…

48 Fulvio Bartoloni - Davide Vergni 48 La criptoanalisi La scienza che si occupa dellanalisi e della validità degli algoritmi crittografici. Analizzando il contenuto di un testo cifrato, attraverso tecniche statistico/matematiche si possono ottenere informazioni sul testo in chiaro. Per fortuna ciò non è sempre possibile, la maggior parte dei cifrari moderni è ancora al sicuro da tecniche di crittoanalisi. La storia ci insegna che non esistono cifrari inviolabili. Criptoanalisi

49 Fulvio Bartoloni - Davide Vergni 49 Criptoanalisi: le basi Lattacco ad un sistema crittografico ha lobiettivo di forzare il sistema, il metodo scelto e il suo livello di pericolosità dipendono dalle informazioni in possesso del crittoanalista. Fondamentalmente esistono queste tipologie di attacchi: – –Cipher Text Attack (il crittoanalista è in possesso solo di alcuni crittogrammi) – –Known Plain-text Attack (il crittoanalista è venuto a conoscenza di una serie di testi in chiaro e di crittogrammi) – –Chosen Plain-Text Attack (il crittoanalista ha scelto una serie di testi in chiaro e di crittogrammi)

50 Fulvio Bartoloni - Davide Vergni 50 Criptoanalisi statistica Tramite lutilizzo di tecniche statistiche sulla frequenze dei caratteri o sottostringhe del testo cifrato si ottengono informazioni utili sul testo in chiaro.

51 Fulvio Bartoloni - Davide Vergni 51 Crittoanalisi del cifrario di Cesare Il cifrario di Cesare, come la maggior parte dei cifrari storici basati tu trasposizioni e traslazioni, può essere facilmente violato utilizzando tecniche statistiche (crittoanalisi statistica). Si analizzano le frequenze relative dei caratteri nel testo cifrato e le si confrontano con quelle di una lingua conosciuta, ad esempio l'italiano. Le frequenze relative al testo cifrato surbd gn zudvpnvvnrqh risultano s (1/19), u (2/19), r (2/19), b (1/19), d (2/19), g (2/19), n (3/19), z (1/19), v (3/19), p (1/19), h (1/19). Si confrontano tali frequenze con quelle della lingua italiana: a (0,114), e (0,111), i (0,104), o (0,099), t (0,068), r (0,065),... Con queste informazioni ottengo una prima approssimazione del testo in chiaro sroba gi zravpivvioqh, procedo per tentativi ripetendo il procedimento.

52 Fulvio Bartoloni - Davide Vergni 52 Brute-force, ossia tramite il calcolo di tutte le possibili combinazioni di chiavi del cifrario. Con laumento della potenza di calcolo degli elaboratori questa tecnica banale stà diventando sempre più efficace. Basti pensare al Cracking del DES a 56 bit con un computer multiprocessore costruito dallEFF in grado di violare lalgoritmo in meno di 3 giorni di calcolo. Crittoanalisi differenziale, tramite lanalisi delle distanze numeriche dei caratteri presenti nel testo cifrato e lausilio di sofisticate tecniche matematiche unite ad algoritmi sempre più veloci. Man-in-the-middle, sfruttando il sistema delle infrastrutture PKI un eventuale intruso può posizionarsi tra un mittente ed un destinatario e scambiare le loro chiavi pubbliche e private con altre opportunamente modificate. Tecniche di criptoanalisi

53 Fulvio Bartoloni - Davide Vergni 53 La sicurezza della crittografia è nella trasparenza La sicurezza di un sistema crittografico è basato sulla robustezza degli algoritmi (complessità computazionale). Le tecniche di crittoanalisi diventano sempre più sofisticate grazie anche allaumento della potenza di calcolo dei computer. Solo con la condivisione delle informazioni e delle specifiche tecniche degli algoritmi crittografici si può ottenere sicurezza. La filosofia open source è di vitale importanza per il settore crittografico. La storia ci insegna che gli algoritmi segreti sono quelli più insicuri. Gli algoritmi crittografici più importanti ed utilizzati da tutti devono essere di pubblico dominio, non ci possiamo fidare delle black box. Sicurezza = Trasparenza. Criptoanalisi

54 Fulvio Bartoloni - Davide Vergni 54 Teorema di Shannon sulla segretezza entropia del messaggio = minimo numero di bit necessario per esprimere tutti I possibili messagggi –Lentropia della lingua inglese è 1.3 bits per lettera Uno schema di criptazione è perfettamente sicuro se la conoscenza del testo cifrato non cambia la probabilità delloccorrenza di un qualsiasi testo non criptato Teorema di Shannon: la chiave deve essere lunga almeno quanto il messaggio e non può essere riusata –Therefore, the secrecy of a cryptographic scheme depends on its entropy, i.e. the number of key bits, or the size of the key space –Only the one-time pad achieves perfect secrecy

55 Fulvio Bartoloni - Davide Vergni 55 La crittografia a chiave segreta (anche detta simmetrica) Introduciamo un parametro chiamato k (key= chiave) all'interno delle funzioni di cifratura C(m,k) e decifrazione D(c,k). Si parla di crittografia simmetrica perchè si utilizza la stessa chiave k per le operazioni di cifratura e decifrazione. La robustezza del cifrario dipende, a differenza di prima, solo dalla segretezza della chiave k. La crittografia a chiave segreta

56 Fulvio Bartoloni - Davide Vergni 56 Il principio di Kerckhoffs Risulterà strano ma uno dei principi fondamentali della crittografia, utilizzato ancora nei moderni sistemi crittografici è stato individuato nel lontano 1883 dal linguista franco-olandese August Kerckhoffs nel suo celebre articolo La cryptographie militaire apparso nel Journal des sciences militaires. Principio di Kerckhoffs: La sicurezza di un sistema crittografico è basata esclusivamente sulla conoscenza della chiave, in pratica si presuppone noto a priori lalgoritmo di cifratura e decifrazione. Purtroppo alcuni sistemi crittografici proprietari moderni non rispettano questo essenziale principiodi sicurezza. La crittografia a chiave segreta

57 Fulvio Bartoloni - Davide Vergni 57 Il problema della trasmissione della chiave Volendo utilizzare un cifrario simmetrico per proteggere le informazioni tra due interlocutori come posso scambiare la chiave segreta? Devo utilizzare una canale sicuro di comunicazione. Ma tale canale sicuro esiste nella realtà? Per una comunicazione sicura tra n utenti si dovranno scambiare in tutto (n-1)*n/2 chiavi, ad esempio con 100 utenti occorreranno 4950 chiavi, il tutto per ogni comunicazione! La crittografia a chiave segreta

58 Fulvio Bartoloni - Davide Vergni 58 Utilizza una coppia di chiavi per le operazioni di criptazione e decriptazione. Una chiave detta pubblica viene utilizzata per le operazioni di encryption. Laltra chiave, detta privata viene utilizzata per le operazioni di decryption. A differenza dei cifrari simmetrici non è più presente il problema della trasmissione delle chiavi. Sono intrinsecamente sicuri poiché utilizzano tecniche di tipo matematico basate sulla teoria dei numeri, sulla teoria delle curve ellittiche, etc. La crittografia a chiave pubblica

59 Fulvio Bartoloni - Davide Vergni 59 Sviluppato dallIBM nel 1970 diventato standard nel Utilizza chiavi di 56 bit, divide il testo in chiaro in blocchi di 64 bit, effettua delle permutazioni iniziali e finali ed un ciclo di 16 iterazioni di permutazioni e xor (Feistel network, tecniche di confusione e diffusione). Il 17 Luglio 1998, lEFF (Electronic Frontier Foundation) costruisce un sistema dedicato in grado di violareill DES in meno di 3 giorni, tramite un attacco di tipo brute-force. Morale della favola: non utilizzate sistemi di cifratura basati sul DES! Algoritmo DES

60 Fulvio Bartoloni - Davide Vergni 60 Algoritmo IDEA IDEA (International Data Encryption Algorithm) è nato nel 1991 sotto il nome di IPES (Improved Proposed Encryption Standard). Come il DES è un codice cifrato a blocchi con blocchi di 64 bits, questa volta però la chiave è di 128 bits, che elimina qualsiasi possibilità di riuscita di ricerca esaustiva nello spazio della chiave. A differenza del DES, che era stato progettato per implementazioni hardware, IDEA è stato creato per software. La cifratura con IDEA comporta una divisione del blocco di 64 bit del testo normale in 4 sottoblocchi di 16 bits. Ogni sottoblocco subisce 8 round in cui sono coinvolte 52 sottochiavi diverse a 16 bits ottenute dalla chiave a 128 bits. La chiave a 128 bits è divisa in 8 stringhe di 16, che sono le prime 8 sottochiavi. Le cifre della chiave a 128 sono shiftate di 25 bits a sinistra in modo da generare una nuova combinazione, il cui raggruppamento ad 8 bits fornisce le prossime 8 sottochiavi. Il secondo passo è ripetuto finché le 52 sottochiavi sono generate. Ogni round comporta calcoli abbastanza semplici come XOR, addizione modulare e moltiplicazioni modulari (addizione modulare significa che una somma non può superare i 16 bits quindi quelli in overflow vengono scartati

61 Fulvio Bartoloni - Davide Vergni 61 Creato nel 1976 dai ricercatori W.Diffie e M.Hellman è il primo algoritmo a chiave pubblica della storia. E' stato creato per eliminare il problema dello scambio delle chiavi di cifratura su di un canale insicuro di comunicazione. Il protocollo permette a due utenti di cambiare la chiave segreta su un canale insicuro senza dover usare nessunaltra chiave segreta. Il protocollo ha due parametri di sistema p e g. Sono entrambi pubblici e possono essere usati da tutti gli utenti del sistema. L'efficacia dell'algoritmo Diffie-Hellman dipende dalla difficoltà di calcolare logaritmi discreti. Algoritmo Diffie-Hellman

62 Fulvio Bartoloni - Davide Vergni 62 E' basato su tecniche di teoria dei numeri: prodotto di due numeri primi di dimensioni elevate (ad esempio con 300 cifre decimali). Definiamo alcuni concetti di teoria dei numeri per poter analizzare il funzionamento del cifrario RSA: – –Un numero p>1 si dice primo se è divisibile solo per ±1 e ±p. – –Dati tre interi a,b0 e n>0, si dice che a è congruo a b modulo n se esiste un intero k per cui a = b + kn ( o equivalentemente se a mod n = b mod n, dove l'operatore mod indica il resto della divisione intera tra a e n, b e n). – –Per un intero n>1 si definisce la funzione di Eulero Φ(n) come il numero di interi minori di n e relativamente primi con esso. Se n è un numero primo si ha che Φ(n)=n-1. Algoritmo RSA

63 Fulvio Bartoloni - Davide Vergni 63 Le chiavi pubbliche e private vengono determinate con il seguente algoritmo: – –Si scelgono due numeri primi p e q molto grandi; – –Calcolo n= p*q, e la funzione di Eulero Φ(n)= (p-1)*(q-1); – –Scelgo un intero e minore di Φ(n) e primo con esso; – –Calcolo l'intero d, inverso di e modulo Φ(n) (ossia tale che e*d = k*Φ(n) + 1, con k numero intero); – –La chiave pubblica è costituita dalla coppia di valori, la chiave privata dai valori. Le operazioni di encryption e decryption sono: C=M e (mod n), M=C d (mod n)=(M e (mod n)) d (mod n) dove M= blocco di testo in chiaro, C= crittogramma. Algoritmo RSA

64 Fulvio Bartoloni - Davide Vergni 64 La sicurezza del sistema è basata sul fatto che è difficile fattorizzare un prodotto di due numeri primi di dimensioni elevate (allo stato attuale). La lunghezza delle chiavi è variabile: 512, 1024, 2048, 4096 bit ed oltre. Svantaggio: l'algoritmo RSA non è veloce, infatti viene utilizzato soprattutto nei sistemi crittografici ibridi che utilizzano contemporaneamente sia algoritmi simmetrici che algoritmi a chiave pubblica (come ad esempio nei software PGP e GNUPG). Il 6 Settembre 2000 l'algoritmo RSA è diventato di dominio pubblico, prima era di proprietà dell'omonima azienda RSA Security Inc. Algoritmo RSA

65 Fulvio Bartoloni - Davide Vergni 65 Le funzioni hash sicure Vengono utilizzate per generare un sorta di riassunto di un documento informatico (file). Una funzione hash accetta in ingresso un messaggio di lunghezza variabile M e produce in uscita un digest di messaggio H(M) di lunghezza fissa. Questo digest (impronta digitale, targa, riassunto) è strettamente legato al messaggio M, ogni messaggio M genera un H(M) univoco. Anche considerando due messaggi M ed M' differenti solo per un carattere le loro funzioni hash H(M) e H(M') saranno diverse. Funzioni Hash

66 Fulvio Bartoloni - Davide Vergni 66 L'hash è uno degli elementi fondamentali della crittografia, al pari degli algoritmi di cifratura, nonostante sia meno noto ai non addetti ai lavori, e spesso venga trascurato da veloci panoramiche sull'argomento crittografia. Hash in inglese vuol dire tritare: l'algoritmo elabora ("macina") il messaggio e ne ricava un riassunto di lunghezza fissa (message digest), detto anche finger-print (impronta digitale). Una funzione hash è detta anche pseudo-random, dato che ogni valore di hash deve essere a priori equiprobabile. Hash algorithm Un algoritmo Hash è noto come message digests o one-way transformation. Una funzione Hash è una trasformazione matematica che dato un messaggio di arbitraria lunghezza ne calcola da questo un numero intero. Il NIST ha definito con la sigla SHA come secure hash algorithm, mentre MD sta per message digest. MD2, MD4 e MD5 sono gli algoritmi message digest. L'algoritmo più diffuso è MD5 (Message Digest 5, Rivest 1992). Produce digest di 128 bit, ognuno dei quali è funzione di tutti i bit del messaggio. Funzioni Hash

67 Fulvio Bartoloni - Davide Vergni 67 SHA-1 Secure Hash Algorithm Lo standard SHA-1 (Secure Hash Algorithm) é usato per ottenere una rappresentazione compressa di un messaggio o di un file dati. Quando un qualsiasi messagio e di lungezza inferiore a 2^64 bits, SHA-1 produce un output di 160 bit chiamato ("message digest"). SHA-1 puo' essere usato per la memorizzazione di dati e in tutte quelle applicazioni che richiedono l'integrità e l' autentificazione dei dati. SHA-1 é stato progettato per avere le seguenti propieta': 1. é computazionalmente inpossibile trovare un messagio che corrisponde ad un message digest 2. trovare due messagi che hanno lo stesso message digest Il messagio o file di ingresso puo essere considerato come una grande stringa. La lunghezza del messagio é il numero di bit.

68 Fulvio Bartoloni - Davide Vergni 68 Bibliografia - Sitografia H. Davenport. Aritmetica superiore, Zanichelli, C. Giustozzi, A. Monti, E. Zimuel. Segreti spie codicifrati, Apogeo, Neal Koblitz. A Course in Number Theory and Cryptography, Springer-Verlag, Network Associates Inc. An Introduction to Cryptography, Associato alla documentazione del PGP 6.02i, RSA Laboratories. Freqently Asked Questions About Today's Cryptography v. 4.0, Ed. RSA Laboratories, A. Sgarro. Crittografia, Franco Muzio Editore, Douglas R. Stinson, Cryptography, Theory and Practice Chapman and Hall/CRC (scond edition 2002). Song Y. Yan, Number Theory for Computing, Springer (2002) (Associazione Italiana per la sicurezza informatica)


Scaricare ppt "Fulvio Bartoloni - Davide Vergni Sicurezza fondamenti: virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore."

Presentazioni simili


Annunci Google