Capitolo 9. Identificazione e difesa contro gli attacchi



Documenti analoghi
Elementi sull uso dei firewall

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Guida di Pro PC Secure

CAPITOLO VI. Internet Termini più usati Apparecchiature necessarie Software necessari Avviare Internet explorer Avviare Outlook Express

Progettare un Firewall

1) GESTIONE DELLE POSTAZIONI REMOTE

Dal protocollo IP ai livelli superiori

Aspetti di sicurezza in Internet e Intranet. arcipelago

Transmission Control Protocol

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Guida all Utilizzo dell Applicazione Centralino

Software Servizi Web UOGA

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

COME RIOTTENERE L ACCESSO ALLA CASELLA PEC DI ARUBA

Installazione di GFI Network Server Monitor

Reti di Telecomunicazione Lezione 7

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Gruppo di lavoro per la tutela delle persone con riguardo al trattamento dei dati personali. Raccomandazione 1/99

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Configurazione account di posta elettronica certificata per Microsoft Outlook Express

1 Introduzione Installazione Configurazione di Outlook Impostazioni manuali del server... 10

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

SOMMARIO... 3 INTRODUZIONE...

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Client - Server. Client Web: il BROWSER

Installazione di GFI WebMonitor

Reti di Telecomunicazione Lezione 6

La pagina di Explorer

Manuale per la configurazione di AziendaSoft in rete

Laplink FileMover Guida introduttiva

Configurazione di Outlook Express

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Guida Microsoft Outlook Express, Creare e configurare l'account su proprio dominio PEC

Guida Microsoft Outlook Express, Creare e configurare l'account su dominio PEC generico

Protocolli applicativi: FTP

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27

1. Il Client Skype for Business

I M P O S T A R E U N A C C O U N T D I P O S T A C O N M O Z I L L A T H U N D E R B I R D

SCOoffice Address Book. Guida all installazione

Reti di Telecomunicazione Lezione 8

MyFRITZ!, Dynamic DNS e Accesso Remoto

Capitolo 3 Guida operativa del programma TQ Sistema

Guida alla registrazione on-line di un DataLogger

ESERCITAZIONE Semplice creazione di un sito Internet

FRANCESCO MARINO - TELECOMUNICAZIONI

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

PRODUZIONE PAGELLE IN FORMATO PDF

File, Modifica, Visualizza, Strumenti, Messaggio

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

GUIDA UTENTE PRIMA NOTA SEMPLICE

Manuale Utente Albo Pretorio GA

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

Installazione del software Fiery per Windows e Macintosh

ELENCO CLIENTI FORNITORI Patch1

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

VADEMECUM TECNICO. Per PC con sistema operativo Windows XP Windows Vista - Windows 7

Aggiornamenti Sistema Addendum per l utente

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

POSTA ELETTRONICA (TRADIZIONALE e CERTIFICATA) FIRMA DIGITALE PROTOCOLLO INFORMATICO. Maurizio Gaffuri 11 ottobre 2007

Cookie. Krishna Tateneni Jost Schenck Traduzione: Luciano Montanaro

Digital Persona Client/Server

Via Mazzini, Candia Canavese (TO)

ISSA EUROPE PTSOFTWARE 2.0

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

Modulo 2 Uso del computer e gestione dei file

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

CERTIFICATI DIGITALI. Manuale Utente

Il web server Apache Lezione n. 3. Introduzione

Reti di Calcolatori. Il Livello delle Applicazioni

Guida all Utilizzo del Posto Operatore su PC

Manuale Servizio NEWSLETTER

Servizio on-line di Analisi e Refertazione Elettrocardiografica

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

MANUALE UTENTE. Computer Palmare WORKABOUT PRO

ISTRUZIONI PER L UTILIZZO DEL SOFTWARE Moda.ROA. Raccolta Ordini Agenti

GUIDA UTENTE MONEY TRANSFER MANAGER

MANUALE UTENTE Fiscali Free

su Windows XP con schede Cisco Aironet 350

Manuale Terminal Manager 2.0

Corso basi di dati Installazione e gestione di PWS

Domande frequenti su Phoenix FailSafe

Sistema Informativo di Teleraccolta EMITTENTI

Manuale per la configurazione di un account di PEC in Mozilla.

CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA

Programma applicativo di protezione LOCK Manuale per l utente V2.22-T05

15J0460A300 SUNWAY CONNECT MANUALE UTENTE

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Guida all attivazione ipase

Informativa ex art. 13 D.lgs. 196/2003

Guida alla compilazione on-line delle domande di Dote Scuola A.S per le Famiglie INDICE

FPf per Windows 3.1. Guida all uso

Manuale Utente. Programma di Sviluppo Rurale Compilazione del Business Plan ridotto. Versione A

PANNELLO DI CONTROLLO

Transcript:

Capitolo 9 Identificazione e difesa contro gli attacchi 9.1 Che cos è un attacco denial-of-service 9.2 L attacco a previsione del numero di sequenza 9.3 Dirottamento del protocollo TCP 9.4 Gli attacchi a sniffer 9.5 Gli attacchi a desincronizzazione attiva 9.6 Gli attacchi spoofing 9.7 Come rilevare e prevenire un attacco spoofing 9.8 Hyperlink spoofing: un attacco all autenticazione dei server SSL 9.9 Introduzione al Web-spoofing 9.10 Conclusioni Gli hacker possono attaccare i sistemi in vari modi. In questo capitolo si imparerà a difendersi contro determinati attacchi che gli hacker sono soliti portare ai server delle reti. Sapendo che gli hacker possono intercettare ogni trasmissione eseguita via Internet o attraverso qualsiasi rete a cui l hacker riesce ad accedere, è possibile riconoscere i pericoli che la propria rete corre per i vari tipi di attacchi descritti. Negli ultimi capitoli si vedrà come gli hacker possono attaccare computer e reti sui quali è in esecuzione un browser Web e si parlerà degli attacchi che sfruttano la manipolazione dei linguaggi script. In questo capitolo ci si concentrerà su attacchi specifici, attivi che gli hacker possono portare alla rete. Entro la fine del capitolo si saranno acquisiti i seguenti concetti chiave. Un attacco denial-of-service consuma le risorse di un server (per esempio il tempo di elaborazione) impedendo quindi al server di servire altri utenti. L attacco a previsione della sequenza di numeri dei protocolli TCP/IP rappresenta la forma più semplice di attacco da parte di un hacker. Il dirottamento di sessioni TCP rappresenta la più grave minaccia per i sistemi sicuri. Lo sniffing dei pacchetti in passaggio nella rete in genere precede un dirottamento o uno spoofing. HP2-09.p65 295 03/10/2002, 9.44

