DNS cache poisoning e Bind



Documenti analoghi
Reti di Calcolatori

Troppe Informazioni = Poca Sicurezza?

Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin

ARP (Address Resolution Protocol)

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

RETI E SISTEMI INFORMATIVI Domain Name System. Prof. Andrea Borghesan

Reti di Calcolatori. Il Livello delle Applicazioni

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

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB

Gestione degli indirizzi

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

Network Services Location Manager. Guida per amministratori di rete

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Creare connessioni cifrate con stunnel

Configurazione Client di Posta Elettronica

Progettare un Firewall

Inizializzazione degli Host. BOOTP e DHCP

Servizio di Posta elettronica Certificata (PEC)

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

Man-in-the-middle su reti LAN

SOMMARIO... 3 INTRODUZIONE...

PROCEDURA DI INSTALLAZIONE DEI SOFTWARE E DEL DRIVER USB AIM

Livello di applicazione. Reti di Calcolatori. Corso di Laurea in Ingegneria Informatica. Livello di applicazione DNS A.A.

Corso di recupero di sistemi Lezione 8

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

EUROCONSULTANCY-RE. Privacy Policy

Gestione degli indirizzi

Reti di Telecomunicazione Lezione 6

Proteggiamo il PC con il Firewall di Windows Vista

PRIVACY POLICY DI digitaldictionary.it. Digital Dictionary Servizi s.r.l. Milano via Paleocapa 1, (MI) P.IVA/CF: REA: MI

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

Manuale per la configurazione di un account di PEC in Outlook 2003.

Reti di Telecomunicazione Lezione 8

P2-09: Domain Name System (Cap. 24)

LAN Sniffing con Ettercap

Politica del WHOIS relativa al nome a dominio.eu

Servizio di Posta elettronica Certificata (PEC)

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

Dal protocollo IP ai livelli superiori

Configurazione di Outlook Express

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Guida Migrazione Posta Operazioni da effettuare entro il 15 gennaio 2012

Servizio di Posta elettronica Certificata (PEC)

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

In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano.

Antonio Cianfrani. Extended Access Control List (ACL)

LE POSSIBILITA' DI ACCESSO DA REMOTO ALLE RETI DI CALCOLATORI

Access Control List (I parte)

19. LA PROGRAMMAZIONE LATO SERVER

Cookie. Krishna Tateneni Jost Schenck Traduzione: Luciano Montanaro

(Domain Name System) DNS (Domain Name System) Architettura del DNS DNS. A.Lioy - Politecnico di Torino (2013) B-1. Antonio Lioy < lioy@polito.

Informatica per la comunicazione" - lezione 13 -

Reti diverse: la soluzione nativa

DNS-Tunneling. Reference to. Ettore di Giacinto Luca Montunato

Stampe in rete Implementazione corretta

Joomla! 2.5:Utenti e permessi - Il wiki di Joomla.it

Il web server Apache Lezione n. 3. Introduzione

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

DNSSEC. Cos è DNSSEC? Perché serve DNSSEC? Per un Internet sicuro

Installazione di Moodle. Preparato per: Gruppo A, Piattaforma di E - Learning Preparato da: Cinzia Compagnone, Vittorio Saettone

Infrastruttura wireless d Ateneo (UNITUS-WiFi)

Interconnessione di reti

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Manuale Utente PEC e Client di Posta tradizionale

Domain Name System. Gerarchia nomi simbolici

GUIDA ALLA CONFIGURAZIONE DELLA POSTA THUNDERBIRD. (v Maggio 2014)

PRIVACY POLICY DEL SITO WEB

Comunicazioni sicure tra server di posta elettronica

Esercitazioni di Tecnologie e Servizi di Rete: Voice over IP (VoIP)

Il Web Server e il protocollo HTTP

Impostare il browser per navigare in sicurezza Opzioni di protezione

ARCHIVIAZIONE AUTOMATICA (Gestione Allegati)

NAS 224 Accesso remoto Configurazione manuale

PRIVACY POLICY SITO INTERNET

Realizzazione di un servizio DNS su piattaforma Linux e Solaris con ISC BIND master / /24

Internet e posta elettronica. A cura di Massimiliano Buschi

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

InterNet: rete di reti

azienda, i dipendenti che lavorano fuori sede devono semplicemente collegarsi ad un sito Web specifico e immettere una password.

P2-11: BOOTP e DHCP (Capitolo 23)

2.1 Configurare il Firewall di Windows

La posta elettronica (mail)

Internet: Domini e spazi web. conoscerlo al meglio per usarlo meglio Gabriele Riva - Arci Barzanò

MDaemon: tecniche per non finire in black list. Claudio Panerai - Direttore Tecnico di Achab S.r.l. claudio.panerai@achab.it

Reti diverse: la soluzione nativa

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Apparecchiature di Rete

Maschere di sottorete a lunghezza variabile

Programma per l elaborazione delle buste paga. dei collaboratori domestici VERSIONE /07/2010

Le basi della Partita Doppia in parole Facile e comprensibile. Ovviamente gratis.

Caratteristiche principali. Contesti di utilizzo

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

