RETI LOCALI, SICUREZZA DI PERIMETRO, SICUREZZA END-TO-END

UN APPROCCIO AL PROBLEMA IN UNA PROSPETTIVA DI NEUTRALITÀ

DELL' INFRASTRUTTURA RISPETTO ALL'INFORMAZIONE

Diego Merani

1. INTRODUZIONE

  • La sicurezza è una materia molto ampia che comprende diverse aree tra loro correlate. Tecnologie, hardware, utenti e procedure partecipano alla realizzazione della strategia di sicurezza di ogni organizzazione.
  • Computer e reti toccano praticamente ogni aspetto della vita moderna: individui, organizzazioni e nazioni fanno uso delle nuove tecnologie per comunicare, per il commercio, per i servizi di banking, per fornire energia ed acqua, coordinare emergenze e gestire la sanità, per la difesa e tanto altro ancora.
  • Allo stesso tempo, queste stesse tecnologie sono utilizzate per commettere crimini e compiere attività illegali.
  • La sofisticazione degli attacchi informatici è in continua evoluzione, e sul terreno delle nuove tecnologie si combatte una vera e propria "battaglia", fatta spesso di attacchi mirati alle organizzazioni e ai governi, con lo scopo di appropriarsi di dati sensibili, interrompere servizi, effettuare transazioni illecite.
  • Ad oggi spesso questi argomenti colgono di sorpresa le organizzazioni che, incapaci di riconoscere il legame diretto tra la sicurezza e il profitto, sono esposte a rischi e ad una serie di problemi a cui non sono affatto preparate. In aggiunta, spesso i problemi più grossi sono legati ad attacchi provenienti dall'interno: di qui la necessità di dotarsi di una strategia di sicurezza che consideri tutti gli aspetti necessari a garantire l'operatività in un ambiente sicuro.
  • Parlando di sicurezza, può capitare di imbattersi nel dibattito sulla necessità di rivedere le attuali strategie di protezione delle reti, per adattarle a nuove tecnologie e architetture. In particolare, l'approccio "classico" di protezione perimetrale, adottato dalla maggior parte di aziende ed organizzazioni, viene messo a confronto con il concetto di "protezione end-to-end", mirato ad affrontare il problema della sicurezza non più sulla rete, ma direttamente nei nodi coinvolti nella trasmissione dell'informazione.
  • Il motivo principale per cui si rende necessario affrontare la questione, è legato alla cosiddetta "deperimeterization", ovvero la progressiva "erosione" dei confini delle reti locali, che si aprono sempre più a connessioni verso l'esterno per supportare nuovi modelli di business e collaborazione.
  • A rendere il dibattito particolarmente acceso ed interessante, contribuiscono temi di attualità che si innestano direttamente nella discussione, ponendosi al tempo stesso come argomento e soluzione del problema: la neutralità della rete rispetto ai contenuti, e l'introduzione di IPv6.

2. SICUREZZA DI PERIMETRO

2.1 Il firewall

  • Spesso si pensa che l'installazione di un firewall e di un buon software antivirus siano sufficienti a garantire un sufficiente livello di sicurezza per la maggior parte delle reti locali: le fasi di pianificazione, design, implementazione, gestione ed evoluzione delle strategie di sicurezza sono sovente trascurate o sottovalutate.
  • Molto spesso l'approccio classico alla sicurezza delle reti è quasi totalmente focalizzato sul firewall, al quale è demandato il ruolo di separazione tra reti "sicure" e reti "non sicure", filtrando il traffico in ingresso e in uscita in accordo con le politiche di sicurezza definite dall'organizzazione.
  • Sebbene il modello sia estremamente semplificato, la maggior parte delle reti "corporate" si basano su architetture che possono in qualche modo essere ricondotte alla semplificazione appena fatta.
  • All'interno della rete locale, cioè nella zona "sicura", l'autenticazione dell'utente avviene in fase di accesso alla propria postazione di lavoro, dopo di che l'utilizzo dei servizi (ad esempio condivisione file e risorse) è trasparente ed è consentito spesso senza effettuare ulteriori controlli di sicurezza.
  • Secondo questi presupposti, i due fattori critici per la sicurezza sono la separazione della rete locale dall'esterno (quindi il controllo perimetrale) e il controllo degli accessi alla rete locale: un utente che voglia accedere ad una risorsa deve essere in grado di identificarsi (tipicamente tramite username) e autenticarsi (fornendo una password o altra credenziale che soltanto lui possiede o conosce).
  • Una volta autenticato, l'utente ottiene le autorizzazioni per accedere alle risorse, e le sue azioni vengono tracciate e memorizzate (accounting).
  • Come già detto, il firewall viene utilizzato per separare reti diverse e delimitare domini di trust (zone che hanno un livello di sicurezza omogeneo), restringendo e filtrando l'accesso tra una rete e l'altra.
  • L'utilizzo più comune e ovviamente quello di restringere e controllare l'accesso a Internet (in Italia il 97,9% delle aziende con almeno 10 addetti hanno un collegamento Internet).
  • Il firewall definisce con una certa granularità quali servizi possono essere utilizzati, restringe e filtra gli indirizzi IP, monitorando i pacchetti in entrata e in uscita dalla rete che protegge.
  • A seconda del livello di complessità, i firewall ispezionano il traffico in modo più o meno approfondito; ma non possono prescindere da un'architettura di rete pensata per far si che il traffico da controllare passi tutto attraverso un unico punto ("choke point").
  • Talvolta si utilizzano i firewall per definire delle zone di rete intermedie tra la parte non protetta e la rete locale; queste zone vengono chiamate DMZ (De-Militarized-Zone) e sono utilizzate per proteggere server che hanno la necessità di comunicare con l'esterno (ad esempio WWW e FTP server, DNS o mail server), evitando così di esporre verso l'esterno tutta la rete privata.