296 CAPITOLO 9 Con lo spoofing, l hacker si sostituisce a un indirizzo IP per emulare un server fidato in una connessione di rete esistente. Gli attacchi passivi, che fanno uso di uno sniffer, sono molto comuni in Internet. Quasi ogni attacco di hacker lascia delle tracce che aiutano a individuare e fermare l hacker. Molti attacchi di hacker si concentrano sulla violazione o sull alterazione delle transazioni HTTP o delle connessioni TCP in corso. Per attaccare installazioni di server SSL (Secure Socket Layer) gli hacker possono utilizzare la tecnica hyperlink spoofing. La tecnica Web-spoofing offre agli hacker il modo di intercettare tutte le trasmissioni che un utente o un server si scambiano durante una serie di transazioni HTTP. Gli hacker inventano nuovi attacchi ogni volta che i professionisti dei problemi della sicurezza trovano il modo di sventare i precedenti attacchi. 9.1 Che cos è un attacco denial-of-service La maggior parte degli amministratori di rete teme gli attacchi degli hacker che mettono in ginocchio i sistemi. Ma gli hacker possono anche eseguire un attacco più semplice, chiamato denial-of-service o DoS. In generale un attacco denial-ofservice mira a consumare le risorse del sistema, impedendo agli altri utenti di utilizzarle. Gli attacchi denial-of-service possono essere molto complessi o anche molto semplici. Per esempio, il seguente file DOS, FuoriServizio.bat, interroga ripetutamente un host remoto utilizzando un semplice comando ping. Ogni volta che deve rispondere al comando ping, l host consuma delle risorse di elaborazione, impedendo temporaneamente l accesso alla CPU da parte degli altri utenti. :Loop ping www.sitoremoto.com Goto Loop In modo analogo, si supponga di sapere che il sito Web www.sitoremoto.com utilizza l immagine Enorme.jpg. Si può apprendere il nome dell immagine semplicemente facendo clic con il pulsante destro sull immagine mentre si osserva la pagina Web del sito con il browser. A questo punto l hacker può creare un file HTML simile al seguente che può essere chiamato FuoriServizio.HTML e che conserva nel proprio sistema. Il file HTML usa la seguente voce <META> che chiede al browser di aggiornare il contenuto della pagina ogni dieci secondi: HP2-09.p65 296 03/10/2002, 9.44

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 297 <HTML> <META http-equiv="refresh" content="10"> <IMG src="http://www.sitoremoto.com/enorme.jpg"> </HTML> Se si apre il file HTML sul proprio sistema, il browser richiederà l immagine ogni dieci secondi e dunque il server remoto dovrà prelevare e inviare l immagine ogni dieci secondi. In ognuno degli esempi precedenti, un firewall è in grado di rilevare l attacco denial-of-service riconoscendo che la richiesta ripetitiva viene eseguita sempre dallo stesso sistema remoto. Ma esistono attacchi denial-of-service più sofisticati che usano programmi scritti in vari linguaggi di programmazione. Per esempio nel Capitolo 13 si esaminerà un applet Java che implementa un attacco denial-ofservice creando ripetutamente nuovi thread di esecuzione finché il sistema operativo dell utente non esaurisce la memoria disponibile. Il monitoraggio di una rete da parte di un hacker In questo capitolo si vedranno i modi in cui gli hacker attaccano i sistemi intercettando i pacchetti che viaggiano lungo la rete. Molti utenti non immaginano la facilità con cui un utente può monitorare i pacchetti di rete. Nella maggior parte delle reti, i pacchetti passano da un computer all altro fino a giungere a destinazione. In ciascun PC l interfaccia di rete esamina il pacchetto per determinare se è indirizzato al sistema cui appartiene. Pertanto ogni interfaccia di rete ha la capacità di leggere tutti i pacchetti che la attraversano. Per visualizzare i messaggi in transito nella rete, gli hacker usano particolari programmi chiamati sniffer che fondamentalmente monitorizzano e visualizzano il contenuto di ciascun pacchetto. Se un hacker può avere accesso a un computer che risiede in una rete, potrà monitorare i pacchetti utilizzando un programma sniffer all insaputa degli altri utenti. Più avanti in questo capitolo si vedrà come prelevare e installare uno sniffer di pacchetti utilizzabile per monitorare i pacchetti in transito nella propria rete. Se però un hacker non riesce a ottenere un accesso fisico a un sistema della rete (ovvero un hacker non può utilizzare il PC per eseguire un programma sniffer), dovrà innanzitutto violare il sistema. Dopo che l hacker avrà acquisito la possibilità di eseguire un programma all interno della rete, potrà iniziare a monitorare tutti i pacchetti in transito. Se un hacker può monitorare i pacchetti di rete, può anche modificarne il contenuto. In alcuni casi, l hacker può limitarsi a monitorare passivamente i pacchetti di rete alla ricerca di informazioni utili, come per esempio numeri di carte di credito o password. In altri casi l hacker può modificare le informazioni contenute nei pacchetti. HP2-09.p65 297 03/10/2002, 9.44

