Sei sulla pagina 1di 26

Elementi di Sicurezza nelle Reti Informatiche

Premessa

Questo lavoro nasce al termine di un corso I.F.T.S. (Istruzione e Formazione Tecnica Superiore) dal
titolo “Esperto di Progettazione, Sviluppo e Gestione delle Reti Informatiche” svoltosi a Grosseto
tra settembre 2003 e gennaio 2005. Non è – né vuol essere - il resoconto delle tematiche affrontate
in aula, bensì una presentazione del mondo del “networking” dal punto di vista della sicurezza
informatica.
L’idea di proporre questa tesina, anziché una prova di esercizio o altro, nasce dalla volontà
dell’autore di creare qualcosa di utile non solo per l’esame finale, ma anche per i prossimi “newbie”
che visiteranno Lan Planet (www.lanplanet.it), sito di networking per uso professionale e personale
creato e gestito da Nicola Deboni (studente presso la facoltà di Scienze Matematiche, Fisiche e
Naturali dell'Università di Urbino, in Informatica Applicata); ciò sarà possibile, quando questa
guida (chiamiamola così), una volta terminata e utilizzata in sede d’esame, sarà riadattata ad un
formato più comodo per il web e pubblicata sotto licenza Creative Commons Attribuzione -
NoOpereDerivate License Italia (consultabile su http://creativecommons.org/licenses/by-nd/2.0/it in
forma ridotta o su http://creativecommons.org/licenses/by-nd/2.0/it/legalcode in forma completa),
d’accordo con il gestore del sito.
Per rendere chiaro il mio intento userò la metafora del palazzo in costruzione: durante il corso ci
sono state date inizialmente le fondamenta (insegnamenti sul funzionamento della rete e degli
apparati) e quindi sono stati costruite le stanze, quella della crittografia, quella delle comunicazioni
wireless,…e quella della sicurezza; io vorrei ribaltare questo concetto, presentando la sicurezza
come fondamenta, ed aiutandosi con lo studio delle reti negli approfondimenti che sarebbero
altrimenti incomprensibili.

Prefazione alla versione cartacea

Usando collegamenti ipertestuali e note “cliccabili” sarà decisamente più semplice per l’autore
scrivere questa guida, come sarà più facile per il lettore la consultazione; mi scuso se per seguire
l’obiettivo previsto, cioè l’avvicinarsi al mondo delle reti passando dalla porta della sicurezza, ho
reso alcuni paragrafi piuttosto complessi, questo problema scomparirà nella versione elettronica.
Elementi di Sicurezza nelle Reti Informatiche 1 baiocco.info
Proprietà astratte di sicurezza:

 Autenticazione (semplice o mutua)


Si deve essere certi dell’identità del nostro interlocutore e si deve provare la propria
 Autenticazione dei dati
Si deve essere certi che i dati che ci arrivano provengano dal nostro interlocutore
 Autorizzazione
Ogni utente deve poter accedere solamente alle risorse che gli sono necessarie
 Integrità
Si deve essere certi che i dati che ci arrivano non siano stati modificati o sostituiti durante il
tragitto
 Riservatezza
Dev’essere possibile garantire che solo il destinatario di un messaggio possa leggerlo o
quantomeno possa capirlo
 Non ripudio (prova legale che dimostra l’identità dell’autore dei dati)
Dev’essere impossibile disconoscere un proprio messaggio o un proprio servizio dato, esattamente
come accade per la firma a mano in presenza di testimoni
 Disponibilità
Le risorse e i servizi necessari devono essere in grado di soddisfare le richieste
 Tracciabilità
Dev’essere possibile sapere in ogni momento quali e quanti utenti stanno fruendo di quali risorse

La soddisfazione di tutti questi requisiti porterebbe alla realizzazione di un sistema perfetto


(utopistico), al sicuro da ogni tipo di attacco, escluso l’errore umano.

Dov’è il pericolo?

 Fuori dalla LAN: difesa dei confini della LAN


 Fuori dalla LAN ma entro l’Extranet: protezione dell’Extranet omologa alla LAN
 Dentro la LAN: protezione dell’Intranet
 Ovunque: protezione degli applicativi utilizzati

Elementi di Sicurezza nelle Reti Informatiche 2 baiocco.info


Individuare i possibili pericoli e le falle di un sistema, un servizio, o una macchina, permette di
organizzare le difese necessarie ad impedire che venga sferrato un attacco; purtroppo gran parte
delle difese possibili sono “contromisure” (derivate da esperienze precedenti della comunità) come
ad esempio gli antivirus. In ogni caso l’uso di firewall per difendere i confini della propria rete è un
valido strumento per preservarne l’inviolabilità, data la loro capacità di riconoscere pacchetti o
tentativi di connessioni maligni. Statisticamente un bravo programmatore commette un errore ogni
80 righe di codice scritto, quindi è impensabile che gli applicativi o i gestionali che vengono usati,
per quanto ottimi, siano esenti da bugs, per cui un'altra contromisura molto valida è rappresentata da
patches e aggiornamenti rilasciati via via dalle software house; questi, se applicati tempestivamente,
impediscono che l’ondata di infezioni, solitamente in pieno svolgimento al momento del rilascio, si
propaghi anche alla propria rete.

Conseguenze e possibili obiettivi di un attacco:

 Contagio di virus
Per quanto sia, per un utente esperto, impensabile aprire un allegato eseguibile giunto in posta da
un mittente sconosciuto, non lo è per un utente alle prime armi: l’Internet Security Threat Report
(ISTR) della Symantec nel marzo scorso ha evidenziato una crescita del 400% nella diffusione di
virus e worm (specialmente in ambiente windows). Le conseguenze di un contagio possono essere le
più svariate (si pensi a Blaster, Welchia o Sasser).
 Abuso dall’interno
Molte volte l’abuso si limita al furto di tempo macchina, cioè all’usare le risorse fornite
dall’azienda per scopi personali (anche il solo leggere la propria posta dall’ufficio), ma si
verificano anche casi di dipendenti che cercano deliberatamente (per scontentezza o desiderio di
vendetta verso qualcuno) di danneggiare l’azienda per cui lavorano.
 Accessi non autorizzati dall’interno
La possibilità, per quanto remota, che qualcuno possa penetrare entro la sede di una lan aziendale
e sfruttare accessi da insider è da considerarsi, specie nelle realtà più dispersive; più frequente è
invece il caso che utenti normali vengano a conoscenza di password o codici di accesso riservati al
personale addetto alla gestione della rete, e li usino per scopi non legali.
 Negazione di servizio (dos)
Questo tipo di attacco consiste nel saturare le risorse di una macchina o di un sistema per far sì
che questo non riesca più ad erogare il servizio previsto. Per quanto semplice è molto difficile da

Elementi di Sicurezza nelle Reti Informatiche 3 baiocco.info


contrastare, pur disponendo di molte risorse, specialmente nella sua variante ddos (Distributed
Denial of Service) che si differenzia per la molteplicità e la diversità degli attaccanti. Da qualche
tempo esistono esempi al limite della legalità, organizzati e dichiarati: sono i NetStrike, vere e
proprie manifestazioni di migliaia di utenti che si accordano per richiedere un certo servizio ad
una certa macchina in una particolare ora e in un giorno stabilito, con il risultato di mettere fuori
uso il servizio in breve tempo (come quello che il 25 aprile scorso è stato sferrato contro il sito del
Governo, della Camera e della SIAE per protestare contro la Legge Urbani).
 Penetrazione nei sistemi
Tecnicamente complesso, sfruttare errori o bug di applicativi o apparati per ottenere una posizione
privilegiata all’interno di una rete o di una macchina, è la cosa peggiore che possa accadere in
quanto i privilegi di root (o amministratore) consentono all’attaccante di lavorare sulla macchina
vittima come se vi fosse davanti. Recentemente, il 19 dicembre, il sito dell’ISP Wind libero.it è stato
defacciato, sfruttando un bug del forum Phpbb2 e del kernel 2.4.20 per ottenere lo status di root
sulla macchina che lo ospitava; pochi giorni prima (il 7) era toccato a Picasa, società appena
acquisita da Google.
 Sabotaggio
Come nella realtà, così nell’informatica, riuscendo a violare alcuni sistemi di sicurezza è possibile
danneggiare o ostacolare il funzionamento dell’hardware o del software preso di mira.
 Furto di dati
Indipendentemente da come viene perpetrato, il furto di dati sensibili è una calamità per i siti che
lo subiscono; dal momento che nessuno è interessato alle foto delle vacanze ospitate su uno spazio
gratuito da qualche aspirante fotografo, i dati che solitamente vengono rubati riguardano utenti di
siti di e-commerce, home banking, servizi di istituti di credito e simili (contenenti informazioni
anagrafiche, numeri di carte di credito e altro); molte volte poi il cracker non è interessato ai dati
in sé ma ad ottenere un riscatto dal proprietario del sito: è accaduto a Cd Universe, sito per
l’acquisto di cd e dvd online, a cui sono stati sottratti dati di più di 300mila utenti e
successivamente chiesto un riscatto; dopo aver rifiutato di pagare, Cd Universe si è visto
pubblicare tutti i nomi e i numeri delle carte di credito degli utenti.
 Frode
Anche qui, come nel caso del sabotaggio, si applica il tema dell’omologia alla vita reale;
sfortunatamente sono molte le persone che si fidano, erroneamente, per poi cadere vittima di frodi
più o meno complicate. Recentemente in Italia è esplosa la frode “dei 34 euro”: siti offrono
prodotti nuovi, generalmente high-tech, molto costosi, al prezzo di 34 euro, con la promessa che in
breve un largo numero di persone metteranno 34 euro e ognuno (per ordine di iscrizione) riceverà

Elementi di Sicurezza nelle Reti Informatiche 4 baiocco.info


il prodotto desiderato; è ovviamente una truffa in tutto e per tutto, ma sono molti, purtroppo, ad
aver già aderito.
 Intercettazione
Intercettare dei dati vanifica la condizione di riservatezza e, se modificati, quella di autenticità, con
tutto ciò che ne può conseguire, molto spesso furto di dati o informazioni riservate usate per
compiere altre violazioni.

7 dicembre 2004, picasa.google.com defacciata dall’hacker brasiliano Xfaulz

Cause della non-sicurezza:

 le tecnologie di attacco si sviluppano rapidamente nel mondo open source


la collaborazione tra gli utenti rende i tool di attacco estremamente più efficaci e le notizie delle
scoperte di bug o di exploit si propagano più velocemente in comunità interessate
 le strategie di difesa sono reazionarie e poco preventive

Elementi di Sicurezza nelle Reti Informatiche 5 baiocco.info


come precedentemente affermato (nel paragrafo “Dov’è il pericolo?”) gran parte dei sistemi di
sicurezza si basa su contromisure e bug fix, il che rende l’idea di quanto non siano protette prima
della scoperta di un problema critico
 la grande maggioranza delle macchine connesse non sono protette
Internet non è popolata solamente da guru, smanettoni ed esperti di sicurezza: la maggioranza
degli utenti è totalmente indifferente alle problematiche della sicurezza e non si rende conto, o non
si cura, di essere un pericoloso veicolo di infezione anche solo per aver cliccato su un collegamento
ad una animazione divertente o installando un software particolare
 il codice viene scritto senza tenere conto di come potrebbe essere usato da un attaccante
L’obiettivo primo di chi scrive software è snellire il codice e rendere il listato il più semplice
possibile; il che è anche comprensibile se si pensa a quante righe di codice servono per completare
un sistema operativo, un server o anche un programma di masterizzazione. Purtroppo questo va a
scapito dell’inattacabilità del codice che, una volta in funzione su macchine importanti, sarà
sicuramente studiato nei minimi dettagli da moltissimi possibili attaccanti, fino a trovarne una
parte utile al loro scopo.
 è estremamente difficile rintracciare e punire i criminali informatici
La diversità da nazione a nazione delle leggi, spesso la loro assenza totale, unita alla difficoltà
tecnica di scoprire l’autore dei crimini rende cracker e – qualche volta – hacker estremamente
ardui da perseguire.

Cause tecnologiche della non-sicurezza:

 Le reti sono insicure


Scarse misure di sicurezza preventiva, apparati e software obsoleti, insicurezza intrinseca.
 Le reti locali funzionano in broadcast
Ogni host riceve tutti i pacchetti destinati al proprio segmento di rete, ne consegue un vantaggio
per chi volesse sfruttare informazioni dirette ad altri o cercare di congestionare la rete,…
 Le comunicazioni non sono cifrate
Leggere le informazioni che passano su una rete broadcast non switchata è estremamente semplice,
lo stesso (seppur in forma ridotta) su una rete switchata; se le informazioni rubate fossero però
cifrate non si potrebbe leggerle né usarle a proprio vantaggio.
 Le connessioni geografiche avvengono su linee condivise e tramite router di terze parti

Elementi di Sicurezza nelle Reti Informatiche 6 baiocco.info


La complessità amministrativa dei collegamenti geografici aumenta la difficoltà nel gestire e
ottimizzare interventi che avrebbero l’unico scopo di migliorare la sicurezza globale della rete.
 L’autenticazione degli utenti è generalmente molto debole
Nella maggior parte dei casi, si tratti di accesso a macchine, informazioni o altro, l’unica forma di
autenticazione prevista è composta dal duo username e password; l’username è solitamente non
nascosto, disponibile sfogliando il sito o facilmente intuibile conoscendo la vittima; la password,
che fortunatamente alcuni impongono essere di minimo 6-8 caratteri, è comunque
un’autenticazione debole, facilmente superabile con attacchi brute force (si provano tutte le
combinazioni possibili con software appositi) o con un po’ di social engineering, conoscendo chi
l’ha scelta. Anche in grandi aziende molte volte le password, nei vari livelli di gestione hardware e
software, coincidono e sono facili da ricordare, per facilitare la vita a chi ci lavora (ma
sfortunatamente anche a chi volesse sfruttare questa debolezza!).
 Non c’è nessuna autenticazione lato server
Quando usiamo un servizio nessuno ci garantisce che il server che lo fornisce sia in realtà quello
da noi scelto; prendiamo come esempio una normale visita ad un sito: nel momento stesso in cui
apriamo il browser, questo fa una query al DNS da noi impostato per ottenere l’indirizzo ip del sito
che si apre nella nostra pagina iniziale; ma chi ci assicura che le informazioni inviate dal DNS ci
arrivino integre? E chi ci assicura che le riposte arrivino proprio dal DNS che abbiamo querato e
non da uno shadow server tra noi e lui?Nessuno.
 Il software contiene (inevitabilmente) bug
Come già espresso sia nel paragrafo “Cause della non sicurezza”, la complessità del codice
presente nei software che usiamo e la non abitudine dei programmatori a scrivere codice sicuro
causano la scoperta (postuma rispetto al rilascio dell’applicativo) di falle che possono essere usate
da eventuali attaccanti per ottenere privilegi non permessi (possesso della macchina, possibilità di
eseguire codice arbitrario,…)

Elementi di Sicurezza nelle Reti Informatiche 7 baiocco.info


DNS Shadow Server

Cause ulteriori della non-sicurezza:

 I problemi e le falle non vengono individuati da chi protegge e amministra la rete


Una scarsa preparazione impedisce una corretta difesa, così come non tenersi costantemente
informati; infatti non installando rapidamente gli aggiornamenti (specie bug fix e patches) si
lascerebbe via libera a chi volesse (e sapesse) sfruttarli malignamente.
 L’uomo tende a commettere errori
Nessuno è perfetto, pur essendo un motto molto vecchio, riassume pienamente il concetto; l’errore
umano, specie nelle configurazioni di hardware o software, e nella scritta del software, è possibile,
anzi molto probabile. Testare la propria rete via via o farla analizzare da un esperto può ridurre al
minimo le possibilità di errore.
 si usano interfacce e architetture complesse che aumentano la possibilità di un errore umano
La semplicità nel configurare hardware e software destinato a mantenere inviolata la propria rete
non è di questo mondo: sono necessarie una buona preparazione, esperienza, e molta attenzione.
Spesso ci si trova ad avere a che fare con configurazioni complicate senza un’interfaccia grafica
(che sarebbe di troppo), specie nelle configurazioni di apparati di rete (si veda sotto la CLI,
Command Line Interface, della Cisco), ma anche con applicativi importanti, come Sendmail, server

Elementi di Sicurezza nelle Reti Informatiche 8 baiocco.info


di posta per ambiente *nix molto quotato ma ritenuto molto difficile da configurare (anche
attraverso la GUI offerta dal tool di configurazione webmin), tanto che è stato creato un software,
M4, per semplificarne la configurazione che, con l’uso di macro, crea il file sendmail.cf, il quale va
poi inserito nell’apposita direttrice (solitamente etc/sendmail).

Cisco CLI

 Social Engineering
L’ingegneria sociale si può definire come l'uso di trucchi psicologici per ottenere l'accesso a un
sistema, la capacità di raccogliere da una persona le informazioni necessarie ad un attacco. Oltre
a commettere errori, l’uomo è a volte un grave punto debole della rete a causa della sua naturale
predisposizione alla fiducia, che lo porta, specialmente se sotto stress o oberato di lavoro, a
rivelare ad altre persone, magari via telefono, senza alcuna certezza dell’identità dell’interlocutore
(che sfrutta questa debolezza), codici di accesso o password riservati. Una tecnica molto usata è la
persuasione attraverso lo sfruttamento della paura: minacciando guasti tecnici imputabili alla
persona che non ha fornito i codici di accesso, un malfattore potrebbe circuire un semplice
Elementi di Sicurezza nelle Reti Informatiche 9 baiocco.info
impiegato e costringerlo, facendo leva sulla paura di essere licenziato, o comunque di creare un
problema all’azienda, a farsi rivelare dati riservati con cui poi potrebbe sferrare un attacco alla
rete.

Elementi chiave di una rete sicura:

 Identificazione
Tecnologie di autenticazione, autorizzazione, tracciabilità
 sicurezza perimetrale
Uso di firewall, bastion host
 riservatezza dei dati
Uso di VPN, ip tunneling, crittografia
 controllo
Uso di intrusion detection systems
 politica di sicurezza
Predisposizione di comportamenti e procedure da seguire in caso di problemi

Identificazione:
Cosa è?
Accurata identificazione di utenti, macchine, applicazioni, servizi e risorse
Come si implementa?
Con protocolli di autenticazione come RADIUS, TACACS+ o KERBEROS, con servizi OTP (One
Time Password), con Certificati Digitali e con Smart Card.

Sicurezza Perimetrale:
Cosa è?
Controllo degli accessi ad applicazioni, dati e servizi;
Come si implementa?
Con apparati di rete abilitati al packet filtering o stateful inspection, si completa con soluzioni anti
malfare (virus, trojan, worm) e con il controllo dei contenuti.

Riservatezza dei Dati:


Cosa è?

Elementi di Sicurezza nelle Reti Informatiche 10 baiocco.info


Comunicazioni confidenziali e autenticate, protette da possibili intercettazioni
Come si implementa?
Con tecnologie di tunneling ip (GRE, L2TP) ma soprattutto con IPSec e VPN

Controllo:
Cosa è?
Periodico controllo del livello di sicurezza e affidabilità della rete
Come si implementa?
si esegue con sistemi di controllo intrusioni (IDS), scanner di vario genere (scanport, nmap, …)

Politica:
Cosa è?
Insieme di regole che definiscono l’uso delle risorse da parte degli utenti, i comportamenti che
devono essere tenuti e le procedure da seguire al verificarsi di un dato evento
Come si implementa?
La crescita logica e fisica della rete deve andare di pari passo con l’ampliamento e il miglioramento
dei sistemi di sicurezza; per reti piccole o su cui corrono dati non sensibili può essere sufficiente
l’uso di software capaci di analizzare lo stato della rete, ad alto livello è spesso necessario un
responsabile della sicurezza

Le debolezze di una rete:

Debolezze tecnologiche:

 debolezza del tcp/ip


es: syn flood
 debolezza del sistema operativo
es: bugs
 debolezza della rete
es: apparati mal configurati, identificazioni approssimative

Debolezze nella configurazione:

Elementi di Sicurezza nelle Reti Informatiche 11 baiocco.info


 accessi non controllati
es: ACL non attivate
 password semplici
es: password di dominio pubblico
 errate configurazioni hardware e/o software
es: errori di valutazione o nella configurazione

Debolezze nella politica:

 nessuna politica prevista


es: aziende piccole che credono di non essere soggette a possibili attacchi o malfunzionamenti
 hardware e/o software non adatto
es: applicativi vecchi o che necessitano di sistemi operativi vecchi, parte hardware mai
aggiornata
 nessun disaster recovery plan
es: eccessiva sicurezza nei mezzi di difesa della rete

Minacce alla rete (tipologie):

 non strutturate
shell scripts, script kiddie, password crackers
 strutturate
presone competenti che analizzano e conoscono le vulnerabilità della rete e sviluppano exploit
e script appositi
 esterne
individui o organizzazioni che cercano accesso tramite dial-up o da internet
 interne
errori nell’attribuzione dei permessi portano persone incompetenti a poter lavorare su
macchine importanti

Elementi di Sicurezza nelle Reti Informatiche 12 baiocco.info


Attacchi alla rete (tipologie):

 acquisizione di informazioni
scoperta e mappatura di sistemi e servizi (tramite ping, finger, telnet, portscan,..)
 accesso
visione di dati protetti, accesso a sistemi protetti (password cracking, trojan horse,…)
 denial of service (dos)
rendere non disponibili una macchina, un servizio o una risorsa (icmp flood, spam,...)

Politica di Sicurezza:

Una valida politica di sicurezza deve:

 controllare l’attuale stato della sicurezza di rete


 definire i confini all’interno dei quali agire
 definire i comportamenti permessi e quelli vietati
 definire quali siano gli strumenti e le procedure necessari
 definire i ruoli del personale
 definire come gestire eventuali incidenti

Una valida politica di sicurezza deve contenere:

 politica di uso delle risorse hardware e software accettabile


 politiche di identificazione e autenticazione
 politica di uso di Internet e della LAN
 politica di accesso remoto
 procedure di gestione degli incidenti

Modelli di politiche di sicurezza teoriche:

 aperta
è permesso tutto ciò che non è esplicitamente negato
 restrittiva

Elementi di Sicurezza nelle Reti Informatiche 13 baiocco.info


combinazione di divieti e permessi specifici
 chiusa
è vietato tutto ciò che non è esplicitamente permesso

Organizzazione di una LAN:

 host pubblici con indirizzi IANA


Internet Assigned Numbers Authority, organismo responsabile dell'assegnazione degli indirizzi IP
 host privati con indirizzi privati
classi riservate per reti private:
classe A (una rete di oltre 16 milioni di indirizzi): 10/8
classe B (16 reti per un totale di circa un milione di indirizzi): 172.16/12
classe C (256 reti per circa 65mila indirizzi): 192.168/16
 proxy o NAT per accedere da host privati a servizi pubblici
Proxy: macchina che si interpone tra client e server, inoltrando le richieste e le risposte dall'uno
all'altro (riceve una richiesta da un host con ip privato, inoltra la richiesta con il proprio ip
pubblico, riceve la risposta e la inoltra all’host privato richiedente); richiede la consapevolezza
dell’esistenza da parte degli host con indirizzo privato; permette di selezionare protocolli, utenti e
richieste da far passare.
NAT: Network Address Translation, funzione di traduzione di ip privati in ip pubblici (si dice
statico se ad ogni ip privato corrisponde un ip pubblico o dinamico se a più indirizzi privati
corrisponde un solo ip pubblico), limita le prestazioni in termini di velocità della rete ma non
necessita modifiche agli applicativi né conoscenza da parte degli host privati.
 filtro sui router verso le reti pubbliche
evita il propagarsi di informazioni dalla LAN
 divisione dei nameserver
sono necessari due DNS, uno pubblico (con ip pubblico, nomi e indirizzi ip di host pubblici,
collegato al DNS mondiale) e uno privato (con ip privato, nomi e indirizzi ip di host privati e
pubblici, che usa il DNS pubblico come forwarder)

Elementi di Sicurezza nelle Reti Informatiche 14 baiocco.info


Sicurezza e i modelli OSI, IPS:

L’OSI (Open System Interconnection) è il modello di riferimento per le architetture di rete proposto
da ISO (International Organization for Standardization) con l’obiettivo di definire uno schema
“aperto” per la realizzazione di apparati di rete, così da bloccare i tentativi di far prevalere
protocolli e schemi proprietari da parte delle grandi aziende del settore; a causa della lentezza della
sua nascita, quando ha fatto la sua prima comparsa, il modello IPS (Internet Protocol Suite) aveva
già preso il sopravvento, per cui OSI è rimasto come modello di riferimento, ma non ha mai visto
nessuna implementazione pratica. Il modello è diviso in 7 livelli (qui elencati dal basso verso
l’alto):

 Livello 1 FISICO
trasmette sequenze binarie sul canale di comunicazione
 Livello 2 COLLEGAMENTO
diviso in LLC (Logical Link Control), interfaccia con il livello 3, e MAC (Medium Access
Control) che gestisce la condivisione del mezzo; crea pacchetti, gestisce l’accesso al canale,
sincronizza tx e rx, gestisce errori e ritrasmissioni
 Livello 3 RETE
definisce pacchetti, instradamento e indirizzamento in modo astratto rispetto al mezzo fisico,
conosce la topologia di rete, sceglie il percorso migliore per ogni pacchetto, interfaccia reti
diverse
 Livello 4 TRASPORTO
apre e chiude le connessioni, gestisce le connessioni multiple, controlla errori e ordine di
ricomposizione, gestisce la congestione della rete
 Livello 5 SESSIONE
instaura, mantiene e conclude il dialogo tra due programmi, gestisce token o turni di
comunicazione
 Livello 6 PRESENTAZIONE
gestisce sintassi, cifratura e decifratura dell’informazione da trasmettere
 Livello 7 APPLICAZIONE
interfaccia di comunicazione con i programmi, gestisce i trasferimenti di file

Per conoscenza, è giusto sapere che l’IPS (Internet Protocol Suite), meglio conosciuto come
modello TCP/IP è diviso in quattro livelli:

Elementi di Sicurezza nelle Reti Informatiche 15 baiocco.info


 Livello 1 HOST TO NETWORK
non definito (corrisponde ai livelli OSI 1 e 2)
 Livello 2 INTERNET (IP)
corrisponde al livello OSI 3
 Livello 3 TRANSPORT (TCP)
corrisponde al livello OSI 4
 Livello 4 APPLICATION
corrisponde al livello OSI 7

I due modelli a confronto

Per capire il funzionamento di certi attacchi è necessario sapere come funziona il protocollo TCP; la
connessione TCP è divisa in tre fasi principali: avvio, scambio dei dati e chiusura.
In modo molto semplice e scarno: quando navighiamo, viene instaurata una connessione TCP tra la
nostra macchina e il server web, viene inviata la richiesta del documento che abbiamo scelto e il
server lo invia (la connessione rimane aperta finchè non usciamo dal sito dove abbiamo prelevato il
documento).
Analizziamo più dettagliatamente la connessione da un computer (con ip 192.168.1.15) al server
web locale (con ip 192.168.1.79):

 Il computer apre una porta (la prima libera, diciamo la 1100) sull’interfaccia di rete e da
questa invia un SYN, un pacchetto TCP con il flag syn attivo (a indicare la richiesta di
Elementi di Sicurezza nelle Reti Informatiche 16 baiocco.info
iniziare una connessione), con indicazione delle porte da usare (la 1100 TCP sul computer,
la 80 TCP sul server http)
 Il server riceve il pacchetto e invia come risposta un altro pacchetto TCP (dalla sua porta 80
diretto alla mia porta 1100) con i flag SYN e ACK, per comunicare che la connessione è
stata accettata ed p in attesa di conferma da parte del computer
 Alla ricezione della conferma da parte del server, il computer rimanda il pacchetto con il
solo flag ACK, a indicare la conferma della connessione, che a questo punto può dirsi
stabilita (3 way handshake)
 Dopo lo scambio dei dati (il documento), il computer invia un pacchetto TCP con il flag FIN
per comunicare l’intenzione di chiudere la connessione
 Il server, ricevuto il FIN, risponderà con un paccheto con i flag FIN e ACK,
 Per terminare la connessione, il computer dovrà successivamente inviare un pacchetto con il
flag ACK
 Nel caso la connessione si interrompesse indipendentemente dalle due macchine, o se fosse
presunta tale (pacchetti che arrivano a destinazione oltre un tempo massimo previsto), la
prima ad accorgersene invierebbe all’altra un pacchetto con il flag RST, a indicare che è
necessario ripetere l’handshake

I flag TCP:

 SYN
Viene inviato nel primo pacchetto di un host che vuole stabilire una connessione con un altro
(synchronize)
 SYN ACK
E’ la risposta di un host che accetta la connessione che gli è stata richiesta (acknowledgement)
 ACK
E’ la conferma dell’arrivo di ogni pacchetto
 FIN
Viene inviato da un host che vuole chiudere una sessione (finish)
 FIN | ACK
E’ la risposta di un host che chiude la connessione
 RST

Elementi di Sicurezza nelle Reti Informatiche 17 baiocco.info


Viene inviato da un host che riceve un pacchetto non previsto e impone di iniziare nuovamente
l’handshake

Protezioni possibili:

 a livello fisico: protezione fisica del mezzo trasmissivo, cavedi e pozzetti; uso di reti
switched
la difesa del mezzo trasmissivo (sia esso rame, fibra o altro, escluso l’etere) è fondamentale perché
un attaccante potrebbe sfruttare un qualsiasi luogo in cui passano i cavi per ottenere un punto di
accesso “invisibile” e soprattutto una posizione privilegiata (nella struttura logica della rete); nei
casi più gravi l’accessibilità fisica al mezzo potrebbe permetterne la distruzione.
 a livello collegamento: cifratura dei dati, uso di ip fissi (no DHCP), controlli su nuovi MAC
(di conseguenza host) connessi
la cifratura dei dati è fondamentale nel caso di comunicazioni wireless (data l’impossibilità di
proteggere il mezzo) ma è importante anche in quelle via cavo, molti apparati permettono di cifrare
l’intero frame ethernet; l’uso di ip fissi (quindi il non uso del DHCP, Dynamic Host Configuration
Protocol, che assegna ad ogni macchina in rete un indirizzo ip in modo automatico) permette di
effettuare controlli più sicuri sugli host connessi; è consigliabile inoltre impostare tool di sicurezza
affinché segnalino eventuali comparse di indirizzi MAC non conosciuti o duplicazioni (a dir poco
sospette) di indirizzi MAC conosciuti
 a livello rete: uso di VPN, ip tunneling (GRE, L2TP), SSL o IPSec
le VPN (Virtual Private Network) servono a connettere, come se fossero in rete locale, due (o più)
host attraverso un mezzo condiviso come ad esempio internet; sono di per sé insicure in quanto
usano gli stessi protocolli della rete, ma sono rese molto sicure se utilizzate in combinazione con
protocolli che implicano l’uso di sistemi di cifratura come l’IP Security o il Secure Socket Layer, o
se gestite da un singolo nodo fidato (L2TP)

Elementi di Sicurezza nelle Reti Informatiche 18 baiocco.info


Tipi di attacco

Smurfing:
Come agisce:
Un host invia pacchetti ICMP ECHO Request all’indirizzo di broadcast della rete contraffacendo
l’ip del mittente
tutti gli host connessi rispondono con ICMP ECHO REPLY inondando sia la rete che l’host
mittente (falsificato), saturandoli
Come impedirlo:
Rifiutare il broadcast ip dall’esterno, identificare il responsabile se nell’interno

Syn Flooding:
Come agisce:
Un host, falsificando il proprio ip invia richieste di connessione ad una macchina da un indirizzo
inesistente finchè non si satura la tabella delle connessioni, bloccando di fatto la macchina
Come impedirlo:
Abbassare il timeout (rischiando di far fuori connessioni valide ma lente), aumentare le dimensioni
della tabella (più che altro un palliativo aggirabile con maggior flood), usare un router come syn
interceptor (che si accerta dell’avvenuto handshake e successivamente passa la comunicazione alla
macchina richiesta), o come syn monitor (termina i collegamenti pendenti con RST)

Ip Spoofing:
Come agisce:
Un host, falsificando il proprio ip (volendo anche il mac) dei propri pacchetti fa credere all’host
vittima di essere il suo interlocutore
Come impedirlo:
Non basare l’autenticazione sugli indirizzi

Sniffing:
Come agisce:
Un host legge i pacchetti destinati ad altri nodi della rete (tecnica molto semplice nelle reti
broadcast e ancora di più se non sono segmentate)
Come impedirlo:
Crittografare i pacchetti, non usare reti broadcast e segmentare il più possibile

Elementi di Sicurezza nelle Reti Informatiche 19 baiocco.info


Connection Hijacking:
Come agisce:
Qualcuno prende il controllo di un canale di comunicazione per leggere, modificare o eliminare
pacchetti
Come impedirlo:
Codificare i pacchetti ai livelli 2 e 3 del modello OSI

Social Engineering:
Come agisce:
Qualcuno sfrutta la naturale inclinazione umana alla fiducia per carpire password o altri dati
sensibili
Come impedirlo:
Creare politiche amministrative di gestione della rete in modo, renderle note e formare al riguardo
gli utenti

Un esempio di attacco

Il DNS (Domani Name Server) traduce gli url (Uniform Resource Locator) in indirizzi ip e
viceversa ed è quindi un servizio indispensabile; usa la porta UDP 53 per le query e la TCP 53 per
le zone transfer; quando è stato inventato, nel 1983, non necessitava di nessun tipo di controlli di
sicurezza, ed anche attualmente ne è completamente sprovvisto (anche se è allo studio una versione
DNS-Sec: http://www.dnssec.net )

Elementi di Sicurezza nelle Reti Informatiche 20 baiocco.info


Funzionamento di un DNS
1. L’host richiede l’ip associato ad un url
2. Il dns, non avendo quell’informazione, effettua a sua volta la query ad un altro dns
3. Il secondo dns, conoscendo l’informazione richiesta, invia la risposta al primo dns
4. Il dns invia la risposta all’host

DNS Shadow Server:


sniffing per intercettare le query
spoofing per generare false risposte

DNS Cache Poisoning:


si attira una vittima a querare il dns dell’attaccante, e si forniscono risposte anche a query non
effettuate per forzare o sovrascrivere la cache della vittima

Elementi di Sicurezza nelle Reti Informatiche 21 baiocco.info


Entrambe queste possibilità possono essere sfruttate per portare un attacco dos verso un nodo della
rete.

Possibile difesa:

WallDNS:
Software che scarta query inverse, query per classi di ip non proprie di internet, pacchetti corrotti o
il cui contenuto è diverso da una singola query; funziona in pratica come un dns con un piccolo
firewall a monte. In pratica maschera i veri nomi degli host fornendo nomi fasulli per compiacere il
richiedente; blocca l’invio di record PTR (Pointer: trasformano gli ip in hostname) a server che
ancora non hanno fornito servizi

Crittografia

E’ impossibile di questi tempi parlare di sicurezza senza volgere uno sguardo al mondo della
crittografia. Iniziamo dando una definizione: “nel networking, il processo di trasmettere in modo
sicuro dati su una rete in modo che se il dato venisse intercettato, non possa venir compreso da
utenti non autorizzati” (M. Tulloch, Microsoft Encyclopedia of Networking).
Storicamente possiamo risalire fino a Cesare, che scambiava messaggi con i suoi generali usando
cifrari a sostituzione (ogni carattere viene sostituito da un altro lontano x posizioni), oggi invece le
tecniche di crittografia sono molto complesse, basate su modelli matematici (che hanno fatto la
fortuna dei loro scopritori).

La crittografia può soddisfare la condizione di:

 Riservatezza
deve garantire che solo il destinatario possa leggere l’informazione
 Autenticità
deve garantire l’autenticità dell’informazione
 Integrità
deve garantire che l’informazione non venga modificata prima della consegna

Elementi di Sicurezza nelle Reti Informatiche 22 baiocco.info


I sistemi di cifratura si dividono in due grandi parti:

 convenzionale (simmetrica)
le due parti devono condividere la stessa chiave (si pone il problema di come la chiave possa venir
scambiata in sicurezza), gli algoritmi di cifratura possono essere pubblici, le chiavi no
 a chiave pubblica (asimmetrica)
sono necessarie due chiavi (una pubblica ed una privata), un messaggio cifrato con la chiave
pubblica può essere decifrato solo con la rispettiva chiave privata (e viceversa)

La distribuzione delle chiavi nelle cifrature simmetriche:

Un problema di fondo riguarda la distribuzione delle chiavi: mittente e destinatario debbono


accordarsi in qualche modo sulla chiave, altrimenti dovrebbero scambiarsi la chiave prima di aver
creato i presupposti di una comunicazione sicura, di fatto rendendola insicura.
Si possono pensare cinque modi per uno scambio sicuro:

 consegna fisica da A a B
 consegna fisica da C (fidato per entrambi) a A e B
 A e B hanno una chiave e la usano per scambiarsi una nuova chiave
 A e B hanno chiavi per comunicare con C, e C assegna la chiave a A e B
 A e B contribuiscono entrambi alla creazione di una nuova chiave comune

Alcuni algoritmi a chiave simmetrica:

 DES Data Encryption Standard (1977)


Cifrario a blocchi di 64 bit, chiave a 56 bit (piccola per le attuali capacità di calcolo)
 3DES Triple DES (1985)
Tre chiavi e tre esecuzioni di DES, chiave a 168 bit
 IDEA International Data Encryption Algorithm (1991)
Chiave a 128 bit, usato per PGP
 BLOWFISH (1993)

Elementi di Sicurezza nelle Reti Informatiche 23 baiocco.info


Facile, veloce, necessita di 5kb per girare, chiavi fino a 448 bit
 RC5 (1994)
Velocissimo, leggero, lunghezza della chiave variabile, molto sicuro

Cifrature asimmetriche:

Possono essere sfruttate per due fini:


 riservatezza
A cifra il messaggio con la chiave pubblica di B, che lo legge con la propria chiave privata
 autenticazione
B cifra il messaggio con la propria chiave privata, A lo legge con la chiave pubblica di B

Alcuni algoritmi a chiave asimmetrica:

 Diffie-Hellman
Nel 1976 Diffie e Hellman inventano il sistema asimmetrico (cifrario a chiave pubblica) : servono
due chiavi (una pubblica e una privata, non ricavabili l’una dall’altra), la chiave per cifrare non è
la stessa di quella per decifrare
 RSA
Nel 1978 tre scienziati trovano un modello matematico adatto, basato sul problema complesso
della fattorizzazione in numeri primi: dati due numeri primi è facile trovare il loro prodotto ma è
molto difficile, avendo il prodotto, risalire ai numeri primi che l’hanno generato

La firma elettronica:

Visto il notevole sviluppo delle comunicazioni attraverso la rete, era giusto e necessario stabilire le
modalità di identificazione necessarie a creare una firma digitale, di eguale valore a quella
convenzionale su carta; per farlo si usa una crittografia asimmetrica, in modo da garantire
autenticità ed integrità (non riservatezza).
Il mittente, attraverso una funzione di hash ricava un'impronta digitale del documento da spedire,
chiamata “message digest”, (solitamente un file di dimensione fissa che riassume le informazioni

Elementi di Sicurezza nelle Reti Informatiche 24 baiocco.info


contenute nel documento), dopodiché utilizza la propria chiave privata per codificarla: quella sarà la
firma che A dovra allegare al documento inviato a B per permettergli di constatarne l’autenticità e
l’integrità.

Certification Authority:

Un certificato digitale è un documento elettronico che associa l'identità di una persona ad una
chiave pubblica. Viene emesso da una autorità di certificazione riconosciuta secondo standard
internazionali (X.509) e viene firmato con la chiave privata dell'autorità. Gli enti che fanno da
autorità devono sottostare a regole rigidissime per quanto riguarda la gestione dei dati personali,
pertanto si possono considerare sicuri.

Elementi di Sicurezza nelle Reti Informatiche 25 baiocco.info


Indice e argomenti trattati:

Premessa: pagina 01

Proprietà astratte di sicurezza: pagina 02

Dov’è il pericolo? pagina 02

Conseguenze e possibili obiettivi di un attacco: pagina 03

Cause della non-sicurezza: pagina 05

Cause tecnologiche della non-sicurezza: pagina 06

Cause ulteriori della non-sicurezza: pagina 08

Elementi chiave di una rete sicura: pagina 10

Le debolezze di una rete: pagina 11

Minacce alla rete (tipologie): pagina 12

Attacchi alla rete (tipologie): pagina 13

Politica di Sicurezza: pagina 13

Organizzazione di una LAN: pagina 14

Sicurezza e i modelli OSI, IPS: pagina 15

Protezioni possibili: pagina 18

Tipi di attacco: pagina 19

Un esempio di attacco: pagina 20

Crittografia: pagina 22

Indice: pagina 26

Elementi di Sicurezza nelle Reti Informatiche 26 baiocco.info