TechTarget Italy & 01net Network SearchCIO.it SearchNetworking.it SearchSecurity.it 01net 01netCIO 01netPMI 01netTRADE 01netNETS iTechStudio Digifocus Applicando CIO Club IlSoftware
Cerca
in
Evitare gli attacchi a livello di DNS
Approfondimenti
Evitare gli attacchi a livello di DNS
Elemento strategico della navigazione in Internet, il Domain Name System è spesso preso di mira dai cracker. Vediamo come difendere i propri dati dalle minacce più diffuse.
26 Aprile 2007

Il layer 7 del modello OSI è il layer dell'applicazione, ovvero lo strato superiore tra tutti quelli previsti da tale modello e si interfaccia direttamente con le applicazioni e i processi delle applicazioni.

Le applicazioni svolgono un ruolo critico nella sicurezza della rete: possono infatti essere sviluppate in modo da risultare completamente insicure, da presentare un minimo livello di sicurezza o da essere molto resistenti agli attacchi.

Molti servizi, quali File Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol (SMTP) e Domain Name System (DNS), sono da talmente tanto tempo disponibili che le minacce che si trovano ad affrontare oggi non erano state previste all'epoca dello sviluppo. Fra tutti il DNS è fra i bersagli principali..

Come funziona il DNS
Nessuna location su Internet possiede tutte le informazioni contenute all'interno del database di DNS. A livello di root, ci sono 13 server DNS; la maggior parte di questi è situata negli Stati Uniti in strutture fisicamente sicure. Il DNS è un database distribuito che contiene le informazioni per la mappatura dei nomi degli host sugli indirizzi IP. Il DNS fornisce un metodo per interrogare le informazioni contenute all'interno del database. A seconda del tipo di azione che viene eseguita, il DNS impiega sia l'UDP sia il TCP. L'UDP è solitamente usato nelle query a meno che il lookup o la risposta siano più grandi di 512 byte. Il TCP è usato sia per lookup più grandi sia per i trasferimenti di zona.

Quando controllate la vostra posta o andate su un sito Web, state solitamente sfruttando un DNS per tradurre il nome di un host in un indirizzo IP. Di conseguenza, se aprite il vostro browser e vi recate sul sito SearchNetworking.it, il DNS traduce un Fully Qualified Domain Name (FQDN) nell'indirizzo IP corretto.

Questo processo comincia trasmettendo la richiesta a un servizio sull'host locale denominato resolver. Tipicamente, il resolver prima controlla la cache locale che contiene le risposte alle richieste recenti. Inoltre, può anche controllare il file dell'host, che è un file locale adibito a contenere la mappatura degli host name sugli indirizzi IP. Se le informazioni richieste non sono disponibili né nella cache locale, né nell'host, il resolver trasmetterà una richiesta al server DNS che l'interfaccia di rete TCP/IP dell'host prevede venga utilizzato. Al fine di aumentare le prestazioni e diminuire il traffico della rete causato dal DNS, i name server memorizzeranno nella cache le risposte alle richieste fatte in un certo periodo di tempo. Il periodo di tempo in cui le informazioni presenti in una risposta rimangono nella cache è determinato dal time-to-live (TTL) specificato nella risposta stessa.

Exploit del DNS
Quando un server di DNS risponde a una richiesta, il messaggio inviato contiene un ID di transazione e le risposte alle query dell'utente. Se i record di DNS non sono disponibili o sono stati alterati, non è possibile raggiungere il sito dove si stava tentando di andare o si può essere addirittura collegati al server web dell'attacker. Ciò è possibile perché il protocollo può essere attaccato in diversi modi. Questi includono:

  • Utilizzo dei trasferimenti di zona 
  • Cache poisoning del DNS 
  • Cache snooping del DNS 
  • Attacchi man in the middle

I trasferimenti di zona sono usati per copiare un database del dominio dal server primario al server secondario. Se un attacker può effettuare un trasferimento di zona con i name server primari o secondari per un dominio, potrà vedere tutti i record di DNS relativi a tale dominio. Ciò può esporre informazioni sensibili quali gli schemi degli indirizzi interni. In più, per un attacker è possibile determinare quali indirizzi IP sono per esempio usati tramite il server Web, l'email o il file transfer.

La seconda tecnica che trattiamo è il Cache poisoning del DNS. Sia i client sia i server di DNS memorizzano nella cache le risposte per un certo periodo di tempo con lo scopo di aumentare le prestazioni e ridurre il traffico della rete. Se gli attacker sono in grado di camuffare una risposta a una richiesta del DNS, possono contaminare la cache del DNS con un record errato. Alterando la cache dei client e dei server del DNS, un attacker può riorientare il traffico verso host maligni, che possono portare a ulteriori compromissioni. I predetti attacchi alla root dei server DNS hanno provato questa tecnica, ma hanno anche tentato il denial of service.

Cache snooping del DNS è il processo che porta a determinare se un dato resource record è presente nella cache. Questo metodo può essere utile per stabilire quali siti ha visitato un determinato navigatore, quali sono i loro client e i loro clienti e altre informazioni potenzialmente utili per un attacker. È persino possibile vedere quale software un navigatore sta usando per controllare la presenza di resource record relativi agli indirizzi dell'aggiornamento dei programmi.

Per concludere, gli attacchi man in the middle (MITM) si hanno quando un attacker intercetta e modifica i messaggi di DNS sul tragitto di collegamento. In questa situazione, l'attacker può individuare la porta del source e l'ID della transazione tramite il traffico intercettato. Gli attacchi MITM possono essere usati per riorientare le vittime dagli indirizzi legittimi a siti maligni. Questo può essere particolarmente utile per gli attacker che tentano di rubare informazioni personali se i target sono le richieste al DNS per i siti bancari, finanziari e di e-commerce. Invece di attrarre un utente con un'email come quelle usate solitamente nel phishing, l'attacker può indirizzare i suoi sforzi verso i record del DNS per i siti legittimi.

Difendere il DNS
Questi attacchi rappresentano minacce reali, ma per fortuna ci sono alcune difese. Il cache poisoning del DNS può essere reso più difficile richiedendo al DNS stesso di usare una porta del source e un Id della transazione casuali. Senza un valore corretto per questi campi, l'attacker non potrà imitare una risposta nel tentativo di alterare la cache del server. I trasferimenti di zona erano un problema reale alcuni anni fa, poiché i server Windows 2000 permettevano di default che chiunque ottenesse queste informazioni. Tale difetto non esiste più in Windows Server 2003. Anche gli attacchi recenti contro la root dei server di DNS avrebbero potuto essere evitati se gli ISP avessero realizzato un migliore filtraggio del traffico in uscita. Una soluzione a questo problema viene proposta in RFC 3704.

Nonostante le contromisure discusse sopra siano un buon modo per rendere il DNS più sicuro, devono essere un punto di partenza e non di arrivo. Non riuscire a risolvere dei problemi associati al DNS lascia vulnerabili agli attacchi che interessano le applicazioni, il traffico Web, l'email e le comunicazione VoIP che devono attraversare Internet.

Il Sole 24 ORE S.p.A.

Sede Legale in Milano, Via Monte Rosa, 91 - Sede Operativa: Via Carlo Pisacane, 1 - Pero (MI)

Partita Iva - Codice Fiscale 00777910159 - Dati societari