298 CAPITOLO 9 9.2 L attacco a previsione del numero di sequenza Ogni computer di una rete ha un proprio indirizzo IP univoco. Nel Capitolo 2 si è detto che ogni computer connesso a una rete allega a ogni pacchetto trasmesso l indirizzo IP di destinazione e un numero univoco chiamato numero di sequenza. All interno di una connessione TCP, il computer ricevente accetta solo pacchetti con l indirizzo IP e il numero di sequenza corretto. Inoltre si è detto che molti dispositivi di sicurezza, inclusi i router, consentono le trasmissioni in rete solo verso e da computer con determinati indirizzi IP. L attacco a previsione del numero di sequenza TCP/IP utilizza il modo in cui le reti indirizzano i computer e creano la sequenza di pacchetti. In pratica l hacker esegue l attacco a previsione del numero di sequenza TCP/ IP in due fasi. Nel primo passo, l hacker deve determinare l indirizzo IP del server. Se l utente conosce il nome di dominio del server (per esempio www.esempio.com), potrà utilizzare il comando ping per determinare anche il suo indirizzo IP: C:\> ping www.esempio.com <Invio> Esecuzione di Ping p-delmar.thomsonlearning.com [199.93.172.22] con 32 byte di dati: Risposta da 199.93.172.22: byte=32 durata =258ms TTL=243 Risposta da 199.93.172.22: byte=32 durata =246ms TTL=243 Risposta da 199.93.172.22: byte=32 durata =245ms TTL=243 Risposta da 199.93.172.22: byte=32 durata =235ms TTL=243 Statistiche di Ping per 199.93.172.22: Pacchetti: Trasmessi = 4, Ricevuti = 4, Persi = 0 (0% loss), Tempo approssimativo percorsi andata/ritorno in millisecondi: Minimo = 235ms, Massimo = 258ms, Medio = 246ms Una volta che l hacker conosce l indirizzo IP del server, potrà determinare l indirizzo di altri computer presenti nella rete del server e che condividono alcune parti dell indirizzo del server. Utilizzando indirizzi correlati l hacker tenterà di simulare un numero di indirizzo IP che gli consenta di bypassare il router e di accedere al sistema come utente interno. Per esempio, se un sistema ha l indirizzo IP 192.0.0.15, l hacker, sapendo che in una rete di Classe C vi possono essere fino a 256 computer, potrà cercare di indovinare il loro indirizzo modificando unicamente l ultimo byte. Nel Capitolo 2 si è detto che gli indirizzi IP indicano anche quanti computer sono connessi alla rete. In questo caso, la somma dei due bit più significativi (128 + 64 = 192) nel byte più elevato indica che la rete è di Classe C. La Figura 9.1 mostra il modo in cui un hacker può prevedere i numeri IP in una rete di Classe C. HP2-09.p65 298 03/10/2002, 9.44

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 299 Figura 9.1 L hacker utilizza l indirizzo IP del server per cercare di indovinare gli altri indirizzi IP della rete. Dopo che l hacker avrà determinato uno o più indirizzi della rete, inizierà anche a controllare i numeri di sequenza dei pacchetti che si trasmettono tali computer. Dopo aver monitorizzato le trasmissioni della rete, l hacker cercherà di prevedere il prossimo numero di sequenza che verrà generato dal server e quindi fornirà un proprio pacchetto con tale numero di sequenza inserendosi fra il server e l utente. Poiché l hacker ha già l indirizzo IP del server, può in realtà generare pacchetti con i numeri di sequenza corretti e indirizzi IP che gli consentono di intercettare le trasmissioni con l utente. La Figura 9.2 mostra il modo in cui, simulando un indirizzo IP e un numero di sequenza di pacchetto, l hacker può ingannare il server facendosi credere un utente della rete. Dopo che l hacker ha avuto accesso al sistema tramite la previsione di un numero di sequenza, può accedere alle informazioni che il sistema di comunicazione trasmette al server, inclusi file di password, nomi di login, dati riservati e ogni altra informazione trasmessa in rete. In genere un hacker utilizza la previsione del numero di sequenza come preparativo per l attacco vero e proprio al server oppure come base per l attacco di un altro server della rete. Difesa contro attacchi a previsione del numero di sequenza Il modo più semplice ed efficace per proteggere il sistema contro gli attacchi a previsione del numero di sequenza consiste nell assicurarsi che il router, il firewall e ogni server del sistema abbiano attivato la protezione audit-trail. Gli audit-trail sono trattati nel Capitolo 12. Utilizzando gli audit-trail si può osservare quando un hacker tenta di HP2-09.p65 299 03/10/2002, 9.44

300 CAPITOLO 9 Figura 9.2 L hacker simula una comunicazione TCP/IP ingannando il server. attraversare il router e il firewall e quando tenta di accedere al server. L audit-trail mostrerà una sequenza che potrebbe avere il seguente aspetto (dipende dal sistema operativo): Access Denied. IP address unknown. Access Denied. IP address unknown. Access Denied. IP address unknown. Access Denied. IP address unknown. Access Denied. IP address unknown. Access Denied. IP address unknown. Access Denied. IP address unknown. Access Denied. IP address unknown. Access Denied. IP address unknown. Access Denied. IP address unknown. Access Denied. IP address unknown. Spesso si trovano intere sequenze di queste righe in quanto il computer dell hacker continua a ricercare una corrispondenza nel numero di sequenza. Utilizzando uno dei programmi di servizio disponibili nel sistema operativo, si può richiedere che a seguito di un determinato numero di richieste di accesso negate venga prodotto un avvertimento. L uso dei programmi di audit-trail viene descritto nel Capitolo 12. 9.3 Dirottamento del protocollo TCP Questo rappresenta la più grave minaccia per i server connessi a Internet. Il dirottamento TCP (TCP hijack) è noto anche con il nome di sniffing attivo (active HP2-09.p65 300 03/10/2002, 9.44

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 301 sniffing). Anche se la previsione del numero di sequenza e il dirottamento TCP presentano delle analogie, nel secondo caso l hacker ottiene l accesso alla rete costringendo la rete ad accettare il suo indirizzo IP come se fosse un indirizzo di rete fidato e dunque l hacker non è costretto a provare vari indirizzi IP fino a trovare quello funzionante. L idea che sta alla base del dirottamento TCP è che l hacker acquisisce il controllo di un computer che si collega con la rete che rappresenta il suo obiettivo. Poi disconnette il computer dalla rete e inganna il server sostituendosi a tale computer. La Figura 9.3 mostra il modo in cui un hacker può eseguire un attacco a dirottamento TCP. Dopo che l hacker si è sostituito al computer disconnesso, sostituisce l indirizzo IP all interno di ogni pacchetto con il proprio indirizzo IP e altera i numeri di sequenza. I professionisti di problemi di sicurezza chiamano la simulazione dei numeri di sequenza con il termine IP spoofing. Utilizzando l IP sostituito, un hacker simula con il proprio computer l indirizzo IP di un sistema fidato. La tecnica di IP spoofing verrà descritta in dettaglio più avanti in questo stesso capitolo. Dopo che l hacker ha ingannato il computer di destinazione, utilizza un apposito numero di sequenza per diventare la nuova destinazione del server. Infine gli attacchi a dirottamento TCP presentano più pericoli rispetto agli attacchi IP spoofing poiché in genere gli hacker ottengono un livello di accesso superiore dopo aver eseguito un dirottamento TCP rispetto a un attacco IP spoofing. Gli hacker ottengono un accesso superiore poiché intercettano operazioni già in corso e non simulano un computer attivando una nuova transazione. Figura 9.3 L hacker esegue un attacco a dirottamento TCP. HP2-09.p65 301 03/10/2002, 9.44