Lo scenario: la definizione di Internet

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

I.C. ALDO MORO - CAROSINO a.s REGOLAMENTO DI UTILIZZO DEL LABORATORIO DI INFORMATICA

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro

INTRODUZIONE ALLE RETI: UN APPROCCIO PRATICO

Guida di Pro Spam Remove

Domain Name System: DNS

Introduzione al Dns. Loredana Pillitteri. Semplificazione della gestione e delega amministrativa Pisa - CNR - ISTI dicembre 2003

Transcript:

ICT Security n. 19, Gennaio 2004 p. 1 di 5 DNS cache poisoning e Bind Il Domain Name System è fondamentale per l'accesso a internet in quanto risolve i nomi degli host nei corrispondenti numeri IP. Se qualche malintenzionato riesce a cambiare la risoluzione di un nome (ad esempio windowsupdate.microsoft.com) le conseguenze potrebbero essere almeno spiacevoli. In questo articolo consideriamo un caso particolare di attacco al protocollo DNS, bisogna infatti osservare che alla base di questi attacchi vi è una debolezza intrinseca del protocollo stesso. Per capire come siano possibili questi tipi di attacchi e perciò cosa si può fare per prevenirli, dobbiamo spiegare un attimo come funziona una parte del protocollo DNS. 1. Come funziona Un server DNS di norma svolge due funzioni 1 1. essere autoritativo per alcuni domini, cioè avere le tavole di traduzione da nome a numero IP (e viceversa) per tutti nomi di host appartenenti a questi domini; spesso queste tavole sono create e modificate manualmente in file di testo sul server DNS 2. risolvere i nomi in numeri IP per un certo numero di propri client, ad esempio gli host appartenenti ai domini di cui è autoritativo. Vi sono due modi di fare una ricerca di risoluzione di nome in numero IP: 1. i client fanno delle richieste ricorsive al proprio server DNS, in questo caso il server DNS si incarica di contattare tutti i server DNS necessari sino a che non trova quello autoritativo per il nome o numero cercato 2. i server DNS fanno delle richieste non-ricorsive verso altri server DNS, in questo caso se il server interrogato non conosce la risposta, indica un altro server che potrebbe conoscerla. Ad esempio, un client che cerca la risoluzione del nome host.mio.dominio.it, fa una richiesta al proprio server DNS che a sua volta contatta nell'ordine: un root-server, il server della zona.it., il server della zona dominio.it., il server della zona mio.dominio.it che fornisce la risposta, che a sua volta il nostro server DNS invia al client. Ovviamente il nostro server DNS è un po' più furbo ed agisce secondo la seguente logica quando riceve una richiesta da un client: 1. se è autoritativo per il nome richiesto poiché la risoluzione è nei file di configurazione del server, invia la risposta direttamente al client 2. se la risoluzione è presente nella propria cache (la stessa richiesta è stata fatta da qualcun altro precedentemente) invia la risposta direttamente al client; è da notare che le risoluzioni vengono 1 In sistemi medio grandi le funzioni possono essere divise e distribuite su diversi server, anche per aumentare la sicurezza del sistema.

ICT Security n. 19, Gennaio 2004 p. 2 di 5 di solito mantenute in cache per un periodo da un giorno ad una settimana 3. altrimenti contatta in modo non-ricorsivo i server DNS che potrebbero conoscere la risposta (ovviamente non è necessario ripartire tutte le volte dai root-server) ed una volta ottenuta la risoluzione la invia al client e la inserisce nella cache. 2. L'attacco Un possibile, e purtroppo spesso usato, attacco consiste nell'inserire nella cache di un server DNS la risoluzione fasulla di un nome. Non entreremo qui nei dettagli tecnici di come è possibile fare questo, ma illustreremo solo lo schema d'azione dell'attaccante: 1. l'attaccante ha un client in grado di fare richieste di risoluzione al server DNS sotto attacco ed invia molte richieste contemporaneamente per la risoluzione fasulla che vuole inserire nella cache del nostro server DNS 2. se la risposta è già nella cache del server DNS l'attacco fallisce poiché il server risponde con l'informazione presente in cache e non carica la risoluzione fasulla 3. se la risposta non è nella cache, l'attaccante invia la risoluzione fasulla al nostro server DNS mentre questo sta interrogando i server DNS autoritativi. Dalla descrizione è ovvio che vi sono due punti su cui gioca l'attaccante: 1. una race-condition per cui, sapendo l'attaccante quando il server DNS effettuerà la richiesta di risoluzione verso i server DNS autoritativi visto che è l'attaccante stesso la sorgente della richiesta di risoluzione, l'attaccante cerca di inviare la risposta prima che arrivi dai server autoritativi 2. l'attaccante deve prendere l'identità del vero server autoritativo in modo che il server DNS sotto attacco accetti la risposta fasulla. Il primo punto è facilmente risolvibile per l'attaccante se al tempo stesso dell'attacco al nostro server DNS fa anche un attacco di Denial-of-Service sul vero DNS autoritativo. In questo modo l'attaccante ha tutto il tempo necessario per inviare la risoluzione fasulla al nostro server DNS. Le tecniche per il secondo punto sono più complesse, discuteremo più avanti i punti di attacco e come fare a proteggersi. 3. Cosa succede se l'attacco va a buon fine? Se l'attacco va a buon fine, l'attaccante può utilizzarlo per molti scopi. Ne citiamo solo due quali esempi: 1. l'attaccante può preparare un sito identico a windowsupdate.microsoft.com, inserire nella cache del nostro server DNS la risoluzione di questo nome al proprio sito e far scaricare a tutti i client

