6
connessa ad Internet ha proposto con forza anche il problema della sicurezza dei
network informatici.
Prima dell’avvento di Internet, le reti informatiche sfruttavano protocolli proprietari
sviluppati da varie ditte; tale situazione presentava alcuni inconvenienti come, ad
esempio, l’impossibilità di connettere dispositivi di aziende concorrenti, l’alto costo
delle apparecchiature informatiche usate e la relativa bassa diffusione dei vari
protocolli.
Internet ha cambiato radicalmente tale scenario: il protocollo TCP/IP, usato per la
connessione dei vari computer, è diventato praticamente lo standard di tutte le Lan, la
definizione del protocollo TCP/IP non solo non è proprietaria, ma è anche disponibile
pubblicamente ed infine i costi delle apparecchiature informatiche a cominciare dai PC
sono crollati drasticamente.
Tutto ciò ha fatto sì che chiunque possieda un computer possa accedere facilmente ad
Internet ed ai dettagli tecnologici degli standard su cui Internet si basa.
Sfruttando tali conoscenze molte persone cercano di sottrarre i dati sensibili delle
aziende per poterne ottenere un profitto illecito oppure per il puro gusto di essere stati
in grado di “bucare” le macchine su cui tali dati risiedono.
Come è naturale un presupposto fondamentale per lo sviluppo del commercio
elettronico, come di qualsiasi altro business che sfrutti Internet o le Lan TCP, è che le
informazioni che fluiscono nel mezzo informatico rimangano assolutamente riservate.
La divulgazione dei numeri di carta di credito con relativo intestatario, tanto per fare un
esempio, non dovrebbe mai avere luogo né durante la transazione né una volta che tali
numeri sono archiviati.
Le Lan pertanto, in un’epoca dove la parola d’ordine è integrazione a qualunque livello,
devono necessariamente prevedere dei sistemi di sicurezza che le riparino dagli attacchi
di persone non abilitate ad accedere alle macchine connesse alla Lan ed ai dati in esse
presenti.
7
2 - ESAME DEI POSSIBILI ATTACCHI
Gli attacchi di cui può essere vittima una rete informatica connessa ad Internet sono
molti e di natura estremamente varia; tali attacchi sostanzialmente sfruttano le
vulnerabilità del software, del sistema fisico e delle trasmissioni. Per prepararsi a tali
attacchi, ci si deve attendere che ogni potenziale intruso possa sfruttare tutte queste
vulnerabilità anche contemporaneamente per accedere ai dati e danneggiare il sistema.
Ad esempio, l’introduzione dei servizi Internet in una rete Lan può aprire falle nei
sistemi di sicurezza e tali falle possono essere utilizzate da utenti non autorizzati per
accedere alle risorse della rete aziendale: gli hacker possono intercettare i messaggi di
posta elettronica o possono inserire nel sistema virus od entrare in possesso di file.
Solitamente le reti connesse ad Internet sono soggette a cinque tipologie di attacchi.
1. INTERCETTAZIONE DEI PACCHETTI
Le reti Ethernet sono per loro natura estremamente vulnerabili a questi attacchi:
il protocollo Ethernet prevede di trasmettere su tutta la Lan i dati prodotti dai
vari attori della comunicazione.
Risulta pertanto abbastanza facile registrare il traffico di una Lan (packet
snooping): è sufficiente avere un computer fisicamente agganciato alla rete. Se
la Lan fosse implementata usando solamente cavi in fibra ottica sarebbe più
difficoltoso aggiungere un computer senza che nessuno se ne accorga ( durante
la connessione c’è un periodo in cui alcuni host sono isolati ). Con il cavo in
rame è invece più agevole aggiungere un host senza alterare assolutamente le
prestazioni della Lan, se poi si usano dei concentratori o degli hub è pressoché
impossibile notare che è stato aggiunto un nuovo cavo a cui è connesso un
computer. Il packet snooping pertanto è una tecnica che chiunque, anche senza
essere un bravo tecnico, può sfruttare per cercare di ottenere dall’analisi dei
pacchetti registrati la coppia di valori username e password di qualche utente.
Tale meccanismo di intercettazione dei dati non può essere facilmente bloccato
perché l’unico metodo di protezione consiste nel crittografare i pacchetti in
transito sulla Lan. Purtroppo tale soluzione non è sempre possibile in quanto le
8
performance di rete possono facilmente decadere se si crittografano tutti i dati.
Quindi per ottenere un livello di sicurezza accettabile bisogna selezionare
attentamente quali dati crittografare.
2. ATTACCHI ALLE PASSWORD
L’attacco alle password è uno dei più classici attacchi a cui sono soggette le
macchine di una rete. Il concetto fondamentale è che l’hacker cerca di scoprire
dopo una serie di tentativi un codice di login ed una password che gli permettano
di avere accesso al sistema. Solitamente chi cerca di entrare senza essere
autorizzato si avvale di programmi che provano in sequenza tutte le parole
presenti in un dizionario fino a trovare una password funzionante. Una volta
entrati è piuttosto facile riuscire a diventare root del sistema ottenendo il
controllo totale del sistema.
Un valido sistema di protezione può consistere nel realizzare una configurazione
degli host che non permetta di accettare più di un certo numero (basso) di login
non andati a buon fine.
3. ATTACCHI CHE SFRUTTANO DEBOLEZZE DEL PROTOCOLLO
TCP / IP
Gli attacchi che si basano sulle debolezze del protocollo TCP/IP permettono a
chi le implementa con successo l’impersonalizzazione di un host accreditato a
ricevere vari servizi all’interno della Lan.
TCP/IP Sequence Number Attack
Per stabilire una connessione TCP/IP, deve aver luogo un handshake a tre stadi
tra le due macchine che vogliono colloquiare. Ciascun pacchetto TCP contiene
in un campo particolare del suo preambolo un numero di sequenza che è unico
per ogni byte trasferito e serve a riordinare i dati una volta che il pacchetto è
giunto a destinazione. Quando un hacker conosce il pattern di variazione del
campo sequence number è relativamente facile per lui impersonare un host.
Infatti i passi che deve eseguire per impersonare un host sono grosso modo i
seguenti:
Passo1 L’intruso stabilisce una connessione valida con un server.
9
Passo2 L’intruso attacca generando una richiesta di connessione TCP usando
come indirizzo origine un indirizzo precedentemente ottenuto con la tecnica
dello snooping (probabilmente nel contempo blocca la macchina con tale
indirizzo con qualche altro tipo di attacco Denial of Service).
Passo3 Il server risponde alla richiesta di connessione. Il trusted host non è in
grado di rispondere perché sta subendo un DoS (o se risponde considera il
pacchetto SYN/ACK un errore ed invia un pacchetto di reset per la connessione
TCP)
Passo4 L’intruso attende un certo tempo per accertarsi che il server abbia inviato
la sua risposta e poi invia un sequence number. Se questo è corretto il
trasferimento dati può avvenire.
TCP/IP Session Hijacking
E’ un tipo di attacco simile al TCP/IP spoofing. L’intruso innanzi tutto monitora
una sessione attiva tra due host che stanno comunicando tra loro. Mentre i due
proseguono la comunicazione si inietta nella Lan del traffico che appaia agli
occhi di uno dei due computer come proveniente dall’altra macchina. L’host
autorizzato viene così tagliato fuori dalla comunicazione e l’intruso può
continuare la sessione con gli stessi privilegi del computer a cui ha rubato la
sessione.
Replay Attack
Tale sistema consiste nel registrare ed inviare nuovamente in un secondo tempo i
dati necessari per poter riuscire a superare uno schema di autenticazione presente
in qualche punto della Lan. Una volta che l’intruso ha ottenuto l’accesso, il
danno conseguente è fortemente legato alle motivazioni di quest’ultimo. Nel
caso migliore si tratta di una persona curiosa che non altera i dati confidenziali
presenti nella Lan, in quello peggiore le varie informazioni presenti nell’area in
cui l’intruso è penetrato possono essere alterate, cancellate o divulgate.
10
Tutte le tipologie di attacchi descritte in questa sezione sono notevolmente
difficili da rilevare e da bloccare. Essenzialmente l’uso di un router che
implementi tecniche di packet filtering o l’uso di un firewall appropriatamente
configurato, unitamente ad una topologia di rete attentamente studiata sono
l’unico mezzo con cui si possono proteggere le macchine presenti in una Lan da
questi attacchi.
4. Denial of Service (DoS)
Il DoS consiste nell’interruzione di un qualche servizio offerto da un host della
Lan perché il computer è temporaneamente non disponibile o impegnato a
gestire del traffico dummy. Purtroppo tale tipologia di attacchi è difficilmente
controllabile in quanto spesso si sfruttano “buchi” di sicurezza presenti
intrinsecamente nella tecnologia usata nella realizzazione delle Lan.
Una parte dei DoS si può fronteggiare applicando ai software (siano essi sistemi
operativi o applicativi) le patches o gli aggiornamenti forniti direttamente dalle
case produttrici. La maggior parte degli attacchi però non si può bloccare, ma se
ne può restringere il campo d’azione a particolari aree della rete (zona
demilitarizzata o DMZ).
TCP/IP SYN Attack
Quando una nuova connessione TCP ha inizio, la macchina di destinazione
riceve un pacchetto SYN (synchronize/start) dalla macchina mittente a cui
risponde con un pacchetto SYN/ACK. Il computer di destinazione, prima che la
connessione sia effettivamente stabilita, deve ancora attendere un pacchetto
ACK (acknowledge) del pacchetto SYN/ACK (three way handshake). L’attacco
del TCP/IP SYN sfrutta proprio questo meccanismo per bloccare l’attività di un
computer. Infatti se si inviano continuamente alla macchina vittima pacchetti
TCP SYN con indirizzi mittenti sempre diversi (creati casualmente), l’host
vittima vede arrivare molteplici richieste di collegamento da parte di computer
differenti e naturalmente risponde a tutti inviando a ciascuno un pacchetto
SYN/ACK, aggiungendo poi una entry alla coda di connessione. Poiché il
pacchetto SYN/ACK è inviato ad host inesistenti l’ultima parte dell’handshake
11
non verrà mai completata e le varie entry permangono finchè non scade un
timer. Generando tali pacchetti TCP SYN rapidamente si può saturare
rapidamente la coda delle connessioni bloccando la possibilità di effettuare
connessioni da parte dei legittimi utenti del server.
Come è facile intuire non c’è modo di risalire a chi origina l’attacco perché gli
indirizzi IP sorgenti sono falsi. Questa strategia poi non si può contrastare più di
tanto in quanto non ci si può permettere di configurare i server in modo che
questi rifiutino le connessioni in ingresso. Tutto ciò che si può fare è limitarne
l’effetto in aree della rete ben definite.
L’Attacco land.c
Il land.c è un programma di facile implementazione che realizza un attacco di
tipo TCP SYN fornendo nei vari pacchetti come indirizzo e come porte di
sorgente e di destinazione lo stesso indirizzo e la stessa porta dell’host vittima.
Tutto ciò molto spesso causa malfunzionamenti nei vari sistemi operativi.
Fortunatamente poiché questo attacco necessita della conoscenza dell’indirizzo
del computer vittima le macchine poste dietro un firewall sono al riparo.
Il PING OF DEATH
Questo attacco avviene mediante l’uso dei pacchetti ICMP (che realizzano il
ping). Un pacchetto ICMP prevede come massima lunghezza dei dati 65507
byte. Si può però creare un pacchetto ICMP illegale più grande di 65507 byte
sfruttando il modo con cui avviene la frammentazione dei pacchetti più grandi.
La frammentazione avviene considerando un valore di offset presente in ciascun
pacchetto per determinare la posizione relativa dei vari pacchetti da riunire.
Pertanto nell’ultimo pacchetto è possibile creare un offset in modo tale che la
grandezza dell’ultimo frammento soddisfi la relazione:
(offset + dimensione) > 65535
Dal momento che molte macchine non processano i pacchetti fintanto che non
sono in possesso di tutti i pacchetti c’è la possibilità di overflow delle variabili
interne a 16 bit che possono portare a crash di sistema, riavvii o ad altri
comportamenti anomali.
12
Una prima soluzione tampone per contrastare il ping of death consiste nel
bloccare i pacchetti di ping in ingresso al network.
L’attacco SMURF
Questa metodologia si attua inviando un notevole numero di pacchetti ICMP
echo ad indirizzi di tipo broadcast sperando che tali pacchetti vengano
moltiplicati dai computer della Lan e rimandati alla macchina con l’indirizzo
specificato nei vari pacchetti (naturalmente l’indirizzo della macchina da colpire
è stato ottenuto con la tecnica della spoofing). Se i router della rete eseguono la
funzione di conversione del broadcast dal livello 3 al livello 2, allora molti host
risponderanno al pacchetto ICMP echo con uno identico moltiplicando il
questo tipo di traffico tante volte quante sono le macchine che hanno risposto.
L’unico modo per mettersi al riparo da questo tipo di DoS consiste nel
disattivare la funzione di directed broadcast nell’infrastruttura di rete.
L’attacco teardrop.c
Teardrop.c è un altro tipo di programma che sfrutta le modalità di alcuni sistemi
operativi di riassemblare pacchetti ICMP. Questo software sfrutta un bug nella
fase di riassemblaggio di frammenti in parte sovrapponibili fra loro.
L’unico modo per mettersi al riparo da questo tipo di DoS consiste nel
disattivare la funzione di directed broadcast nell’infrastruttura di rete.
5. Altri tipi di attacchi che sfruttano punti deboli di altri protocolli o servizi
Attacchi riguardanti il protocollo NNTP
Tutto il traffico Usenet si appoggia per lo scambio dei messaggio tra news server
e tra server e lettori di news sul Network News Transfer Protocol (NNTP).
Poiché tale protocollo in fase di controllo non prevede alcuna autenticazione, è
possibile in modi relativamente facili cancellare messaggi dai newsgroup, creare
newsgroup non autorizzati o cancellare quelli autorizzati.
Un modo per poter essere più sicuri su chi può manipolare i newsgroup è ad
esempio verificare gli UserID o gli indirizzi di rete impedendo ad esempio le
connessioni a chi è esterno ad una certa rete.