3. TIPI DI FIREWALL

3.1 Packet filtering e stateful packet filtering

  • Il packet filtering è realizzato mediante delle ACLs (Access Control Lists) che generalmente hanno la forma di linee di testo, o regole, che definiscono quali pacchetti possono essere accettati e instradati dal dispositivo, e quali invece devono essere rifiutati.
  • Ogni volta che il firewall riceve un pacchetto, confronta le informazioni presenti nell'intestazione del pacchetto con tutte le linee presenti nell'ACL.
  • Non appena trova una regola corrispondente, esegue il comando associato (permit o deny) e instrada il pacchetto verso la destinazione, oppure lo scarta.
  • Per esempio, un'ACL può avere una linea che blocca tutti i pacchetti provenienti dalla rete 192.168.1.0, una seconda riga che non consente l'ingresso di pacchetti TELNET nella rete, una terza riga che consente l'utilizzo della porta 80 (www) verso il web server, ed infine una riga che blocca tutto il rimanente traffico.
  • Se il firewall riceve un pacchetto destinato al web server, controlla la lista seguendo la sequenza delle righe: in questo caso, se il pacchetto non proviene dalla rete 192.168.1.0, sarà instradato verso il web server.

  • Questo tipo di filtraggio è basato esclusivamente su informazioni di rete: di conseguenza i firewall packet-filter non sono in grado di prevenire attacchi che sfruttano le vulnerabilità delle applicazioni, e non possono distinguere i pacchetti la cui intestazione sia stata alterata (spoofing) modificando indirizzi o porte. Inoltre, questi firewall non sono in grado di mantenere informazioni sullo stato della connessione (cosa che invece fanno gli Stateful Firewalls trattati successivamente).
  • Poiché le variabili che intervengono a formare la decisione del controllo di accesso sono poche, i packet filter sono particolarmente performanti ma soggetti anche ad errori causati da configurazioni improprie.
  • I firewall packet filter mantengono le informazioni presenti nell'intestazione del pacchetto soltanto per il tempo strettamente necessario ad effettuare la decisione.
  • Una volta che il pacchetto è stato instradato o scartato, il firewall se ne dimentica. I firewall stateful invece mantengono una tabella di stato che contiene informazioni relative alle comunicazioni che li attraversano, analizzandoli nel contesto di una sessione TCP.
  • Utilizzando informazioni presenti non solo nel network layer ma anche nel transport layer, la tabella di stato mantiene un livello di informazione aggiuntiva, che permette al firewall di capire se un pacchetto appartiene ad una comunicazione già stabilita, e consente di controllare che sorgente, destinazione, e porte corrispondano effettivamente ai valori che il firewall si aspetta di trovare.
  • Un firewall stateful, quando riceve un pacchetto, controlla se questo appartiene ad una sessione già stabilita. In caso affermativo verifica le informazioni di stato presenti nella tabella, riconoscendo il traffico come parte di una sessione legittima, e consentendone il passaggio.
  • Se il traffico non appartiene ad una sessione "established", il pacchetto è filtrato attraverso l'ACL ed eventualmente viene aggiunta una riga alla tabella di stato contenente informazioni relative a sorgente, destinazione, porte, numero sequenziale del pacchetto, stato della connessione.
  • Questo ulteriore livello di sofisticazione aumenta la protezione ma aggiunge anche complessità; i firewall di tipo stateful sono stati in passato oggetto di attacchi Denial of Service appositamente forgiati per esaurire la memoria allocata al mantenimento della tabella di stato, riempiendola di informazioni inutili.

