La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sicurezza fondamenti: virus, attacchi e violazioni, crittografia

Presentazioni simili


Presentazione sul tema: "Sicurezza fondamenti: virus, attacchi e violazioni, crittografia"— Transcript della presentazione:

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

2 Sicurezza fondamenti: virus, attacchi e violazioni, crittografia
1 Sicurezza Informatica 2 Virus (Malicious Code) 3 Trojan Horse 4 Backdoor 5 Crittografia link al - Glossario 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 Sicurezza: cosa si intende
Sicurezza Fisica: accesso controllato ai locali, conservazione delle chiavi di accesso alle sale dati, riconoscimento fisico degli utenti ammessi Sicurezza Logica: gestione oculata delle passwords, dei diritti di accesso agli utenti Sicurezza di Rete: garantire sicurezza nelle comunicazioni in rete, in modo da tutelare l’integrità e la riservatezza dei dati critici e sensibili

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 dell’attacco: interno o esterno? Da cosa proteggerle? Cercare di prevenire le più comuni modalità di attacchi Sensibilizzazione del personale, a tutti i livelli!

5 Sicurezza Fisica Uso di badge, smart card, dispositivi biometrici

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 Sistemi aperti ed interconnessi
Server Farm xDSL DSLAM Wireless Internet Pubblica RAS Analog/ ISDN LAN Backbone ISP VOIP LAN Aziendale Media Gateway Mobile

8 La sicurezza IT deve contribuire ad assicurare requisiti quali:
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 L’integrità delle informazioni Il non ripudio delle transazioni e delle altre azioni effettuate con il sistema informativo

9 L’impatto dell’interconnessione a Internet
Svantaggi: Esposizione dei propri sistemi e delle proprie reti ad attacchi provenienti dall’esterno (che si vanno ad aggiungere a quelli conducibili dall’interno). 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.

10 L'impatto della sicurezza sugli utenti
L’introduzione 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 l’uso di servizi informativi critici per il business aziendale Per minimizzare inconvenienti derivanti dalla diffusione di virus ed altri agenti ostili sui PC aziendali Dall’altra accresce il livello di complessità: Nell’utilizzo 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 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 dell’azienda, per provvedere alla loro messa in sicurezza (stabilendo eventualmente una scala di priorità nell’ordine 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 Individuazione delle componenti
Un approccio metodologico alla risoluzione del problema sicurezza IT prevede come prima cosa l’individuazione degli asset che potrebbero risultare compromessi in seguito ad una violazione o un malfunzionamento di un sistema L’output di questo processo è una lista di “componenti” cui deve essere associato il relativo “valore aziendale”

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 Non tutti gli asset sono di pari criticità
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 L’analisi del rischio deve fornire una visione realistica del livello di rischio associato a ciascun asset

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 dell’investimento) Controllare che gli interventi migliorativi non sforino i budget assegnati

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 l’attuazione 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 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 Rischio Residuo Con un budget illimitato e in un tempo illimitato,
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 Rischio Residuo Livello di Sicurezza Costi Sostenuti

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

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

22 Classificazione delle minacce
Attacchi mirati condotti manualmente con l’obiettivo 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 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 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 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 Decine e decine di libri e riviste sull’hacking
Hacking fai da te Oltre 30,000 websites orientati all’hacking. Non occorre più essere un guru. Download Click and Hack Decine e decine di libri e riviste sull’hacking

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 all’organismo 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 all’utente del computer. Il primo virus fu sviluppato nel novembre del 1983, con fini dimostrativi, nell’ambito 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 Storia dei Virus Informatici
L’obiettivo della ricerca era di dimostrare come le possibilità di un attacco al patrimonio informativo di un’azienda non fossero limitate a quelle tradizionalmente prese in esame negli studi sulla sicurezza fino ad allora svolti. Tali studi avevano incentrato la loro attenzione sull’attacco fisico (esempio attacchi terroristici), sulla conoscenza illegittima di password e su modifiche ai programmi effettuate da personale interno alle aziende. A quell’epoca 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

29 Storia dei Virus Informatici
Nel 1990 nasce il primo virus polimorfo, un virus cioè in grado di automodificarsi per sfuggire al controllo dei software di protezione. Quell’anno 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 l’uso 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 all’apertura del documento medesimo senza che l’ignaro utente si accorga di nulla.

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 l’indice 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 Classificazione dei Virus (II)
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).

32 Classificazione dei Virus (III)
Clean On-the-fly:Il virus può intercettare tutte le operazioni di lettura sui files e modificarne l’output. Se ad esempio un programma antivirus prova a leggere un file infetto, il virus, attivo in memoria, intercetta l’operazione e ripulisce il file prima della lettura, rendendolo trasparente al controllo. Una volta finita l’operazione, il virus re-infetta il file. Virus TSR: Categoria più complessa di virus, in quanto riesce a rimanere attiva,di nascosto, all’interno 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 l’oggetto in uso.

33 Classificazione dei Virus (IV)
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 l’uso 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 dall’utente) 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: L’infezione avviene navigando tranquillamente in siti web ed incorrendo in un sito web (volontariamente o involontariamente) infetto. Le potenzialità distruttive di questi virus sono immense.

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 all’interno dei documenti/modelli. Nel caso in cui il virus venga attivato in Office 2000, esso esegue un’ulteriore azione: imposta a livello minimo le opzioni di sicurezza (protezione anti-macro) disponibili in Office2000.

