I fondamenti della sicurezza
7
ORGANIZZAZIONE DEL DOCUMENTO
Il presente documento è suddiviso in tre grandi aree tematiche.
Sicurezza che si occupa di offrire una introduzione all’argomento sicurezza;
comprende una parte introduttiva necessaria ad inquadrare l’utente a cui questo
documento si rivolge, includendo una classificazione dei beni di un sistema
informatico e i tipi di minacce a cui è sottoposto.
Successivamente l’attenzione viene spostata sulle politiche da definire per
implementare un sistema sicuro; ed infine questa prima area si conclude con una
descrizione dei vari meccanismi che ci permettono di attuare le politiche definite.
La seconda area tematica trattata prende il nome di linee guida tecniche e
comprende tutti gli aspetti legati ai dispositivi coinvolti nella realizzazione di un
sistema informatico distribuito, quali reti, firewall, VPN; concludendo il discorso
con una ampia carrellata sui sistemi operativi che ci permettono di utilizzare questi
dispositivi.
L’ultima area riguarda le applicazioni, si esaminano quindi i sistemi necesari
ad implementare server web, a gestire in maniera sicura la posta elettronica e a
proteggere le risorse del sistema da particolari intrusioni quali possono essere i
virus.
Una breve definizione delle implicazioni legali riguardanti il trattamento dei
dati tramite i modelli di sistemi discussi nel corso del documento stesso; e l’analisi
dei requisiti di sicurezza fisica, chiudono questo studio sulla sicurezza delle reti e
dei sistemi.
I fondamenti della sicurezza
8
CAPITOLO 1
SICUREZZA
1 I FONDAMENTI DELLA SICUREZZA
La sicurezza, come tutte le scienze informatiche, si compone di una parte
teorica e di una applicativa.
Una ottima conoscenza della teoria che governa e regola tutte le funzioni di
sicurezza, permette di offrire un livello maggiore di protezione, ottimizzando al
meglio l’impiego dell’hardware e del software preposto per la tutela del business
dell’organizzazione.
Questo capitolo, illustra quali siano le motivazioni che spingono una azienda
a preoccuparsi della propria sicurezza; l’attenzione viene poi puntata su quali
siano i beni da proteggere; particolare importanza riveste la salvaguardia delle
informazioni e la loro classificazione sulla base dell’importanza che rivestono per
l’organizzazione.
La protezione di una informazione passa attraverso la conoscenza delle
minacce a cui è soggetta e, alla definizione dei ruoli e delle responsabilità per
ciascun utente coinvolto nell’utilizzo di tale informazione.
Quindi, solo conoscendo chi e che cosa può arrecare danni e avendo
personale preparato è possibile mantenere alto il livello operativo
dell’organizzazione.
I fondamenti della sicurezza
9
1.1 Introduzione
La continua evoluzione e la crescita degli strumenti informatici e telematici
all’interno delle organizzazioni ha permesso la realizzazione e l’implementazione
di soluzioni che hanno migliorato l’approccio al lavoro e la qualità dei servizi offerti,
portando innumerevoli vantaggi in fatto di scambio e di distribuzione delle
informazioni.
Questi cambiamenti hanno avuto profonde implicazioni: da una situazione di
sistemi locali, dove si avevano in considerazione solo gli elaboratori presenti
all’interno dell’azienda, si è passati ad una situazione più globale.
Il passaggio a sistemi sempre più interconnessi ha esposto questi ultimi ad
un numero crescente di attacchi; è in questa situazione di continua minaccia che
le aziende incominciano a porsi il problema della sicurezza delle proprie strutture,
dei propri servizi e delle proprie informazioni.
La progressiva globalizzazione ha quindi sottolineato il ruolo chiave
dell’informazione come strumento e veicolo principale del cambiamento.
1.1.1 Motivazioni: perché serve la sicurezza
L’uso delle reti telematiche è necessario alle organizzazioni per andare
incontro alle esigenze di comunicazione ed elaborazione dei dati.
Poiché le informazioni che si vogliono proteggere transitano sulle reti e sui
computer, il rischio che si corre è la possibilità che vi siano intrusioni nel sistema,
e che i dati trasmessi siano modificati abusivamente o vengano intercettati,
causando alla azienda danni in termini di credibilità e profitti.
La sicurezza ha quindi lo scopo di proteggere le risorse di valore di
un’organizzazione attraverso l’applicazione di soluzioni specifiche e sempre
adeguate, eliminando o comunque riducendo i disagi legati alla manomissione del
sistema informatico.
I fondamenti della sicurezza
10
1.1.2 Confidenzialità, integrità, disponibilità
I servizi che vengono realizzati impiegando più computer interconnessi tra
loro permettono la condivisione controllata dell’informazione tra più utenti: in un
ambiente di questo tipo si deve tenere presente che non tutti gli utenti possono
avere le stesse possibilità di accesso alle informazioni.
E’ necessario quindi implementare meccanismi che garantiscano il rispetto
dei criteri di sicurezza.
Si possono individuare tre principi fondamentali su cui si basa la sicurezza:
ξ Confidenzialità ovvero accesso alle informazioni solo per coloro ai quali le
informazioni sono destinate;
ξ Integrità ovvero la capacità di trasferire le informazioni in modo che non
vengano alterate;
ξ Disponibilità ovvero garanzia dell’accesso controllato delle informazioni.
La confidenzialità di una informazione implica che solo gli utenti autorizzati
possano accedere alle informazioni, l’integrità assicura che le modifiche alle
informazioni siano controllate per garantirne l’accuratezza e la completezza, infine
la disponibilità è un principio che garantisce che le informazioni debbano essere
disponibili agli utenti autorizzati nel caso in cui vengano richieste.
La confidenzialità delle informazioni è solitamente un problema meno
importante rispetto all’integrità, anche se nel caso di informazione critica che deve
essere trasferita sulla rete si deve provvedere alla sua criptatura.
A supporto della sicurezza informatica, oltre ai tre principi appena citati, si
introduce il concetto di
ξ Non ripudio ovvero garantire al destinatario la non ripudiabilità della
manifestazione di volontà espressa dal mittente con l’invio del messaggio.
Il principio del non ripudio consente al ricevente di essere certo dell’identità
del mittente e a quest’ultimo di sapere se il destinatario ha realmente ricevuto i
dati. Il non ripudio è un problema di difficile risoluzione, a causa degli aspetti legali.
Un altro importante principio è:
ξ Autenticazione ovvero garantire il coinvolgimento delle entità coinvolte nella
comunicazione.
In conclusione, per la realizzazione della sicurezza informatica occorre
tenere ben presente i seguenti obiettivi:
I fondamenti della sicurezza
11
ξ prevenzione dell’utilizzo indebito di informazioni riservate - confidenzialità;
ξ prevenzione dell’alterazione o della manipolazione indebita delle informazioni
- integrità;
ξ prevenzione dell’impossibilità di accesso a dati o a risorse - disponibilità;
ξ assicurazione dell’identità di chi invia e di chi riceve i dati - autenticazione.
ξ certezza dell’avvenuta transazione dei dati - non ripudio.
1.1.3 Definizione di sistema sicuro
Dopo aver inquadrato la situazione informatica e fornito alcune definizioni
utili a comprendere l’importanza che le informazioni rivestono all’interno di una
azienda e quali principi ne condizionano l’utilizzo da parte degli utenti, si può
passare alla definizione di sicurezza informatica e conseguentemente di sistema
sicuro.
In generale si considera la sicurezza informatica come una disciplina che
permette ad una azienda di proteggere i propri beni da eventi, accidentali o
intenzionali, che possono produrre danni, parziali o totali, ai beni stessi.
La sicurezza può essere vista in diversi modi: può essere un modo per
prevenire perdite future oppure un modo per gestire i rischi relativi alla tecnologia,
o anche un modo per evitare che persone malintenzionate danneggino i sistemi.
Porsi il problema di garantire la sicurezza delle informazioni significa
chiedersi quali risorse si vogliono proteggere e da chi si cerca di difendere il
sistema.
Le risorse che si cercano di proteggere sono i processi, i file e i dati che
transitano sulle reti e sui computer, mentre si tenta di difendere il sistema da
attacchi alla confidenzialità, integrità e disponibilità delle informazioni.
La Sicurezza informatica è la protezione dell’integrità, della disponibilità,
della confidenzialità dell’informazione automatizzata e delle risorse
usate per introdurre, memorizzare, processare e comunicare tale
informazione.
I fondamenti della sicurezza
12
Quindi un sistema si dice sicuro quando è in grado di garantire il
soddisfacimento delle proprietà di sicurezza informatica.
1.2 Informazione sensibile
Lo scopo della sicurezza dei computer è quello di proteggere le informazioni
e le risorse di valore di un’azienda. Più precisamente
Si definisce informazione sensibile qualsiasi informazione la cui perdita,
utilizzo errato, accesso non autorizzato o modificazione, possa avere
effetti dannosi sull’interesse dell’organizzazione o la riservatezza degli
individui.
Le informazioni che circolano in un sistema devono essere protette e, per
garantire a ciascuna di esse un certo livello di sicurezza, si ricorre ad una
suddivisione in quattro classi:
ξ classe 1: informazioni pubbliche e non classificate;
ξ classe 2: informazioni interne;
ξ classe 3: informazioni confidenziali;
ξ classe 4: informazioni segrete.
Si va dalla classe 1 (sensibilità più bassa) alla classe 4 (legata alle
informazioni più importanti).
Occorre tenere presente anche i seguenti concetti:
ξ tutte le informazioni hanno un proprietario;
ξ il proprietario delle informazioni deve classificarle usando le classi di
sicurezza sulla base degli obblighi legali e delle esigenze politiche di affari;
ξ se il proprietario non è sicuro a quale livello assicurare le informazioni deve
usare il livello 3;
ξ il proprietario deve dichiarare chi ha il permesso di accedere alle
informazioni;
ξ il proprietario è responsabile delle informazioni e deve renderle sicure in
accordo con la classificazione utilizzata.
I fondamenti della sicurezza
13
Una volta che le informazioni presenti nel sistema sono state classificate in
una delle possibili classi, il sistema può essere installato e configurato in modo da
essere conforme alle direttive imposte dalla classificazione delle informazioni.
Inoltre, poiché ogni classe è un superset delle classi precedenti, se un
sistema è considerato di classe 3, il sistema deve seguire le direttive delle classi 1,
2 e 3.
1.2.1 Classe 1: informazioni pubbliche e non classificate
Le informazioni appartenenti a questa classe possono essere rese pubbliche
senza avere implicazioni sull’attività dell’azienda; l’integrità delle informazioni non
è vitale e la perdita del servizio dovuta ad attacchi è un pericolo che si può
accettare.
I requisiti di questa classe sono legati principalmente al buon senso, ma si
deve comunque garantire un livello minimo di sicurezza e protezione, altrimenti si
corre il rischio che i sistemi sui quali sono presenti queste informazioni vengano
usati come punto dal quale sferrare attacchi a sistemi contenenti informazioni più
importanti.
1.2.2 Classe 2: informazioni interne
Si rende necessario proibire l’accesso esterno a queste informazioni, anche
se potrebbero in seguito divenire pubbliche.
L’integrità dei dati è importante, ma non vitale; l’accesso interno è di tipo
selettivo, cioè solo personale scelto può accedere a queste informazioni.
La possibilità che i dati interni siano visti da qualche fonte esterna non
provoca conseguenze critiche (al massimo un po' di imbarazzo).
Le informazioni interne richiedono identificazione e autorizzazione da parte
degli utenti e controllo dell’accesso degli stessi agli oggetti presenti nel sistema,
cioè dati e applicazioni.
I fondamenti della sicurezza
14
1.2.3 Classe 3: informazioni confidenziali
Questa classe comprende informazioni che sono confidenziali per l’azienda e
devono essere protette da accessi esterni.
L’accesso a queste informazioni da parte di persone non autorizzate può
influenzare l’operatività dell’azienda causando una importante perdita finanziaria e
fornendo alla concorrenza un vantaggio significativo.
L’integrità dei dati è vitale: occorre soddisfare i requisiti legati alla
trasmissione sicura dei dati e, in alcuni casi particolari, occorre fare in modo che il
ricevente sia assolutamente sicuro della provenienza delle informazioni (non
ripudio dell’origine) e che chi invia le informazioni sia sicuro che queste siano
giunte a destinazione (non ripudio del ricevente).
Occorre imporre l’accreditamento degli utenti e monitorare il sistema con tool
di auditing per segnalare eventuali pericoli e controllare che un oggetto, usato da
una determinata persona, sia inizializzato prima che venga usato da un altro
utente; così facendo non è possibile compromettere la sicurezza effettuando il
riutilizzo delle stesse applicazioni e informazioni (object re-use).
1.2.4 Classe 4: informazioni segrete
L’accesso non autorizzato a queste informazioni, dall’esterno o dall’interno, è
un aspetto critico per l’azienda.
L’integrità dei dati è vitale ed il numero di persone che vi può accedere è
strettamente limitato; esistono regole molto restrittive che devono essere rispettate
nel momento in cui si usano questi dati.
Anche questa classe, come le classi 2 e 3, richiede l’autenticazione e
l’identificazione degli utenti, esegue il controllo dell’accesso ai dati e verifica che il
sistema si comporti secondo le specifiche di progetto.
In questa classe, per ogni oggetto del sistema, vengono definite delle
etichette di sensibilità, o label, che servono per rappresentare il livello di sicurezza
di ogni specifico oggetto alle quali sono associate.
I fondamenti della sicurezza
15
1.3 Minacce
Per dare una idea di cosa siano le minacce alla sicurezza di un sistema
partiamo dalla definizione stessa di minaccia:
entità o evento che può danneggiare un sistema informatico attraverso
la rivelazione, la modifica o la distruzione di informazioni sensibili, o
negando i servizi critici.
Una minaccia può essere una persona, una cosa (ad esempio software
difettoso), o un evento (come la mancanza di alimentazione).
Le minacce possono essere classificate in base alla loro provenienza
(interna o esterna all’organizzazione), in base alla loro natura (intenzionale o
accidentale), oppure in base la fatto che siano strutturate o non strutturate.
Si definiscono minacce interne quelle che il personale interno porta al
sistema dell’organizzazione, minacce esterne quelle provenienti da Internet, da
concorrenti, da soci d’affari e da organizzazioni differenti che condividono le
risorse.
Le minacce accidentali includono danneggiamenti naturali e fisici non
intenzionali, dovuti generalmente ad una scarsa attenzione nell’utilizzo del
sistema.
Le minacce intenzionali comprendono, invece, danneggiamenti come la
criminalità informatica e lo spionaggio industriale.
Le minacce strutturate sono caratterizzate da attacchi contro il sistema
operativo e i protocolli di rete e da forti motivazioni finanziarie, politiche o
ideologiche.
Si parla di minaccia non strutturata quando vi è una intrusione senza
motivazioni o senza competenza tecnica.
I fondamenti della sicurezza
16
1.3.1 Tipi di attacchi
Quando una minaccia riesce a causare un danno al sistema informatico,
sfruttando una vulnerabilità, si presenta un rischio.
Il rischio è la possibilità che accada un evento non compatibile con il
rispetto della politica dell’organizzazione.
Un tentativo di accesso o di uso non autorizzato viene detto attacco.
Entriamo più nel dettaglio e analizziamo alcuni tipi di attacchi.
EAVESDROPPING: è realizzato con tool che ascoltano e catturano i
pacchetti che viaggiano sulla rete. Si parla di spionaggio di rete (network
snooping) e di fiutamento dei pacchetti (packet sniffing); le informazioni quali
password e userid che vengono catturate con queste tecniche sono poi utilizzate
per portare attacchi alla rete.
Un metodo comune di «origliare» le comunicazioni è quello di catturare i
pacchetti TCP/IP o di altri protocolli e di decodificarne il contenuto usando un
analizzatore di protocollo.
DENIAL OF SERVICE (DoS): si tratta di un tentativo di negare i servizi di
rete o la rete stessa ai legittimi utenti. Il DoS ha varie forme; ne vediamo alcune:
ξ ping of death: modifica la porzione di header dell’IP indicando che ci sono più
dati nel pacchetto di quelli che effettivamente sono presenti, o eccede la
massima dimensione del pacchetto causando il crash del sistema;
ξ SYN flood: apre casualmente più porte TCP appesantendo le apparecchiature
di rete o i computer con finte richieste, negando così agli altri utenti la sessione
di collegamento;
ξ E-mail bomb: molti programmi consentono di inviare masse di e-mail a individui,
liste o domini monopolizzando i servizi di posta elettronica;
ξ CPU hogging: programmi quali virus o cavalli di Troia (Trojan horses) che
attaccano i cicli di CPU, la memoria o altre risorse negandole agli utenti;
I fondamenti della sicurezza
17
ξ Applet maligni: i programmi JAVA, javascript o ActiveX vengono eseguiti come
cavalli di troia o virus per distruggere o attaccare le risorse del computer;
ξ Chargen attack: stabilisce una connessione tra i servizi UDP producendo un
output di caratteri. Il servizio sull’host è connesso ad un servizio di echo sullo
stesso sistema oppure su di uno differente causando la congestione della rete;
ξ Land.c: programma che invia un pacchetto TCP SYN e specifica che l’indirizzo
dell’host bersaglio è da utilizzare sia come sorgente sia come destinazione.
ACCESSI NON AUTORIZZATI: un intruso può accedere in modo non
autorizzato alla rete di computer. Un obiettivo comune può essere quello di
ottenere l’accesso come root (in UNIX) o come amministratore (in Windows NT) ai
computer in rete. Un attacco specifico per ottenere l’accesso consiste nel catturare
una password cifrata o copiare il file delle password. Successivamente si tenta di
scoprire le password usando utility di sblocco; in caso di successo si ottiene, oltre
alla password, lo username da usare per accedere al computer. L’intruso può
anche forzare username e password finche non trova una combinazione che gli
consente l’accesso.
MANIPOLAZIONE DEI DATI: con la manipolazione l’intruso può vedere,
catturare e manipolare informazioni inviate su un canale di comunicazione;
attacchi specifici sono i graffiti che hanno l’obiettivo di vandalizzare un sito web
accedendo al server web alterandone le pagine.
MASQUERADE: attacchi mascherati. Con un attacco mascherato l’intruso
può manipolare i pacchetti TCP/IP per falsificare l’indirizzo IP, apparendo come un
altro utente. In questo modo l’intruso assume l’identità di un utente valido per
ottenerne i privilegi d’accesso. Un attacco specifico è IP spoofing: l’aggressore,
esterno alla rete, pretende di essere riconosciuto come utente autorizzato; l’intruso
può usare un indirizzo IP situato all’interno del range di indirizzi della rete, oppure
può usare un indirizzo IP esterno autorizzato. Normalmente un attacco di IP
spoofing è limitato all’inserimento di informazioni o comandi in un flusso di dati che
passa tra una applicazione client e una server o in una connessione peer-to-peer.
I fondamenti della sicurezza
18
Abilitando connessioni bidirezionali, l’intruso è costretto a cambiare tutte le tabelle
di instradamento che puntano all’indirizzo IP fasullo.
HIJACKING: dirottamento della sessione. L’intruso può inserire pacchetti di
dati falsi dopo aver stabilito una connessione. L’hijacking include IP spoofing,
manipolazione dell’indirizzo di sorgente o di destinazione su TCP/IP, predizione e
alterazione del numero di sequenza; l’intruso usa un analizzatore di protocollo per
osservare, predire e poi alterare il sequence number del pacchetto IP.
REROUTING: dirottamento. Questo attacco si verifica nel momento in cui
una comunicazione diretta ad un host viene deviata e reindirizzata ad un altro.
RIPUDIO: uno o più utenti coinvolti in una comunicazione, come ad esempio
una transazione finanziaria sicura, possono rifiutare la partecipazione mettendo a
repentaglio la transazione elettronica e l’accordo contrattuale.