Elementi Di Sicurezza Nelle Reti Informatiche

26
Elementi di Sicurezza nelle Reti Informatiche 1 baiocco.info 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.

description

Elementi di Sicurezza nelle Reti Informatiche - tesina per il corso I.F.T.S. "Elementi Di Sicurezza Nelle Reti Informatiche" (2003-2005)

Transcript of Elementi Di Sicurezza Nelle Reti Informatiche

Page 1: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 1 baiocco.info

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.

Page 2: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 2 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

Page 3: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 3 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

Page 4: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 4 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à

Page 5: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 5 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

Page 6: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 6 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

Page 7: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 7 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,…)

Page 8: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 8 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

Page 9: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 9 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

Page 10: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 10 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 è?

Page 11: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 11 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:

Page 12: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 12 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

Page 13: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 13 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

Page 14: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 14 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)

Page 15: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 15 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:

Page 16: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 16 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

Page 17: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 17 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

Page 18: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 18 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)

Page 19: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 19 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

Page 20: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 20 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 )

Page 21: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 21 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

Page 22: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 22 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

Page 23: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 23 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)

Page 24: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 24 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

Page 25: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 25 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.

Page 26: Elementi Di Sicurezza Nelle Reti Informatiche

Elementi di Sicurezza nelle Reti Informatiche 26 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