3.2 Proxy firewalls

  • I proxy firewall sono degli intermediari che intercettano i messaggi che li attraversano, prima di consegnarli ai rispettivi destinatari. Il proxy apre i pacchetti, controlla il contenuto, e nel caso in cui decida che il contenuto è accettabile, inizia una nuova connessione verso il destinatario nella quale copia il contenuto del messaggio. La principale caratteristica del proxy e quella di mascherare tra loro i due endpoint della connessione: ciascuno dei due parlerà con il proxy e non direttamente con l'altro. Quando è utilizzato sul perimetro di una rete locale, il proxy è l'unica macchina che parla con l'esterno. È l'unica macchina ad avere un indirizzo IP pubblico, e rende la rete locale "invisibile" da Internet. I proxy hanno il vantaggio di poter prendere decisioni valutando informazioni fino a livello applicazione, generalmente offrono un livello di sicurezza superiore rispetto agli altri firewall, ma sono limitati dal numero di applicazioni che sono in grado di riconoscere e dalla potenza di calcolo necessaria a processare il traffico che li attraversa.

4. ARCHITETTURE DI RETE BASATE SU FIREWALL

  • La più semplice delle architetture basate su firewall è quella a due livelli ("Two-Tier"), in cui un singolo firewall separa la rete locale dal mondo esterno (Internet o rete geografica). Questo modello, molto semplice prevede che i server di presentazione (web server) e i server o database che contengono applicazioni e dati, si trovino tutti su un'unica rete. L'architettura a tre livelli è un'evoluzione della precedente che protegge i dati dell'utente e le applicazioni utilizzando un secondo livello di firewalling. Questo tipo di architettura è più sicura in quanto i dati sensibili sono ulteriormente protetti e soprattutto non sono accessibili direttamente dall'esterno.

  • L'evoluzione e la sofisticazione del concetto di "segregazione" tra reti diverse ha favorito anche internamente alle organizzazioni una segmentazione delle reti in molte zone a livelli di sicurezza diversi, separate da firewalls e governate da politiche dedicate.
  • Così in architetture di rete complesse possono essere presenti numerosi firewalls, che separano la parte "pubblica" della rete dove sono installati ad esempio i server web e posta, dalla parte di produzione in cui si trovano gli applicativi, i database e gli utenti, e dall'ambiente di sviluppo (in cui vengono testate nuove applicazioni). Ulteriori firewalls separano la rete di produzione dalle reti in cui viene consentito l'accesso remoto o la connessione da parte di partners o visitatori.

  • I firewalls possono avere molte interfacce, ciascuna con un livello di sicurezza associato. Tipicamente, il firewall consente comunicazioni da un livello di sicurezza più alto (trusted) ad uno più basso (external) e non viceversa.
  • L'utilizzo di firewall con interfacce multiple riduce i costi e il numero di dispositivi necessari a realizzare architetture anche molto complesse, ma introduce un "single point of failure".
  • Inoltre, la gestione delle regole sui firewall multi interfaccia richiede un'attenta analisi della matrice di comunicazione tra le varie interfacce, per assicurarsi che non si vengano a creare situazioni che permettano attacchi che aggirano le regole di sicurezza, facendo transitare il traffico non consentito su altre interfacce prima di arrivare a raggiungere quella di destinazione.

