Eprogram SIA V anno La sicurezza informatica Sicurezza Con la diffusione dei computer e della rete Internet, il problema della sicurezza nei sistemi informatici è diventato fondamentale. Le reti, per loro natura, non sono sicure: la grande quantità di informazioni che transita in rete può essere intercettata e dati sensibili usati per scopi illegali. Per questi motivi, i sistemi attuali offrono sempre maggiori funzionalità per garantire la sicurezza dei dati. Dati al sicuro Si deve garantire che i dati siano “sicuri” e “al sicuro”, il che significa che devono essere: • disponibili: le politiche di sicurezza devono garantire l’accesso ai dati in qualunque momento; • riservati: le politiche di sicurezza devono proteggere l’accesso alle informazioni da parte di utenti non autorizzati; • integri: le politiche di sicurezza devono proteggere i dati da modifiche non autorizzate. Prevenzione del problema Molti problemi legati alla sicurezza possono essere prevenuti, soprattutto quelli causati accidentalmente e non per scopi fraudolenti. Alcune tecniche utilizzate riguardano: • l’implementazione di politiche di backup dei dati in modo da poterli ripristinare; • l’attivazione di misure di prevenzione dei virus; • l’uso di tecniche di fault-tolerance che consentono di offrire il servizio in modo continuativo anche a fronte di eventuali guasti; • l’implementazione di meccanismi di autenticazione e controllo degli accessi. Se i sistemi sono in rete è necessario proteggersi tramite firewall ed effettuare un monitoraggio continuo per individuare eventuali attacchi. Categorie di sicurezza Per poter adottare delle misure adeguate di prevenzione è importante stimare e valutare la probabilità del verificarsi di un pericolo, il costo della sua prevenzione e il costo dei danni che potrebbe procurare. Bisogna riuscire a formulare un piano che riduca tali costi e tali rischi. È importante quindi classificare i tipi di rischi a cui i sistemi possono essere soggetti e definire le misure da adottare. Possiamo definire due categorie legate alla sicurezza: • sicurezza fisica del sistema basata sul controllo dell’ambiente; • sicurezza dei dati e dei programmi. Sicurezza fisica I primi tipi di rischio sono quelli accidentali, come per esempio eventi non prevedibili come incendi, alluvioni, terremoti ecc. Il rischio di incendio è sicuramente il più diffuso e quindi tutti gli ambienti devono essere dotati di sistemi per la rilevazione degli incendi e di sistemi antincendio. Più complesso il problema delle manomissioni e dei sabotaggi. In questo caso l’unico modo è controllare l’accesso alle aree. I sistemi più diffusi sono quelli con porte dotate di badge. Tra i più sicuri troviamo i sistemi con accesso tramite controllo delle impronte digitali. Sicurezza dati e programmi Anche per quanto riguarda la sicurezza dei dati si può fare una suddivisione tra danni accidentali e danni dolosi. Tra i primi, oltre a quelli dovuti a problemi sugli ambienti, vi sono i danni alle apparecchiature, con particolare riferimento ai dischi in cui sono memorizzati dati e programmi. Tra questi il problema più frequente è la cosiddetta “aratura” del disco. Un altro problema frequente è la caduta di tensione della corrente dovuta al malfunzionamento dell’alimentazione (fulmini, blackout). Per evitare l’uso fraudolento dei dati bisogna invece provvedere a fornire il sistema di protezioni all’accesso. Il metodo meno oneroso è quello di dotare il sistema di una password. Backup e restore dischi magnetici I rischi di perdita dei dati sui dischi magnetici possono, in parte, essere prevenuti attraverso una corretta manutenzione degli stessi. Per risolvere questo problema sono nati sistemi appositi, che si articolano in due componenti: - La funzione di backup - La funzione di restore Backup e restore L’operazione di backup permette di copiare il contenuto dei dischi magnetici su supporti rimovibili (nastri magnetici, dischi ottici ecc.) che possono essere archiviati in luogo sicuro. Il restore è l’operazione inversa, quella cioè che permette di ricostruire, se necessario, il contenuto dei dischi magnetici dai supporti rimovibili preventivamente prodotti. I dati inseriti nel sistema tra un backup e l’altro verranno però perduti. Controllo degli accessi La protezione contro gli accessi non autorizzati ai dati deve tenere conto della diversificazione degli utenti interessati alle informazioni. La telematica ha reso insufficiente la protezione garantita dalle barriere fisiche adottate nei sistemi tradizionali. Oltre a questi mezzi, è necessario prevedere delle barriere logiche, cioè procedure di controllo dell’accesso ai dati e di identificazione dell’utente, anche in remoto. Password La password è una parola d’ordine elettronica. È una delle più semplici e diffuse barriere logiche. Purtroppo è anche un sistema di controllo molto vulnerabile. Come andrebbe creata una password: • Usare almeno 8 caratteri. • Usare lettere maiuscole, minuscole, cifre numeriche e segni di interpunzione (?,!). • Combinare a qualche numero o carattere speciale le lettere iniziali o finali di una frase celebre o pensiero ricorrente: “Quel ramo del lago di Como” può diventare 6QrDLdC3. Sicurezza in rete Gli sforzi maggiori per rendere le comunicazioni sicure vengono fatti nell’ambito della criptografia per evitare che un messaggio intercettato possa essere letto. La criptografia è alla base dei meccanismi per: • la firma digitale: garantisce l’attendibilità dei documenti e garantisce che il documento non possa essere modificato da altri; • i certificati digitali: sono dichiarazioni di un’autorità che garantisce l’identità di una persona o di un sito web. Scambio di certificati client/server Per poter scambiare i certificati digitali per l’accertamento dell’identità dei soggetti coinvolti nella comunicazione sono stati definiti dei protocolli di protezione che consentono di effettuare scambi di informazioni in modo protetto. La figura mostra un esempio di scambio di certificati tra Client e Server. Steganografia La steganografia è l’insieme delle tecniche che ha come scopo lo scambio d’informazioni tra due (o più) interlocutori in modo da nascondere la stessa esistenza della comunicazione. Molte volte la steganografia viene confusa con la criptografia, che ha come scopo principale quello di nascondere il contenuto di un messaggio; la prima invece cerca di far sì che degli esterni non si accorgano della presenza del messaggio e quindi dello scambio di esso tra degli interlocutori che utilizzano una tecnica steganografica. LA STEGANOGRAFIA È LA TECNICA CHE PERMETTE DI NASCONDERE IL MESSAGGIO CHE SI VUOLE INVIARE. Funzionamento Steganografia Con lo sviluppo del mondo digitale la steganografia ha avuto un maggior utilizzo. La tecnica prevede che un “messaggio” che si vuole comunicare sia inserito all’interno di un “contenitore” attraverso una “funzione” steganografica. Si otterrà così un “frammento stego” che conterrà l’informazione. Il ricevente, utilizzando poi la funzione di estrazione corretta, otterrà il messaggio dal frammento stego. Per aumentare la sicurezza si è iniziato anche a utilizzare una chiave di sicurezza privata di conoscenza sia del mittente sia del destinatario. Tecniche steganografiche Esistono innumerevoli tecniche steganografiche. Se utilizziamo come criterio di classificazione il concetto di “contenitore” abbiamo: • steganografia iniettiva • steganografia generativa Se invece utilizziamo come sistema di classificazione quello dei metodi adottati, si ottengono le seguenti classi: • steganografia sostitutiva • steganografia selettiva • steganografia costruttiva Steganografia iniettiva e generativa Le tecniche steganografiche più diffuse sono quelle di tipo iniettivo, e permettono di “iniettare” un messaggio segreto all’interno di un contenitore già esistente modificando quest’ultimo in modo tale che contenga il messaggio segreto e che risulti praticamente indistinguibile dall’originale. La tecnica generativa prevede invece che il contenitore venga generato utilizzando il messaggio segreto stesso come strumento per “pilotare” questo procedimento. Steganografia sostitutiva La steganografia sostitutiva è la più diffusa. Ogni tipo di comunicazione trasmette segnali che sono sempre accompagnati da qualche tipo di disturbo, manipolando questo rumore si può inviare il messaggio segreto. La tecnica base della steganografia sostitutiva consiste nel sostituire i bit meno significativi dei file digitali con i bit che costituiscono il messaggio segreto. Questa tecnica ha successo poiché i LSB corrispondono ai valori meno evidenti e importanti in un file digitale, essendo quelli più soggetti a errore e quindi meno riconoscibili se alterati. Esempio steganografia sostitutiva Steganografia selettiva La steganografia selettiva ha valore puramente teorico. Per esempio, si fissi una semplice funzione Hash che vale 1 se il contenitore contiene un numero dispari 1, e 0 se ne contiene un numero pari. Nel caso in cui si voglia trasmettere come informazione un bit dal valore 0 si cercherà un contenitore con numero pari di 1 e lo si invierà. Il vantaggio di questo metodo è che i contenitori non vengono alterati, però richiede un enorme dispendio di tempo per trovare un contenitore adatto a ogni bit e permette l’invio di informazioni minime. Steganografia costruttiva La steganografia costruttiva è molto simile a quella sostitutiva. L’unica differenza sta nel fatto che quando si cerca di modificare il contenitore per inserirci l’informazione si tiene anche conto del modello del rumore stesso, cercando di costruirne uno simile a quello esistente. Il difetto di questo metodo risiede nel fatto che NON è facile costruire un modello del rumore. Criptografare messaggi e documenti Con lo sviluppo del commercio elettronico, l’aumento dello scambio di dati e la necessità di effettuare pagamenti in formato elettronico, il problema della sicurezza nella circolazione delle informazioni in rete è diventato di notevole importanza. La soluzione è la criptografia; particolari tecniche che permettono di trasformare il messaggio da trasmettere in un testo cifrato, leggibile solo al reale destinatario. Criptografia: algoritmo e chiave Il processo di trasformazione del testo in chiaro in un testo cifrato viene chiamato criptazione (crittazione), il processo inverso decriptazione (o decifrazione). Entrambe i processi si basano su un codice particolare, detto chiave. Un sistema criptografico si compone di due elementi: • L’algoritmo che è l’insieme dei passi da seguire per modificare il messaggio secondo regole definite e una specifica chiave. • La chiave che è una sequenza di cifre (o caratteri). Più la chiave è lunga e complessa più è robusta. Criptatura a chiave simmetrica Il metodo più semplice di criptazione per sostituzione è quello a chiave simmetrica perché utilizza una sola chiave tanto nella fase di codifica quanto in quella di decodifica. Questo modello di criptografia presenta alcuni notevoli inconvenienti: • sia chi invia sia chi riceve conosce la chiave che diventa fissa e individuabile a scapito della sicurezza; • la chiave potrebbe cambiare a ogni messaggio; • è necessario generare un numero elevato di chiavi quando il numero dei possibili trasmettitori aumenta, come nel caso di Internet. Dato un sistema di N utenti, sono necessarie N(N–1)/2. Criptografia a chiave pubblica La criptografia a chiave pubblica permette di comunicare senza dover ricercare percorsi segreti per trasmettere le chiavi. In questo tipo di criptografia a ogni utente vengono assegnate due chiavi, diverse ma complementari: una chiave pubblica e una privata. Ogni chiave mette in chiaro il messaggio che l’altra chiave ha codificato, ma il processo non è reversibile: la chiave usata per criptare un messaggio non può essere utilizzata per decriptarlo (ecco perché questo sistema si chiama asimmetrico). In questo modo, la chiave pubblica è disponibile all’interno di un apposito archivio online, mentre la chiave privata è conservata solo dal suo proprietario. Come funziona la Criptografia a chiave pubblica Per spedire un messaggio a un soggetto, è necessario procurarsi la sua chiave pubblica e criptare il messaggio con essa; il destinatario potrà decifrare il messaggio con la propria chiave privata. In questo modo viene meno il problema della comunicazione della chiave e il numero delle chiavi necessarie nel sistema diminuisce notevolmente: con N utenti, basteranno 2*N chiavi. Doppia criptazione Per migliorare la sicurezza è possibile applicare un meccanismo di doppia criptazione, che garantisce riservatezza e sicurezza del mittente. Con questo sistema è anche possibile autenticare i propri messaggi permettendo al destinatario di verificare l’identità del mittente. Le chiavi sono intercambiabili, per cui se si cripta con la chiave A, si può decriptare con la chiave B collegata, e viceversa. Firma digitale La firma digitale è l’equivalente elettronico di una tradizionale firma autografa apposta su carta. Viene associata stabilmente al documento elettronico sul quale è apposta e lo arricchisce di informazioni che ne attestano con certezza: - l’integrità, - l’autenticità, - la non ripudiabilità. Consentendo al documento così sottoscritto di assumere la PIENA EFFICACIA DAL PUNTO DI VISTA LEGALE. Requisiti firma digitale In base alla normativa italiana, la firma digitale può avere lo stesso valore di quella autografa e quindi rendere legali i documenti se rispetta i seguenti requisiti: a) essere connessa in maniera unica al firmatario; b) essere idonea a identificare il firmatario; c) essere creata con mezzi sui quali il firmatario può conservare il proprio controllo esclusivo; d) essere collegata ai dati cui si riferisce in modo da consentire l’identificazione di ogni successiva modifica di detti dati. La firma digitale deve passare attraverso la validazione di un ente certificatore esterno e deve rispondere a tutta una serie di certezze di carattere tecnico e materiale. Meccanismo asincrono La sicurezza è garantita dall’uso del meccanismo crittografico asincrono. Per generare una firma digitale è necessario utilizzare una coppia di chiavi asimmetriche fornite al titolare della firma. La prima chiave, privata, è utilizzata la firma sul documento informatico. La seconda chiave, pubblica, verifica l’autenticità della firma. Certificato Digitale di Sottoscrizione L’elemento di rilievo del sistema Firma è rappresentato dal Certificato Digitale di Sottoscrizione che gli enti certificatori rilasciano. Il Certificato di Sottoscrizione è un file generato seguendo precise indicazioni e standard stabiliti per legge e al suo interno sono conservate informazioni che riguardano: - l’identità del titolare, - la propria chiave pubblica comunicata, - il periodo di validità del certificato stesso, - i dati dell’ente certificatore. PEC La Posta Elettronica Certificata (PEC) è il sistema che consente di inviare e-mail con valore legale equiparato a una raccomandata con ricevuta di ritorno. Benché il servizio PEC presenti forti similitudini con la tradizionale Posta Elettronica, vi sono alcune caratteristiche aggiuntive, che danno agli utenti la certezza dell’invio e della consegna (o della mancata consegna) delle e-mail al destinatario. Inoltre, il sistema di Posta Certificata, grazie ai protocolli di sicurezza utilizzati, è in grado di garantire la certezza del contenuto rendendo impossibili le modifiche al messaggio, sia per quanto riguarda i contenuti che eventuali allegati. Funzionamento della PEC Funzionamento della PEC Passo 1: Mittente PEC invia un messaggio a un altro utente certificato, il messaggio viene raccolto dal gestore del proprio dominio certificato 2: il gestore mittente racchiude il messaggio in una busta di trasporto e vi applica una firma elettronica in modo da garantirne provenienza e inalterabilità. Successivamente il messaggio viene indirizzato al gestore PEC destinatario. 3: il gestore destinatario verificata la firma e provvede alla consegna al ricevente. 4 e 5: il gestore PEC destinatario invia una Ricevuta di Avvenuta Consegna al mittente, che può quindi essere certo che il suo messaggio è giunto a destinazione. Durante la trasmissione vengono emesse altre ricevute che hanno lo scopo di garantire e verificare il corretto funzionamento del sistema e di mantenere sempre la transazione in uno stato consistente. Funzionalità dei gateway Spesso i gateway non si limitano a fornire funzionalità di base di routing a livello Network, ma integrano altri servizi collocati a livello Application. Tra questi servizi, quelli fondamentali per garantire l’efficienza della rete e la sua sicurezza sono: - Proxy Server - Firewall - NAT (Network Address translation) - DMZ (DeMilitarizes Zone) Proxy Server Un proxy è un programma che si interpone tra un client e un server facendo da tramite. Il client si collega al proxy, invece che al server, e gli invia la richiesta. Il proxy, a sua volta, si collega al server a cui inoltra la richiesta del client. Infine il proxy, ricevuta la risposta, la inoltra al client. I proxy, nella maggior parte dei casi lavorano a livello Application. Il loro compito principale è garantire la connettività e il caching ai client a loro collegati ai fini dell’efficienza della rete. La collocazione del (o dei) Proxy Server alla frontiera tra la rete privata aziendale e la rete pubblica (Internet) consente le operazioni di filtraggio e in particolare di mettere in atto servizi di firewall, NAT e DMZ. Proxy Server e firewall Il firewall è una linea indispensabile di difesa contro le intrusioni di rete poiché agisce come sentinella alla porta di collegamento del computer con una rete esterna come Internet. Separa la LAN aziendale dalla WAN pubblica. Il firewall filtra tutti i pacchetti entranti e uscenti, da e verso una rete o un computer, secondo regole prestabilite che contribuiscono alla sicurezza della rete stessa. Distinzione firewall in base a stack TCP/IP I firewall si possono distinguere sostanzialmente in tre categorie in base al livello dello stack TCP/IP cui operano: - Application Level Firewall - Packet Filter Firewall - Stateful Packet Inspection Firewall Distinzione firewall in base alla collocazione I firewall possono essere collocati diversamente in base alle esigenze dell’azienda. Si possono individuare tre topologie prevalenti: - Single Proxy Topology - Multiple Proxy Vertically Topology - Multiple Proxy Orizontally Topology Single Proxy Topology Multiple Proxy Vertically Topology Multiple Proxy Orizontally Topology Network Address Translation NAT è una tecnica, attuata dal router, che lavora a livello Transport per sostituire nell’intestazione di un pacchetto IP, un indirizzo, sorgente o destinazione, con un altro indirizzo. NAT viene usato per permettere a una rete locale, che usa una classe di indirizzi privata, di accedere a Internet usando un solo indirizzo pubblico fornito dall’ISP. Si tratta dunque di condividere Internet su una LAN usando un solo punto di accesso (un solo IP pubblico). Dal punto di vista della sicurezza un NAT offre buone garanzie, perché nasconde gli host interni e non indirizza loro il traffico “generico” proveniente dall’esterno. NAT usa una tabella contenente la corrispondenza tra i socket interni ed esterni in uso. Tutte le comunicazioni provenienti dall’esterno che non sono state registrate nella tabella vengono eliminate. DeMilitarized Zone Dividere la Rete in zone è una tecnica che aumenta notevolmente la sicurezza. Nei casi più semplici, le uniche due zone, LAN e WAN, sono attestate sui due lati del firewall. In molti casi si rende necessaria la creazione di una terza zona: la DMZ. Si tratta di un’area in cui sia il traffico WAN che quello LAN sono fortemente limitati e controllati. Una DMZ, per esporre all’esterno i servizi di un’azienda, può essere realizzata in due modi: • vicolo cieco; • zona cuscinetto. DeMilitarized Zone, vicolo cieco Il vicolo cieco è un segmento della LAN adibito a DMZ, di solito quello che ospita i server. Viene realizzato mediante un firewall con due porte, una verso la LAN e una verso la DMZ, oltre naturalmente alla porta verso la WAN. L’idea è quella di consentire l’accesso esterno e interno alla DMZ, garantendo che, raggiunta la DMZ, non si possa accedere alla LAN; cioè agli uffici. Dunque un utente potrà accedere ai servizi che l’azienda rende accessibili dall’esterno nella DMZ senza mettere in pericolo la sicurezza dei dati presenti nella zona LAN. DeMilitarized Zone, zona cuscinetto La zona cuscinetto tra interno ed esterno viene creata aggiungendo un secondo firewall: - l’external firewall separa la rete pubblica dalla DMZ; - l’internal firewall separa la DMZ dalla zona LAN vera e propria. Questo garantisce una sicurezza ancora maggiore dei database presenti in LAN. Chi dall’esterno approda alla DMZ dovrà superare un altro firewall dedicato per attaccare i dati in LAN. Laddove la sicurezza è vitale, la DMZ è stratificata, cioè sono presenti più di due firewall.