Introduzione
Il Domain Name System (DNS) è un database gerarchico distribuito, che associa nomi degli host a indirizzi IP. Esso permette ad un utente di trovare un sistema senza conoscere il suo indirizzo IP, risolvendo nomi di host in indirizzi IP, e organizzando l'interrete in domini. Ad esempio "capri.dia.unisa.it" è la specifica completa della macchina di nome capri, "dia.unisa.it" è il dominio dia, e "unisa.it" è il dominio dell' Università di Salerno.
Sfortunatamente
il DNS non è immune a problemi di sicurezza e l'esattezza
delle informazioni contenute nel DNS è vitale per molti
aspetti delle comunicazioni basate sul protocollo IP. Uno dei punti
deboli per la sicurezza del DNS è il cosiddetto concetto del
"dirottamento del dominio". Il problema è che gli
indirizzi IP nel database del DNS vengono cambiati da host non
autorizzati. Vi sono principalmente due modi per fare ciò:
DNS
Spoofing - "Ingannare" il server DNS con informazioni
ritenute sicure, ma che in realtà non lo sono.
Cache
Poisoning - Falsare l' IP con un alto TTL,
cosicchè il server DNS lo conserverà in cache per molto
tempo.
Le minacce che insidiano il DNS sono dovute in
parte alla mancanza dell'autenticazione e al controllo dell'integrità
dei dati mantenuti dal DNS e in parte ad altri protocolli che usano
nomi di host come meccanismo di controllo di accesso.
Per
risolvere questi problemi, l' IETF
formò un gruppo di lavoro (DNSSEC Working Group) per inserire
nel protocollo esistente delle estensioni per la sicurezza e il nuovo
protocollo risultante venne chiamato DNSSEC. L' architettura
DNSSEC può aiutare a contrastare i due attacchi appena
introdotti. Le estensioni di tale architettura hanno come obiettivo
quello di garantire la protezione del trasferimento dei dati del DNS,
con l'ausilio della crittografia a chiave pubblica.
Per
comprendere la strategica rilevanza della sicurezza del DNS
riferiamoci ad un ben noto caso di attacco al DNS. Nel Giugno del
1997, il dominio internic.net (il principale dominio per la
registrazione dei nomi in Internet) venne rediretto al sito
www.alternic.net (Alternic è una associazione che si batte
contro il monopolio dei domini in rete).
Tutto iniziò dal
fatto che molti utenti di Internet sentivano che il controllo dei
domini di alto livello era contro lo spirito naturale di Internet.
Eugene Kashpureff - il fondatore dell'Alternic - dichiarò che
era in corso una protesta contro la pretesa di Internic, ad avere il
controllo dei domini .com, .org, .net ecc.., quando si supponeva
invece che fossero di dominio pubblico.
Conseguentemente
nell'Ottobre del 1997 Kasphureff fu arrestato per frode dalle
autorità Canadesi e venne estradato negli Stati Uniti. Egli
rappresentava la mente che organizzò l'attacco che provvedeva
alla programmazione dei server di Internic ad instradare le
informazioni verso il sito Alternic.
Sostanzialmente era un tipo
di attacco alla cache con informazioni contraffatte.
Fino ad
allora, nessun cambiamento essenziale era stato fatto per la
sicurezza del DNS cosicchè questi tipi di attacchi sono
tuttora possibili. Per di più il DNS è usato dalla
maggior parte delle applicazioni e dei protocollo coinvolti nella
comunicazione sulla rete.
In
questa tesina, la parte prima introduce i concetti
fondamentali del DNS. La panoramica intende familiarizzare il lettore
con le nozioni basilari usate. La parte seconda descrive
e classifica le debolezze del DNS. Vengono descritti gli attacchi
basati sul DNS .
Nella parte terza si procede con le
soluzioni che si riferiscono alla architettura DNSSEC, e all'insieme
di documenti che includono le Request For Comment.
(http://www.dnssec.net/rfc.php)
Infine
viene considerata una sezione riservata per l'analisi critica del
DNS.