5. NETWORK ADDRESS TRANSLATION

  • I firewall possono essere configurati per effettuare traduzione di indirizzi IP (Network Address Translator). Il concetto stesso di "perimetro" è strettamente legato all'utilizzo dei NAT. Il NAT rende riutilizzabili gli indirizzi di ogni rete locale, mettendo a disposizione del progettista di rete un semplice meccanismo per moltiplicare il numero delle sottoreti locali, mascherandone la reale struttura logica e fisica rispetto al mondo esterno.
  • Perciò il modello di "segregazione" può essere ricorsivamente implementato a seconda delle esigenze dell'organizzazione, portando l'architettura di rete a livelli di complessità limitati superiormente solo dai requisiti di gestione che, in caso di reti troppo segmentate, possono divenire insostenibili.
  • L'utilizzo del NAT consente una certa libertà nell'utilizzo di spazi di indirizzamento IP privati. In pratica il NAT riscrive l'indirizzo IP all'interno dei pacchetti, con lo scopo di mappare uno spazio indirizzi in un altro; la sua applicazione più comune è quella di mascherare gli indirizzi IP privati di una rete locale usando un singolo IP pubblico.
  • Questa implementazione del NAT viene incontro all'esigenza di consentire l'accesso ad Internet di intere reti, minimizzando l'utilizzo di IP pubblici (che hanno un costo e sono una risorsa limitata, in esaurimento per IPv4). Il NAT mantiene in memoria tabelle di corrispondenza tra indirizzi "locali" (privati) e "globali" (pubblici), riscrivendo in tempo reale le intestazioni dei pacchetti in transito, sulla base dei dati presenti in memoria.
  • IL NAT 1-a-1 prevede che ad ogni indirizzo IP privato corrisponda un indirizzo pubblico. In questo caso, la tabella di stato del NAT contiene una serie di record che associano indirizzi locali (privati) ad indirizzi globali (pubblici).

  • Nel caso di NAT 1-a-molti, le connessioni generate da un gruppo di computer vengono presentate verso l'esterno con un solo indirizzo IP.
  • Ciascuna connessione TCP o UDP viene gestita individualmente: in questo caso la corrispondenza tra gli indirizzi privati e l'indirizzo pubblico viene mantenuta sulla base dell'assegnazione univoca della porta sorgente sull'indirizzo pubblico.
  • Il router tiene quindi traccia di tutte le connessioni attive, eliminando eventualmente quelle inutilizzate sulla base di un meccanismo di timeout.
  • La modifica delle porte può avvenire in modo sistematico (sostituendo sempre la porta con una di valore molto alto), oppure soltanto nel caso in cui vi sia un conflitto tra due indirizzi privati che hanno scelto la stessa porta.
  • Questa tecnica, chiamata anche PAT (Port Address Translation), è molto utilizzata per collegare reti private ad Internet utilizzando un solo indirizzo pubblico. Il NAT presenta alcuni inconvenienti.
  • In primo luogo, non tutti i protocolli e le applicazioni sono in grado di riconoscere e supportare la riscrittura degli indirizzi IP: in generale, le applicazioni che scrivono informazioni relative agli indirizzi IP all'interno del payload del pacchetto, non gradiscono la discrepanza che si viene a creare quando l'intestazione viene modificata.
  • Ciò vale, ad esempio, per gran parte dei protocolli di tunneling (quali ad esempio GRE o IPSEC). Inoltre, l'utilizzo del NAT e dell'indirizzamento privato per i computer collegati alla rete locale, fa si che essi non possano essere direttamente raggiungibili da Internet.
  • Quest'ultimo aspetto è forse il più controverso: due computer collegati a due LAN diverse, protette entrambe da firewall NAT, non sono in grado di realizzare tra loro una connessione end-to-end utilizzando TCP/IP, perché nessuno dei due è in grado di raggiungere l'indirizzo IP (privato, quindi nascosto) dell'altro.
  • L'utilizzo del NAT spezza quindi il principio di connettività End-to-End, uno dei principi cardinali che ispirò l'Internet delle origini, il quale sancisce che la connessione end-to-end tra due host non deve dipendere da informazioni di stato interne alla rete; ovvero che le informazioni relative alla connessione end-to-end dovrebbero essere contenute soltanto nei punti terminali della comunicazione.
  • Questa limitazione è stata vista per anni come una funzionalità di sicurezza; oggi è evidente quanto questa affermazione sia falsa: si pensi alle implicazioni di sicurezza legate ai protocolli e alle reti peer-to-peer che usano server di terze parti (spesso gestiti da organizzazioni sconosciute o con scopi discutibili), per mettere in contatto gli hosts proprio aggirando il NAT.

6. NETWORK INTRUSION DETECTION

  • I sistemi di intrusion detection di rete (network IDS) o di "defense in depth" sono dei dispositivi di sicurezza di perimetro che spesso in aggiunta al firewall tentano di individuare eventuali attacchi a livello applicazione che possono essere sfuggiti al filtraggio del firewall. In commercio si trovano dispositivi ibridi che svolgono allo stesso tempo funzioni di firewall, antivirus e intrusion detection, ma tutti sono classificabili in due categorie base: i sistemi basati sulle firme (signature) e sistemi basati sulle anomalie (anomaly).
  • La tecnica basata sulle firme è simile a quella utilizzata per il rilevamento dei virus, mentre i sistemi basati sul rilevamento delle anomalie utilizzano un insieme di regole che permettono di distinguere ciò che è "normale" da ciò che è "anormale" secondo un profilo di utilizzo predefinito o dinamico (aggiornato cioè tramite processi di "learning").
  • L'intrusion detection di rete presenta una serie di problemi legati alla gestione della granularità delle regole di filtraggio.
  • Spesso capita che flussi di traffico legati ad un attacco, siano legittimi in un diverso contesto: ciò richiede una continua attività di "tuning" delle regole alle esigenze della rete e degli utenti, attività che - qualora non effettuata correttamente - rende inefficaci i sistemi di intrusion detection a causa della grande quantità di falsi allarmi o di attacchi non rilevati.
  • Per quanto detto finora è evidente che un aspetto imprescindibile della sicurezza perimetrale, realizzata tramite firewall-NAT e intrusion detection, è legato alla necessità di identificare correttamente il perimetro a cui applicare i controlli.
  • Di conseguenza la "deperimeterizzazione", ovvero l'erosione dei confini fisici, logici e amministrativi delle reti, di cui tratteremo più avanti, causa una certa difficoltà nell'applicare strategie di sicurezza perimetrale.