302 CAPITOLO 9 9.4 Gli attacchi a sniffer In generale, per eseguire un attacco sniffer, un hacker deve semplicemente monitorare i pacchetti che attraversano la rete. Gli attacchi sniffer possono essere eseguiti con facilità da qualsiasi computer connesso a una rete. Mentre i pacchetti attraversano i computer dell hacker, la sua scheda di interfaccia di rete legge tale pacchetti per determinare se sono destinati al PC. Utilizzando un particolare programma chiamato sniffer, l hacker può leggere e visualizzare i pacchetti che attraversano il suo PC in rete. Gli attacchi passivi tramite sniffer sono sempre più frequenti in Internet. Come si è detto nel Capitolo 1, gli attacchi passivi a sniffer spesso sono il primo passo prima che l hacker esegua un attacco attivo a dirottamento o a spoofing IP. Per iniziare un hacker può utilizzare un attacco sniffer per ottenere il codice utente e la password di un utente legittimo. Poi, utilizzando le informazioni sottratte, potrà collegarsi alla rete. La Figura 9.4 mostra il modo in cui un hacker può eseguire un attacco passivo con sniffer. Prelevamento dello sniffer Iris Uno sniffer è un programma che monitorizza e visualizza i pacchetti che attraversano la rete. In un sistema Windows, si può utilizzare lo sniffer di pacchetti Iris per raccogliere, visualizzare, memorizzare e analizzare i pacchetti che attraversano il PC connesso in rete. Sempre utilizzando Iris è possibile catturare e modificare i pacchetti o semplicemente alterare i pacchetti inviati al firewall o ai server proxy. La Figura 9.5 illustra l uso dello sniffer di pacchetti Iris che può essere prelevato dal sito www.eeye.com. 9.5 Gli attacchi a desincronizzazione attiva Come si è detto nel Capitolo 2, una connessione TCP richiede uno scambio di pacchetti sincronizzato. Se per qualche motivo il numero di sequenza di un pacchetto non è quello atteso, il destinatario rifiuta il pacchetto e attende l arrivo del pacchetto numerato correttamente. L hacker può impiegare il requisito del numero di sequenza del protocollo TCP per intercettare la connessione. Per attaccare un sistema utilizzando gli attacchi a desincronizzazione descritti nelle sezioni seguenti, l hacker inganna o forza entrambe le estremità della connessione TCP in uno stato di desincronizzazione in modo che i due sistemi non possano più scambiarsi dati. Quindi l hacker impiega un terzo host esterno (in altre parole un altro computer connesso ai mezzi fisici che trasportano i pacchetti TCP) per intercettare i pacchetti e creare in sostituzione dei pacchetti accettabili HP2-09.p65 302 03/10/2002, 9.44

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 303 Server Rete Hacker Pacchetti TCP Pacchetto TCP originale Pacchetto TCP originale Copie del pacchetto TCP Figura 9.4 Un hacker mentre esegue un attacco a sniffing passivo. per entrambi i computer. Questi pacchetti emulano i pacchetti che si sarebbero scambiati i due sistemi. Figura 9.5 Uso dello sniffer di pacchetti Iris per monitorare o modificare i pacchetti in rete. HP2-09.p65 303

304 CAPITOLO 9 L attacco a dirottamento con post-desincronizzazione Si supponga che l hacker possa ascoltare tutti i pacchetti che si scambiano due sistemi che formano una connessione TCP. Inoltre si supponga che dopo aver intercettato ogni pacchetto, l hacker possa creare ogni genere di pacchetto IP e che possa sostituire i pacchetti originali. I pacchetti creati dall hacker gli consentono di ingannare il client o il server (o anche entrambi). Se l hacker possiede tutti questi requisiti, allora può effettivamente forzare tutte le trasmissioni fra il client e il server che dunque andranno dal client all hacker e dal server all hacker. Si parlerà di alcune delle tecniche che un hacker può utilizzare per desincronizzare una connessione TCP nelle prossime sezioni. Ma per il momento si supponga che l hacker abbia con successo desincronizzato la sessione TCP e che il client invii un pacchetto la cui intestazione contiene il codice seguente: SEG_SEQ = CLT_SEQ SEG_ACK = CLT_ACK La prima riga, SEG_SEQ = CLT_SEQ, indica che il numero di sequenza del pacchetto (la sigla SEG sta per segmento dati) è il prossimo numero di sequenza della serie del client. La seconda riga, SEG_ACK = CLT_ACK assegna al valore di acknowledgement del pacchetto il prossimo valore di acknowledgement. Poiché l hacker ha desincronizzato la connessione TCP, il numero di sequenza del pacchetto del client (CLT_SEQ) non sarà più uguale al numero di acknowledgement precedentemente emesso dal server (SVR_ACK); il server non può accettare i dati ed elimina il pacchetto. L hacker copia il pacchetto rifiutato dal server. La Figura 9.6 mostra il server mentre rifiuta il pacchetto e l hacker che copia il pacchetto. Dopo un breve ritardo, che lascia al server il tempo di reinserire nella rete il pacchetto, l hacker invia al server lo stesso pacchetto inviato dal client ma cambia i comandi SEG_SEQ e SEG_ACK (e il valore di checksum del pacchetto) in modo che le righe di intestazione risultino: SEG_SEQ = SVR_ACK SEG_ACK = SVR_SEQ Poiché il numero di sequenza dell intestazione del pacchetto è corretto (SVR_ACK è uguale a SEG_SEQ), il server accetta questa intestazione e dunque accetta anche il pacchetto ed elabora i dati. Nel frattempo, a seconda del numero dei pacchetti trasmessi dal client e che il server non accetta, il client potrà essere ancora impegnato a trasmettere altri pacchetti (come si è detto nel Capitolo 2) oppure potrebbe trasmettere pacchetti ACK, come si vedrà nella prossima sezio- HP2-09.p65 304

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 305 Figura 9.6 L hacker copia il pacchetto lasciato sulla rete dal server. ne. La Figura 9.7 mostra la connessione intercettata dopo che l hacker trasmette il pacchetto TCP modificato. Poiché tutte le trasmissioni passano attraverso la macchina dell hacker, quest ultimo può aggiungere ed eliminare qualsiasi dato dal canale. La Figura 9.8 mostra il modo in cui l hacker aggiunge comandi al canale che dal client conduce al server. Dopo che il server riceve il pacchetto, risponde sia con i dati richiesti dall hacker che con quelli richiesti dal vero client. A questo punto l hacker può filtrare il pacchetto, eliminare ogni risposta che il server ha generato per il comando dell hacker e inoltrare al client la risposta filtrata; in questo modo l utente non avrà alcun indizio per determinare la presenza dell intruso. La Figura 9.9 mostra come l hacker intercetta la trasmissione di ritorno ed elimina le informazioni che egli stesso ha richiesto. Nella prossima sezione si parlerà della tempesta di ACK TCP che si scatena durante un attacco a dirottamento con post-desincronizzazione. La tempesta di pacchetti TCP ACK L attacco a dirottamento con post-desincronizzazione descritto nella sezione precedente ha un solo difetto. Genera un gran numero di pacchetti TCP ACK. Questi pacchetti ACK sono chiamati dai professionisti dei problemi di sicurezza con il nome TCP ACK storm. Quando un host (client o server) riceve un pacchetto non accettabile, esegue l acknowledgement del pacchetto inviando a chi ha gene- HP2-09.p65 305