ICT Security n. 19, Gennaio 2004 p. 3 di 5 del nostro server DNS del codice maligno invece degli updates di Microsoft 2. l'attaccante può inserire nella cache del nostro server DNS la risoluzione di un dominio utilizzato a scopi illegali, ad esempio pedo-pornografia, e poi indicare il nostro server come autoritativo per questo dominio; in questo modo tutti gli host in internet interrogheranno il nostro server DNS per risolvere questo dominio e prima o poi saremo coinvolti in una indagine di polizia per il reato di pedo-pornografia. E' da notare che il secondo metodo è molto usato dagli spammer per creare un falso dominio che gli permetta di inviare i messaggi di posta elettronica. Va notato anche che, come detto, i dati rimangono nella cache per un tempo limitato e l'attaccante deve rifare il proprio attacco una volta che le risoluzioni fasulle sono state cancellate dalla cache. 4. Come difendersi Recentemente sono stati introdotti i protocolli DNSSEC e TSIG che dovrebbero garantire la sicurezza delle comunicazioni tra server DNS, ovvero evitare che l'attaccante possa prendere l'identità del server autoritativo. Purtroppo questi protocolli sono ancora poco adottati anche perché sono ancora giovani e poco sperimentati. Nel frattempo possiamo migliorare la nostra protezioni adottando le seguenti procedure: 1. se utilizziamo bind, è sicuramente consigliato di passare alla versione 9 ed in generale, qualunque sia il software adottato, è consigliato utilizzare l'ultima versione (stabile) disponibile in quanto gli sviluppatori stanno introducendo tecniche che rendono più difficile all'attaccante inviare pacchetti fasulli che il nostro server DNS accetti 2 2. è assolutamente necessario configurare la nostra rete in modo che al nostro server DNS non possano arrivare pacchetti con indirizzo IP sorgente di un nostro client inviati da un attaccante da internet, in altre parole che vi siano rigidi filtri anti-spoofing 3. limitare l'accesso in modalità ricorsiva al server DNS ai soli numeri IP dei veri client e non, come è cattiva abitudine, lasciare l'accesso in modalità ricorsiva a tutto il mondo. I punti 2 e 3 garantiscono che solo un nostro client, e non un attaccante esterno che utilizza come IP sorgente quello di un nostro client, sia abilitato ad inviare una richiesta ricorsiva al nostro server DNS. In questo modo solo i nostri client possono popolare la cache del nostro server DNS. Ovviamente questa configurazione lascia libero di agire un attaccante interno, ovvero che è un nostro client legittimo o qualcuno che si è appropriato di un nostro client. Nella tabella 1 riportiamo un parziale esempio di configurazione di bind 9 che soddisfa alle richieste del punto 3. Si noti che il default per tutte le query (nella sezione options) è ristretto ai nostri client, e solo 2 In particolare si cerca di utilizzare porte UDP sorgenti casuali e numeri casuali per le transaction-id.

ICT Security n. 19, Gennaio 2004 p. 4 di 5 i domini per cui il server è autoritativo sono disponibili a tutti. Andrea Pasquinucci Libero Professionista in Sicurezza Informatica pasquinucci@ucci.it Riferimenti Bibliografici: [1] Lo standard per il DNS è negli RFC 1034, 1035 e molti aggiornamenti [2]Attacking the DNS Protocol, SANS Institute, http://sainstitute.org/articles/attackingthednsprotocol.pdf [3] Joe Stewart, DNS Cache Poisoning - The Next Generation, SecurityFocus, http://www.securityfocus.com/guest/17905 [4]Un esempio di configurazione di bind-9 di Rob Thomas http://www.cymru.com/documents/secure-bind-template.html [5]P. Albitz e C. Liu, DNS and Bind, O'Reilly

ICT Security n. 19, Gennaio 2004 p. 5 di 5 // bind 9 PARTIAL simple config example - DO NOT USE AS IT IS acl our-customers { localhost; 192.168.1.0/24; options { allow-query { our-customers; allow-recursion { our-customers; // for recursive queries zone "." IN { type hint; file "root.servers"; zone "localhost" IN { file "localhost.zone"; allow-update { none; zone "0.0.127.in-addr.arpa" IN { file "named.local"; allow-update { none; // Our authoritative domains zone "my.domain.it" IN { file "mydomain"; allow-update { none; allow-query {any; zone "1.168.192.in-addr.arpa" IN { file "192.168.1"; allow-update { none; allow-query {any; Tabella 1. Esempio parziale di configurazione di Bind-9