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.
|