306 CAPITOLO 9 Figura 9.7 La connessione intercettata. Figura 9.8 L hacker aggiunge nuovi comandi al pacchetto. rato il pacchetto il numero di sequenza atteso. Come si è visto nel Capitolo 2, questo è un pacchetto di acknowledgement o un pacchetto ACK. Nel corso di un attacco TCP attivo descritto nella sezione precedente, il primo pacchetto ACK TCP include il numero di sequenza del server. Il client non accetta questo pacchetto di acknowledgement poiché il client non ha inviato il pacchetto di richiesta modificato. Pertanto anche il client genera il proprio pacchetto di acknowledgement che, a sua volta, costringe il server a generare un altro pacchetto di acknowledgement e così via, creando teoricamente un ciclo infinito per ciascun pacchetto inviato. La Figura 9.10 mostra la tempesta di pacchetti ACK. Poiché i pacchetti di acknowledgement non trasportano dati, il mittente dei pacchetti non li ritrasmette nel caso in cui il destinatario perda il pacchetto. In HP2-09.p65 306

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 307 Figura 9.9 L hacker rimuove dal pacchetto contenente la risposta del server le informazioni da lui stesso richieste. Figura 9.10 L attacco genera una tempesta di pacchetti ACK. altre parole, se una macchina perde un pacchetto durante la tempesta ACK, il ciclo termina. La connessione TCP crea un ciclo ogni volta che il client o il server scambiano dei dati. Se né il server né il client inviano dei dati, la connessione TCP non crea alcun ciclo. Se il client o il server inviano dei dati e nessun hacker raccoglie i dati, il mittente ritrasmetterà i dati. Dopo che il mittente ha ritrasmesso i dati, la connessione TCP creerà una tempesta per ogni ritrasmissione e alla fine i due capi della connessione chiuderanno la connessione poiché né il client né il server invia un pacchetto ACK. Se l hacker raccoglie la trasmissione dati, la connessione TCP produce una sola tempesta. In pratica l hacker spesso perderà dei dati dei pacchet- HP2-09.p65 307

308 CAPITOLO 9 ti a causa del carico della rete e pertanto utilizzerà la prima ritrasmissione e dunque l attacco genererà almeno una tempesta ACK ogni volta che l hacker trasmette. Ancora sulle tempeste ACK In una connessione TCP, quasi tutti i pacchetti con il flag ACK attivato ma senza dati allegati vengono riconosciuti come pacchetti non accettabili. In qualsiasi rete e particolarmente nelle comunicazioni via Internet, si verifica un certo livello di ritrasmissioni. In una rete che soffre di uno degli attacchi attivi di cui si è parlato nei paragrafi precedenti si verifica un numero ancora più elevato di ritrasmissioni. Queste ritrasmissioni sono dovute al carico sulla rete e sull host introdotto dall hacker con una tempesta ACK. Un registro del server che misura i pacchetti di trasmissione (compresi tutti i pacchetti ACK) durante una tempesta TCP ACK generata da un attacco di un hacker, può contenere migliaia i pacchetti ACK vuoti. In particolare un pacchetto contenente dati trasmesso durante un attacco può generare da 10 a 300 pacchetti ACK vuoti. Attacco a desincronizzazione iniziale Nella sezione precedente si è parlato di un attacco a dirottamento TCP (ovvero un attacco che si verifica dopo che il server e il client si sono connessi). A differenza dell attacco a dirottamento, che opera a connessione stabilita, l attacco a desincronizzazione iniziale rompe la connessione client/server nella fase iniziale di collegamento e non dopo che la connessione è attiva e in uso. L attacco a desincronizzazione iniziale rompe la connessione dal lato del server. Dopo aver rotto la connessione, l hacker crea una nuova connessione con un numero di sequenza differente. Un attacco a desincronizzazione iniziale funziona nel seguente modo. 1. L hacker ascolta il pacchetto di acknowledgement di connessione sincronizzata (SYN/ACK) che il server invia al client durante la fase 2 della connessione. Le fasi di una connessione tra un client e un server sono descritte nel Capitolo 6. La Figura 9.11 mostra il pacchetto di risposta ACK del server alla richiesta del client. 2. Quando l hacker preleva il pacchetto SYN/ACK, invia al server un pacchetto RST (ReSeT request) e poi un pacchetto SYN (SYNchronized response) con esattamente gli stessi parametri del pacchetto SYN/ACK del server (in particolare la porta TCP sulla quale sincronizzare la connessione). Tuttavia il pacchetto dell hacker ha un numero di sequenza differente. Si può chiamare questo pacchetto pacchetto 0 di acknowledgement dell hacker (ATK_ACK_0). La Figura 9.12 mostra la trasmissione del pacchetto da parte dell hacker. 3. Quando riceve il pacchetto RST, il server chiude la prima connessione e poi quando riceve il pacchetto SYN riapre una nuova connessione sulla stessa porta HP2-09.p65 308

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 309 Figura 9.11 Il server invia al client un pacchetto ACK. Figura 9.12 L hacker invia al server due pacchetti. ma impiegando un numero di sequenza differente (SVR_SEQ_0). Il server invia al client originale un pacchetto SYN/ACK. 4. L hacker intercetta il pacchetto SYN/ACK e invia al server il proprio pacchetto ACK. Il server attiva lo stato di connessione sincronizzata. La Figura 9.13 mostra l hacker mentre intercetta i pacchetti e stabilisce la connessione. HP2-09.p65 309

310 CAPITOLO 9 Figura 9.13 L hacker intercetta il pacchetto e stabilisce la connessione sincronizzata. Il client ha già attivato lo stato di connessione sincronizzata quando ha ricevuto dal server il primo pacchetto SYN/ACK. Il successo dell attacco si basa sul fatto che l hacker abbia scelto il valore corretto per CLT_TO_SVR_OFFSET. Selezionando il valore errato, succederà che sia il pacchetto del client che il pacchetto dell hacker saranno inaccettabili e probabilmente si otterranno effetti indesiderati, inclusa la chiusura della connessione. Attacco a desincronizzazione con dati nulli Nella sezione precedente si è spiegato come un hacker esegue un attacco a desincronizzazione iniziale intercettando una connessione TCP durante le sue fasi iniziali. Per desincronizzare una connessione TCP, un hacker può anche eseguire un attacco a desincronizzazione con dati nulli. Con dati nulli si fa riferimento a dati che non influenzano nulla sul lato del server se non il numero di acknowledgement TCP. L hacker esegue l attacco a desincronizzazione con dati nulli inviando simultaneamente una grande quantità di dati nulli al server e al client. I dati che l hacker invia non sono visibili al client. Ma i dati nulli costringono entrambi i computer connessi alla sessione TCP a entrare in uno stato desincronizzato, poiché l alto volume di dati nulli interferisce con la capacità dei computer di mantenere la connessione TCP. HP2-09.p65 310

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 311 9.6 Gli attacchi spoofing Lo sniffing è un attacco passivo dove l hacker si limita a monitorare i pacchetti di rete che attraversano la rete. Al contrario lo spoofing è un processo attivo in cui l hacker tenta di convincere un altro sistema che i messaggi da lui inviati provengono da un sistema legittimo. In altre parole, utilizzando lo spoofing, l hacker simula di essere un altro utente o un altro sistema. I servizi dei protocolli TCP (Transfer Control Protocol) e UDP (Uniform Datagram Protocol) suppongono che un indirizzo IP (Internet Protocol) sia valido e pertanto si fidano di tale indirizzo. Tuttavia, l host di un hacker può utilizzare un routing del codice IP di origine per presentarsi al server nelle vesti di un host o client valido. Un hacker può impiegare il routing dell IP di origine per specificare un percorso diretto verso una destinazione e un percorso di ritorno per l origine. Il percorso può coinvolgere router o host che non sono soliti inoltrare pacchetti a tale destinazione. In questo modo l hacker può intercettare o modificare le trasmissioni senza incontrare i pacchetti destinati al vero host. Il seguente esempio mostra il modo in cui il sistema di un hacker può prendere le vesti di un client valido per un determinato server. 1. L hacker cambia il proprio indirizzo IP in modo da farlo corrispondere all indirizzo IP del client valido. 2. L hacker poi costruisce un percorso che conduce al server, ovvero il percorso diretto che i pacchetti FTP dovranno prendere per giungere al server e per tornare all host dell hacker, utilizzando il client valido come ultimo tratto del percorso per giungere al server. 3. L hacker utilizza il percorso di origine per inviare al server una richiesta del client. 4. Il server accetta la richiesta dell hacker come se questa provenisse dal client valido e poi restituisce la risposta. 5. Il client valido, utilizzando il percorso di origine, inoltra il pacchetto all host dell hacker. Molti host UNIX accettano il trasferimento di origine dei pacchetti e dunque possono passare tale pacchetto nel modo indicato dal nuovo percorso. Anche molti router accettano questo ri-trasferimento dei pacchetti. Tuttavia alcuni router possono essere configurati in modo da bloccare il trasferimento dei pacchetti ad altri sistemi. La Figura 9.14 mostra lo schema di un attacco spoofing. Un metodo più semplice per eseguire lo spoofing a scapito di un client consiste nell attendere che il client esegua la chiusura e quindi sostituirsi a tale sistema. In molte aziende, i membri dello staff utilizzano personal computer e software di rete TCP/IP per connettersi e utilizzare host UNIX (per esempio server di reti locali). In genere i personal computer ottengono l accesso alle directory e ai file del server utilizzando il sistema NFS (Network File System) di UNIX o Linux HP2-09.p65 311