7. SICUREZZA END-TO-END

  • Comunemente con il termine "sicurezza end-to-end" ci si riferisce alla protezione della connessione tra nodi terminali di una comunicazione.
  • Talvolta il termine è riferito in senso più ampio ad una strategia di protezione "host-based", ovvero dove tutti i componenti della protezione (ad esempio controllo accessi, firewalling, antivirus) sono installati sull'host che si vuole proteggere, rendendo non necessari o addirittura superflui i servizi di sicurezza eventualmente forniti dalla rete.
  • La sicurezza "end-to-end" si ottiene tramite applicazioni, protocolli e meccanismi implementati esclusivamente sui punti terminali (endpoints) di una connessione e si basa innanzitutto sulla corretta identificazione delle entità su entrambi i lati della comunicazione e sulla protezione del flusso dati tramite protocolli sicuri e algoritmi di cifratura, con l'obiettivo di garantire confidenzialità e integrità dell'informazione. I componenti essenziali di uno schema di sicurezza end-to-end sono:
    • Autenticazione: l'identità di entrambi i nodi terminali deve essere nota e verificata mutuamente; ciò può avvenire ad esempio tramite username e password, oppure tramite certificati digitali.
    • Protocolli: i protocolli sono utilizzati per fornire le funzioni di sicurezza necessarie alla protezione dell'informazione (ad esempio negoziazione delle chiavi di cifratura, encryption e verifica dell'integrità dei dati) per una data connessione. Esempi di protocolli per la sicurezza end-to-end sono IPSEC o HTTPS.
    • Algoritmi: gli algoritmi vengono utilizzati dai protocolli sicuri per proteggere i dati, attraverso funzioni matematiche di trasformazione (cifratura) o hash (controllo integrità). Esempi di algoritmi di sicurezza molto utilizzati sono AES (Advanced Encryption Standard), DES (Digital Encryption Standard), SHA (Secure Hash Algorithm) e MD5 (Message Digest 5).
    • Implementazione: i nodi che utilizzano protocolli sicuri devono essere essi stessi sicuri, ad esempio non essere infettati da virus o malware che possono vanificare l'uso delle protezioni.
    • Utenti: gli utenti che utilizzano sistemi di protezione end-to-end sono in larga parte responsabili della corretta applicazione degli strumenti di sicurezza, di conseguenza devono essere in grado di comprenderne il funzionamento e l'utilizzo.
  • Durante una sessione end-to-end sicura, i nodi terminali hanno garanzia che i dati che si scambiano non sono visibili o modificabili da nessun altro.
  • Tuttavia, questa certezza si basa sull'assunzione che tutti i componenti sopra menzionati siano correttamente implementati: diversamente la protezione potrebbe rivelarsi inefficace. L'esempio più concreto è dato da una connessione HTTPS ad un server web.
  • L'autenticazione tra client e server avviene tramite scambio di certificati digitali; una volta autenticati i due nodi proteggono la comunicazione tramite cifratura.
  • Se l'utente non è in grado di comprendere il meccanismo di autenticazione tra client e server, la sicurezza svanisce. È questo il caso, ad esempio, degli attacchi di phishing. Un sito web legittimo (ad esempio quello di una banca) viene riprodotto sul server controllato da chi compie l'attacco.
  • Se l'utente non è in grado di accorgersi che il certificato proposto dal server non è valido, e quindi consente al browser Internet di continuare la negoziazione, da quel momento la connessione sarà si protetta, ma con il server fasullo.
  • Da quel momento in poi, le informazioni inviate dall'utente (ad esempio credenziali di accesso alla banca online) finiranno inevitabilmente nelle mani del malfattore.
  • Analogamente, se il computer da cui si effettua la connessione non è sicuro, la protezione può essere inefficace.
  • Ad esempio, se sul PC è installato un keylogger (software che memorizza tutte le battute sulla tastiera), le credenziali di accesso ai servizi utilizzati saranno salvate su un file, a disposizione dell'hacker che ha installato il software, indipendentemente dalla corretta protezione della comunicazione. Oppure, se il browser Internet è stato manomesso, potrebbe accettare come valido un certificato digitale in realtà fasullo.

8. TLS E SSL

  • Transport Layer Security (TLS) e il suo predecessore Secure Sockets Layer (SSL) sono dei protocolli crittografici che forniscono servizi di confidenzialità e integrità dei dati alle comunicazioni tra due applicazioni.
  • TLS e SSL cifrano la comunicazione dalla sorgente alla destinazione (end-to-end) sul livello di trasporto. Ciò avviene utilizzando protocolli di encryption simmetrici che utilizzano una chiave di cifratura univoca e generata per ogni sessione.
  • L'autenticazione invece utilizza sistemi di cifratura asimmetrici o a chiave pubblica, ad esempio tramite certificati digitali. Un tipico utilizzo di TLS è nel browser Internet, nella connessione ad un server tramite protocollo HTTPS. In questo caso l'autenticazione è spesso unilaterale, cioè il client autentica e riconosce il server e non viceversa.
  • L'autenticazione del server da parte del browser avviene tramite validazione del certificato digitale presentato dal server al browser nella fase di attivazione della sessione: il browser è in grado di riconoscere l'autenticitàdel certificato (ovvero se questi è stato rilasciato da una delle Certification Authority riconosciute dal browser), e verifica che il certificato sia stato rilasciato effettivamente per il sito a cui ci si sta connettendo.
  • Se la fase di verifica fallisce, il browser segnala l'anomalia e richiede un intervento manuale da parte dell'utente, il quale deve decidere se proseguire e stabilire la sessione con il sito non autenticato oppure interrompere la connessione; se invece la fase di verifica va a buon fine, il server è autenticato e viene negoziata una chiave di sessione per cifrare le comunicazioni successive.
  • Si noti come in questo caso l'utente debba conoscere almeno i principi base del funzionamento del protocollo di protezione, ed essere in grado di valutare se e quando consentire al browser di negoziare una sessione con un sito web non autenticato.