35 Analisi del virus macro Melissa (II)
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 dell’utente di Outlook). “HERE IS THAT DOCUMENT YOU ASKED FOR……… DON’T SHOW ANYONE ELSE”

36 Analisi del virus macro Melissa (II)
Il messaggio presenta in allegato anche un documento infettato dal virus, ovvero il documento attivo che l’utente sta editando in MS Word. E’ importante notare che, come logica conseguenza del sistema usato dal virus per diffondersi, si ottiene l’invio tramite posta elettronica dei documenti creati dall’utente, con relativa violazione della privacy ed eventuale diffusione di dati confidenziali. Il virus spedisce i messaggi infetti soltanto una volta. Prima dell’invio, 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.GAME’S OVER.I’M OUTTA HERE”.

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 Trojan Horse 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 dall’utenza.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.

39 Crittografia 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

40 Introduzione 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 dell’informatica grazie all’utilizzo di tecniche di teoria dei numeri e di teoria dell’informazione. “Insieme delle tecniche che consentono di realizzare la cifratura di un testo e la decifrazione di un crittogramma” Dizionario Garzanti (1972)

41 Storia della crittografia (I)
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 d’oro della crittologia è relativo alla seconda guerra mondiale quando Alan Turing, il padre dell’informatica teorica, insieme al gruppo di ricerca del Bletchley Park formalizzò la matematica necessaria per uno studio sistematico dei cifrari.

42 Storia della crittografia (II)
Enigma è una delle macchine cifranti più famose della seconda guerra mondiale. Claude Shannon, l’ideatore della moderna teoria dell’informazione, 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.

43 Tecniche crittografiche
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.

44 Tecniche crittografiche
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.

45 Tecniche crittografiche
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.

46 Tecniche crittografiche
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”.

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 l’informazione 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 dell’esistenza 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 Criptoanalisi La criptoanalisi
La scienza che si occupa dell’analisi 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.

49 Criptoanalisi: le basi
L’attacco ad un sistema crittografico ha l’obiettivo 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 Criptoanalisi statistica
Tramite l’utilizzo di tecniche statistiche sulla frequenze dei caratteri o sottostringhe del testo cifrato si ottengono informazioni utili sul testo in chiaro.

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 Tecniche di criptoanalisi
Brute-force, ossia tramite il calcolo di tutte le possibili combinazioni di chiavi del cifrario. Con l’aumento 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 dall’EFF in grado di violare l’algoritmo in meno di 3 giorni di calcolo. Crittoanalisi differenziale, tramite l’analisi delle “distanze” numeriche dei caratteri presenti nel testo cifrato e l’ausilio 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.

53 Criptoanalisi 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 all’aumento 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.

54 Teorema di Shannon sulla segretezza
entropia del messaggio = minimo numero di bit necessario per esprimere tutti I possibili messagggi L’entropia della lingua inglese è 1.3 bits per lettera Uno schema di criptazione è perfettamente sicuro se la conoscenza del testo cifrato non cambia la probabilità dell’occorrenza 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 La crittografia a chiave segreta
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.

56 La crittografia a chiave segreta
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 l’algoritmo di cifratura e decifrazione.” Purtroppo alcuni sistemi crittografici proprietari moderni non rispettano questo essenziale principiodi sicurezza.

57 La crittografia a chiave segreta
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!

58 La crittografia a chiave pubblica
Utilizza una coppia di chiavi per le operazioni di criptazione e decriptazione. Una chiave detta pubblica viene utilizzata per le operazioni di encryption. L’altra 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.

59 Algoritmo DES Sviluppato dall’IBM nel 1970 diventato standard nel 1976. 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, l’EFF (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!

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 Algoritmo Diffie-Hellman
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 nessun’altra 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.

62 Algoritmo RSA 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,b≥0 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.

63 C=Me (mod n) , M=Cd (mod n)=(Me (mod n))d (mod n)
Algoritmo RSA 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 <e,n>, la chiave privata dai valori <d,n>. Le operazioni di encryption e decryption sono: C=Me (mod n) , M=Cd (mod n)=(Me (mod n))d (mod n) dove M= blocco di testo in chiaro, C= crittogramma.

64 Algoritmo RSA 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.

65 Funzioni Hash 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.

66 Funzioni Hash 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.

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 Bibliografia - Sitografia
H. Davenport. Aritmetica superiore, Zanichelli, 1994. C. Giustozzi, A. Monti, E. Zimuel. Segreti spie codicifrati, Apogeo, 1999. Neal Koblitz. A Course in Number Theory and Cryptography, Springer-Verlag, 1994. Network Associates Inc. An Introduction to Cryptography, Associato alla documentazione del PGP 6.02i, 1998. RSA Laboratories. Freqently Asked Questions About Today's Cryptography v. 4.0, Ed. RSA Laboratories, 1988. A. Sgarro. Crittografia, Franco Muzio Editore, 1993. 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 "Sicurezza fondamenti: virus, attacchi e violazioni, crittografia"

Presentazioni simili


Annunci Google