312 CAPITOLO 9 Figura 9.14 Le basi di un attacco spoofing. (NFS utilizza gli indirizzi IP solo per autenticare i client). Un hacker potrebbe presentarsi come il vero client e configurare un personal computer con lo stesso nome e lo stesso indirizzo IP di un altro computer per poi iniziare connessioni con l host UNIX. Un hacker può eseguire con facilità questo attacco spoofing. Inoltre, l attacco viene portato dall interno, poiché solo il dipendente può conoscere quali computer di una rete protetta sono attualmente spenti. Spoofing dei messaggi di posta elettronica È particolarmente facile sottrarre dei messaggi di posta elettronica in Internet e in genere non è possibile garantire l affidabilità dei messaggi senza impiegare per esempio le firme digitali. Come breve esempio si può considerare lo scambio che ha luogo quando gli host Internet si scambiano la corrispondenza. Lo scambio ha luogo utilizzando un semplice protocollo che utilizza comandi in caratteri ASCII. Un intruso può con facilità immettere manualmente questi comandi utilizzando Telnet e connettendosi direttamente alla porta SMTP (Simple Mail Transfer Protocol) di un sistema. L host ricevente controlla l identità dell host di invio e dunque l hacker può con facilità ingannare l origine della posta specificando per il proprio sistema un indirizzo fasullo. Il risultato è che qualsiasi utente senza privilegio può falsificare o sottrarre la posta elettronica. HP2-09.p65 312

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 313 Come eseguire un attacco a spoofing con un comune programma di posta elettronica Poiché la maggior parte delle persone non controlla mai l indirizzo da cui viene ricevuta la posta o poiché alcuni utenti non sanno neppure come leggere l indirizzo del mittente della posta ricevuta, la spoofing della posta elettronica rappresenta uno degli attacchi più facili che un hacker può sferrare contro un sistema. Utilizzando lo spoofing della posta elettronica, si può inviare un messaggio fingendosi Osama Bin Laden. In questa sezione si vedrà come qualcuno può eseguire lo spoofing della posta elettronica e come proteggersi contro tale azione o rilevare un attacco quando ci si trova nei panni della vittima. Per eseguire l attacco con Microsoft Outlook basta la seguente procedura. 1. In Outlook, selezionare il comando Strumenti Account. Outlook visualizzerà la finestra di dialogo Account. 2. Nella finestra di dialogo Account, fare clic sul pulsante Proprietà. Outlook visualizzerà la finestra di dialogo Proprietà. 3. Nella finestra di dialogo Proprietà si possono trovare tutte le informazioni relative alla propria identità di posta elettronica. Per cambiare il nome visualizzato nel campo dell origine dei messaggi di posta elettronica basta modificare il campo Nome specificando, per esempio, BinLaden. Poi basterà modificare l indirizzo di posta elettronica e l indirizzo per risposte con qualcosa di simile a BinLaden@Taliban.gov.af, come indicato nella Figura 9.15. 4. Al termine fare clic su OK per chiudere la finestra di dialogo. Ora si è pronti per inviare messaggi di posta elettronica fasulli. Come si è detto nel Capitolo 5, l unico modo per essere assolutamente certi che un messaggio di posta elettronica appartenga effettivamente al mittente indicato, consiste nella verifica della firma. Se però si riceve un gran numero di messaggi e-mail falsi, in genere si è in grado di individuare l hacker osservando le informazioni contenute nell intestazione del messaggio che in genere includono il vero server di origine dell hacker. Armati di queste informazioni, si può parlare con l amministratore di sistema del server di origine per vedere se esiste un modo per bloccare le attività ostili dell hacker, almeno per quanto riguarda la propria posta. 9.7 Come rilevare e prevenire un attacco spoofing A differenza degli attacchi di desincronizzazione, gli attacchi a spoofing IP sono difficili da rilevare. Se il sito ha la possibilità di monitorizzare il traffico di rete presente sull interfaccia esterna del router Internet, si dovrebbe eseguire l autentica del traffico in arrivo in passaggio nel router. Quando si esegue l audit-trail del traffico, si conserva una registrazione del traffico in un registro di sistema. Le tecniche di auditing sono descritte in dettaglio nel Capitolo 12. Utilizzando le registrazioni dell auditing, si deve esaminare il traffico in arrivo alla ricerca di pacchetti in cui sia l indirizzo di origine che l indirizzo di destinazione sono con- HP2-09.p65 313