9. SECURE-VPN

  • Definire il concetto e le varie accezioni di VPN (Virtual Private Network) richiederebbe un trattato a parte. Comunemente con il termine VPN ci si riferisce a reti private virtuali sicure [1].
  • Una VPN è una connessione sicura e privata realizzata al di sopra di una rete pubblica e generalmente non sicura.
  • Le connessioni VPN utilizzano protocolli di tunnelling ed encryption per assicurare confidenzialità e integrità dei dati trasportati. I nodi che utilizzano una VPN devono possedere entrambi l'hardware e il software necessari a realizzare un tunnel criptato. Un tunnel è un percorso virtuale attraverso una o più reti.
  • Il tunnelling è realizzato mediante "incapsulazione" di pacchetti all'interno di altri pacchetti.
  • Esempi di protocolli di tunneling sono:
    • PPTP (Point-to-Point Tunneling Protocol): progettato per connettività client/server, realizza una connessione punto a punto singola tra due computer. Lavora a livello di rete e funziona solo su reti IP
    • L2TP (Layer2 Tunneling Protocol): simile a PPTP, è in grado di funzionare su reti non IP ed è spesso utilizzato assieme ad IPSec per realizzare connessioni sicure
    • IPSec: gestisce connessioni multiple, fornisce autenticazione ed encryption, lavora a livello di rete e si appoggia su reti IP.
  • Protocolli ed algoritmi di sicurezza sono generalmente sicuri ed affidabili: nella catena di componenti citata precedentemente, gli anelli deboli sono rappresentati dall'implementazione e dagli utenti.
  • Se si guarda al problema dal punto di vista dell'utente, la principale preoccupazione è relativa alla presenza di malware o vulnerabilità sulla propria macchina.
  • Un malware in grado di prendere il controllo del PC prima che la connessione sicura venga attivata, rende di fatto inutile l'utilizzo di qualsiasi funzionalità di sicurezza.
  • Purtroppo non è facile individuare la presenza di malware o vulnerabilità, neanche per gli addetti ai lavori. Inoltre, l'utente deve avere un minimo di conoscenze sufficiente a permettergli di utilizzare gli strumenti a sua disposizione in modo corretto: la mancanza di un livello di consapevolezza opportuno, può portare l'utente a compiere azioni che danno luogo a pericolose falle nei sistemi di protezione.
  • Dal punto di vista dell'operatore di rete, un utilizzo esclusivo di strategie sicurezza end-to-end pone una serie di problemi legati al fatto che i nodi non sono direttamente controllabili, quindi sono potenzialmente "non-trusted".
  • L'operatore deve essere in grado di consentire l'accesso alla rete soltanto ai quei nodi che rispettano determinate politiche (l'insieme di tecnologie e protocolli che permettono di controllare l'accesso di un nodo ai servizi di rete sulla base del rispetto di politiche di sicurezza si chiama NAC, Network Admission Control). In aggiunta a ciò, laddove il traffico end-to-end è criptato, l'operatore di rete non è in grado di controllarlo e quindi assicurarsi che non contenga malware, virus o altri contenuti potenzialmente pericolosi.
  • Al di là delle tecnologie utilizzate, molta parte dell'efficacia di questo approccio dipende dall'utente, che deve essere in grado di comprendere ed utilizzare correttamente i meccanismi di sicurezza, e dall'implementazione, che deve essere fatta in un ambiente sicuro e controllato.

