Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità...

23
PC Open www.pcopen.it 116 ITAdministrator - Sicurezza informatica Lezione 7A Q uesta sezione tratta i principali aspetti di sicurezza concernenti le reti. Dopo un’introduzione sui concetti di base sulle reti (coperti in questa parte), nelle pros- sime verranno esaminati i servizi erogati in rete e le relati- ve problematiche, quindi presenteremo alcuni strumenti di protezione, come i firewall e i sistemi di rilevamento delle intrusioni (IDS). Concetti di base delle comunicazioni In questa parte esaminiamo i principali aspetti teorici delle comunicazioni digitali concentrando l’attenzione sul- le fondamenta comuni di quasi tutte le installazioni: la rete locale, basata sul protocollo Ethernet, e Internet, basata sui protocolli della famiglia TCP/IP. Entrambi i tipi di comunicazione digitale utilizzano la suddivisione dei dati in pacchetti; perciò, dopo una pano- ramica sulle comunicazioni analogiche e digitali, ci occu- peremo dei principi delle comunicazioni a pacchetto e del- le nozioni fondamentali sul funzionamento di Ethernet e TCP/IP. Comunicazioni analogiche e digitali, l’architettura ISO/OSI anche in relazione alla sicurezza Gli strumenti di comunicazione possono veicolare mes- saggi attraverso diversi mezzi trasmissivi (come gas, liqui- di, solidi - conduttori e non - e il vuoto) tramite variazioni di qualche grandezza fisica (come pressione, tensione o corrente elettrica, e onde elettromagnetiche). Le comuni- cazioni elettriche (che sfruttano la corrente elettrica per trasferire informazioni), nei casi più semplici si basano sul- la trasformazione dell’informazione da trasmettere in va- riazioni di una grandezza elettrica, come la tensione o la corrente. Il telefono, ad esempio, trasmette una corrente elettrica il cui valore riproduce le variazioni di pressione dell’aria causate dalla voce umana. La frequenza e intensità del suo- no sono tradotte dal campo acustico al mondo elettrico (mediante il microfono) e viceversa (attraverso l'auricola- re); gli amplificatori assicurano che il segnale arrivi al rice- vitore con potenza adeguata. Un altro caso è il telegrafo, che nella situazione più sem- plice si limita a trasmettere impulsi di corrente di valore co- stante. La corrente è zero quando il tasto del telegrafista è alzato, mentre assume un certo valore quando il telegrafi- sta lo preme per trasmettere un punto (impulso breve) o una linea (impulso lungo). L’informazione è data dalle successioni che compongo- no le sequenze di impulsi, secondo il codice introdotto da Morse e Vail nel 1835 (Vail scrisse il codice, che fu aggiun- to al brevetto di Morse per il telegrafo), e modificato in Ger- mania nel 1848. La settima lezione di Eucip IT Administrator Sicurezza Informatica copre un campo vastissimo: la sicurezza di rete. Dobbiamo quindi suddividerla in cinque parti per coprire tutti i temi. In questa prima puntata troverete i fondamenti del networking e del protocollo TCP/IP e come sia possibile sfruttarli per un attacco. I contenuti sono composti da tre elementi: un articolo sulla rivista, un articolo molto più esteso in formato PDF, e un corso multimediale completo su DVD di Gior gio Gobbi Materiale didattico validato da AICA Certificazione EUCIP IT Administrator Modulo 5 - IT Security Sicurezza informatica "AICA Licenziataria esclusiva in Italia del programma EUCIP (European Certification of Informatic Professionals), attesta che il materiale didattico validato copre puntualmente e integralmente gli argomenti previsti nel Syllabus IT Administrator e necessari per il conseguimento della certificazione IT Administrator IT Security. Di conseguenza AICA autorizza sul presente materiale didattico l'uso del marchio EUCIP, registrato da EUCIP Ltd e protetto dalle leggi vigenti" Obiettivo del corso IT Administrator Sicurezza Informatica Fornire al lettore familiarità con i vari modi di proteggere i dati sia su un singolo PC sia in una LAN connessa a Internet. In particolare, metterlo nelle condizioni di proteggere i dati aziendali contro perdite, attacchi virali e intrusioni. Inoltre, metterlo nelle condizioni di conoscere e utilizzare le utility e i programmi più comuni destinati a tali scopi. Riferimento Syllabus 2.0 (curriculum ufficiale AICA) 5.7 Sicurezza di rete 5.7.1 Concetti di base delle comunicazioni 5.7.1.1 Essere al corrente dei fondamenti di comunicazione analogica/digitale. Conoscere i principi di base relativi alla sicurezza nell'architettura ISO/OSI I contenuti delle 8 lezioni Lezione 1: Informazioni generali Lezione 2: parte 1 Crittografia - fondamenti e algoritmi Lezione 2: parte 2 Crittografia - applicazioni Lezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione 7: Sicurezza della rete Lezione 8: Aspetti sociali, etici e legali della sicurezza informatica In collaborazione con: Sicurezza di rete – Ethernet e TCP/IP Rete Ethernet e TCP/IP

Transcript of Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità...

Page 1: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

PC Open www.pcopen.it116

ITAdministrator - Sicurezza informatica Lezione 7A

Questa sezione tratta i principali aspetti di sicurezzaconcernenti le reti. Dopo un’introduzione sui concettidi base sulle reti (coperti in questa parte), nelle pros-

sime verranno esaminati i servizi erogati in rete e le relati-ve problematiche, quindi presenteremo alcuni strumenti diprotezione, come i firewall e i sistemi di rilevamento delleintrusioni (IDS).

Concetti di base delle comunicazioniIn questa parte esaminiamo i principali aspetti teorici

delle comunicazioni digitali concentrando l’attenzione sul-le fondamenta comuni di quasi tutte le installazioni: la retelocale, basata sul protocollo Ethernet, e Internet, basata suiprotocolli della famiglia TCP/IP.

Entrambi i tipi di comunicazione digitale utilizzano lasuddivisione dei dati in pacchetti; perciò, dopo una pano-ramica sulle comunicazioni analogiche e digitali, ci occu-peremo dei principi delle comunicazioni a pacchetto e del-le nozioni fondamentali sul funzionamento di Ethernet eTCP/IP.

Comunicazioni analogiche e digitali, l’architetturaISO/OSI anche in relazione alla sicurezza

Gli strumenti di comunicazione possono veicolare mes-saggi attraverso diversi mezzi trasmissivi (come gas, liqui-di, solidi - conduttori e non - e il vuoto) tramite variazionidi qualche grandezza fisica (come pressione, tensione ocorrente elettrica, e onde elettromagnetiche). Le comuni-cazioni elettriche (che sfruttano la corrente elettrica pertrasferire informazioni), nei casi più semplici si basano sul-la trasformazione dell’informazione da trasmettere in va-riazioni di una grandezza elettrica, come la tensione o lacorrente.

Il telefono, ad esempio, trasmette una corrente elettrica

il cui valore riproduce le variazioni di pressione dell’ariacausate dalla voce umana. La frequenza e intensità del suo-no sono tradotte dal campo acustico al mondo elettrico(mediante il microfono) e viceversa (attraverso l'auricola-re); gli amplificatori assicurano che il segnale arrivi al rice-vitore con potenza adeguata.

Un altro caso è il telegrafo, che nella situazione più sem-plice si limita a trasmettere impulsi di corrente di valore co-stante. La corrente è zero quando il tasto del telegrafista èalzato, mentre assume un certo valore quando il telegrafi-sta lo preme per trasmettere un punto (impulso breve) ouna linea (impulso lungo).

L’informazione è data dalle successioni che compongo-no le sequenze di impulsi, secondo il codice introdotto daMorse e Vail nel 1835 (Vail scrisse il codice, che fu aggiun-to al brevetto di Morse per il telegrafo), e modificato in Ger-mania nel 1848.

La settima lezione di Eucip IT Administrator SicurezzaInformatica copre un campo vastissimo: la sicurezza di rete.Dobbiamo quindi suddividerla in cinque parti per coprire tutti itemi. In questa prima puntata troverete i fondamenti delnetworking e del protocollo TCP/IP e come sia possibile sfruttarliper un attacco.I contenuti sono composti da treelementi: un articolo sullarivista, un articolo moltopiù esteso in formato PDF, e uncorso multimedialecompleto su DVD di Giorgio Gobbi

Materiale didatticovalidato da AICACertificazione EUCIPIT AdministratorModulo 5 - IT SecuritySicurezza informatica

"AICA Licenziatariaesclusiva in Italia delprogramma EUCIP(European Certificationof InformaticProfessionals), attestache il materiale didatticovalidato coprepuntualmente eintegralmente gliargomenti previsti nelSyllabus IT Administratore necessari per ilconseguimento dellacertificazione ITAdministrator ITSecurity. Diconseguenza AICAautorizza sul presentemateriale didattico l'usodel marchio EUCIP,registrato da EUCIP Ltde protetto dalle leggivigenti"

Obiettivo del corso IT AdministratorSicurezza InformaticaFornire al lettore familiarità con i vari modi diproteggere i dati sia su un singolo PC sia in una LANconnessa a Internet. In particolare, metterlo nellecondizioni di proteggere i dati aziendali controperdite, attacchi virali e intrusioni. Inoltre, metterlonelle condizioni di conoscere e utilizzare le utility e iprogrammi più comuni destinati a tali scopi.

Riferimento Syllabus2.0 (curriculumufficiale AICA)5.7 Sicurezza di rete

5.7.1 Concetti dibase dellecomunicazioni

5.7.1.1 Essere alcorrente deifondamenti dicomunicazioneanalogica/digitale.Conoscere i principidi base relativi allasicurezzanell'architetturaISO/OSI

I contenuti delle 8 lezioni Lezione 1: Informazioni generaliLezione 2: parte 1 Crittografia -

fondamenti e algoritmiLezione 2: parte 2 Crittografia -

applicazioniLezione 3: Autenticazione

e controllo degli accessiLezione 4: Disponibilità dei datiLezione 5: Codice malignoLezione 6: Infrastruttura a chiave pubblicaLezione 7: Sicurezza della reteLezione 8: Aspetti sociali, etici e legali della

sicurezza informatica

In collaborazionecon:

� Sicurezza di rete – Ethernet e TCP/IP

Rete Ethernet e TCP/IP

Page 2: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

Lezione 7A IT Administrator - Sicurezza informatica

Il nucleo del codice MorseIn questi due esempi notiamo la

differenza tra analogico e digitale. Latelefonia utilizza segnali analogici,ovvero variabili con continuità, sen-za interruzioni, entro determinati in-tervalli di valori di frequenza e dicorrente. Il segnale elettrico telefo-nico è analogo al segnale acusticodella voce (ne segue fedelmente levariazioni). La telegrafia utilizza se-gnali digitali, ovvero segnali che pos-sono assumere solo determinati va-lori discreti. Digitale deriva da dito, ilprimo strumento per contare; un si-stema digitale si basa sui numeri, inparticolare 0 e 1, utilizzati nel siste-ma binario. Nella sua forma origina-ria, il telegrafo usa 0 (assenza di cor-rente) e 1 (trasmissionedi corrente) come segnalidigitali. In una forma piùevoluta, lo 0 e l’1 possonoessere rappresentati daqualsiasi coppia di segna-li distinti (in tensione, fre-quenza, ecc.).

A prima vista, i segnali analogici sono superiori, vista lacomodità con cui si può trasmettere la voce per telefono ri-spetto alla lentezza e macchinosità di comunicare in codi-ce Morse. Con un segnale analogico si possono trasmette-re informazioni con la massima fedeltà possibile, per esem-pio riproducendo nei minimi dettagli le variazioni d’inten-sità e di frequenza dei suoni.

Le comunicazioni digitali si dimostranon, tuttavia, su-periori quando si tratta di riconoscere e correggere gli er-rori di trasmissione; poiché la scelta è tra assenza e pre-senza di segnale, oppure tra due valori di segnale, è moltopiù facile ricostruire fedelmente il segnale trasmesso.

Le comunicazioni elettriche, sia analogiche sia digitali,possono essere trasmesse, nella loro forma originaria, so-lo per tratti brevi (il segnale si attenua e si distorce) e viafilo. Se si utilizzano le comunicazioni radio, è necessariousare un processo detto modulazione, che consiste nel va-riare un segnale portante (di solito sinusoidale) allo scopodi utilizzarlo per veicolare informazioni.

Un’onda radio è composta da un campo elettrico e da uncampo magnetico, che oscillano periodicamente con an-damento sinusoidale su piani perpendicolari.

Onda elettromagneticaIl segnale elettrico è

caratterizzato da tre pa-rametri: frequenza, am-piezza e fase. Un’ondaelettromagnetica costan-te non trasporta informa-zioni, al di là delle dedu-zioni che si possono trar-re dalla sua presenza. Per trasmettere informazioni, oc-corre introdurre variazioni in almeno uno dei tre parame-tri del segnale. Per esempio, un telegrafo ottico (del tipousato in marina) trasmette un segnale elettromagnetico (laluce) modulato in ampiezza, alternando assenza e presen-za di luce; in questo caso, parliamo di modulazione di am-piezza. Mentre nella telegrafia l’ampiezza varia tra due va-lori, nelle comuni trasmissioni radio vengono inviati suoni(parole e musica) nello spettro delle frequenze udibili. Labanda delle Onde Medie utilizza la modulazione d’ampiez-za (AM, amplitude modulation) dove l’onda portante (car-rier, di frequenza tra 500 e 1610 KHz) varia di ampiezza, inbase all’ampiezza del segnale audio da trasmettere.

Modulazione d’ampiezzaNelle trasmissioni a modu-

lazione di frequenza (FM), chehanno progressivamente sop-piantato le trasmissioni AMdalla fine degli anni '90, il se-gnale audio modula l’ondaportante in frequenza, senzavariarne l’ampiezza. In tal mo-do, la qualità è superiore (latrasmissione è meno soggettaa disturbi), e la scelta dellospettro intorno ai 100 MHzpermette di avere canali abanda più larga e trasmissionestereo.

Modulazione di frequenzaUno dei primi metodi per

trasmettere segnali digitali sucavi telefonici è stato l’utilizzodi segnali audio analogici mo-dulati in frequenza. I due valo-ri 0 e 1 venivano trasmessi co-me segnali audio di 1200 e2200 Hz, un’alternanza di fi-schi trasmissibile da qualsiasicanale adatto alla voce umana(che, per essere comprensibi-le, richiede una banda minimada 300 a 3400 Hz).

La modulazione di fase con-siste nel variare la fase del segnale, ovvero la posizionetemporale. Lo sfasamento si misura secondo un angolo:uno sfasamento di 90° corrisponde, per esempio, allo spo-stamento di un quarto di sinusoide.

Modulazione di faseLa versione digitale della

modulazione di fase si chiamaPhase Shift Keying (PSK), e con-siste nel modificare la fase delsegnale di riferimento (l’ondaportante) in base ai bit da tra-smettere.

Oggi le tecniche di modula-zione usate sulle linee telefoni-che sono più sofisticate, grazieai cavi che trasportano facil-mente, nel tratto dalla centraleall’utenza (il cosiddetto ultimomiglio), frequenze di 1-2 MHz.L’uso di frequenze elevate per-mette di ampliare lo spettro difrequenze del segnale modula-tore e, quindi, la velocità di trasmissione (il numero di bitper secondo) . Inoltre, si può sfruttare la banda larga di-sponibile per trasmettere contemporaneamente il segnaletelefonico (all’inizio dello spettro di frequenze), assieme alflusso uscente (upstream) e al flusso entrante (downstream)del segnale digitale. Nelle connessioni ADSL (AsymmetricDigital Subscriber Line), si riserva al downstream la maggiorparte della banda, considerando che le esigenze diupstream siano nettamente inferiori.

Nell’ADSL il segnale portante è suddiviso in tanti canaliadiacenti larghi circa 4 KHz, ognuno modulato individual-mente in base alle capacità del canale (rapporto segna-le/rumore). Il primo canale è riservato alla telefonia tradi-zionale, detta POTS (Plain Old Telephone Service); la gam-ma successiva è riservata all’upstream (dati trasmessi), se-guito dai canali di downstream. La trasmissione contempo-ranea di più informazioni sullo stesso mezzo trasmissivo si

PC Open www.pcopen.it117

Modulazione d’ampiezza:in FM l’onda portante èmodulata in frequenza

Modulazione di frequenza:converte segnali analogiciin digitali

Modulazione di fase: neldigitale l’onda portanteviene modificata dal PSK

Onda elettromagnetica:modulazione di ampiezzain banda AM

Page 3: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

PC Open www.pcopen.it118

ITAdministrator - Sicurezza informatica Lezione 7A

chiama multiplexing (multiplazione), che può avvenire sud-dividendo i canali nel tempo (time multiplexing), ossia ri-partendo le informazioni da trasmettere per ciascun cana-le in finestre temporali, di lunghezza fissa, che si susse-guono. Immaginando tre canali, la prima finestra tempora-le conterrebbe i dati del primo, la seconda quelli del se-condo, e la terza i dati del terzo, per poi ricominciare conil primo canale a partire dalla quarta finestra temporale. Ilmultiplexing è possibile anche trasmettendo i canali su fre-quenze diverse contemporaneamente presenti (frequencymultiplexing), come nell’ADSL.

Nell’ADSL ogni canale è modulato in ampiezza e fase, epuò trasmettere fino a un massimo di 15 bit per singolo to-no; tale modulazione prende il nome di Quadrature Ampli-tude Modulation (QAM). Nell’esempio che segue, suppo-niamo che il canale trasmetta tre bit per clock e che le ot-to combinazioni di tre bit siano trasmesse abbinando duevalori d’ampiezza e quattro valori di spostamento di fase(phase shift).

Il dispositivo che modula il segnale digitale con il se-gnale analogico prima di trasmetterlo, e che ricava il se-

gnale digitale dal segnale analogico in ricezione, prende ilnome di modem (modulator/demodulator).

Esistono numerosi tipi di modulazione: la modulazionea codice di impulsi (PCM, Pulse Code Modulation, e sue va-rianti), per esempio, viene usata per trasformare un se-gnale analogico in digitale tramite campionamento del-l’ampiezza del segnale in un intervallo di valori discreti(con 8 bit il segnale può assumere 256 valori). In questomodo, anche il segnale telefonico, una volta digitalizzato,può essere manipolato dalle centrali pubbliche e dai cen-tralini privati in modo molto più veloce ed efficiente ri-spetto ai vecchi metodi analogici, senza contare la miriadedi servizi ausiliari offerti dalla telefonia digitale.

Oggi la telefonia si è evoluta fino a farsi trasportare sul-le reti locali e su Internet utilizzando le tecnologie e i di-spositivi VoIP (Voice over IP). Il segnale telefonico, ridottoa sequenze binarie e a pacchetti di dati (nel caso VoIP), èsoggetto a manipolazioni che consentono livelli di econo-mia e flessibilità un tempo impensabili.

Il modello ISO/OSI

Lo scambio di comunicazioni digitali può essere sem-plice come l’uso di una linea telegrafica, oppure molto com-plesso, secondo le necessità. Per classificare i tipi di fun-zionalità che possono essere necessarie in una rete e favo-rire un approccio comune e l’interoperabilità tra apparec-chiature, l’ISO (International Organization for Standardiza-tion) ha sviluppato negli anni ‘80 il modello di riferimentoOSI (Open Systems Interconnection Reference Model, docu-menti serie ISO/IEC 7498).

Il modello OSI descrive un’architettura di rete a settestrati (layer) che standardizza i livelli di servizio e i tipi d'in-terazione per i computer e altri dispositivi connessi a unarete. In questo schema, le comunicazioni da computer acomputer sono separate in sette strati di protocolli (a vol-te gli strati sono chiamati anche livelli), e ogni strato co-struisce il proprio funzionamento sulla base di quelli sot-tostanti. Ogni strato interfaccia con il sottostante, di cui uti-lizza le funzioni, e con lo strato soprastante, a cui forniscele proprie funzioni.

Un protocollo è una descrizione formale del formato deimessaggi e delle regole che due o più macchine devono ri-spettare per scambiare quei messaggi. Un’altra definizionesintetica di protocollo è: “l’insieme di regole che governa-no la sintassi, la semantica e la sincronizzazione della co-municazione”. Un protocollo può essere implementato insoftware, hardware, o una combinazione dei due.

Un sistema basato sul modello OSI include uno stack (pi-la) di protocolli, classificati secondo lo strato di apparte-nenza. Lo strato superiore (strato 7) è quello applicativo einclude, ad esempio, protocolli come FTP (File Transfer Pro-

ADSL: la suddivisionedella banda in canali di 4KHz

ADSL: la banda difrequenze è suddivisa intre intervalli

ADSL: i bit da trasmetteremodulano la portante inampiezza e fase

ADSL: il segnalemodulato in ampiezza efase

Valore di bit Ampiezza Spostamento di fase

000 1 nessuno001 2 nessuno010 1 1/4011 2 1/4100 1 1/2101 2 1/2110 1 3/4111 2 3/4

Page 4: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

Lezione 7A IT Administrator - Sicurezza informatica

tocol), DNS (Domain Name System) e SMTP (Simple MailTransfer Protocol). Lo strato inferiore (strato 1) è quello fi-sico e comprende, per esempio, i protocolli di trasportoEthernet, come 100BASE-TX.

In una visione ISO/OSI, una funzione o protocollo cheopera su un computer (host) a un certo strato (per esem-pio un client FTP a strato 7), da un punto di vista logico co-munica con un’analoga funzione di pari strato su un altrocomputer (per esempio un server FTP). Da un punto di vi-sta fisico, il protocollo sul lato origine invoca le funzionidello strato sottostante e così via, fino allo strato fisico.Questo invia le comunicazioni sul mezzo trasmissivo (filo,radio, fibra ottica, ecc.), che sono ricevute dallo strato fi-sico del lato destinazione; dallo strato fisico, i dati rag-giungono lo strato applicativo di destinazione risalendoverso l'altro, attraverso gli strati intermedi.

Il modello di riferimento ISO/OSIPer capire il funzionamento dell’architettura OSI, ve-

diamo la funzione di ciascuno strato.- 1. Strato fisico. Comprende tutte le funzioni che permet-

tono di connettere le varie apparecchiature che devonodialogare tra loro. A questo livello appartengono le de-scrizioni delle caratteristiche fisiche delle interfacce(componenti e connettori), gli aspetti elettrici o ra-dioelettrici (livelli di segnale, aspetti funzionali), le mo-dulazioni utilizzate e aspetti funzionali come l’instaura-zione, il mantenimento e la chiusura del collegamento fi-sico.

- 2. Collegamento dati (data link). Definisce le regole per in-viare e ricevere informazioni tra due sistemi in comu-nicazione. Il suo scopo principale è suddividere i datiche gli sono stati affidati dallo strato 3 (rete) in frame(trame - termine che indica i pacchetti di strato 2) e in-viarli attraverso lo strato fisico. Lo strato data link delsistema ricevente invia un messaggio di riconoscimen-to (acknowledgment) prima che il mittente invii un altroframe. Allo strato 2, la comunicazione avviene da pun-to a punto tra due entità (lo strato 3 - rete - gestisce col-legamenti fra tre o più sistemi, con frame trasmessi at-traverso collegamenti multipli). Nelle reti di tipo broad-cast (diffusione a tutti i dispositivi connessi a un mezzocondiviso), come Ethernet, è stato aggiunto un sotto-strato MAC (Medium Access Control) per consentire apiù dispositivi di condividere lo stesso mezzo trasmis-sivo e di competere per il suo uso. In caso di problemidi trasmissione allo strato fisico, lo strato data link de-ve provvedervi, ritrasmettendo le informazioni o se-gnalando il guasto allo strato di rete. Lo strato 2 inclu-de due sotto-strati: di essi, LLC (Logical Link Control) èquello superiore, mentre il citato MAC è quello inferio-re, adiacente allo strato fisico. Lo strato 2 annovera nu-merosi protocolli, tra cui Ethernet (lo standard, di fatto,delle reti locali su cavo), Token Ring (diffuso da IBM, maora poco comune) e FDDI (Fiber Distributed Data Inter-face – un tipo di rete token ring in fibra ottica). A cia-scuno di questi corrisponde un preciso tipo di LAN fi-sica. Sempre allo strato 2, troviamo PPP (Point to PointProtocol – per i collegamenti via modem o altra inter-faccia seriale), HDLC (High-Level Data Link Protocol –per l'interconnessione di reti locali mediante linee dati,anche su lunghe distanze), Frame Relay (per l'intercon-nessione di LAN mediante reti dati private), ATM (Asyn-chronous Transfer Mode - per la trasmissione di voce edati su reti telefoniche), Fibre Channel (per l'intercon-nessione via fibra di computer e unità disco) e WirelessLAN (reti locali senza fili, nella banda delle microonde).

- 3. Rete. Mentre lo strato 2 è usato per controllare la co-municazione tra due dispositivi connessi direttamentetra loro, lo strato di rete fornisce servizi di inter-networking (connessione tra reti). Questi servizi assi-curano che un pacchetto di informazioni raggiunga la

destinazione dopo un percorso comprendente più col-legamenti punto a punto, collegati tra loro da router (di-spositivi d'instradamento che uniscono reti diverse).Lo strato di rete si occupa di smistare pacchetti su col-legamenti multipli. Quando il collegamento è unica-mente locale, come avviene in una LAN (rete locale) al-l'interno di un ufficio o di un'abitazione, la consegna deipacchetti può utilizzare protocolli semplificati comeNetBIOS (Network Basic Input Output System – l’origina-ria interfaccia di rete del PC IBM), che fanno leva sullefunzioni dello strato data link per distribuire i pacchet-ti; però, con l'avvento di Internet e la necessità di colle-gare la propria rete ad altre, anche distanti, è diventatostandard l'impiego di protocolli di rete veri e propri, e inparticolare della famiglia di protocolli TCP/IP. L'InternetProtocol è un protocollo di internetworking che operaallo strato di rete, dove il mittente e il destinatario ven-gono riconosciuti sulla base di un indirizzo univoco, va-lido per l'intero dominio Internet, che prende il nome,appunto, di indirizzo IP. Tale strato non si occupa di ve-rificare l’integrità della trasmissione supponendo che,se lo strato 2 non ha segnalato errori, la rete sia opera-tiva, e lasciando agli strati superiori il compito di mo-nitorare la consegna a destinazione dei pacchetti e digarantire l’affidabilità della comunicazione. Il protocol-lo TCP (Transmission Control Protocol) si occupa di ve-rificare che la sequenza dei pacchetti sia corretta e chevenga mantenuta nel corso delle operazioni d'instrada-mento su Internet, dove ogni pacchetto viaggia in ma-niera indipendente. Infatti, un messaggio di posta elet-tronica, oppure una pagina Web, devono essere suddi-visi in pacchetti per poter essere trasmessi mediante IP;lo strato TCP (equivalente allo strato 4 OSI) verifica chela sequenza con cui arrivano a destinazione sia corret-ta.

- 4. Trasporto. Questo strato fornisce un alto livello di con-trollo sullo spostamento delle informazioni tra i sistemiterminali di una sessione di comunicazione. I sistemiterminali possono trovarsi sulla stessa rete o in diversesottoreti di un internetwork. I protocolli di trasporto im-postano la connessione dal punto d’origine a quello didestinazione, e inviano i dati sotto forma di un flusso dipacchetti numerati in sequenza, monitorando la tra-smissione per assicurare la corretta consegna e identi-ficazione dei pacchetti. Lo strato di trasporto svolge lafunzione di suddividere i dati (segmentazione) in seg-menti, e di riassemblarli a destinazione. Il flusso di pac-chetti forma un circuito virtuale, che in un internetworkpuò essere prestabilito con specifichi percorsi attra-verso i router. Lo strato di trasporto è responsabile diverificare che lo strato di rete sia efficiente, altrimenti ri-chiede la ritrasmissione o fornisce un codice di erroreallo strato superiore. I servizi di trasporto sono garan-titi se il software di rete li prevede e li usa; non tutte leapplicazioni richiedono che lo strato di trasporto ga-rantisca l’affidabilità della trasmissione, come nel casodei servizi non essenziali (per esempio, i messaggi dibroadcast), o dove la ritrasmissione aggrava il proble-ma invece che risolverlo (ad esempio, la trasmissionedella voce nella telefonia digitale o la sincronizzazionedegli orologi). Due importanti protocolli di strato 4 so-no TCP (Transmission Control Protocol) e UDP (User Da-tagram Protocol).

- 5. Sessione. Lo strato di sessione ha il compito di stabili-re e mantenere la comunicazione tra due computer. Ingenerale, si tratta di un processo a tre fasi: stabilire le re-gole iniziali per la connessione logica, scegliendo tra i ti-pi di comunicazione simplex (flusso unico), half-duplex(doppio flusso alternato) e duplex (flusso bidireziona-le), muovere i dati da un host all’altro e, infine, rilascia-re la connessione. Lo scambio d’informazioni avviene intermini di dialogo, per indicare, ad esempio, da dove ri-

PC Open www.pcopen.it119

Page 5: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

ITAdministrator - Sicurezza informatica Lezione 7A

cominciare la trasmissione, se una connessione è statatemporaneamente perduta, o dove terminare un dataset (insieme di dati) e iniziarne un altro. Due esempi diprotocolli che operano anche allo strato di sessione so-no RPC (Remote Procedure Call – per attivare a distan-za moduli di programma) e NFS (Network File System –per accedere a dischi condivisi in rete in ambiente In-ternet); anche il protocollo PPP opera parzialmente aquesto livello.

- 6. Presentazione. Lo scopo dei processi che operano allostrato 6 è, principalmente, di agire da traduttori per i ser-vizi dello strato applicativo. Spesso si tratta di converti-re i dati da un formato proprietario a uno universale e vi-ceversa, in modo che i protocolli dallo strato 5 in giù in-teragiscano con dati in formato standard senza esserecoinvolti nelle conversioni. Altre funzioni di questo stra-to sono la compressione/decompressione e la cifratu-ra/decifratura dei dati. I protocolli di file sharing (condi-visione dei file), che trasferiscono i file attraverso la re-te verso condivisioni di rete (nomi assegnati a risorsecondivise), funzionano allo strato di presentazione.

- 7. Applicazione. Lo strato applicativo fornisce l’interfacciadi rete per protocolli applicativi che vengono utilizzatidirettamente dall’utente finale, come HTTP per accede-re alle pagine web, POP3 per scaricare la posta elettro-nica, FTP per trasferire file. Tale strato non ha a che farecon la parte di applicazione che s’interfaccia con l’uten-te, e che non rientra nel modello OSI. Lo strato 7 si oc-cupa solo di determinare lo stato delle comunicazionitra due applicazioni. L’obiettivo è stabilire se le risorsesono disponibili per poter iniziare la comunicazione tradue o più host, e scoprire se i computer interessati sonoin grado di comunicare. Lo strato 7 comprende nume-rosi protocolli e applicazioni, molti dei quali sono in gra-do di fornire un certo servizio anche da soli, ma piùspesso si integrano a vicenda per fornire all’utente unagamma di funzionalità più ricca. Tra i protocolli appli-cativi nella sfera della famiglia TCP/IP citiamo HTTP (Hy-perText Transfer Protocol - per l’accesso alle pagineWeb), SMTP (Simple Mail Transfer Protocol – per l’inviodi messaggi a un server di posta elettronica), SNMP (Sim-ple Network Management Protocol – per la gestione a di-stanza di dispositivi di rete), POP (Post Office Protocol –per il prelievo di messaggi da un server di posta elettro-nica), FTP (File Transfer Protocol – per il trasferimento difile su Internet), TFTP (Trivial FTP, una versione sempli-ficata di FTP), Telnet (per l’accesso via rete a computerremoti), NFS (Network File System - la condivisione di di-schi su rete) e NTP (Network Time Protocol, per sincro-nizzare gli orologi dei computer).

L’architettura TCP/IP non è strettamente conforme al mo-dello OSI. Alcune parti del modello OSI corrispondono ad al-cuni dei protocolli e servizi della famiglia TCP/IP, mentre di-versi strati non vi trovano corrispondenza. Il modello OSI vaconsiderato prevalentemente come modello teorico utileper comprendere le diverse componenti di servizio che pos-sono esistere in una rete. Tuttavia, non è mai riuscito a sop-piantare nella realtà il modello pragmatico definito dalla fa-miglia TCP/IP, che è rimasta lo standard di fatto.

Per esempio, non c’è alcun servizio nella suite TCP/IPche corrisponda agli strati fisico e data link. Gli unici servizidi strato 2 previsti, sono quelli forniti dal driver della sche-da di rete, che realizza direttamente la conversione dei pac-chetti IP in frame (trame) senza nessun intermediario. Ilprotocollo IP passa i dati al device driver, che implemental’interfaccia data link appropriata per lo strato fisico utiliz-zato (filo, fibra, radio, ecc.). Di fatto, TCP/IP si appoggia alsistema operativo per le funzionalità di strato 1 e 2.

Quasi inesistente è lo strato 5, che si trova solitamentecoperto da protocolli di livello più alto che si occupano an-che delle funzioni di sessione.

La vera corrispondenza con il modello OSI la troviamoagli strati 3 e 4. Il protocollo IP opera allo strato di rete (3),tiene traccia degli indirizzi IP dei dispositivi di rete, e sta-bilisce come devono essere spediti i datagrammi IP (comevengono chiamati i pacchetti di livello 3 – il nome deriva dalfatto che, alla pari dei telegrammi, la spedizione non tieneconto della verifica di ricezione, visto che si suppone chela rete sia abbastanza affidabile da portare a destinazionequalsiasi pacchetto inviato).

I protocolli TCP e UDP operano allo strato di trasporto(4 del modello OSI). TCP fornisce un servizio di trasportostrettamente monitorato e affidabile, mentre UDP è usatoper semplice trasporto, senza funzioni di correzione d’er-rore o controllo di flusso. TCP e UDP forniscono, inoltre, al-cuni dei servizi dello strato di sessione.

TCP/IP non offre direttamente un servizio di presenta-zione, ma ci sono applicazioni che usano un servizio di pre-sentazione basato su caratteri (ASCII, American StandardCode for Information Interchange) chiamati Network VirtualTerminal (NVT); gli NVT sono un subset delle specificheTelnet. Altre applicazioni possono usare diverse rappre-sentazioni dei dati, per esempio di provenienza IBM o Sun,e altre librerie di programmi per eseguire tali servizi.TCP/IP ha a disposizione numerosi servizi di presentazio-ne utilizzabili, ma non prevede un servizio che tutte le ap-plicazioni siano tenute a usare.

TCP/IP fornisce un’ampia scelta di protocolli applicativi,che forniscono alle applicazioni orientate all’utente l’ac-cesso ai dati scambiati con i protocolli di trasporto. Adesempio, un client di email usa il protocollo applicativoSMTP (Simple Mail Transfer Protocol) quando l’utente inviaun messaggio di posta a un server remoto, e SMTP utilizzaregole definite dalle specifiche NVT quando scambia daticon TCP. IP è usato per trasferire i segmenti TCP tra le retidi origine e di destinazione, mentre i protocolli dipendentidall’hardware specifico (come quelli che manipolano i fra-me Ethernet) provvedono a trasferire i pacchetti IP tra icomputer fisici di una rete.

Confronto tra Modello di Riferimento OSI e TCP/IP

Abbiamo citato fin qui il termine pacchetto e altri ter-mini simili, come frame (trama), datagramma e segmento.Sebbene sia comune l’uso della parola pacchetto (packet),o datagramma, per indicare un’unità di dati che si muoveattraverso una rete, l’evoluzione di TCP/IP ha introdotto va-ri termini specifici per indicare i dati manipolati dai diver-si protocolli. La RFC 1122 (Requirements for Internet Hosts -Communication Layers) li riassume, e ne indica l’ambito diutilizzo.

- Frame - trama. Un frame, o trama, è l’unità di dati chesi muove all’interno di una rete usando il protocollo di stra-to data link appropriato per quella rete. Esempi di frame so-no quelli di Ethernet (802.3) e Token Ring (802.5).

- IP datagram - datagramma. Un datagramma IP è l’u-

PC Open www.pcopen.it120

OSI vs TCP/IP: confrontotra i due modelli diriferimento

Page 6: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

Lezione 7A IT Administrator - Sicurezza informatica

nità di dati gestita dal protocollo IP, comprendente i datitrasmessi e le intestazioni IP associate ai dati.

- IP packet. Un pacchetto IP è un altro termine per indi-care un datagramma IP, ma viene spesso usato per indica-re la porzione di datagramma che è stata inserita in un fra-me, piuttosto che il datagramma in sé. Un sistema che ri-ceve o trasmette i dati vede un datagramma IP come un’u-nica entità, ma tale datagramma può essere stato suddivi-so in diversi pacchetti IP al fine di poter essere veicolato at-traverso una serie di reti intermedie. Le caratteristiche tec-niche dalla rete utilizzata determinano la dimensione delframe e, di conseguenza, il numero di pacchetti in cui un da-tagramma va suddiviso. Solitamente, gli host (i computercollegati alla rete) trattano con i datagrammi IP in quantounità minima di trasmissione, mentre i router trattano coni pacchetti IP. Ciascun pacchetto può seguire percorsi di-versi, perciò diventa necessario garantire la ricomposizio-ne dei pacchetti nella sequenza corretta al punto di desti-nazione, al fine di ottenere il datagramma nella sua formaoriginale. A sua volta, possono essere necessari numerosidatagrammi per trasmettere un messaggio o un documen-to.

- Message. Un messaggio è l’unità di dati inviata da unodei protocolli degli strati superiori (come TCP e UDP), ecomprende sia i dati da trasferire, sia le intestazioni di tra-sporto associate a tali dati. Il più delle volte i messaggi so-no generati da protocolli applicativi, ma possono derivareanche dall’ICMP (Internet Control Message Protocol – parteintegrante del protocollo IP che gestisce i messaggi di er-rore e di controllo) e IGMP (Internet Group Management Pro-tocol – un protocollo usato dagli host per comunicare airouter la loro appartenenza a gruppi di host). I messaggivengono suddivisi in vari datagrammi, e costituiscono laparte dati effettivi (payload, cioè carico utile) contenuti inquesti ultimi.

- TCP Segment. Un segmento è l’unità di trasferimentoinviata da TCP su una macchina a TCP su un’altra macchi-na. Ogni segmento contiene parte del flusso di dati inviatodall’origine alla destinazione, più campi aggiuntivi di con-trollo, tra cui la posizione corrente nel flusso e una sommadi verifica (checksum) per verificare l’integrità dei dati ri-cevuti.

Pacchetti e frame

Il modello ISO/OSI resta un riferimento generale impor-tante, ma non corrisponde esattamente né alla pila TCP/IP,né alla realizzazione di molti degli attuali apparati. Da un la-to, la pila TCP/IP è stata sviluppata indipendentemente daquella OSI; d’altra parte, gli apparati riflettono più l’obiet-tivo di ottimizzare le prestazioni che quello della confor-mità agli standard RFC.

Comunicazioni continue e a pacchetto

Le comunicazioni analogiche, normalmente, sono ca-ratterizzate da un flusso continuo d’informazioni. Quandosi parla al telefono, il segnale elettrico che rappresenta isuoni raccolti dal microfono continua a fluire senza inter-ruzione sul cavo collegato alla vicina centrale telefonica.Questo ha il pregio della semplicità, ma nella sua formaelementare (come nell’ultimo miglio tra centrale telefonica

e normale utenza) una connessione analogica monopoliz-za il mezzo trasmissivo, consentendo una sola conversa-zione alla volta; gli altri utenti che chiamano un numero giàimpegnato in una conversazione, ricevono il segnale di oc-cupato. Le funzioni di una centrale digitale permettono ser-vizi di avviso di chiamata e di conferenza, ma il filo tra cen-trale e normale utente telefonico resta dedicato a un se-gnale analogico bidirezionale. Si parla, in questo caso, di si-stema a commutazione di circuito, poiché la centrale smi-sta le chiamate aprendo e chiudendo circuiti fisici. Comeabbiamo visto, l’ADSL sfrutta un segnale analogico, com-posto dal segnale audio telefonico e da decine di portantidi frequenze diverse modulate da segnali digitali.

Tuttavia, anche le comunicazioni digitali iniziarono oc-cupando un intero canale di trasmissione, come nel casodelle linee telegrafiche che collegavano le due stazioni agliestremi della linea. Oggi le reti locali interconnettono anchemigliaia di computer e, a livello geografico, l’interconnes-sione coinvolge circa un miliardo di persone (gli utenti In-ternet). Per connettere un gran numero di utenti non ci sipuò affidare a linee dedicate a una sola conversazione pervolta, quindi si ricorre a tecnologie che permettono di farpassare più comunicazioni simultanee su ciascuna linea ditrasmissione. Tralasciando le tecniche di multiplexing usa-te nel campo delle telecomunicazioni, che sfruttano segnalielettrici, radio e luminosi (fibre ottiche) per mescolare e se-parare molti canali di frequenze diverse, qui poniamo at-tenzione sul modo in cui sono confezionate le informazio-ni nel mondo digitale, per esempio dentro i computer e sul-le reti locali.

Se una telefonata blocca una connessione per tutto iltempo, in una rete di computer un utente può conversarecon tanti altri “contemporaneamente”, come quando siaprono diverse finestre browser per eseguire diverse in-terrogazioni simultanee. Ciò che permette questo uso effi-ciente delle risorse hardware è la suddivisione delle infor-mazioni in piccole unità, così che molti utenti (persone, ap-plicazioni software, dispositivi hardware) possano condi-videre simultaneamente le risorse hardware. In pratica, leinformazioni vengono preparate in una zona di memoria(buffer), vengono suddivise in pacchetti (ogni strato deiprotocolli di rete ha il proprio modo di frammentare e rias-semblare le informazioni in pacchetti), e sono trasmesse unpacchetto alla volta. I pacchetti di molti utenti viaggianomischiati lungo i mezzi di trasmissione, e i pacchetti cheun’applicazione invia in sequenza possono percorrere iti-nerari diversi, attraverso le reti, prima di arrivare a desti-nazione, dove vengono rimessi in sequenza e riassemblatinella memoria del computer di destinazione. Si parla, quin-di, di reti a commutazione di pacchetto, dove uno stessocircuito può portare numerosi pacchetti indirizzati anchea destinatari differenti, e lo smistamento avviene a livellodel singolo pacchetto. Gli algoritmi che governano i dispo-sitivi di rete (in particolare i router - instradatori), permet-tono di scegliere per ogni pacchetto la rotta più propizia, intermini di velocità e di costi, verso la destinazione. Se unatratta è soggetta a congestione o guasto, ne viene sceltauna alternativa. A livello locale, i dispositivi di rete usanoopportuni algoritmi, in modo da trasmettere solo quandola linea è libera e, in caso di collisione, provvedono a ripe-tere la trasmissione di un pacchetto fino alla conferma del-l’arrivo a destinazione.

In generale, le comunicazioni a pacchetto sono possibi-li quando si verificano una serie di condizioni.

- Il flusso dei dati deve essere “pacchettizzabile”, ovve-ro suddividibile in frammenti. Ciò è sicuramente vero se sitratta di trasferire dati archiviati su disco, per loro naturagià suddivisi in blocchi. Più complesso è il caso della tra-smissione dei segnali audio (voce e musica). Il segnale au-dio analogico è digitalizzato campionando il segnale conuna frequenza di campionamento almeno doppia della

PC Open www.pcopen.it121

5.7.1.2 Conoscere ladifferenza fracomunicazionicontinue ecomunicazioni apacchetto

Pacchetti e frame:esempio di suddivisionedel flusso di dati

Page 7: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

ITAdministrator - Sicurezza informatica Lezione 7A

massima frequenza audio da riprodurre; i valori digitali deicampioni, elaborati in modo opportuno (esistono diversistandard), costituiscono i dati da trasmettere nei pac-chetti. Si nota subito che il campionamento e la confezio-ne dei pacchetti introduce un piccolo ritardo (latenza), chedev’essere molto breve per non risultare fastidioso nellecomunicazioni in tempo reale (come può accadere in unatelefonata intercontinentale).

- La velocità di elaborazione e trasmissione dei dati de-ve essere abbastanza elevata da non rallentare le opera-zioni. Questo è essenziale nel caso dello streaming, la tra-smissione di file audiovisivi in tempo reale su Internet (iformati principali sono Real Video, Real Audio, WindowsMedia Audio, Windows Media Video e QuickTime). I file instreaming sono immediatamente fruibili on line dall'uten-te senza la necessità di scaricarli prima sul PC, simulandoin tal modo la trasmissione di programmi radiofonici e te-levisivi. Perché la trasmissione sia fluida, senza interru-zioni e perdite di dati (che si traducono in riduzione di qua-lità), l’intero canale trasmissivo dev’essere in grado di tra-sferire i dati a velocità adeguata e, su tutto il percorso in re-te, i buffer dei vari dispositivi devono essere sempre di-sponibili (senza svuotarsi, né saturarsi) per compensare lefluttuazioni momentanee di velocità.

- Occorre marcare i pacchetti identificandone mittentee destinatario, in modo che solo il destinatario li utilizzi elo faccia sapendo chi è il mittente che li ha spediti.

- Occorre avere una strategia di accesso al mezzo di tra-smissione che eviti che più dispositivi possano inviare da-ti contemporaneamente, interferendo l’uno con l’altro. Neicasi più semplici, ogni dispositivo “ascolta” il traffico sulmezzo trasmissivo e, prima di veicolare, attende che ilmezzo sia libero. Tale tecnica, applicabile sia alle trasmis-sioni via cavo sia alle trasmissioni radio, è detta CSMA(Carrier Sense Multiple Access, accesso al mezzo da partedi differenti sistemi previo controllo della presenza dellaportante). Il limite delle tecniche CSMA sta nella possibilitàche i dispositivi accumulino i dati da trasmettere in attesache si liberi il mezzo trasmissivo e che, quando il mezzocessa di essere occupato, inizino a trasmettere contem-poraneamente, interferendo tra di loro. A questo si può ov-viare in vari modi, il primo dei quali è monitorare il segna-le sul mezzo trasmissivo anche mentre si sta trasmettendo,così da rilevare quando avviene una collisione e ritra-smettere i dati dopo un intervallo di tempo casuale, per ri-durre la probabilità di una nuova collisione. La tecnicaprende il nome di CSMA/CD (Carrier Sense Multiple Ac-cess/Collision Detection), ed è utilizzata dalle reti Ethernet(IEEE 802.3). L’uso della Collision Detection (rilevazione del-le collisioni) impone limiti alla distanza massima fra due di-spositivi di rete, che devono poter rilevare le reciprochetrasmissioni entro un tempo massimo. Le reti wireless cor-renti (appartenenti alla famiglia IEEE 802.11) utilizzano lavariante semplificata CSMA/CA (CA sta per Collision Avoi-dance), che si basa sull’evitare le collisioni: ottenuto il vialibera per iniziare a trasmettere i dati, ogni dispositivo ese-gue un sorteggio (lancia i dadi) per vedere se trasmettereutilizzando valori che rendono tanto più difficile trasmet-tere quanti più dispositivi sono presenti: ciò è simile aquanto viene eseguito dalle reti CSMA/CD dopo una colli-sione (algoritmo p-persist). Una risposta più radicale è sta-ta quella del token ring, nel quale i computer sono dispo-sti su un anello e ciascuno è connesso con cavi ai due com-puter adiacenti. Ogni computer che vuole trasmettere lo fasul cavo “di destra”, e solo dopo aver ricevuto sul cavo “disinistra” un particolare pacchetto, detto token (gettone);altrimenti, ogni computer si limita a ritrasmettere ciò chegli arriva dal cavo “di sinistra”, salvo che sia a esso desti-nato, nel qual caso lo legge senza ritrasmetterlo. Con que-sto meccanismo le collisioni non sono più possibili, e sipossono sfruttare le capacità del cavo sino a saturarlo dipacchetti. Le reti token ring hanno avuto un breve periodo

di successo, ma sono state superate dalla progressiva cre-scita delle reti Ethernet, passate rapidamente da 10 a 100,1000 e 10.000 Mbps (megabit per secondo); inoltre, l’ampiaadozione degli switch al posto degli hub ha ridotto netta-mente le possibilità di collisione (entrambi fungono daconcentratori, ma un hub ritrasmette i dati a tutti i nodicollegati, mentre uno switch trasmette i dati solo alla por-ta di destinazione).

Protocollo Ethernet, MAC addresss, CSMA/CD

Oggi la tecnologia più usata per le reti locali (LAN, LocalArea Network) è Ethernet. Il nome comprende vari stan-dard, relativi soprattutto agli strati di rete 1 (fisico) e 2 (col-legamento).

Allo strato fisico troviamo vari tipi di Ethernet, definititecnicamente topologie perché definiscono la struttura fi-sica con cui la rete viene costruita:

- 10Base2. In questa topologia, ormai obsoleta, la rete ècostituita da segmenti consecutivi di cavo coassiale (di so-lito RG58) aventi alle due estremità terminazioni resistivedi 50 ohm (dette in gergo “tappi”), che hanno lo scopo diassorbire il segnale evitando riflessioni. Questa tipologia èdetta bus lineare, dato che si possono immaginare tutti isegmenti di cavo allineati a formare un lungo segmento ret-tilineo. Le interfacce di rete (NIC, Network Interface Card,scheda d’interfaccia di rete) sono collegate al cavo trami-te un connettore a T, quindi il segnale trasmesso da ognischeda si propaga verso le due estremità del cavo, fino aiterminatori. Nel percorrere il cavo, il segnale raggiunge tut-te le schede di rete, che lo possono ricevere (normalmen-te, solo il destinatario del frame preleva i dati e li passa alsoftware). La velocità di trasmissione è di 10 Mbps; il seg-mento di cavo coassiale può avere la lunghezza massimadi 200 m, e può includere un massimo di 30 stazioni. Il suolimite consisteva nel fatto che l’interruzione del cavo, inqualsiasi punto, bloccava il funzionamento dell’intera rete.Inoltre, il cablaggio era molto complesso poiché era ne-cessario passare da un computer all’altro in sequenza, eogni volta che bisognava aggiungere o togliere una deriva-zione l’intera rete doveva essere interrotta (per scollegareun singolo computer era sufficiente, invece, scollegarlo dalconnettore a T, lasciandolo come parte integrante della re-te).

- 10Base5. Questa topologia, anch’essa obsoleta, è mol-to simile alla precedente e, di fatto, l’ha preceduta, utiliz-zando un cavo coassiale più grosso (RG8), detto cavo thick(spesso), a differenza del cavo thin (sottile, RG58) del10Base2. Il cavo thick presenta una minore attenuazione econsente di stendere segmenti lunghi fino a 500 metri, confino a 100 stazioni collegate. Il limite, in questo caso, erache lo spessore del cavo costringeva a descrivere curveampie, il che complicava il cablaggio. Inoltre, il collega-mento di un computer alla rete richiedeva un’operazionemolto più complessa rispetto allo standard 10Base2.

- 10BaseT. Questo caso non utilizza una topologia fisicaa bus lineare, ma una topologia a stella; ogni interfaccia direte è collegata, tramite un cavo a quattro fili, a un dispo-sitivo che funge da concentratore. Questo inizialmente eraun hub (mozzo), che si limitava a ritrasmettere il segnalericevuto a tutte le altre porte. Oggi vengono utilizzati pre-valentemente gli switch (commutatori), dispositivi che ap-prendono quali apparecchiature sono collegate a ogni lo-ro porta e, in seguito, inviano i pacchetti ricevuti (frame)solo alla porta a cui è collegato il computer (o altro dispo-sitivo) di destinazione. Gli switch consentono, inoltre, co-municazioni bidirezionali (full duplex). La struttura a stel-

PC Open www.pcopen.it122

5.7.1.3 Conoscere lemodalità difunzionamento diEthernet (indirizzoMAC, CSMA/CD)

Page 8: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

Lezione 7A IT Administrator - Sicurezza informatica

la di questo genere di reti offre il vantaggio di poter ag-giungere e togliere computer in qualsiasi momento, senzainfluenzare il funzionamento del resto della rete. La conti-nuità elettrica dell’impianto viene garantita dall’hub oswitch, che prevedono porte di connessione dedicate perciascun computer.

I connettori utilizzati sono di derivazione telefonica e so-no indicati dalla sigla RJ-45 (sono simili, ma più grandi de-gli RJ-11, usati per telefoni e modem). Si utilizzano quattrofili: due per comunicare in un senso (trasmissione), e dueper il senso opposto (ricezione); si usano due fili per dire-zione perché le comunicazioni sono bilanciate, non usanocioè un riferimento a terra o massa, col risultato di miglio-rare l’immunità ai disturbi. Utilizzando coppie di fili sepa-rate per trasmissione e ricezione, i dispositivi possono an-che ricevere e trasmettere contemporaneamente (funzio-namento in full duplex), raddoppiando la quantità dei datitrasmessi per unità di tempo. Il cavo utilizzato per le cop-pie è il doppino ritorto (i due fili di ciascuna coppia sonoavvolti uno sull’altro a formare una lunga treccia – un espe-diente utile per ridurre le interferenze). Il doppino è similea quello usato per gli impianti telefonici e può essere scher-mato (STP, Shielded Twisted Pair) o non schermato (UTPUnshielded Twisted Pair), con caratteristiche elettriche de-finite in base a determinate categorie (oggi si usa la cate-goria 5).

Connettore RJ-45- 100BaseT. Differisce dal

10BaseT per la velocità di tra-smissione (100 Mbps), manon per i connettori. Nellaversione 100BaseTX della fa-miglia 100BaseT, vengono im-piegati due doppini in un ca-

vo di categoria 5 (migliore rispetto alla Cat. 3 del 10BaseT).Normalmente, le interfacce di rete per 100BaseT ricono-scono automaticamente il tipo di dispositivo con cui dia-logano (10baseT o 100BaseT), e sono indicate con la sigla10/100.

- 100BaseF. Questa tipologia non utilizza cavi di rame,ma fibra ottica che viene utilizzata, generalmente, per con-nettere tra loro switch di piano nelle grosse reti che siestendono su interi palazzi di uffici. La fibra ottica è più co-stosa, ma consente di raggiungere lunghe distanze poichéè immune da disturbi elettrici ed elettromagnetici.

- Altre tipologie supportano velocità superiori, come1000BaseT (Gigabit Ethernet su doppino, già integrata sumolte schede madri per computer), 1000BaseCX (per la tra-smissione su cavo schermato), le versioni a fibra ottica1000BaseSX (laser a onda corta), 1000BaseLX (laser a ondalunga) e 1000BaseZX (che usa fibra monomodale, inveceche multimodale, per lunghissime distanze) e le versioni afibra da 10 Gigabit/secondo.

Il termine Baseche compare nei no-mi indica una retedove il segnale nonè modulato, ed èquindi in “banda ba-se”: il segnale digi-tale è trasmesso co-sì com’è, senza vei-colarlo su una por-tante.

Per quanto riguarda lo strato 2 (data link o collegamen-to), le caratteristiche di Ethernet sono le seguenti.

- Ogni dispositivo è dotato di un indirizzo detto MAC ad-dress, ovvero indirizzo MAC (Media Access Control). Ricor-diamo che lo strato due di Ethernet comprende i sotto-stra-ti Logical Link Control e Media Access Control. L’indirizzoMAC è composto di 48 bit (6 byte) che vengono assegnatiin modo univoco all’interfaccia di rete (scheda o chip inte-grato) all’atto della produzione, e sono rappresentati da 12cifre esadecimali (per esempio, 00:00:E2:4F:E8:8D). Questoindirizzo viene utilizzato come indirizzo del mittente all’i-nizio di tutti i pacchetti (frame) trasmessi; l’analogo indi-rizzo dell’interfaccia a cui è destinato il pacchetto è utiliz-zato come indirizzo del destinatario. Certi pacchetti sonodestinati a tutti nodi di una rete, nel qual caso l’indirizzo deldestinatario è posto a FF:FF:FF:FF:FF:FF. I pacchetti con que-sto indirizzo di destinazione si dicono pacchetti di broad-cast.

- La politica di accesso al canale è di tipo CSMA/CD: ciòsignifica che ogni scheda ascolta prima di trasmettere, etrasmette solo se il canale è libero. Durante la trasmissio-ne la scheda misura il segnale sul cavo; se esso è differen-te dal segnale trasmesso, significa che anche qualche altrastazione ha iniziato a trasmettere, quindi viene attivata laprocedura di recupero dopo la collisione. Tale proceduraprevede la trasmissione di un segnale lungo oltre 1500 bit,composto da 0 e 1 alternati. Lo scopo del segnale, detto jab-ber, è comunicare a tutta la rete che c’è stata una collisio-ne, e che prima di riprendere a trasmettere, una volta chela linea sia di nuovo libera, ogni scheda deve attendere untempo casuale e poi verificare di nuovo la disponibilità del-la linea. L’algoritmo minimizza la probabilità che si ripetasubito una collisione tra le stesse schede.

- La rete Ethernet presenta un’altra particolarità costi-tuita dal cosiddetto heartbeat (battito cardiaco), un bit tra-smesso circa ogni 18 ms in assenza di comunicazioni. Nel-le realizzazioni 10BaseT e 100BaseT, la presenza di questosegnale determina l’accensione del LED della scheda di re-te che indica che il collegamento è attivo. Nei dispositiviche comunicano a 10 Mbps, tale segnale è molto semplice,

PC Open www.pcopen.it123

Uso di un hub

Una scheda di rete 10Gigabit Ethernet per fibraottica

Uso di uno switch

Connettore RJ-45:vengono impiegati duedoppini

Page 9: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

ITAdministrator - Sicurezza informatica Lezione 7A

mentre per i dispositivi da 100 Mbps e 10/100 Mbps non siusa un solo impulso, ma una serie di impulsi e un proto-collo con cui ogni apparecchiatura segnala alla contro-parte quali sono le proprie capacità (l’altra risponde con-fermando le proprie). In questo modo, si ottiene una ne-goziazione automatica delle caratteristiche del collega-mento (10 o 100 Mbps, half o full duplex). Le apparecchia-ture capaci di questa funzionalità (oggi la norma) sono det-te autosensing. La velocità di trasmissione viene, talvolta,segnalata da un colore diverso del led di connessione po-sto su ciascuna presa Ethernet RJ-45. Si usa il verde per se-gnalare la velocità di 10 Mbps, e l’arancio per segnalare i100 Mbps; in alcuni casi, tuttavia, il verde è usato per tut-te le velocità disponibili. L’altro led (solitamente giallo) in-dica la presenza di eventuali collisioni.

Protocollo TCP/IP, indirizzi,porte, funzionamento

Rispetto alla pila (stack) ISO/OSI, la pila TCP/IP è nataprima, e in modo indipendente. Per tale motivo, non esisteuna corrispondenza diretta tra TCP/IP e ISO/OSI. La pilaTCP/IP comprende una lunga serie di protocolli, di cuiquattro sono fondamentali:

- IP, responsabile dello strato di rete;- TCP, responsabile sia dello strato di trasporto, sia del-

lo strato di sessione, dato che si occupa di gestire la con-nessione end-to-end (da un estremo all’altro), curando il ri-scontro della ricezione e l’ordinamento dei pacchetti;

- UDP, che funziona in modo non dissimile da TCP, mache non si prende cura del riscontro dei dati e, per questo,è detto “inaffidabile”;

- ICMP, che serve per gestire situazioni quali la sincro-nizzazione dei dati ed eventuali messaggi d’errore da par-te del protocollo.

Normalmente TCP/IP è usato su reti Ethernet, almenoper quanto riguarda le reti locali (LAN), perciò i pacchettiTCP/IP vengono inseriti all’interno di frame Ethernet. Il fra-me Ethernet 802.3 ha una lunghezza minima di 64 byte emassima di 1500 byte, comprendente il carico utile (pay-load, i dati da trasmettere) e l’intestazione (informazioni dicontrollo che formano la testa - header - e la coda - trailer -del frame).

Per abbinare automaticamente il MAC address di unascheda Ethernet (strato 2) all’indirizzo IP a essa assegna-to (strato 3), si utilizza un ulteriore protocollo, detto ARP(Address Resolution Protocol). Il computer trasmittente ini-zia il processo inviando un messaggio broadcast ARP (inun frame di broadcast ethernet) a tutti i dispositivi colle-gati alla rete locale (detta anche sottorete o subnet), chie-dendo qual è il computer a cui è assegnato un certo indi-rizzo IP. Se un host risponde, comunicando il proprio MACaddress, si può stabilire una comunicazione tra i due nodi.Se il broadcast ARP non riesce a determinare l’indirizzoMAC della scheda di rete del destinatario, viene generatoun messaggio di errore.

Per descrivere il funzionamento dei protocolli della pi-la TCP/IP, è utile iniziare esaminandone alcune caratteri-stiche.

- Indirizzo IP. Nella comune versione IPv4 (IP versione 4- la transizione verso IPv6 è lenta e graduale), questo indi-rizzo è costituito da 32 bit, rappresentati come quattro nu-meri decimali (uno per ottetto, o gruppo di otto bit). Gli ot-tetti sono separati da punti, come nell’esempio 192.168.0.1;tale notazione, comune per indicare gli indirizzi IP, è dettadotted notation, o notazione puntata. Un indirizzo IP è as-sociato a un’interfaccia di rete (scheda di rete, modem,router, ecc.), e permette d’inviare e ricevere pacchetti IP.Perché l’indirizzamento IP funzioni correttamente, ogni in-

dirizzo IP dev’essere assegnato a un unico dispositivo, ènecessario quindi un meccanismo di assegnazione unicoper l’intera rete. Nel caso di Internet, la funzione di coor-dinamento per l’assegnazione degli indirizzi è svolta dalRIPE NCC (Réseaux IP Européens Network CoordinationCentre) di Amsterdam. Gli indirizzi IP dei piccoli utenti chesi collegano a Internet tramite un provider sono ammini-strati dagli stessi provider.

L’indirizzo IP può essere visto come composto da dueparti. I bit più significativi (all’inizio della dotted notation)indicano la rete alla quale la scheda è connessa, e prendo-no il nome di network number (numero o indirizzo di rete)o network prefix (prefisso di rete). I bit rimanenti identifi-cano l’host (il sistema o dispositivo) su quella rete, e pren-dono il nome di host number.

Gli host comunicano tra loro all’interno della stessa re-te (IP con lo stesso network number). Per collegare due ap-parecchiature appartenenti a reti differenti, occorre utiliz-zare un router, un dispositivo con più interfacce di rete icui indirizzi appartengono alle diverse reti da intercon-nettere. Il router provvede all’instradamento (routing) deipacchetti da una rete all’altra in base a una tabella di rou-ting, una mappa della topologia delle reti da usare per in-stradare il traffico.

Per ottimizzare il numero di indirizzi IP gestibili (consi-derando lo spreco delle prime assegnazioni e la scarsità diindirizzi liberi), la porzione di indirizzo IP relativa alla retenon è fissa. Originariamente, erano state previste reti diclasse A, B e C, nelle quali l’indirizzo di rete era lungo ri-spettivamente 1, 2 e 3 ottetti, lasciando così 3, 2 e 1 ottettiper il numero di host. Togliendo gli indirizzi riservati e i bitutilizzati per indicare la classe, ne risulta che si possonoavere 126 reti di Classe A, ciascuna con 16,777,214 possibilihost; 16,384 reti di Classe B, ciascuna con 65,534 possibilihost e 2,097,152 reti di Classe C, ciascuna con 254 possibi-li host.

Classi di indirizzi IP

Esistono anche una Classe D, destinata a comunicazio-ni multicasting (a gruppi di host - indirizzi che iniziano con1110), e una classe E (indirizzi che iniziano con 1111) peruso sperimentale.

Dagli anni ‘90, per maggiore efficienza nell’assegnazionedegli indirizzi IP, si utilizza una notazione classless (senzaclasse), in cui la suddivisione tra rete e host può avvenirein uno qualsiasi dei 32 bit dell’indirizzo IP.

- Maschera di rete (subnet mask). E’ un numero di 32 bitdiviso in due parti: la prima parte, con i bit tutti posti a uno,indica quale parte dell’indirizzo IP identifica la rete; la se-conda parte, con tutti i bit a zero, indica la parte di indi-rizzo riservata all’identificazione dell’host all’interno dellarete. Per le classi A, B e C, le subnet mask sono, rispettiva-mente: 255.0.0.0, 255.255.0.0 e 255.255.255.0. Storicamente,gli indirizzi IP e le classi sono stati distribuiti con eccessi-

PC Open www.pcopen.it124

5.7.1.4Comprendere iprincipali aspettidel protocolloTCP/IP (indirizzi,numeri di porta,principalioperazioni)

Classi di IP: confrontografico tra reti di classe A,B e C

Page 10: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

Lezione 7A IT Administrator - Sicurezza informatica

va larghezza, senza prevedere la crescita del numero di re-ti e di host che si è verificata con l’esplosione dell’utilizzodi Internet. Tra le misure per correre ai ripari, quella più ra-dicale è lo sviluppo del nuovo protocollo IP versione 6(IPv6), che utilizza indirizzi di 128 bit capaci di identificareun numero praticamente illimitato di reti e host. La speri-mentazione di IPv6 dura da parecchi anni a livello interna-zionale, soprattutto a partire dagli enti legati alla ricerca. Latransizione a IPv6 appare onerosa per la necessità di ag-giornamento o sostituzione delle apparecchiature di rete,quindi non è, al presente, una soluzione generalizzabile.

Un importante contributo per guadagnare tempo a fron-te della scarsità di indirizzi IP liberi, è venuto dall’uso di in-dirizzi IP privati, ovvero degli intervalli di indirizzi che, perconvenzione (la RFC 1918), non sono visibili su Internet.Questi intervalli sono: da 10.0.0.1 a 10.255.255.254, da172.16.0.1 a 172.31.255.254 e da 192.168.0.1 a192.168.255.254. All’interno delle aziende si usano, solita-mente, intervalli di indirizzi privati, così da non dover im-pegnare blocchi di indirizzi pubblici (detti anche indirizzilegali), di cui c’è scarsità. Il protocollo NAT (Network Ad-dress Translation) provvede alla conversione tra indirizziprivati e indirizzi pubblici. I router e i firewall, normalmen-te, supportano tale protocollo e permettono di utilizzare unsolo indirizzo IP pubblico, consentendo l’accesso a Interneta un’intera rete di computer.

Per quanto riguarda l’evoluzione della suddivisione inclassi degli indirizzi IP, da oltre un decennio si usa il CIDR(Classless Inter-Domain Routing), documentato nelle RFC1517, 1518, 1519 e 1520. Il CIDR elimina la tradizionale divi-sione in classi, e permette di aggregare migliaia di rotte(route) in un’unica voce delle tabelle di routing. L’adozionedel CIDR nel 1994-1995 ha permesso ai router di sopravvi-vere all’esplosione delle rotte Internet, che altrimentiavrebbero raggiunto l’ordine delle 100.000 voci di tabella,ingestibili dai router. Il CIDR permette, tra l’altro, di asse-gnare blocchi di indirizzi più piccoli di quelli di classe C, eli-minando gli sprechi (in origine non si potevano assegnaremeno di 256 indirizzi per volta). Ad esempio, una rete consubnet mask 255.255.255.224, prevede 5 bit per il numero dihost e 31 bit per il numero di rete, ed è utilizzabile per 30host (un indirizzo corrisponde alla rete, uno al broadcast e30 host corrispondono ai 32 oggetti rappresentabili con 5bit – 2^5=32).

- Indirizzo di broadcast. Lo si ottiene ponendo a uno tut-ti i bit del numero di host. Un pacchetto che ha come indi-rizzo del destinatario l’indirizzo di broadcast della rete, vie-ne letto da tutti i dispositivi collegati alla rete.

- Indirizzo di gateway di default (default gateway). Que-sto è l’indirizzo IP di quel computer o dispositivo a cui van-no indirizzati tutti i pacchetti che non hanno una route de-finita esplicitamente (tipicamente, quelli che non sono de-stinati alla propria rete). Questo computer riceve i pac-chetti e li ritrasmette, attraverso un’altra interfaccia di re-te, verso un’altra rete. Per esempio, uno dei computer del-la LAN, adibito a gateway e collegato a un modem, può ave-re un indirizzo IP privato 192.168.0.1 (l’indirizzo di ga-teway), e anche un indirizzo IP pubblico (statico o dinami-co) assegnato dal provider Internet, che rappresenta l’in-dirizzo con cui sono visti su Internet tutti gli utenti dellaLAN.

- Numero di porta. I numeri di porta, o porte, sono iden-tificatori numerici utilizzati dai protocolli di trasporto(TCP e UDP) e dalle specifiche istanze (copie o incarnazio-ni) delle applicazioni che ne fanno uso. Lo scopo delle por-te è identificare più endpoint (punti terminali) all’internodel computer, capaci di ricevere e trasmettere messaggi. Ilnumero di porta serve per completare l’indirizzo IP, al finedi individuare quale programma, di quale computer (host)e di quale rete è origine o destinazione di un messaggio.Considerando, ad esempio, il traffico parallelo che entra inun computer da Internet, si possono immaginare numero-

se porte aperte, contemporaneamente impegnate a rice-vere traffico HTTP diretto a varie istanze del browser, piùmessaggi di posta POP o IMAP (Internet Message Access Pro-tocol), download FTP, file e cartelle da altri host della retelocale. Ognuna di queste attività (e numerose altre) utiliz-za una serie di numeri di porta prefissati. Alcuni esempi dinumeri di porta, fra le centinaia di valori preassegnati (ve-di http://www.iana.org/assignments/port-numbers), sono80 (HTTP), 21 (FTP), 23 (Telnet), 25 (SMTP), 110 (POP v3),143 (IMAP).

- Numero di sequenza. Ogni pacchetto TCP ha un nu-mero di sequenza che identifica la sua posizione nel flussodi pacchetti inviati (si basa sul numero di byte inviati). Ognipacchetto TCP di conferma contiene il numero di sequen-za che conferma il numero di byte ricevuti.

Il funzionamento del protocollo TCP avviene secondole seguenti fasi:1. L’apparecchiatura che inizia la comunicazione (chia-

mante o client) invia un pacchetto di dati verso l’appa-recchiatura di destinazione (chiamato, detto anche ser-ver). Questo pacchetto contiene i due indirizzi, i due nu-meri di porta, un flag particolare detto SYN e un numerodi sequenza iniziale. Tutte queste informazioni riguarda-no esclusivamente il protocollo. Questo è il primo dei tremessaggi che costituiscono l’handshake TCP, ovvero loscambio di preamboli necessario per instaurare una co-municazione TCP. Il nome esatto del pacchetto è SYNsegment (synchronizing segment), infatti le unità di tra-sferimento inviate dal protocollo TCP si chiamano seg-menti, ciascuno dei quali contiene una frazione del flus-so di dati da trasmettere al destinatario, più le informa-zioni di controllo. Di solito, un segmento viaggia in retein un singolo datagramma. Spesso, comunque, si usa iltermine pacchetto in modo generico, senza precisare seesso sia un segmento (strato 4), un IP datagram (strato3) o un frame (strato 2).

2. L’apparecchio chiamato, dopo aver ricevuto il pacchet-to con il flag SYN, invia un pacchetto di risposta conte-nente i flag SYN e ACK (acknowledgment o riconosci-mento), un proprio numero di sequenza iniziale e la con-ferma, incrementata di uno, del numero di sequenza re-lativo al pacchetto SYN appena ricevuto.

3. Il chiamante risponde, a sua volta, con un pacchetto con-tenente un ACK e il numero di sequenza ricevuto dalchiamato, incrementato di uno.

4. A questo punto, sia il chiamante sia il chiamato possonotrasmettere dati. Dopo averlo fatto, attendono un mes-saggio di ACK dall’interlocutore.

5. Se l’apparecchiatura ricevente riceve il pacchetto dei da-ti correttamente, risponde inviando un pacchetto con at-tivo il flag di ACK. Se il ricevente ha dei dati che deve tra-smettere, allora invia l’ACK insieme ai dati e attende, asua volta, di ricevere un ACK.

6. L’apparecchiatura che ha inviato dati attende l’ACK; senon lo riceve, dopo un certo periodo di tempo ritra-smette i dati, non potendo sapere se sono andati persiquesti oppure l’ACK. L’interlocutore, se riceve i dati, ri-sponde con l’ACK. Se riceve per la seconda volta dati giàricevuti (e quindi era andato perso l’ACK), li riconoscedal numero di sequenza ripetuto, li scarta e invia un ACKal mittente.

7. Quando un’apparecchiatura ha finito di trasmettere ilflusso di byte e vuole terminare la connessione, invia al-l’interlocutore un pacchetto con il flag FIN (finish) e undato numero di sequenza. A questo punto l’applicazionechiude la connessione.

8. Il ricevente risponde con due diversi pacchetti: uno con-tenente un ACK e il numero di sequenza del mittente, in-crementato di uno; l’altro con il flag FIN e lo stesso nu-mero di sequenza incrementato. Anche su questo lato,l’applicazione chiude la connessione.

PC Open www.pcopen.it125

Page 11: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

ITAdministrator - Sicurezza informatica Lezione 7A

9. L’apparecchiatura che ha inviato il primo FIN rispondecon un ACK. A questo punto la connessione è chiusa.

Rispetto al protocollo TCP (Transmission Control Proto-col), il protocollo UDP (User Datagram Protocol) è molto piùsemplice perché si limita all’invio dei dati. L’apparecchia-tura che deve inviare i dati confeziona un pacchetto (chia-mato user datagram) e lo invia senza aprire una sessione,senza scambiare messaggi ACK di conferma, e senza nu-meri di sequenza. Ciò rende il protocollo UDP semplice erapido, ma anche “inaffidabile”, visto che non garantiscel’arrivo dei dati a destinazione. L’applicazione che utilizzaUDP accetta piena responsabilità degli aspetti di affidabi-lità, tra cui perdita di messaggi, duplicazione, ritardo, con-segna fuori ordine dei pacchetti e perdita della connessio-ne. Un’applicazione che ignori tali aspetti è soggetta a fun-zionare bene in ambienti locali o sicuri, e a fallire in reti digrandi dimensioni.

D’altra parte, ci sono applicazioni dove l’uso del proto-collo TCP non offre vantaggi, ma rischia di provocare in-convenienti. Il primo esempio è la trasmissione di audio evideo. Nella trasmissione della voce, in particolare, se labanda e la velocità delle operazioni sono adeguate, la co-municazione è soddisfacente; tuttavia, in presenza di ral-lentamenti ed errori, la comunicazione diventa inintelligi-bile. In questi casi, è più semplice utilizzare UDP colmandole lacune (i dati non ricevuti) con zeri, che riducono il fa-stidio per l’utente. In effetti, le comunicazioni VoIP (Voiceover IP, voce su IP) utilizzano un misto di UDP e TCP; adesempio, il popolare sistema Skype (che usa protocolli VoIPproprietari) dimostra particolare flessibilità nell’adeguarsialle circostanze.

Un altro esempio è offerto dalle trasmissioni dei segna-li di sincronismo temporale per l’allineamento degli orolo-gi, una funzione offerta sia da Windows, sia da Linux in col-legamento con un time server. Se per l’operazione si usa ilprotocollo UDP, potranno accadere occasionalmente man-cate sincronizzazioni, ma la stabilità degli orologi al quar-zo è in grado di assorbire qualche omessa sincronizzazio-ne. Se si usa TCP per sincronizzare il tempo e si verificanosituazioni di errore o congestione in rete, il protocollo pre-vede la ritrasmissione dei dati. La conseguenza è che i da-ti temporali, ricevuti in ritardo, hanno l’effetto di disalli-neare l’orologio del computer. Ciò potrebbe creare incon-

venienti nei casi in cui le informazioni temporali siano uti-lizzate dai meccanismi di sicurezza (per esempio, per gli al-goritmi di autenticazione) e l’azienda non abbia un propriotime server. Sebbene questi siano casi limite, lasciano in-tendere che, per certe applicazioni, sia preferibile la relati-va “inaffidabilità” di UDP.

In questa beve panoramica sulla pila TCP/IP, meritano diessere menzionati i protocolli di routing. Per inviare i pac-chetti IP da un sistema all’altro della stessa rete locale (ti-picamente Ethernet), è sufficiente incapsulare i pacchetti inframe Ethernet aventi il MAC address del destinatario.Quando, però, i pacchetti sono destinati a un sistema chesi trova su un’altra rete locale (diverso network number nel-l’indirizzo IP), essi devono essere trasferiti da una rete al-l’altra attraverso uno o più router (nei frame Ethernet vie-ne usato come destinazione il MAC address del router). An-che nel caso minimo di alcuni computer domestici collegatia Internet, si utilizza un router (spesso integrato con il mo-dem ADSL) per interconnettere la rete del provider alla re-te locale domestica, e condividere l’accesso Internet fra tut-ti i computer.

Per collegare due reti occorre un router

I router, per decidere qual è il percorso migliore da se-guire per i pacchetti, utilizzano protocolli di routing (in-stradamento) tramite i quali si scambiano informazioni re-lative allo stato dei collegamenti (link), come la capacità deilink o le reti raggiungibili attraverso quei link. Il primo pro-tocollo di routing ampiamente diffuso su Internet è statoRIP (Routing Information Protocol), che basava la scelta deipercorsi sul numero di “salti” (hop, reti da attraversare) perraggiungere la destinazione. La sua evoluzione ha portatoa RIP v2. RIP era un protocollo semplice, con pochi con-trolli di legittimità e coerenza dei dati, e senza autentica-zione. Quindi era vulnerabile a disservizi e dirottamenti deltraffico a fronte di attacchi e guasti. RIP 2 ha introdotto mi-glioramenti tecnici e una parziale autenticazione, ma con-serva il limite di 15 salti di rete (hop) per arrivare a desti-nazione.

L’evoluzione del routing ha portato al concetto di Auto-nomous System (AS), una sorta di isola che utilizza un pro-tocollo per il routing dei pacchetti al proprio interno (tipi-camente OSPF, Open Shortest Path First) e un altro proto-collo, Border Gateway Protocol (BGP), per determinare ilrouting fra gli AS. BGP può essere utilizzato per lo scambiodi informazioni tra AS solo dai router di confine (border ga-teway), e secondo le modalità concordate con gli AS confi-nanti. Questi protocolli, e BGP in particolare, sono più ro-busti e scalabili, e dotati di meccanismi di autenticazione.Oggi è, quindi, molto più difficile falsificare o influenzare iltraffico controllato dai protocolli di routing, a parte le vul-nerabilità del firmware dei router, occasionalmente sco-perte e, più o meno rapidamente, corrette dai produttori.Lo sfruttamento delle vulnerabilità permette di bloccare oalterare l’instradamento del traffico, nei limiti della strut-tura ad AS della rete.

PC Open www.pcopen.it126

Inizio dellaconnessione TCP

Fine della connessioneTCP

Router: modalità dicollegamento di due reticon protocolli di routing

Page 12: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

Lezione 7A IT Administrator - Sicurezza informatica

Incapsulamento di TCP/IP in Ethernet

Nella sezione precedente abbiamo preso in considera-zione il funzionamento di TCP e UDP senza esaminare co-me i dati di questi protocolli interagiscano con quelli delprotocollo IP. Il pacchetto IP (IP datagram) consiste di un’in-testazione con informazioni di controllo, tra cui gli indiriz-zi di origine e di destinazione del pacchetto, seguita dai da-ti da trasmettere. A differenza dei frame, la cui lunghezzamassima è determinata dall’hardware, i datagrammi sonocontrollati dal software, nei limiti della lunghezza massimadel pacchetto. In IPv4 la lunghezza del pacchetto è espres-sa da un campo di 16 bit dell’intestazione, quindi il data-gramma può occupare fino a 65.535 ottetti. Ogni volta cheun pacchetto è passato al protocollo dello strato inferiore,l’intero pacchetto diventa la parte dati del pacchetto allostrato inferiore, a cui viene aggiunta l’intestazione. Un pac-chetto TCP o UDP (strato di trasporto) viene passato quin-di allo strato di rete (IP), e si arricchisce dell’intestazioneIP. Il pacchetto IP (IP datagram) viene, a sua volta, fram-mentato e inserito (si usa il termine incapsulato) nel framedello strato inferiore, con l’aggiunta della relativa intesta-zione. In pratica, man mano che un pacchetto scende dal-la cima della pila di protocolli verso la strato fisico, accu-mula tutte le intestazioni degli strati di protocolli che at-traversa.

In una visione ideale, potremmo supporre che il pac-chetto TCP o UDP sia incapsulato nel pacchetto IP, e chequesto abbia una lunghezza tale (limitata) da poter entra-re nella parte dati del frame senza dover essere frammen-tato in più frame. Tuttavia, la lunghezza massima del framedipende dalle tecnologie usate. Ethernet ha il limite di 1500ottetti (1492 nello standard 802.3), FDDI accetta 4470 ot-tetti, e via dicendo. L’eventuale frammentazione del pac-chetto, allo scopo di trovare posto nei frame delle tecno-logie usate lungo il percorso origine-destinazione, avvieneallo strato 3 (rete o IP). La massima lunghezza del pac-chetto accettabile da un’interfaccia fisica di rete si chiamaMTU (Maximum Transfer Unit). Se lo strato IP è informatosui tipi di strato fisico sul percorso, può inviare pacchettiche non avranno bisogno di essere ulteriormente fram-mentati; viceversa, potrebbe ad esempio inviare pacchettidi 1492 ottetti che qualche router, impostato con MTU in-feriore, dovrà frammentare e riassemblare lungo il percor-so.

L’incapsulamento dei pacchetti TCP o UDP nei pacchet-ti IP è abbastanza diretto, mentre quello dei pacchetti IP neiframe Ethernet richiede l’uso del protocollo ARP per sco-prire qual è l’indirizzo MAC del destinatario e inserirlo nelframe.

L’inclusione del pacchetto IP nel frame Ethernet avvienein quanto le reti locali sono solitamente reti Ethernet. Neicomputer le operazioni allo strato fisico e logico (data link)sono gestite dalla scheda di rete (NIC, network interfacecard). Le parti di sistema operativo che gestiscono le co-municazioni via rete, come la suite TCP/IP, possono svol-gere varie funzioni:• configurare vari parametri della scheda;• leggere la configurazione della scheda;• inviare alla scheda i dati che saranno inviati come pay-

load (carico utile, la parte dati del frame) indicando a qua-le MAC address vanno spediti;

• leggere dalla scheda i dati che ne emergono e che sono adessa diretti, oppure i pacchetti di broadcasting (diretti atutte le schede della rete).

Tutte le varie fasi di comunicazione in rete, e quindi di in-vio di pacchetti, richiedono l’invio di dati alla scheda di re-te. Per fare questo, occorre conoscere il MAC address delcomputer locale (origine del messaggio) e il MAC address

della scheda Ethernet del destinatario. Del destinatario siconosce l’indirizzo IP; per scoprire qual è il corrisponden-te MAC address, il computer chiamante opera in questo mo-do:• crea un pacchetto ARP contenente l’indirizzo IP del chia-

mante e la richiesta del MAC address dell’indirizzo IP delchiamato;

• invia questo pacchetto alla scheda di rete specificando,come MAC address del destinatario, l’indirizzo di broad-cast FF:FF:FF:FF:FF:FF;

• tutte le schede di rete ricevono il pacchetto e tutte le fun-zioni di gestione della rete lo elaborano, ma risponde so-lo il computer con l’indirizzo IP specificato;

• il pacchetto ARP di risposta ha come mittente il MAC ad-dress desiderato.

Da quel momento in poi, il computer chiamante conosceil MAC address cercato, che salva in una tabella detta ARP ta-ble. Utilizzando tale indirizzo, le funzioni di gestione della re-te sono in grado d’inviare alla scheda di rete, insieme ai da-ti, il MAC address della scheda a cui vanno trasferiti i dati.

Consideriamo ora cosa accade quando la connessione èdiretta verso una rete diversa da quella a cui appartiene ilcomputer chiamante. Nel caso più semplice, il computer hauna sola informazione su come arrivare alla rete di desti-nazione, il default gateway impostato tra le proprietàTCP/IP della scheda di rete. In questo caso, le operazionisono quelle viste sopra a proposito del protocollo ARP, conla differenza che nel richiedere il MAC address non vieneusato l’indirizzo IP del chiamato, ma quello del gateway orouter di default. Una volta ottenuto il MAC, esso viene usa-to per indicare alla scheda di rete dove inviare il frameEthernet. Il pacchetto IP incapsulato nel frame porta comedestinazione l’indirizzo IP del chiamato. Il frame è recapi-tato al default gateway o router, che lo apre e inoltra il pac-chetto IP (in un altro frame) a un’altra interfaccia di rete,per farlo proseguire verso la destinazione.

ARP mantiene una tabella di corrispondenza tra indiriz-zi IP e indirizzi MAC, la ARP table. All’avvio del computer latabella è vuota, e viene compilata man mano che lo stratoIP ha bisogno d’inviare pacchetti a indirizzi IP che non sonoancora catalogati nella tabella (insieme ai corrispondentiMAC address). Quando IP ha bisogno d’inviare un pacchet-to a un host della stessa rete, prima cerca l’indirizzo IP del-l’host nella tabella; se non lo trova, invia un pacchetto ARPdi richiesta come broadcast a tutta la rete; tale pacchettonon è un pacchetto IP, ma è direttamente un frame. Quandoriceve il pacchetto di risposta, IP aggiunge una nuova vocealla ARP table. Se un indirizzo IP non viene usato per un cer-to tempo viene eliminato dalla tabella, per evitare di utiliz-zare indirizzi MAC obsoleti.

Il concetto di default gateway è unasemplificazione, destinata soprattuttoalla configurazione degli host.

Impostazione del defaultgateway di una connessioneTCP/IP

Un router ha normalmente più in-terfacce e route (rotte) esplicite perle diverse reti, il cui traffico dev’esse-re instradato sulle diverse interfacce(una route, in generale, è il percorsoche il traffico di rete compie dalla suaorigine alla sua destinazione; in unainternet TCP/IP - di cui Internet è ilmaggiore esempio - ogni datagrammaIP è instradato in modo indipendente,e le route possono cambiare dinami-camente).

Il comune router con due interfac-ce, una verso l’azienda e una verso il

PC Open www.pcopen.it127

5.7.1.5 Conoscerel'incapsulamento diTCP/IP in Ethernet

Protocollo Internet:impostazione delleproprietà di TCP/IP

Page 13: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

ITAdministrator - Sicurezza informatica Lezione 7A

provider, è più un gateway fra due diverse gestioni e due di-verse tecnologie di trasmissione che non un router vero eproprio, con le route catalogate nel router. In questi casi,nel computer sono registrate tabelle di routing che per-mettono di scegliere quale interfaccia e indirizzo IP confi-nante usare per instradare i pacchetti diretti verso una par-ticolare destinazione. Il protocollo ARP viene quindi utiliz-zato nei confronti di quest’ultimo indirizzo IP, se la con-nessione è di tipo Ethernet. Uno dei casi più semplici èquello di un computer con una scheda Ethernet per la con-nessione alla rete locale, e di un’interfaccia PPP per la con-nessione verso Internet (PPP - Point-to-Point Protocol - è unprotocollo di accesso remoto di strato data link, usato perincapsulare i pacchetti IP nei frame e connettere un com-puter a una rete attraverso una linea telefonica).

Una tabella di routing in Windows

I significati delle voci di questa tabella d’esempio sono i se-guenti:

- Linea 1 e 2: route di default; il gateway address è l’indi-rizzo di un router (192.168.0.1) che è collegato sulla rete al-le interfacce 192.162.0.114 e 192.168.0.151.

- Linea 3: indirizzo di loopback, un valore speciale riferi-to all’host locale, impostato automaticamente da Win-dows.

- Linee 4 e 5: gamma d’indirizzi per il segmento di rete lo-cale; qualunque indirizzo nella rete 192.168.0.0 di Classe Cpuò essere trovato sul segmento connesso alle interfacce,con indirizzo 192.168.0.114 e 192.168.0.151.

- Linee 6 e 7: percorsi per l’host locale (la subnet mask atutti 1 indica che la route si applica solo ai pacchetti invia-ti al singolo indirizzo); l’indirizzo di loopback usato comegateway corrisponde al fatto che i pacchetti indirizzati al-l’host locale sono gestiti internamente.

- Linee 8 e 9: indirizzo di broadcast della sottorete perciascuna delle due schede di rete presenti.

- Linee 10 e 11: indirizzo di multicast, usato per applica-zioni speciali che distribuiscono pacchetti a più destina-zioni.

- Linee 12 e 13: indirizzo di broadcast limitato, caratteri-stico delle routing table di Microsoft.

- La metrica rappresenta il valore di costo associato al-la route.

Una routing table LinuxIn questo esempio (in ambiente SuSE Linux), le prime

due linee indicano la presenza di due schede di rete, unaEthernet e l’altra wireless, entrambe collegate alla rete192.168.0.0 (non vengono indicati i rispettivi indirizzi IP). Il

gateway di default è un dispositivo Ethernet con indirizzo192.168.0.1 (si tratta di un firewall).

I servizi in TCP/IPDopo aver preso in considerazione le comunicazioni dal

punto di vista del protocollo, ora le osserviamo dal puntodi vista dell’utilizzo dei dati. Nei server ci sono molti pro-grammi che scambiano comunicazioni con la rete, e i lorodialoghi attraverso TCP/IP avvengono secondo le seguen-ti modalità.

1. Il programma che realizza il servizio resta in attesa dipacchetti indirizzati a una specifica porta.

2. Il programma viene attivato dopo l’handshake inizia-le (lo scambio di pacchetti con cui i due interlocutori si pre-parano a comunicare e si scambiano le informazioni ne-cessarie, per esempio per l’autenticazione). Di solito, inquesta fase il programma genera un’altra istanza di se stes-so, in modo che un’istanza resti in attesa di altre richiestedi connessione, e l’altra gestisca la comunicazione appenaavviata.

3. Il programma gestisce il flusso dei dati secondo il suoprotocollo applicativo.

4. Al termine della comunicazione, la connessione vienechiusa e l’istanza di programma che la gestiva termina.

Per l’uso dei servizi è necessario conoscere il numero oi numeri di porta (certi servizi usano più porte) a cui indi-rizzare i pacchetti TCP e/o UDP. Per questo, esiste normal-mente un’associazione tra il nome del protocollo e il nu-mero di porta utilizzata dal programma che realizza quelprotocollo (i numeri di porta possono essere modificati econcordati tra le parti).

Esempi di numeri di porta e relativi servizi

Numero Protocollo Notedi porta-------------------------------------------------------------------------------------------------------------------------------------7 UDP Echo Eco dei dati inviati7 TCP Echo Eco dei dati inviati13 UDP Daytime Trasmette data e ora e chiude la

connessione13 TCP Daytime Trasmette data e ora e chiude

la connessione19 UDP Chargen Genera sequenze alfabetiche19 TCP Chargen Genera sequenze alfabetiche20 TCP FTP dati Trasferimento dati FTP21 TCP FTP controllo Comandi FTP22 TCP SSH Protocollo di connessione sicura23 TCP Telnet Invio di comandi a un computer25 TCP SMTP Invio al server dei messaggi di posta

elettronica53 UDP DNS Risoluzione dei nomi in numeri IP53 TCP DNS Risoluzione dei nomi in numeri IP69 UDP TFTP FTP semplificato80 TCP HTTP Protocollo usato dai web server110 TCP POP3 Scarico della posta dai mail server POP220 TCP IMAP3 Scarico della posta dai mail server IMAP443 TCP HTTPS Protocollo di scambio dati sicuro

per i web server

PC Open www.pcopen.it128

5.7.1.6Comprendere iservizi di reteeffettuati in ambienteTCP/IP

Routing table Linux:esempio di tabella inambiente SuSE Linux

Routing in Windows:esempio di tabella conmolteplici indirizzi

Page 14: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

Lezione 7A IT Administrator - Sicurezza informatica

Alcuni servizi non utilizzano un numero di porta fisso. Sipuò allora utilizzare un servizio di ricerca dei servizi, chealla richiesta risponde con il numero di porta sulla quale ilservizio è in ascolto. Questo è normale per i servizi RPC(Remote Procedure Call, un protocollo di trasporto richie-sta/risposta utilizzato in molte interazioni client/server),che si appoggiano a portmapper (porta 111) sui sistemiUnix e a RPC Locator (porta 135) sui sistemi Windows. RPCnon usa numeri fissi di porta per i propri servizi (identifi-cati da program number), ma le prime porte disponibili cheincontra; perciò, utilizza un modulo che mappa i numeri diporta nei propri numeri di programma.

Utilizzo di un analizzatore di rete

Gli analizzatori di rete, detti anche sniffer, permettono dimonitorare i pacchetti che transitano attraverso le inter-facce di rete e, quindi, di tenere sotto controllo il passaggiodi dati tra gli host e la rete.

Uno degli analizzatori più semplici è il programma tcp-dump, che funziona in modalità testo in una finestra promptdi Windows, o in una finestra di consolle di Linux. Tcpdumppuò essere incluso nella distribuzione Linux; in ogni caso,diverse versioni sono scaricabili sia per Windows, sia perLinux. Una buona versione per Windows è quella di mi-croOlap (www.microolap.com/products/ network/tcp-dump/).

Tcpdump mostra il traffico su una data interfaccia di re-te, e offre numerose opzioni per concentrare l’analisi su de-terminati input, specificare il dettaglio delle informazionifornite, salvare l’output in un file, e altro ancora. Si può sce-gliere il numero o il nome dell’interfaccia di rete da teneresotto controllo; con il comando tcpdump -D si ottiene una li-sta delle interfacce selezionabili.

Un aspetto generale del monitoraggio del traffico di re-te, che coinvolge anche altre situazioni, è che le schede direte, normalmente, sono realizzate per ricevere solo i pac-chetti a esse destinati, oppure i pacchetti di broadcast (de-stinati a tutta la rete). Tuttavia, molte schede di rete pos-sono essere impostate in modo da funzionare nella cosid-detta modalità promiscua. In tale modalità, la scheda ac-cetta tutti i pacchetti ricevuti, permettendo al software (ti-picamente un analizzatore di rete o un modulo che realiz-za il bridging tra due sottoreti, come è possibile, ad esem-pio, in Windows XP) di vedere il contenuto di tutti i pac-chetti in transito. In questa modalità, tcpdump e gli altrisoftware della stessa categoria permettono di vedere tuttoil traffico di rete che raggiunge un’interfaccia.

Il programma tcpdump può essere eseguito con una se-rie di opzioni che ne modificano il funzionamento. Ne elen-chiamo alcuni:

Parametro Significato---------------------------------------------------------------------------------------------------------------------------------------i nome/numero In un sistema con più interfacce, permette la

selezione di una specifica interfaccia per nome o per numero (secondo le implementazioni)

-n Non converte gli indirizzi e i numeri di porta, che sono mostrati in forma numerica

-s lunghezza Permette di cambiare la lunghezza della porzionedi pacchetto analizzata. Il valore zero indica al programma di analizzare completamente i pacchetti. Una lunghezza eccessiva può causareuna perdita di pacchetti durante l’analisi

-v Rende più dettagliate le informazioni fornite-vv Ulteriore dettaglio-vvv Massimo livello di dettaglio delle informazioni

fornite

-w nome Invia direttamente i pacchetti nel file specificato-F nome Invece di leggere dall’interfaccia, legge dal file

preparato col precedente comando. Può essere utilizzato per elaborare le informazioni dei pacchetti completi, mentre il semplice uso dell’opzione -s può causare la perdita di pacchetti

Nell’analizzare il traffico di una rete, spesso è necessariolimitare la quantità di traffico da prendere in considerazio-ne; lo si può fare introducendo dei criteri di selezione, di cuivediamo alcuni esempi.

Opzione Valori Esempio--------------------------------------------------------------------------------------------------------------------------------------host nome host host xsystem estrae tutto il

traffico da e per il computer xsystemnet numero IP che net 192.168.1 estrae tutto il traffico

identifica la rete della rete 192.168.1port numero di porta port 22 estrae tutto il traffico da

e per la porta 22src (src) src xsystem estrae tutto il traffico che

parte dal computer xsystemdst (dst) dst net 192.168.1 estrae tutto il

traffico verso la rete 192.168.1dst or src dst or src dst or src host xsystem equivale

a host xsystemtype ether, fddi, tr, arp visualizza solo i pacchetti ARP

ip, ip6, arp, rarp,decnet, tcp, ...

L’esempio che segue con tcpdump per Windows di mi-croOlap, mostra sia pacchetti in transito sulla rete locale,sia pacchetti diretti e provenienti da Internet. Questa ver-sione di tcpdump non richiede installazione, basta esegui-re il file .exe del programma.

tcpdump in WindowsUno strumento concettualmente analogo a tcpdump ma

più moderno, dotato d’interfaccia grafica e di un’ampia fles-sibilità operativa, è Ethereal, scaricabile da Internet perWindows, e incluso in diverse distribuzioni Linux (ma nonsempre installato per default). Il programma è disponibilepresso www.ethereal.com. Com’è prevedibile, per un pro-gramma che cattura il traffico in rete, occorre avere privi-legi di amministratore per eseguirlo.

PC Open www.pcopen.it129

5.7.1.7 Essere ingrado d'installare efar funzionare unanalizzatore di rete

Tcpdump: applicazionedell’analizzatore inWindows

Page 15: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

ITAdministrator - Sicurezza informatica Lezione 7A

Ethereal in Windows

I criteri di selezione delle informazioni da estrarre, la gra-fica della presentazione, e una miriade di opzioni, sono per-sonalizzabili. Per default, la visualizzazione avviene alla fi-ne della cattura, per non rischiare di perdere dati durantel’operazione. Sono riconosciuti oltre 700 protocolli/forma-ti di dati, e si possono definire condizioni di filtraggio (perestrarre solo i pacchetti che interessano) tramite espres-sioni composte da una varietà di elementi, come numeri in-teri (con e senza segno, in vari formati) e a virgola mobile(floating point), array di byte, numeri IP (sia IPv4 sia IPv6),numeri di rete IPX (il protocollo delle reti Novell Netware,molto usato negli anni ’80) , stringhe di testo e condizionilogiche. La documentazione disponibile (anche sotto for-ma di guida online) è decisamente voluminosa.

Ethereal fornisce diverse forme di visualizzazione, tracui i pacchetti catturati (la finestra che li visualizza puòavere diversi formati) e decine di visualizzazioni statisti-che, incluso il grafico di flusso di una serie di pacchetti se-lezionati.

Grafico di flusso in EtherealLa versione Windows e la versione Linux di Ethereal so-

no molto simili. L’immagine d’esempio sotto riportata ètratta da SuSE Linux 10.0.

Ehereal in Linux

Come per molti altri strumenti software destinati a dia-gnosi e monitoraggio, un packet sniffer come Ethereal puòessere usato per scopi utili, ma anche per scopi dannosi,come l’intercettazione della posta elettronica dei colleghi.L’unico modo per tentare di proteggere la confidenzialitàdei dati trasmessi in rete è utilizzare la crittografia.

Attacchi allo stack TCP/IPFra i numerosi attacchi possibili su una rete TCP/IP, al-

cuni si basano sulle caratteristiche dei protocolli finora de-scritti, o sul modo in cui sono implementati. Ne prendiamoin considerazione alcuni.

SpoofingIl termine spoofing indica la generazione di traffico con

falsificazione dell’indirizzo del mittente. Può essere realiz-zato ai vari strati della pila di protocolli, dall’ARP spoofing,in cui viene falsificato il MAC address su una rete Etherneto wireless, fino alla falsificazione del mittente di un mes-saggio di posta elettronica (che accade quotidianamente).Ne vediamo le tipologie più comuni tra le tante possibili.

ARP Spoofing/MAC SpoofingL’ARP Spoofing consiste nella creazione di una falsa as-

sociazione tra il MAC address di una scheda Ethernet e unindirizzo IP, realizzata inviando pacchetti ARP contenentiinformazioni false.

A ogni scheda Ethernet è attribuito, dalla fabbrica che laproduce, un MAC address unico. Tale MAC address può es-sere modificato in modo da impersonare un’altra schedaEthernet, così da far risultare la connessione con un altrosistema, per fruire di particolari privilegi associati a talescheda. Questa pratica prende il nome di MAC spoofing.

L’ARP spoofing funziona solo sulla sottorete locale, per-ché i messaggi ARP non escono da essa. Perciò, lo snifferche attua tali manovre deve risiedere nella stessa subnetdel mittente o del destinatario.

Un altro modo in cui uno sniffer può cercare di convin-cere uno switch a inviargli il traffico, è quello di duplicareil MAC address del sistema preso di mira.

Sebbene il MAC address sia in teoria invariabile, perchéassociato all’hardware dell’interfaccia di rete, esso può es-sere facilmente modificato tramite il comando ifconfig, chepermette di configurare le interfacce di rete in Unix/Linux.In Windows il MAC address può essere modificato tramiteapposite utility (come Smac), o modificando il registro di si-stema (sotto la chiave HKEY_LOCAL_MACHINE), o modifi-cando la voce Indirizzo amministrato localmente nella con-figurazione delle proprietà avanzate della connessione direte. Naturalmente, non viene modificato il MAC address inhardware, bensì la copia gestita del sistema operativo e uti-

PC Open www.pcopen.it130

5.7.1.8 Essere alcorrente delleprincipali tipologie diattacco allo stackTCP/IP: sniffing dipacchetti, IPspoofing, rerouting,TCP hijacking, attaccoDOS multi-IP (DDOS,Distributed Denial OfService), etc

Ethereal: grafico di flussoin versione Linux (SuSELinux 10.0)

Page 16: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

Lezione 7A IT Administrator - Sicurezza informatica

lizzata per le operazioni dalla scheda di rete al posto diquello hardware.

IP SpoofingLa falsificazione dell’indirizzo IP del mittente serve in ge-

nerale per due scopi:- approfittare dei diritti di un altro sistema, laddove essisiano, in qualche modo, legati all’indirizzo IP;

- effettuare attacchi facendo sembrare provenienti da un al-tro indirizzo.

Un aspetto da tenere presente nel valutare la portatadell’IP spoofing, è che la maggior parte delle comunicazio-ni prevede sia l’invio, sia la ricezione di pacchetti. Se si fal-sifica l’indirizzo IP del mittente nell’inviare i pacchetti, ipacchetti di risposta saranno inviati, attraverso i normalimeccanismi di routing, al legittimo intestatario dell’indi-rizzo falsificato; questo aumenta notevolmente la com-plessità di alcuni attacchi. D’altra parte, esistono tecnichedi blind spoofing (spoofing alla cieca), peraltro non sempreapplicabili, in cui il mittente (il cracker) prevede il conte-nuto dei pacchetti di risposta (che non vede), e agisce diconseguenza.

Ci sono alcuni casi di rilevo in cui l’IP spoofing è parti-colarmente efficace:- quando l’attaccante si trova sul percorso tra mittente edestinatario e vuole inserire dei propri pacchetti all’in-terno di una connessione esistente;

- quando i pacchetti di risposta non sono necessari percompletare l’attacco; con certi servizi UDP, per esempio,non occorre stabilire una connessione (con relativo dia-logo preliminare) per inviare comandi;

- quando si desidera semplicemente generare traffico sen-za essere rintracciati; per esempio, se si desidera impedi-re il servizio offerto da un sito (attacco di tipo DoS, Denialof Service) saturando la banda disponibile su una con-nessione, l’uso di indirizzi falsificati permette di nascon-dere l’origine di un attacco, rendendo più difficile una con-tromisura;

- quando si desidera generare “rumore” con pacchetti pro-venienti da più punti di origine, per render più difficile ilriconoscimento, nella massa, della vera origine dell’at-tacco; strumenti di scanning come nmap utilizzano in mo-do efficace queste possibilità.

- Quando si vogliono ingannare gli switch per vedere traffi-co che non ci coinvolge (port stealing), magari per opera-re attacchi del tipo man-in-the-middle (vedi più avanti).

nmap per esplorare host e retiConsideriamo cosa accade in un attacco di tipo IP spoo-

fing. Il cracker prima identifica il suo bersaglio; contempo-raneamente, deve determinare l’incremento usato per l’i-nitial sequence number (ISN), il numero d’ordine iniziale deipacchetti TCP che serve a riconoscere i pacchetti. L’ISN èprevisto essere pseudocasuale per ogni nuova connessio-ne, ma molte implementazioni si sono limitate a incremen-tare il numero di sequenza, permettendo di prevedere ilprossimo ISN e agevolando lo spoofing. In ogni caso, il tipodi numerazione adottata può essere determinata eseguen-do una serie di connessioni legittime con il sito target, e no-tando gli ISN che vengono restituiti durante l’handshakinginiziale. In questa fase, il cracker accetta il rischio di mo-strare il suo vero indirizzo IP.

Una volta stabilito il modo di incrementare l’ISN, ilcracker invia al target un pacchetto TCP SYN con l’indiriz-zo del mittente falsificato (spoofed). Il target risponde colpacchetto TCP SYN ACK, che viene inviato all’indirizzo fa-sullo e non è visto dal cracker. Il pacchetto SYN ACK con-tiene l’ISN del sistema preso di mira; per stabilire una con-nessione TCP completa, l’ISN deve ricevere un ACK (rico-noscimento) basato sull’ISN ricevuto. Il cracker deve indo-vinare l’ISN in base al tipo di incremento che ha osservato,e invia un TCP ACK con il mittente falso e il riconoscimen-

to dell’ISN. Se tutto questo avviene in modo “corretto”, il cracker

riesce a stabilire una connessione legittima con il sistemabersaglio. Sarà in grado di inviare comandi e informazionial sistema, ma non potrà vedere le risposte.

Un caso interessante, ampiamente utilizzato e che esem-plifica il problema, è costituito dagli attacchi cosiddettismurf, che prendono il nome del programma che è stato uti-lizzato. Lo scopo dell’attacco è saturare la banda disponi-bile per un certo indirizzo x.x.x.x, pur non disponendo del-la banda necessaria.

Per realizzare questo attacco, occorre individuare unarete che abbia a disposizione una banda maggiore di quel-la della rete da saturare, e che abbia la caratteristica di “am-plificatore di smurf”: deve accettare pacchetti ICMP EchoRequest (ping) verso il proprio indirizzo di broadcast (cheindichiamo come y.y.y.y), e includere un numero elevato dihost disposti a rispondere.

Per attuare l’attacco, il cracker invia dal proprio sistemadei pacchetti ping con mittente x.x.x.x falsificato e destina-tario y.y.y.y. Il pacchetto è instradato verso l’amplificatoredi smurf, dove viene distribuito in broadcast. Ognuno dei si-stemi che risponde invia, quindi, un pacchetto ICMP EchoReplay all’indirizzo x.x.x.x. Maggiore è il numero di host cherispondono sulla rete, maggiore è il fattore di amplificazio-ne dell’attacco (da cui il nome amplificatore di smurf). Inquesto modo l’attaccante, inviando pochi pacchetti al-l’amplificatore, può riuscire a inviare migliaia di pacchettialla vittima x.x.x.x, con l’effetto di saturazione voluto.

Un altro esempio di IP spoofing prevede l’attacco a un si-stema configurato per offrire i servizi remoti di rlogin (con-nessione come utente remoto) o rsh (remote shell – uso re-moto del sistema). In questi casi, l’indirizzo IP di origine èun elemento importante nel determinare chi è autorizzatoad accedere al servizio. Gli host remoti che sono accettatisu tali connessioni sono chiamati fidati. Se un cracker rie-sce a usare l’IP spoofing per ingannare il sistema bersaglio,facendogli credere che i messaggi vengono da un sistemafidato, è possibile che riesca a ottenere accesso e compro-mettere il sistema.

Se il cracker trova un sistema X che ha una relazione difiducia con un altro sistema Y, e che si trova su una rete ac-cessibile al cracker, allora può usare l’IP spoofing per avereaccesso al sistema X. Tuttavia, il cracker deve prima risol-vere un problema: la vittima invierà pacchetti al sistema fi-dato in risposta ai pacchetti spoofed (con indirizzo del mit-tente falsificato). In base alle specifiche del protocollo TCP,il sistema fidato risponde con un pacchetto RST (reset),perché non gli risulta che sia in atto una connessione. Ilcracker deve impedire che il sistema fidato riesca a inviare

PC Open www.pcopen.it131

IP Spoofing: esplorazionedi host e reti contro lefalsificazioni di IP

Page 17: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

ITAdministrator - Sicurezza informatica Lezione 7A

questo pacchetto.

Un esempio di attacco con IP spoofingDenial of Service

Gli attacchi DoS (Denial of Service, letteralmente nega-zione del servizio) colpiscono la disponibilità delle risorseper gli utenti legittimi, perché causano un’interruzione delservizio (per esempio, quello di un web server o di un mailserver). In pratica, si tratta di attacchi malevoli per negareaccesso a un sistema, rete, applicazione o informazioni agliutenti che ne hanno diritto. Gli attacchi di questo genereformano una categoria molto vasta, perché possono colpi-re qualsiasi risorsa informatica. Essi possono assumere va-rie forme, ed essere lanciati da singoli host o da una molti-tudine di sistemi. Sulla base del fatto che le risorse infor-matiche sono generalmente limitate, quando l’attaccanteriesce a consumare un’intera risorsa (pensiamo, ad esem-pio, alla larghezza di banda di una connessione di rete),non resta alcuna disponibilità per i legittimi utenti. Se unarisorsa è condivisa tra più utenti, uno di essi, in assenza dilimitazioni, può consumarla tutta, impedendone l’utilizzoagli altri. E se la risorsa è di pubblica disponibilità, l’attac-co può essere praticato da chiunque.

Va premesso che gli attacchi DoS non avvengono solonel ciberspazio: un tronchesino rappresenta uno strumen-to DoS facile da usare ed efficace, se l’attaccante ha acces-so fisico a una rete. Qui non ce ne occupiamo, ma occorretenere presente che un attacco fisico è possibile, e può ave-re effetti devastanti.

Una protezione contro la saturazione delle risorse daparte degli utenti è che essi non possano consumare più diuna certa quota della risorsa condivisa (ad esempio, la me-moria di un sistema multiutente, o la banda della connes-sione Internet aziendale). Per poter implementare un talemeccanismo è necessario, però, un processo di autentica-zione; questo è possibile all’interno di un’organizzazione,ma non lo è quando il servizio è anonimo o l’attacco è pra-ticabile prima dell’autenticazione. In questo caso il DoS è

difficile da contrastare, e le contromisure si riducono astrumenti per individuare l’attaccante e bloccarlo (se èuno), o all’interruzione o limitazione del servizio attaccatoper proteggerne altri. Una caratteristica della maggior par-te degli attacchi DoS è che, dato che l’attaccante non cer-ca di accedere al sistema bersagliato, la maggior parte de-gli attacchi ha origine da indirizzi falsi (spoofed). Il proto-collo IP ha una lacuna nel suo schema di indirizzamento:non verifica l’indirizzo del mittente al momento in cui ilpacchetto viene costruito. Di conseguenza, il cracker na-sconde la propria ubicazione falsificando l’indirizzo delmittente. La maggior parte degli attacchi DoS, per essere ef-ficace, non ha bisogno di alcun traffico di ritorno al reale in-dirizzo del cracker.

Un firewall contribuisce a bloccare diversiattacchi DoS

Un firewall può contribuire a bloccare certe categorie diattacchi DoS: ad esempio Safe@Office 400W, un firewall diCheck Point che protegge dai pacchetti anomali e consen-te di personalizzare la banda in ingresso e in uscita secon-do il tipo di traffico.

Nel seguito vengono descritte alcune tipologie di at-tacchi DoS nel campo delle reti, con possibili contromi-sure.

Numero di connessioni a un servizioLa connessione di un client a un server occupa risorse,

sia per la connessione in sé, sia per le attività che il serverdeve svolgere per soddisfare le richieste del client. Per evi-tare che il sistema venga sovraccaricato, è normale che unserver limiti il numero di client che possono essere con-nessi contemporaneamente. Per esempio, il web serverApache, in alcune versioni di Linux, prevede come valore didefault un massimo di 150 client collegati (a meno di mo-dificare la direttiva MaxClients nel file di configurazionehttpd); questo è un modo di porre un limite a una risorsaaccessibile pubblicamente. Di conseguenza, effettuando ungran numero di connessioni contemporanee, si occupaquesta risorsa impedendone l’uso agli utenti legittimi.

Va notato che l’autenticazione del servizio non basta perproteggersi da questo attacco; essa, infatti, avviene dopo laconnessione, ma all’atto della connessione l’attacco ha giàavuto successo, anche se poi l’autenticazione fallisce.

SYN FloodingCome abbiamo visto sopra, una connessione TCP av-

viene in tre fasi, corrispondenti ai tre pacchetti che vengo-no scambiati tra client e server (SYN, SYN/ACK e ACK - que-sto dialogo iniziale è chiamato 3 way handshake). Dopo laricezione del primo pacchetto con il flag SYN attivato, il ser-ver deve mantenere delle informazioni di stato che gli per-

PC Open www.pcopen.it132

Safe@Office 400W:firewall di Check Pointcontro pacchetti anomali

DoS: gli attacchi Denial ofService sono un esempiodi IP Spoofing

Page 18: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

Lezione 7A IT Administrator - Sicurezza informatica

mettono di gestire correttamente il terzo pacchetto checompleta l’handshake. Un sistema gestisce un numero li-mitato di connessioni TCP parziali (semiaperte, senzacompletare l’handshake). Una volta raggiunto il limite, i ten-tativi di aprire nuove connessioni sono rifiutati, e il relati-vo pacchetto SYN è scartato. Il SYN flooding (inondazionedi pacchetti SYN) consiste nell’inviare un gran numero dipacchetti SYN a un sistema, occupando le risorse destina-te alle connessioni parziali, senza rispondere ai corrispon-denti pacchetti SYN/ACK, e lasciando quindi la connessio-ne in sospeso, impedendo al sistema di liberare le risorse.In questo modo, il sistema attaccato raggiunge il punto incui non è più in grado di accettare nuove connessioni.

L’efficacia di questo attacco deriva in primo luogo dadue fattori:- dato che l’attaccante non ha bisogno di vedere i pacchet-ti di risposta, falsifica l’indirizzo IP del mittente (IP spoo-fing); l’unico requisito è che l’indirizzo falsificato non siaquello di un host attivo, che risponda al pacchettoSYN/ACK.

- Non è possibile distinguere con certezza un pacchetto le-gittimo da uno di tipo SYN flooding fino a quando non vie-ne inviato il terzo pacchetto di handshaking (l’ACK dalclient al server), o finché non scade un timeout senza chela connessione sia completata.

Occupazione della banda disponibileL’attacco smurf descritto in precedenza è usato per sa-

turare la banda disponibile per un certo indirizzo di rete. Ingenerale, questo attacco può avvenire con qualsiasi tipo dipacchetto. Un firewall tra la rete e la connessione, spesso,non protegge da questo attacco: il firewall scarta i pac-chetti, ma questi hanno già ottenuto il loro scopo di con-gestionamento. Ne scaturiscono due conseguenze:- la difficoltà di distinguere i pacchetti che fanno parte di unattacco da quelli legittimi: per esempio, i pacchetti SYN di-retti alla porta 80 (HTTP) di un web server possono esse-re sia pacchetti ostili, sia reali tentativi di connessione alsito e, a questo punto, la banda è già stata occupata;

- occorre coinvolgere il provider nella gestione dell’attacco.

DDoS, Distributed Denial of ServiceUn attacco DoS richiederebbe all’attaccante una note-

vole quantità di risorse per saturare un grosso sito Internet,ben al di là delle possibilità di una singola rete e della ban-da della sua connessione a Internet. L’attacco viene, quin-di, distribuito fra una gran quantità di sistemi che, sotto ilcontrollo dell’attaccante, operano il loro attacco contem-poraneamente per saturare le risorse del sistema bersaglio.A questo scopo, la tecnica più diffusa consiste nell’attac-care preventivamente un gran numero di sistemi, poco pro-tetti (sistema operativo non aggiornato, carenze di firewalle antivirus) ma ben connessi (possibilmente, con bandalarga), assumendone il controllo e installandovi degli agen-ti software che rendono questi sistemi degli zombie agli or-dini dell’attaccante. L’insieme degli zombie è controllato inmodo centralizzato dall’attaccante, il cui software può or-dinare a tutti di attaccare contemporaneamente un singo-lo sistema, inondandolo di pacchetti SYN spoofed diretti al-la porta 80 del server.

Gli attacchi DDoS, di solito, sono coordinati da un sin-golo sistema master e da un singolo cracker. Possono limi-tarsi all’invio di un pacchetto ping all’indirizzo di broadca-st di una grande rete, con spoofing dell’indirizzo del mit-tente per indirizzare le risposte verso il bersaglio (il casodell’attacco smurf). Ma gli attacchi DDoS sono diventati no-tevolmente più sofisticati rispetto a quelli smurf. Nuovistrumenti di attacco come Trinoo, Tribal Flood Network,Mstream e Stacheldraht permettono a un cracker di coor-dinare gli sforzi di molti sistemi contro una sola vittima.Questi strumenti utilizzano un’architettura a tre livelli. Uncracker dialoga con un processo master o server da lui in-

stallato su un sistema che ha compromesso (all’insaputadel proprietario). Il master dialoga con i processi slave oclient che sono stati installati su un gran numero di altri si-stemi compromessi (zombie). I sistemi slave attuano l’at-tacco contro il sistema bersaglio. I comandi al master e trail master e gli slave possono essere cifrati, utilizzando pac-chetti UDP o ICMP, secondo gli strumenti usati. L’attaccovero e proprio può consistere di un’inondazione di pac-chetti UDP, di un SYN flood TCP, o di traffico ICMP. Alcunistrumenti modificano in modo casuale l’indirizzo spoofeddel mittente dei pacchetti ostili, rendendoli estremamentedifficili da riconoscere. Fintanto che sono disponibili mol-ti sistemi poco protetti, come potenziali zombie, essi pos-sono essere coordinati in un attacco contro un singolo ber-saglio. Per quanto ampia sia la banda della connessione diun sito a Internet, gli attacchi DDoS possono sommergernele capacità operative se un numero sufficiente di sistemislave è coinvolto nell’attacco.

Questo tipo di attacco crea due difficoltà:- la possibilità di rintracciare l’origine dell’attacco è ridot-ta ulteriormente, dato che i pacchetti provengono da piùfonti, rendendo più arduo lo sforzo di risalire al mittente;

- per interrompere l’attacco è necessario bloccare un nu-mero significativo di zombie, mentre l’attaccante può ag-giungerne e toglierne dall’attacco in modo dinamico.

La protezione è particolarmente difficile senza accordidi collaborazione con i provider, tuttavia sono stati fattipassi avanti nel ridurre la vulnerabilità dei sistemi operati-vi (in particolare di Windows) agli attacchi provenienti daInternet. In ultima analisi, proteggere il proprio sistema per-ché non cada sotto il controllo altrui è una responsabilitàindividuale (anche civile) premiata con la sicurezza collet-tiva.

Ping of DeathI Denial of Service non si ottengono solo saturando le ri-

sorse del bersaglio, ma anche, più semplicemente, cau-sando malfunzionamenti. Un esempio è stato il Ping ofDeath. Negli anni passati molte implementazioni dellostack TCP/IP non sono state in grado di gestire corretta-mente pacchetti ICMP Echo Request di grandi dimensioni.Il risultato era l’invio di un pacchetto ping di dimensioni il-legali (oltre 65.507 ottetti nel campo dati del pacchetto)che, dopo essere stato frammentato per l’invio, a destina-zione veniva riassemblato in modo scorretto, con la possi-bilità di causare un overflow in memoria oltre i 65.535 bytemassimi previsti per il pacchetto. I dati andavano, quindi,a ricoprire altre informazioni (per esempio, l’indirizzo di ri-torno di una funzione) con conseguenti crash di sistema, re-boot, kernel dump (core dump- blocco del sistema Linus), ealtri effetti indesiderati.

Più in generale, i buffer overflow si verificano quandoun’applicazione omette di controllare che i dati copiati nel-lo spazio di memoria riservato a una variabile non superi-no lo spazio allocato. Una lunga serie di vulnerabilità diquesto genere è stata scoperta, nel corso degli anni, nei si-stemi operativi e nel software applicativo. Spesso, tali vul-nerabilità sono state pubblicate e sono state sfruttate daicracker prima di essere corrette dai produttori.

Contromisure relative ai Denial of ServiceLe strategie per affrontare un attacco DoS sono diversi-

ficate, e contribuiscono a mitigare il rischio.

Un sommario di misure preventive è il seguente:- disabilitare i servizi di rete superflui o non usati- tenere backup regolari- tenere e monitorare log giornalieri- introdurre adeguate policy sulle password- installare un Intrusion Detection System- implementare filtri di routing per bloccare pacchetti ICMPframmentati

PC Open www.pcopen.it133

Page 19: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

ITAdministrator - Sicurezza informatica Lezione 7A

- vigilare sulla sicurezza fisica delle risorse di rete- configurare filtri per i pacchetti IP spoofed- installare le patch e gli aggiornamenti per gli attacchi no-ti, come il TCP SYN

- abilitare il sistema delle quote d’uso autorizzate (peresempio sui dischi), se supportato dal sistema operativo

- partizionare il file system per separare dati da applicazioni- installare strumenti come Tripwire che segnalano cam-biamenti nei file critici (per esempio, i file di configura-zione)

- utilizzare firewall con capacità di prevenzione contro gliattacchi più diffusi

- investire in macchine “di riserva” da mettere rapidamen-te in servizio se una macchina simile è stata messa fuoriuso

- investire in configurazioni di rete ridondanti e fault-tolerant(resistenza ai guasti).

Alcuni approcci per difendersi contro gli attacchi DoS sonoi seguenti:- aumentare temporaneamente le risorse disponibili, in mo-do da assorbire l’attacco:

- riconoscere almeno in parte l’attacco e bloccarlo, al prez-zo di bloccare anche parte delle attività legittime;

- riconfigurare i sistemi in modo da rendere l’attacco inef-ficiente.

Nel seguito sono ripresi gli esempi precedenti, e vengonoesaminate alcune possibili strategie.

Numero di connessioni a un servizioAlcune soluzioni per risolvere, almeno in parte, il pro-

blema sono le seguenti:- limitare il numero di connessioni accettate da un singoloindirizzo IP. Ciò limita l’efficacia dell’attacco, anche se l’at-taccante può utilizzare più indirizzi IP come bersagli. Inquesti contesti di attacco non è frequente l’uso di IP spoo-fing, quindi l’attaccante deve avere a disposizione un cer-to numero d’indirizzi validi.- Aumentare il numero di connessioni accettate al momen-to dell’attacco. Ciò aumenta la quantità di risorse che l’at-taccante deve utilizzare per il suo attacco, al prezzo di unpossibile degrado delle prestazioni del sistema.

- Bloccare dinamicamente gli indirizzi IP dai quali viene por-tato l’attacco. E’ una delle soluzioni più efficaci, ma ri-chiede il monitoraggio continuo del traffico per ricono-scere gli indirizzi coinvolti.

SYN floodingSe il flusso di pacchetti proviene da un indirizzo IP le-

gittimo (routable), è relativamente facile identificare la fon-te e bloccare l’attacco. Se, però, l’indirizzo di origine è unindirizzo non routable (appartenente a uno degli intervallidi indirizzi privati, come 192.168.x.x), è molto più difficileindividuare la fonte.

Dato che un attacco SYN flood richiede risorse limitate,aumentare il numero di connessioni incomplete (semia-perte) accettate dal sistema non è un’arma efficace. Al con-trario, certi firewall limitano il numero di connessioni se-miaperte che lo attraversano, rifiutando ulteriori sessioniquando la soglia viene superata.

Una soluzione popolare è ridurre il timeout per la ri-sposta al SYN/ACK, o altri interventi analoghi, ma se l’at-tacco è attuato efficacemente, il timer dovrebbe essere im-postato a un valore talmente basso da rendere il sistemaquasi inutilizzabile. Vale ancora la considerazione che perl’attaccante non è costoso aumentare la potenza di fuoco.Questa soluzione è stata, comunque, praticata per sistemiWindows; si può aggiungere la chiave di registro HKEY_LO-CAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tc-pip\Parameters\SynAttackProtect, e impostarla a 0, 1 o 2 inbase a questi criteri:

- 0 (default): protezione tipica contro attacchi SYN- 1: protezione migliore, che utilizza altri valori descritti sot-to

- 2 (raccomandato): la massima protezione; questo valoreaggiunge ritardi nelle indicazioni di connessione, che fan-no sì che le richieste di connessione TCP abbiano un ra-pido timeout quando si verifica un attacco SYN.

I valori opzionali che si possono aggiungere per averemaggiore controllo sono i seguenti, di tipo DWORD (?):- TcpMaxHalfOpen - default "100" - TcpMaxHalfOpenRetried - default "80" - TcpMaxPortsExhausted - default "5" - TcpMaxConnectResponseRetransmissions - default "3" Tali valori non sono necessari per utilizzare SynAttack-Protect. Le modifiche di registro sono attuabili anche at-traverso le utility di tweaking del sistema.Prima di ogni modifica, è imperativo creare un backup deifile di registro.

Esempio di modifiche di registro contro attacchi SYNAlcuni firewall implementano soluzioni sofisticate per

proteggere i sistemi da questi attacchi. In generale, un fi-rewall può riconoscere le caratteristiche di un SYN flood dainumerosi tentativi di connessioni identiche provenientidallo stesso indirizzo IP, dopo di che può filtrare ulterioriconnessioni dallo stesso host. Se, però, gli indirizzi di ori-gine sono casuali, non sono riconoscibili e, quindi, passa-no indenni attraverso il filtro.

Una soluzione efficace è quella di SYNDefender, una fun-zione dei FireWall-1 di Check Point. Opera in tre possibilimodalità.

SYN Gateway agisce da intermediario tra il client e il ser-ver. Dopo che il server invia il pacchetto SYN/ACK al client,SYNDefender risponde al server con l’ACK, completando laconnessione e rimuovendola dalla coda delle connessioniin sospeso. Parte un timer; se il client è valido e risponde,la risposta è passata al server (il secondo ACK viene igno-rato) e il timer si ferma. Se la connessione è ostile e l’ACKnon arriva, scatta il timeout e il firewall invia un pacchettodi reset (RST) al server, annullando la connessione. SYN Re-lay completa i tre passaggi dell’handshake TCP prima dipassare al server la connessione (il server non vede nep-pure l’attacco). Passive SYN Gateway è simile a SYN Ga-teway, ma il firewall non risponde al server per conto delclient, lasciando che la connessione resti in sospeso; tut-tavia, il timeout del firewall è molto più breve di quello delserver, e annulla la connessione se non viene ricevutol’ACK. Questo metodo non sovraccarica il firewall, ma èmeno efficace di SYN Relay.

L’handshake di SYN Relay in VPN-1/FireWall-1NG di Check Point

Un altro meccanismo efficace è quello dei SYN Cookies,implementato in sistemi Linux e FreeBSD. Lo stato dellaconnessione semiaperta viene codificato all’interno del nu-mero di sequenza che il server invia nel pacchettoSYN/ACK, senza occupare risorse di sistema. Se viene ri-cevuto un pacchetto con un ACK che non è parte di unaconnessione già aperta, e che quindi può essere il comple-tamento di un’apertura di connessione, viene esaminato il

PC Open www.pcopen.it134

Modifiche di registro:esempio di di difesa daattacchi SYN

Page 20: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

Lezione 7A IT Administrator - Sicurezza informatica

numero di sequenza del lato server che vi è contenuto: secorrisponde alla codifica utilizzata, la connessione vieneaperta. In questo modo, il problema del SYN flooding vieneevitato, al prezzo di alcune operazioni in più sui pacchettiricevuti e inviati.

Ad esempio, su certi sistemi Linux con kernel 2.4 in cuil’opzione è stata abilitata, con il comando echo 1>/proc/sys/net/ipv4/tcp_syncookies viene attivato l’uso deiSYN Cookies.

Occupazione della banda disponibileAl momento non esiste una soluzione generale per que-

sta categoria di attacchi, anche per la facilità con cui pos-sono essere associati all’IP spoofing. Per questo motivo, èessenziale il coinvolgimento preventivo del provider, peresempio tramite contatti personali e clausole contrattuali,in modo da garantire collaborazione in caso di attacco.L’aiuto del provider può consistere, ad esempio, nelle se-guenti azioni:- aumentare temporaneamente la banda disponibile, inmodo da impedire il blocco del traffico legittimo;

- collaborare nel tentativo di risalire all’origine dell’attacco,in modo da segnalare il problema e bloccare i sistemi o lereti coinvolti;

- ridurre la banda disponibile per i tipi di pacchetto coin-volti nell’attacco, garantendo comunque le risorse neces-sarie per le altre tipologie di traffico; ridurre, per esempio,la banda disponibile per i SYN destinati al servizio HTTP,nonostante il calo di prestazioni anche per gli utenti le-gittimi;

- verificare che i pacchetti arrivino dall’interfaccia dallaquale ci si aspetta che provengano i pacchetti di un certomittente; la ricerca può essere estesa e ripetuta per risa-lire il flusso fino all’origine, contattando i diversi provider;generalmente questa operazione va al di là delle possibi-lità di un provider, e richiede la collaborazione delle forzedi polizia;

- selezionare blocchi di indirizzi IP da gestire con prioritàdiversa; dato che l’IP spoofing produce spesso indirizzid’origine casuali, questi sono distribuiti in modo unifor-me, mentre il traffico legittimo proviene di solito da bloc-chi di indirizzi, gestiti ad esempio da grossi provider na-zionali; non è garantito, però, che un provider sia dispostoa collaborare a una riconfigurazione tanto fine dei proprirouter.

Distributed Denial of ServiceProblemi e soluzioni sono quelli indicati per l’occupa-

zione della banda, di cui costituiscono un caso particolar-mente dannoso. Gli aspetti peculiari stanno nella quantitàdi traffico che può essere generato, che rende poco prati-cabile la strada dell’aumento di banda disponibile per as-sorbire l’attacco, e nella difficoltà di risalire a un gran nu-mero di sistemi attaccanti distribuiti a livello internazio-nale.

Ping of deathLe soluzioni sono due: applicare le patch e gli aggiorna-

menti dei sistemi operativi, che correggono questa e altrevulnerabilità, e dotarsi di un firewall con capacità di pre-venzione degli attacchi più comuni.

Un panorama più vastoQuelli sopra descritti sono alcuni degli attacchi possi-

bili. Riassumiamo le principali categorie: - Sniffing (uso di analizzatori per intercettare il traffico di re-te); si rimedia usando le tecniche di cifratura;- Spoofing (falsificazione delle informazioni trasmesse): hadiverse applicazioni, tra cui gli attacchi DoS, lo spam (po-sta spazzatura), inviato nascondendone la provenienza, eil session hijacking (furto o sequestro della sessione), checonfigura la falsificazione dell’identità di chi lo pratica, al-

lo scopo d’impossessarsi di una sessione già stabilita (vie-ne usato ad arte il protocollo ARP).

- Buffer overflow: sfrutta lacune del software, tipicamentecarenze di controllo nell’uso di aree di memoria, e portaalla corruzione delle aree di memoria contigue e conse-guenze di vario genere, incluso il crash del sistema. Il ri-medio, man mano che i punti deboli sono scoperti e cor-retti, è applicare patch e aggiornamenti.

- Input imprevisti: anche in questo caso, carenze di con-trollo nell’input dei dati possono causare ogni sorta diconseguenze, specialmente all’interno di pagine web di-namiche, che usano form e accessi a database. In varicasi (ne vengono scoperti sempre di nuovi), input conparticolari formati permettono a un cracker di eseguireoperazioni illegali, e persino di prendere il controllo delsistema.

- Denial of Service: ne esistono numerose varianti, comeSYN flood, smurf e system overload (sovraccarico del si-stema, ad esempio per saturazione della CPU o della ban-da).

- DNS spoofing: consiste nel falsificare il dialogo tra ilclient e il server DNS a cui il client chiede l’indirizzo IPcorrispondente al nome di un host, come web server omail server. Di conseguenza, il client, senza accorgerse-ne, invia la propria posta al cracker (che la inoltra al mailserver dopo averne fatto copia), o accede a un sito cheè un’imitazione di quello vero (per esempio bancario), epermette al cracker di intercettare i suoi dati personali,password e numeri di carta di credito. Si rimedia ren-dendo sicuro il server DNS, ma al momento la maggiorparte di essi non lo è.

PC Open www.pcopen.it135

VPN-1/FireWall-1 NG:handshake di SYN Relayin Check Point

Page 21: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

ITAdministrator - Sicurezza informatica Lezione 7A

DNS spoofingIn questo esempio, la sequenza delle operazioni è la se-

guente:- 1. Il client A chiede al server DNS qual è l’indirizzo IP dituaposta.com;

- 2. Il server DNS, che è stato cracked (violato e alterato), ri-sponde con un indirizzo 192.168.0.10 falsificato;

- 3. Il client A si connette al falso mail server e gli invia la po-sta;

- 4. Il falso server copia la posta e la inoltra al vero mail ser-ver;

- 5. Il vero mail server, usando un DNS sicuro, invia la postaal client.

Sicurezza della rete localeLe reti Ethernet sono nate come reti broadcast, in cui

ogni nodo può vedere tutto il traffico, e seleziona solo quel-lo che gli è destinato. Con le topologie a bus o a stella conhub, basta configurare una scheda di rete in modalità pro-miscua per tenere sotto controllo tutto il traffico e opera-re vari tipi di attacchi.

Con la diffusione degli switch, certe tipologie di attaccosono divenute più difficili da realizzare, e l’utilizzo delleVLAN (Virtual LAN, partizionamento dello spazio di rete diuno switch in sottoreti logiche indipendenti) è stato un ul-teriore passo avanti nella sicurezza. In ogni caso, questetecnologie devono essere configurate con cura per non es-sere aggirate.

Consideriamo il funzionamento di uno switch. Il suocompito è inoltrare i frame Ethernet solo sul segmento di

rete sul quale si trova il MAC address del destinatario. Inuna trasmissione unicast (diretta a un solo destinatario), ilcomputer collegato a una porta dello switch invia i frameal computer collegato a un’altra porta. Per esercitare la suafunzione di commutatore, lo switch ha bisogno di appren-dere su quale porta si trova il segmento di rete che condu-ce all’interfaccia che ha il MAC address del destinatario, do-po salva l’informazione di questa associazione porta/indi-rizzo in una tabella detta CAM table (CAM sta per ContentAddressable Memory, memoria indirizzabile per contenuto,nota anche come memoria associativa). Il segmento colle-gato a ogni singola porta può contenere diversi computer,uniti a loro volta da un hub, oppure un solo PC. Di solito,per motivi di sicurezza e di prestazioni, è preferibile avereuna sola macchina per porta.

Inizialmente, la tabella CAM è vuota. Quando lo switch ri-ceve un frame destinato a un certo MAC address, e non hainformazioni sul segmento sul quale si trova il destinatario,lo propaga in broadcast. D’altra parte, ogni volta che rice-ve un frame, riconosce il MAC address di origine e la portada cui proviene il frame, e può salvare tale associazione nel-la CAM table. In questo modo, dato che generalmente il traf-fico tra due sistemi è bidirezionale, il frame di risposta puòessere inviato alla porta indicata nella tabella, che verràaggiornata con il MAC address del mittente del frame di ri-sposta. Le voci della CAM table scadono dopo un certo tem-po, in modo da prendere nota di eventuali variazioni nellaconfigurazione della rete, per esempio per lo spostamentodi un computer da una porta all’altra, o per la sostituzionedi un’interfaccia di rete.

Lo scopo primario di uno switch è ottimizzare l’uso del-la banda disponibile, evitando le collisioni sui segmenti di-versi da quelli interessati alla trasmissione, quello del mit-tente e quello del destinatario dei frame. Inoltre, il mecca-nismo di inoltro selettivo degli switch offre benefici per lasicurezza, visto che solo i segmenti del mittente e del de-stinatario vedono i frame trasmessi, rendendo impratica-bile lo sniffing dei pacchetti (a condizione, naturalmente,che ci sia una sola macchina per segmento di rete, ossiache a ciascuna porta dello switch sia collegato un solocomputer).

Vediamo ora cosa accade alla propagazione di un frameda uno switch all’altro, nel caso in cui le schede di rete delmittente e del destinatario siano collegate a switch diver-si. In questo tipo di situazione, dove possono esserci ciclichiusi (loop) nelle connessioni tra gli switch, occorre ga-rantire che un frame non possa circolare sulla rete per untempo indefinito. A tale scopo, si usa un algoritmo dettospanning tree. Se si considera la rete complessiva (compo-sta da sottoreti connesse da bridge o da switch), rappre-sentandola con un grafo (un diagramma di nodi e linee) conpossibili cicli chiusi (loop), uno spanning tree è un sotto-grafo ad albero (tree) che copre (span) tutti i vertici senzacontenere cicli. L’algoritmo spanning tree è la base del pro-tocollo STP (Spanning Tree Protocol, standard IEEE 801.2-DSTP), e permette alle parti interessate di vedere la topolo-gia della rete senza la presenza di cicli. I link che non fannoparte dello spanning tree sono tenuti in standby (di riser-va), e attivati come backup in caso di indisponibilità deilink dell’albero. Il protocollo STP prevede lo scambio dipacchetti tra gli switch per eleggere uno switch “radice”

PC Open www.pcopen.it136

5.7.1.9 Sapere inche modo il ricorsoallo switching e retilocali virtuali puòmigliorare lasicurezza della LAN

Un grafo ciclico cherappresenta una rete conloop (a sinistra)

Il corrispondentespanning tree (a destra)

DNS spoofing: dinamicadelle operazioni relativeall’attacco

Page 22: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

Lezione 7A IT Administrator - Sicurezza informatica

(root) dell’albero, e per selezionare percorsi che permetta-no a ogni switch di raggiungere la root. I link che non fannoparte di tali percorsi vengono disattivati.

Attacchi agli switch e contromisureUna categoria di attacchi agli switch è abbastanza ovvia,

e riguarda lo switch come dispositivo: attacchi fisici, at-tacchi ai servizi di gestione, denial of service realizzati, adesempio, mediante pacchetti mal formati, e così via. Più in-teressanti sono gli attacchi alla funzione di switching, voltiprincipalmente a vedere il traffico in transito tra due siste-mi. Lo scopo può essere lo sniffing (per vedere le informa-zioni che i due nodi si scambiano) o la pratica di attacchiman-in-the-middle (uomo nel mezzo: l’attaccante impersonal’altro interlocutore con entrambi i sistemi che dialoganotra di loro), che risulta persino facilitata da una rete swit-ched. Citiamo alcuni esempi rappresentativi delle tante ti-pologie di attacco che si possono attuare.

CAM floodingL’attacco CAM flooding (inondazione della CAM, detto

anche CAM overflow) colpisce direttamente il meccanismodi apprendimento dello switch. La CAM table è una risorsalimitata, e può contenere un numero finito di voci (entry).Inondando lo switch di frame aventi indirizzi MAC di origi-ne casuali, si forza lo switch a inserire nella CAM table l’as-sociazione tra la porta del sistema attaccante e i MAC ad-dress casuali. In questo modo si finisce per cancellare i MACaddress legittimi, e lo switch deve trasmettere in broadca-st i frame relativi.

L’attacco è concettualmente semplice, ma la sua effica-cia è modesta. Infatti, l’attaccante deve generare un grannumero di frame con MAC address diversi dalla stessa por-ta, un evento facilmente rilevabile dallo switch (se predi-sposto a farlo). Inoltre, dopo che un frame legittimo è sta-to trasmesso in broadcast, il relativo MAC address viene in-serito nella CAM table e, prima di avere un nuovo broadca-st, occorre saturare nuovamente la tabella. Nel complesso,il CAM flooding è un attacco poco affidabile e relativamen-te facile da contrastare se gli switch sono equipaggiati coni necessari meccanismi di difesa.

Port stealingAnche l’attacco port stealing (furto di porte) è rivolto al-

la CAM table, ma in modo più mirato. L’attaccante invia alsistema B dei frame con un indirizzo MAC di origine ugua-le a quello del sistema A che vuole impersonare. In questomodo, la porta associata a quel MAC address sarà quelladell’attaccante, che riceverà da B i frame destinati al siste-ma A attaccato, con la possibilità di leggerli e di modificar-ne il contenuto di dati (il payload). A questo punto l’attac-cante, inviando una ARP request, induce A, il vero destina-tario, a generare traffico, correggendo la relativa voce nel-la CAM table e permettendo all’attaccante di inoltrargli i fra-me ricevuti da B e da esso manipolati, usando come MACdi origine quello di B e completando l’attacco man-in-the-middle.

Si tratta di una tecnica molto più efficace rispetto al CAMfllooding, e dev’essere realizzata con strumenti softwareche automatizzino la manipolazione dei MAC address e deipayload dei frame.

Per contrastare tale tecnica, è necessario rilevare e im-pedire l’invio eccessivo di frame con un indirizzo MAC diorigine che risulti già associato a un’altra porta, conside-rando che lo spostamento di un MAC address è un eventopoco frequente.

Potrebbero essere anche impostate associazioni stati-che tra MAC address e porta, ma questo introdurrebbe con-siderevoli complessità di gestione. Una soluzione radicaleconsiste nell’usare tecniche crittografiche per assicurarel’autenticazione degli interlocutori e dei pacchetti, e la ri-servatezza e l’integrità dei dati.

ARP poisoningL’attacco ARP poisoning (avvelenamento - o inquina-

mento - dell’ARP) prende di mira la tabella ARP dell’hostmittente. L’attaccante tenta, infatti, di inserirvi una voceche associa l’indirizzo IP del destinatario al proprio MACaddress.

La manovra può essere eseguita, non senza difficoltà, ri-spondendo a una richiesta ARP in broadcast al posto delvero destinatario. D’altra parte, molte implementazioni del-lo stack TCP/IP accettano, e inseriscono nella propria ta-bella ARP, i dati provenienti dalle cosiddette “risposte ARPnon richieste” (unsolicited ARP reply), ovvero pacchettiARP reply che non corrispondono ad alcuna precedenteARP request. In tali condizioni, l’attacco diventa banale emolto efficace.

In effetti, mentre i casi precedenti riguardano lo strato 2(data link), questo attacco riguarda lo strato 3 (rete, ovve-ro gestione IP), e quindi non c’è nulla che uno switch pos-sa rilevare, se non esaminando i dati trasportati dal frame,riguardanti il protocollo ARP. Una protezione contro questotipo di attacco potrebbe essere l’utilizzo di voci ARP stati-che sugli host, ma diverrebbe ardua da gestire non appenala configurazione assumesse un minimo di complessità.

Attacchi allo spanning tree e ad altri protocolli di gestione della topologia

Un host può, in generale, provare a partecipare allospanning tree non come foglia, ma come nodo intermedio,o addirittura come radice, in modo da convincere gli swit-ch adiacenti a inoltrargli il traffico che li attraversa. Esisto-no inoltre altri protocolli, spesso proprietari dei produtto-ri di apparati, destinati a gestire e ottimizzare il traffico sul-la rete locale. Tutti questi protocolli dovrebbero essere di-sattivati se non sono necessari (ad esempio, il protocollospanning tree non serve se non vi sono cicli nella topologiadella rete), e non deve essere permesso agli host di utiliz-zarli.

La Virtual LAN La nascita delle VLAN è il riflesso della diffusione del ca-

blaggio strutturato. Nelle reti più vecchie, la topologia fisi-ca mappava la topologia logica, con la possibilità di averereti separate per attività separate, che si estendevano an-che su diversi piani di un edificio. Il cablaggio strutturatoprevede una topologia fisica che tende a mappare la strut-tura degli ambienti, con uno o più “switch di piano” a cuisono connesse le prese del piano e un backbone (dorsale)a cui sono connessi gli switch. Su questa topologia vienepoi mappata la topologia logica, con l’esigenza di separareil traffico di gruppi di sistemi ubicati sullo stesso piano, maappartenenti a reti o reparti aziendali diversi, o di accor-pare sottoreti distribuite su più piani.

Le VLAN sono nate proprio allo scopo di associare grup-pi di porte di uno switch formando reti virtuali che, pur at-testate allo stesso switch, non possono comunicare diret-tamente tra loro (in quanto sottoreti separate, possono in-tercomunicare solo attraverso router).

Le VLAN possono essere organizzate sulla base degli in-dirizzi hardware degli host, dei numeri di porta dello swit-ch, degli indirizzi IP o di altre tecniche. Il protocollo che siapplica alle VLAN è l’802.1q, detto VLAN tagging, che pre-vede di anteporre al frame Ethernet un tag (marcatore) cheindica la VLAN di appartenenza del frame. Naturalmente, ilprotocollo deve essere supportato da tutti gli switch at-traversati dal frame; diversamente, uno switch non sareb-be in grado d’interpretare la struttura del frame e di rico-noscere i MAC address interessati.

Diversi switch con supporto VLAN possono essere con-nessi da trunk (fasci), canali ad alta velocità che permetto-no di trasportare più VLAN sullo stesso collegamento fisi-co, come ad esempio la connessione tra piani diversi di unedificio.

PC Open www.pcopen.it137

Page 23: Rete Ethernet e TCP/IPLezione 3: Autenticazione e controllo degli accessi Lezione 4: Disponibilità dei dati Lezione 5: Codice maligno Lezione 6: Infrastruttura a chiave pubblica Lezione

ITAdministrator - Sicurezza informatica Lezione 7A

Le VLAN si sovrappongono alla rete fisicaLa figura illustra come sono configurate le VLAN.

In basso si vede la struttura della rete fisica. Gli switch didorsale e di gruppo di lavoro forniscono le funzioni perconfigurare le VLAN. L’amministratore aggiunge un com-puter o un utente a una VLAN in base al numero di porta diuno switch, al MAC address della scheda di rete, all’indiriz-zo IP o altro criterio. Nella figura si vedono due VLAN per ireparti marketing e ricerca. Quando il computer B tra-smette, può inviare un messaggio di broadcast a tutti i com-puter della VLAN Marketing, inclusi E, G, H e J. Se B deve in-viare un messaggio a un utente della VLAN Research, il mes-saggio dev’essere instradato; di questo si occupa una fun-zione di routing dello switch aziendale principale (enter-prise) o un router separato.

Le VLAN sono essenziali in organizzazioni dove gli uten-ti si spostano da un gruppo all’altro, o dove la struttura del-l’organizzazione è tale che i membri dello stesso gruppo dilavoro siano collocati in diverse ubicazioni. Le VLAN per-mettono ai membri di gruppi sparpagliati di condividere ri-sorse comuni (come i dispositivi di archiviazione) e di es-sere parte dello stesso dominio di broadcast (per cui, iltraffico generato dagli utenti di un gruppo resta confinatoal gruppo stesso). Se gli utenti presentano alta mobilità e sispostano da un ufficio all’altro come parte del loro lavoro,l’amministratore della rete può usare tecniche di VLAN permantenere l’utente in un gruppo di broadcast indipenden-temente dalla presa di rete a cui si collega.

Le VLAN sono nate principalmente come meccanismo di

gestione e, inizialmente, sono state spesso implementatesenza grande attenzione per la sicurezza. Nel tempo, la qua-lità delle realizzazioni è notevolmente migliorata e, oggi, leVLAN sono utilizzabili come meccanismi di sicurezza.

Il primo effetto dell’utilizzo delle VLAN è la possibilità dicontenere gli attacchi finora descritti all’interno della sin-gola VLAN. Una buona configurazione può, quindi, raffor-zare la sicurezza di una rete locale. Va ricordato che esistealmeno un sistema accessibile da più VLAN, ovvero il de-fault gateway. Un attacco di ARP poisoning potrebbe per-mettere di vedere il traffico destinato ad altre VLAN, pursenza violare il meccanismo delle VLAN. Inoltre, esistonoforme di attacco che permettono d’inviare pacchetti suun’altra VLAN, pur senza poterne ricevere.

Ulteriori considerazioniLa possibilità di difendersi dagli attacchi descritti di-

pende dalle funzionalità offerte dagli switch installati. Men-tre è prevedibile che gli switch più economici e privi di fun-zioni di gestione siano vulnerabili pressoché alla totalitàdegli attacchi descritti, gli switch di fascia superiore (ma-naged switch) possono offrire meccanismi per rilevare, im-pedire, o almeno mitigare, uno o più degli attacchi citati. Lascelta degli switch deve quindi prendere in considerazioneanche tali aspetti, in base al contesto in cui saranno utiliz-zati.

Merita di essere citato il protocollo 802.1x, che si è dif-fuso negli anni recenti. Con questo protocollo, uno switch,appoggiandosi tipicamente a un server RADIUS (RemoteAuthentication Dial-In User Service), richiede all’interfacciadi rete di autenticarsi al momento della connessione a unaporta dello switch stesso, prima di consentire il transito deltraffico.

Best practicesCitiamo alcune pratiche consigliabili per tutelare la si-

curezza dello strato 2 di rete:- gestire gli switch nel modo più sicuro possibile (via con-nessioni SSH e simili)

- usare sempre un identificatore di VLAN dedicato per tut-te le porte di dorsale (trunk)

- non usare mai la VLAN 1- impostare tutte le porte utente come non trunk (non dor-sale)

- impostare la sicurezza delle porte utente quando possi-bile

- pianificare le misure di sicurezza per l’ARP- utilizzare le funzioni a protezione del protocollo SpanningTree

- disattivare le porte inutilizzate degli switch e raccoglierlein una VLAN

- considerare l’adozione di 802.1x.

Queste e altre regole tecniche sono comunque soggettealla definizione e attuazione delle politiche di sicurezza del-l’organizzazione. �

PC Open www.pcopen.it138

VLAN: configurazione eassociazione a una retefisica