314 CAPITOLO 9 Figura 9.15 Modifica delle informazioni di posta elettronica in Outlook. tenuti nel dominio locale. Infatti non si dovrebbero trovare pacchetti provenienti da Internet contenenti sia un origine interna che un indirizzo di destinazione interno poiché in questo caso è probabile che stia avendo luogo un attacco a spoofing IP. In un pacchetto di un attacco spoofing, entrambi gli indirizzi in genere coincidono con indirizzi interni della rete (anche se il pacchetto ingannatore può contenere l indirizzo IP di un host fidato che però si trova all esterno della rete). La migliore difesa contro gli attacchi a spoofing IP è rappresentata dal filtraggio dei pacchetti che entrano da Internet passando dal router, bloccando ogni pacchetto che sostiene di essere stato prodotto all interno della rete, ovvero dal dominio locale. Questa funzione di filtraggio dei pacchetti in input è supportata da numerosi router. Se il proprio router non supporta il filtraggio dei pacchetti sul traffico in ingresso, si può installare un secondo router fra il router esistente e la connessione Internet. L operazione di filtraggio dovrà quindi essere eseguita da questo secondo router. HP2-09.p65 314

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 315 9.8 Hyperlink spoofing: un attacco all autenticazione dei server SSL Nelle sezioni precedenti si è parlato di alcuni attacchi che gli hacker sferrano contro comunicazioni TCP e Telnet. Questa sezione, che parla della tecnica di Hyperlink spoofing, e la prossima sezione, che parla del Web-spoofing, spiegano alcuni dei più comuni attacchi che gli hacker sferrano contro computer che comunicano utilizzando il protocollo HTTP (HyperText Transfer Protocol). Come si sa, le pagine HTML sono costituite da collegamenti ipertestuali che chiedono al browser di visualizzare una determinata pagina Web. Per eseguire uno spoofing di un collegamento ipertestuale, un hacker deve semplicemente cambiare un collegamento sulla pagina Web per inviare gli utenti da un altra parte. Si supponga, per esempio, che un determinato sito si occupi di vendere libri. Dopo che un utente avrà selezionato il libro che vuole acquistare, il sito richiede informazioni sulla spedizione e il numero di carta di credito. Normalmente l utente selezionerà un collegamento come Passa alla cassa o Concludere la vendita che lo rinvia a una pagina sicura in cui potrà introdurre le informazioni riservate sull ordine. Se un hacker riesce ad avere accesso a un server Web, può modificare il collegamento in modo che punti a una pagina situata sul suo computer. A questo punto l hacker potrà visualizzare il proprio modulo di raccolta delle informazioni riservate introdotte dall utente. Un modo molto semplice con cui l hacker può sostituire il collegamento consiste nell individuare le pagine su un server che contengono frasi chiave tipiche degli acquisti e poi sostituire i file HTML in modo che i collegamenti puntino a un altro computer. Ma cambiando le pagine Web in questo modo, l hacker aumenta le probabilità che l amministratore del sito Web riconosca il problema (poiché il sito sperimenta un blocco immediato delle vendite) e a questo punto l amministratore può utilizzare il collegamento per risalire all hacker. Per attaccare il sito in modo meno facile da individuare, l hacker può semplicemente utilizzare uno sniffer che monitorizza i messaggi fra il server e gli utenti. Poi, quando un utente eseguirà un ordine ingente, l hacker potrà intervenire e intercettare la pagina Web inviata dal sito sostituendo la pagina che contiene un link al suo sito. Intercettando in modo selettivo gli ordini dei clienti, l hacker potrà operare per un periodo di tempo più lungo senza essere scoperto. Se l hacker intercetta i pacchetti inviati all utente prima che l utente selezioni una pagina sicura (che esegue la crittografia delle informazioni scambiate con l utente), potrà generare una connessione sicura con l utente, il quale riterrà erroneamente di scambiare informazioni in modo riservato. HP2-09.p65 315

316 CAPITOLO 9 9.9 Introduzione al Web-spoofing Lo spoofing Web è un altro tipo di attacco. In un attacco a spoofing Web, l hacker crea una copia convincente ma falsa di un intero sito Web (in realtà un hacker potrebbe anche utilizzare un attacco per simulare più siti Web). Il sito Web ha tutto l aspetto del sito vero e proprio, ovvero contiene le stesse pagine e gli stessi link del vero sito Web, ma è completamente sotto il controllo dell hacker. Dunque tutto il traffico di rete fra il browser della vittima e il sito Web passa attraverso l hacker. La Figura 9.16 mostra un modello concettuale di Web-spoofing. In un attacco Web-spoofing, l hacker può osservare o modificare tutti i dati che vanno dalla vittima al server del sito Web. Inoltre, l hacker può controllare tutto il traffico di ritorno dal server Web alla sua vittima. In seguito l hacker può impiegare vari tipi di attacco. I due metodi più comuni che un hacker può utilizzare per entrare nelle reti sono lo sniffing e lo spoofing. Lo sniffing è un attività di sorveglianza in quanto l hacker osserva passivamente il traffico della rete. Lo spoofing è un attività di manipolazione in quanto l hacker convince un host di essere un altro computer fidato e pertanto si prepara a ricevere varie informazioni. In un attacco Web-spoofing, l hacker registra il contenuto delle pagine Web visitate dalla vittima. Quando la vittima compila un modulo in una pagina HTML, il browser della vittima trasmette i dati al server Web. Ma poiché l hacker si è interposto fra il client e il server, riuscirà a registrare tutti i dati immessi dal client. Inoltre l hacker può registrare i contenuti e le risposte che il server invia al client. Poiché la maggior parte dei servizi di commercio in Internet impiega dei moduli Web, l hacker sarà in grado di osservare numeri di conto corrente, password e altre informazioni riservate che la vittima immetterà nelle schede. Figura 9.16 Il modello concettuale di attacco Web-spoofing. HP2-09.p65 316

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 317 L hacker può eseguire un attività di sorveglianza anche se la vittima ritiene di trovarsi in una connessione sicura. Indipendentemente dal fatto che la connessione sicura impieghi i metodi SSL o S-HTTP, l hacker sarà comunque in grado di ingannare l utente. In altre parole, anche se il browser della vittima mostra l icona tipica di una connessione sicura (in genere si tratta di una chiave o di un lucchetto) la vittima si troverà a trasmettere in una connessione non sicura. L hacker è anche libero di modificare tutti i dati scambiati dalla vittima e dal server Web. Per esempio, se la vittima ordina on-line 100 oggetti d argento, l hacker potrà modificare il codice del prodotto, la quantità o l indirizzo di destinazione inviando al se stesso 200 oggetti d oro. L hacker può anche modificare i dati restituiti dal server Web. Per esempio, l hacker può inserire nei documenti restituiti dal server materiale fuorviante o offensivo per ingannare la vittima o per provocare nella vittima sentimenti negativi nei confronti del server. La Figura 9.17 mostra il modo in cui un hacker può modificare le informazioni scambiate dalla vittima e dal server. L attacco Web-spoofing è possibile solo se il server Web dell hacker si trova fra la vittima e il resto del Web. In pratica l hacker deve essere l intermediario fra l utente e il Web. Dopo che il server dell hacker ha prelevato dal Web il documento necessario per soddisfare la richiesta, l hacker riscrive gli indirizzi URL del documento nella stessa forma speciale impiegata per l inganno iniziale. Infine il server dell hacker fornisce al browser della vittima la pagina riscritta. Poiché tutti gli indirizzi URL della nuova pagina ora puntano al server dell hacker, se la vittima segue un link della nuova pagina, si troverà ancora nel server dell hacker, il quale preleverà la pagina dal Web. Dunque la vittima rimane intrappolata nel Figura 9.17 L hacker modifica le informazioni scambiate fra la vittima e il server. HP2-09.p65 317