10. DE-PERIMETRIZZAZIONE

  • I modelli di business attuali e futuri richiedono crescente connettività al di fuori della rete aziendale, per supportare nuovi modi di lavorare orientati alla collaborazione e alla condivisione efficiente delle informazioni.
  • Le aziende devono consentire l'accesso ai dati non solo ai propri dipendenti ma anche a partners, sedi distaccate, contractors, e clienti; il tutto in modo flessibile, economico e supportando una crescente richiesta di mobilità, accresciuta dalla disponibilità a prezzi accessibili di dispositivi portatili dotati di indirizzo IP e con funzioni di office automation.
  • Inoltre, la crescente disponibilitàdi reti veloci a prezzo contenuto rende possibile lo svilupparsi di nuove modalità per la fornitura di servizi IT che, pur basandosi su tecnologie tradizionali, rivoluzionano l'approccio tradizionale e sfruttano economie di scala per minimizzare i costi di investimento e manutenzione, massimizzando flessibilità e scalabilità: è il caso dei vari modelli di cloud computing, orientati a fornire servizi IT mediante condivisione di risorse hardware e software, spesso basandosi su tecniche di virtualizzazione e calcolo distribuito.
  • In quest'ottica si assiste ad uno scollamento tra i confini legali, commerciali e geografici delle organizzazioni e le loro infrastrutture di rete, il che comporta una certa difficoltà nell'applicare strategie di sicurezza perimetrale. I sostenitori della de-perimetrizzazione sottolineano la maggiore agilità che questa consentirebbe alle organizzazioni, e teorizzano il passaggio ad architetture "collaboration oriented" (COA) in risposta alle pressioni generate dai nuovi modelli di business.
  • La teoria della de-perimetrizzazione enfatizza il ruolo della protezione dei dati, considerando a priori la rete come un ambiente ostile, e focalizzando la protezione su protocolli e applicazioni. In realtà, molte delle minacce informatiche già oggi trascendono dal concetto di sicurezza di perimetro, rendendo la de-perimetrizzazione un dato di fatto.
  • Ad esempio alcuni worms (un tipo di virus) come Code Red o SQL Slammer, sono in grado di attraversare i firewalls per sfruttare successivamente le vulnerabilità dei sistemi attaccati; oppure gli "script virus" che si replicano attraverso la posta elettronica, attraversano spesso senza difficoltà le protezioni di perimetro. In questo contesto, le organizzazioni tentano di adattare le infrastrutture esistenti, aggiungendo "strati" di protezione o implementando reti private virtuali (VPN) per estendere la connettività locale su scala geografica.

11. NEUTRALITÀ DELLA RETE

  • Se si guarda al problema in una prospettiva di neutralità delle reti rispetto ai contenuti trasportati, il ruolo dei controlli sul perimetro potrebbe essere finalizzato all'esigenza di garantire un trasporto sicuro ed affidabile, misurato secondo parametri certi e condivisibili; implementando eventualmente meccanismi per lo scambio di informazioni di gestione tra reti ed amministrazioni diverse.
  • Uno degli aspetti più importanti è riuscire a garantire la disponibilità dei servizi di rete anche in condizioni di scadimento della qualità di servizio: ovvero l'operatività dei servizi critici deve essere garantita anche in condizioni di degrado dell'infrastruttura di rete. In questo contesto, l'obbiettivo primario all'interno delle reti è quello di fornire un servizio di trasporto con la più alta "availability" possibile, offrendo agli utenti robuste funzionalità di gestione della qualità del servizio e prioritizzazione. In quest'ottica, la sicurezza di perimetro ha lo scopo di garantire un livello minimo di servizio anche in condizioni di attacco all'infrastruttura (DoS, Denial of Service), quindi trasportare soltanto flussi autenticati e autorizzati, cioè dati di cui si è in grado di verificare provenienza e legittimità.
  • Un'evoluzione in questa direzione richiede innanzitutto un supporto tecnologico che permetta di guardare ai punti di interconnessione tra reti come a nodi in cui si negoziano dei parametri di qualità di servizio e sicurezza.
  • È necessario cioè supportare in modo adeguato metodi e standard per lo scambio di informazioni di servizio tra reti connesse, che vadano al di là dello scambio di tabelle di routing.
  • Le organizzazioni (ma anche i service provider) responsabili dell'amministrazione di una rete devono poter porre dei limiti al traffico di alcune applicazioni, semplicemente per rispettare i livelli di servizio negoziati (e pagati) dal cliente, o perché non è possibile avere il controllo dei nodi terminali della comunicazione (e quindi stabilire correttamente la priorità necessaria). In questi casi non è realistico pensare che si possa prescindere completamente da soluzioni di sicurezza "network based" o di perimetro.
  • E neppure immaginare che la soluzione sia nel controllo dei contenuti a livello di rete (totalmente inefficace se le connessioni end-to-end sono criptate, come nel caso di comunità che usano reti private virtuali (VPN) per lo scambio di file su Internet).

