680 likes | 852 Views
Sicurezza fondamenti: virus, attacchi e violazioni, crittografia. Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR). Sicurezza fondamenti: virus, attacchi e violazioni, crittografia. 1. Sicurezza Informatica. 2. Virus (Malicious Code). 3. Trojan Horse. 4. Backdoor.
E N D
Sicurezza fondamenti:virus, attacchi e violazioni, crittografia Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)
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 2828. http://security.polito.it/rfc/rfc2828.txt
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
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!
Sicurezza Fisica • Uso di badge, smart card, dispositivi biometrici
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!!!!
Sistemi aperti ed interconnessi xDSL Server Farm DSLAM Wireless Internet Pubblica RAS Analog/ ISDN LAN Backbone ISP VOIP LAN Aziendale Media Gateway Mobile
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
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.
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 (E-mail, File Transfer, Web browsing, File Sharing, ecc.ecc.) • Può essere migliorato il grado di accoglienza tramite una mirata sensibilizzazione degli utenti
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.
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”
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
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
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
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
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
Rischio Residuo Costi Sostenuti 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 Livello di Sicurezza
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.
Minacce interne 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, e-mail harassment) 63% 58% abuso di computer control access 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%
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%
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)
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
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
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
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
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.
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
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.
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.
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).
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.
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.
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.
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”
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’e-mail dal computer infettato e quindi crea la chiave nel Registro. Altrimenti, evita la spedizione di e-mail 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”.
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.
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 e-mail.Questi trojans rendono il computer controllabile da remoto mettendo quindi a repentaglio informazioni aziendali presenti sul computer.
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
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)
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.
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.
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.
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.
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.
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”.
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…
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.
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)
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.