318 CAPITOLO 9 falso Web creato dall hacker e potrebbe seguire questi link all infinito senza mai uscire dal server dell hacker. Ancora sui moduli Web e sulle connessioni sicure Se si compila un modulo in una pagina di un falso Web, nulla fa supporre che le informazioni immesse dall utente prendano una direzione non corretta. Lo spoofing sui moduli Web funziona senza problemi poiché il protocollo di base del Web integra i moduli in modo molto stretto con la pagina. Il browser codifica gli invii di moduli Internet all interno delle richieste HTTP e un server Web risponde alla richiesta di un modulo utilizzando il linguaggio HTML. Così come gli hacker possono sostituire un indirizzo URL, possono sostituire anche un modulo Web. Così come la pagina Web richiesta fa riferimento al server dell hacker così anche i moduli Web compilati dalla vittima verranno inviati al server dell hacker. Ora il server dell hacker può tranquillamente osservare e modificare i dati forniti dalla vittima. Pertanto, l hacker può alterare a piacimento i dati prima di passarli al vero server. Il server dell hacker può anche modificare i dati che il server invia in risposta al modulo. Un aspetto particolarmente fastidioso dell attacco Web-spoofing è il fatto che l attacco funziona perfino quando la vittima richiede una pagina attraverso una connessione sicura. Se, per esempio, si cerca di eseguire un accesso Web sicuro (ovvero impiegando il protocollo S-HTTP o SSL) in un sito Web falso, il browser Web non visualizzerà nulla di particolare. Il server dell hacker non farà altro che fornire la pagina e il browser attiverà l indicatore di connessione sicura. Il browser informerà che è in corso una connessione sicura con un server e in effetti questo corrisponde a verità. Sfortunatamente, la connessione sicura è con il server dell hacker e non con la pagina Web desiderata. Dunque il browser e l utente sono certi che tutto proceda senza problemi. Ma l indicatore di connessione sicura dà un senso di sicurezza assolutamente falso. La Figura 9.18 mostra come si verifica una connessione falsamente sicura. Come avviare l attacco Web-spoofing Come si è detto nelle sezioni precedenti, è difficile sfuggire a un attacco Webspoofing dopo che questo è iniziato. Tuttavia, l inizio di un attacco di questo tipo richiede determinate azioni da parte della vittima. Per iniziare l attacco, l hacker deve in qualche modo attirare la vittima nel falso sito Web. In altre parole, l hacker deve spingere le vittime a fare clic su un link falso. Un hacker può rendere il link falso facilmente accessibile in vari modi. Può inserire il link che conduce al falso sito Web su una pagina Web ben nota. HP2-09.p65 318

IDENTIFICAZIONE E DIFESA CONTRO GLI ATTACCHI 319 Figura 9.18 Il computer dell hacker intrattiene una connessione sicura. Se la vittima utilizza messaggi e-mail che richiamano il browser Web, l hacker può inviare alla vittima un messaggio e-mail contenente un puntatore al falso sito Web. Alternativamente, l hacker può inviare via e-mail alla vittima il contenuto di una pagina del falso sito Web. L hacker può ingannare un motore di ricerca Web e far indicizzare una parte del suo sito Web. Se la vittima impiega Internet Explorer, l hacker può scrivere un controllo ActiveX che venga eseguito ogni volta che la vittima richiama il browser. Il controllo ActiveX dell hacker può sostituire un indirizzo URL corretto con l indirizzo URL dell hacker. Fondamentalmente l hacker deve trovare un modo per condurre la vittima nel falso sito Web. L hacker può impiegare varie tecniche, discusse nelle prossime sezioni. Per completare l illusione... la barra di stato L hacker deve in qualche modo convincere le vittime a entrare nel falso sito Web. L attacco Web-spoofing deve essere convincente. Se l hacker non è attento o se le vittime hanno disabilitato determinate opzioni del browser, le pagine Web fasulle mostreranno nella barra di stato alcune informazioni. Tali informazioni possono essere sufficienti per far capire che si è entrati nel falso sito Web. Per esempio, quando si porta il puntatore del mouse su un link, la maggior parte dei browser visualizza nella riga di stato l indirizzo URL di destinazione. HP2-09.p65 319

320 CAPITOLO 9 Sfortunatamente, un hacker accorto può sfruttare determinate tecniche di programmazione per eliminare praticamente ogni indizio dell attacco. I segni sono relativamente facili da eliminare grazie all alto livello di personalizzazione dei browser. Spesso è desiderabile che una pagina Web possa controllare il comportamento del browser ma quando la pagina è ostile, tale controllo può risultare pericoloso per l utente. Per esempio, un hacker può con facilità utilizzare JavaScript, Java e VBScript per manipolare la barra di stato del browser Web (è la riga di testo che appare nella parte inferiore dei browser e che visualizza messaggi di varia natura). La Figura 9.19 mostra la barra di stato contenente un messaggio di benvenuto. Spesso i messaggi contenuti nella riga di stato descrivono lo stato delle transazioni HTTP in corso o l indirizzo a cui punta un determinato link. Ma come si può vedere nella Figura 9.20, l autore della pagina può modificare la riga di stato in modo da visualizzare il testo desiderato. L attacco Web-spoofing può lasciare due indizi sulla riga di stato. Innanzitutto quando si porta il puntatore del mouse su un link, nella riga di stato viene visualizzato l indirizzo URL di tale link. Pertanto la vittima potrebbe notare che l hacker ha modificato l indirizzo URL del link. In secondo luogo, quando il browser sta prelevando una pagina, la riga di stato visualizza per un istante il nome del server contattato dal browser. Qui la vittima potrebbe notare che la riga di stato visualizza www.hacker.hck invece di www.esempio.com. L hacker può però aggiungere un programma Java, JavaScript o VBScript a ogni pagina riscritta e tali programmi si occuperebbero di cancellare ogni indizio visivo. Poiché il programma aggiunto dall hacker può scrivere sulla riga di stato del testo a piacere, l hacker può fare in modo che la riga di stato contribuisca a creare l illusione. Inoltre, l hacker può associare il suo programma a determinati eventi importanti del computer mostrando sempre alla vittima la riga di stato del vero sito Web, anche durante la connessione a una nuova pagina. Il controllo dell output sul riga di stato rende il contenuto della pagina fasullo ancora più convincente. Probabilmente senza alcun intervento sulla riga di stato, il contenuto della pagina non risulterebbe affatto ingannevole. La riga dell indirizzo Se l hacker non si preoccupa di visualizzare le informazioni appropriate, l attacco può venire gravemente compromesso. Ma anche la riga dell indirizzo può evidenziare l attacco di un hacker. Tale riga visualizza l indirizzo della pagina Web attualmente visualizzata dal browser. La vittima può anche scrivere un indirizzo URL in questa riga, chiedendo così al browser di portarsi sulla risorsa specificata da tale indirizzo URL. La Figura 9.20 mostra la riga degli indirizzi di Netscape. HP2-09.p65 320