12. RUOLO DI IPV6

  • Una certa resistenza nei confronti della "deperimetrizzazione" è da ricercarsi soprattutto nell'immaturità dei sistemi di protezione end to end, e nell'incapacità di IPv4 di supportare efficientemente mobilità e richiesta di indirizzi pubblici, costringendo all'utilizzo del NAT e promuovendo di fatto una maggiore frammentazione del livello di rete: dove c'è IPv4 c'è il NAT, e dove c'è il NAT si può individuare un perimetro.
  • Con la sua enorme disponibilità di indirizzi (128 bit di indirizzamento, vale a dire un numero pari circa a 34 seguito da 37 zeri), IPv6 semplifica l'assegnazione di spazi di indirizzamento pubblico e permette di superare i limiti introdotti dal NAT rendendolo di fatto superfluo.
  • Anche il routing, l'autoconfigurazione di indirizzi IP e la rinumerazione di reti intere risultano semplificati rispetto a IPv4, di fatto riducendo la frammentazione dello spazio indirizzi che si riscontra invece nell'attuale Internet.
  • La mobilità di nodi ed intere reti è ampiamente supportata in IPv6 (RFC 3775); un nodo mobile è in grado di mantenere attive connessioni a livello di trasporto anche quando cambia la rete a cui è connesso (roaming).
  • Per ottenere questo risultato, i nodi mobili hanno un indirizzo che mantengono sempre e attraverso il quale sono costantemente raggiungibili. Per quanto attiene la sicurezza, IPv6 supporta nativamente (e non opzionalmente, come IPv4) la suite di protocolli IPSEC.
  • Ciò significa che offre un supporto robusto alla sicurezza end-to-end, permettendo di stabilire connessioni sicure (in termini di autenticazione, confidenzialità e integrità) tra peer diversi.
  • Quando due nodi vogliono stabilire una connessione protetta utilizzando IPSEC, si autenticano vicendevolmente (utilizzando credenziali condivise o certificati digitali) e negoziano una serie di algoritmi e parametri per la protezione dell'integrità e della confidenzialità dell'informazione (ad esempio algoritmi di hash oppure di cifratura, o entrambi), stabilendo delle "security association" che vengono poi utilizzate per proteggere il flusso dati.

13. CONCLUSIONI

  • Non vi è dubbio sul fatto che molti dei modelli di sicurezza attualmente utilizzati sono in affanno: scalabilità e flessibilità sono costose da ottenere e da mantenere, la separazione e segregazione tra reti diverse divengono sempre più difficili da gestire.
  • Spesso gli utenti finali sono sottoposti a limitazioni nella fruizione dei servizi imposti dalla sicurezza, o devono scendere a rischiosi compromessi per ottenere la flessibilità richiesta. In realtà non è possibile prescindere né dalla sicurezza di perimetro, né da quella end-to-end. Protocolli sicuri, controllo della qualità del servizio, supporto alla mobilità sono essenziali per il soddisfacimento dei requisiti attuali: ma una completa erosione del perimetro basata solo su questi aspetti, con nodi connessi ad una rete di trasporto non sicura, non è pensabile né auspicabile.
  • Un approccio promettente è quello che considera debolmente accoppiate l'infrastruttura di trasporto di rete e l'informazione che vi è trasportata: in quest'ottica, si trasferisce il concetto di perimetro di sicurezza su di un piano virtuale, definito a livello logico; la deperimetrizzazione diventa in effetti una "riperimetrizzazione", ovvero ridefinizione del perimetro.
  • Secondo questo modello, i nodi utilizzano il trasporto di rete per stabilire link peer-to-peer sicuri e affidabili, e l'infrastruttura di sicurezza (agnostica rispetto alla rete sottostante), è costruita al di sopra, a livello logico.
  • I concetti di "overlayed network" o "protected core" si basano appunto sulla creazione di reti o comunità di utenti e sistemi che trascendono dall'infrastruttura fisica, collegando tra loro come se fossero in rete locale nodi sparsi anche su scala planetaria.
  • In questo contesto, è necessario ripensare le architetture di rete in un'ottica di "deperimetrizzazione" o "riperimetrizzazione"; in entrambi i casi, il fattore chiave per il successo è il pieno ritorno alla connettività globale "end-to-end" che ispirò l'Internet originario, che solo l'adozione su larga scala di IPv6 può restituire.

Note

  • [1] Esistono VPN non sicure, quindi basate su tunneling di connessioni in chiaro, ovvero senza encryption. Ciò è utile quando necessita trasportare su rete IP protocolli non routabili (ad esempio NetBEUI) oppure per estendere reti locali su scala geografica, laddove non sussista un requisito di confidenzialità o integrità dei dati trasportati.

Diego Merani

  • Funzionario internazionale presso il Centro di Ricerche della NATO della Spezia (NURC).
  • È responsabile del progetto e dell'implementazione dei sistemi di telecomunicazioni in supporto del programma scientifico.
  • Si occupa inoltre di ricerca nell'ambito delle reti marittime di sensori, con particolare attenzione alle problematiche di Information Assurance e Delay Tolerant Networking.
  • Partecipa alle attività della Research & Technology Organization della NATO in materia di strategie per la ricerca nel campo della sicurezza dei sistemi informativi network-centric.
  • È certificato CISSP e CCSP.
  • È membro di AFCEA, ACM ed ISOC.

cc

Techn 2010
indice