Il DNS cache poisoning (in italiano avvelenamento della cache DNS) è un attacco informatico ad un server DNS tale che chiunque richieda un dominio venga, senz
Il DNS cache poisoning (in italiano avvelenamento della cache DNS) è un attacco informatico ad un server DNS tale che chiunque richieda un dominio venga, senza rendersi conto, reindirizzato ad un altro server.
Il DNS cache poisoning è un attacco informatico che mira a modificare la cache dei name server in modo da alterare l'associazione indirizzo IP / nome del server; in particolare la tecnica si basa sull'inserimento in cache di record falsi con un TTL (Time to live, ovvero un periodo di vita dei dati nella cache) molto grande, cosicché il server DNS lo conserverà in cache per molto tempo. Ciò consente di reindirizzare un nome di dominio web (del tipo www.wikipedia.org) verso un indirizzo IP diverso da quello originale.
Quest'attacco può avere diversi obiettivi, molti tra i quali:
Il DNS (Domain Name System) è un sistema utilizzato per la risoluzione di nomi dei nodi della rete (in inglese: host) in indirizzi IP e viceversa. Il servizio è realizzato tramite un database distribuito, costituito dai server DNS. Il DNS ha una struttura gerarchica ad albero rovesciato ed è diviso in domini (com, org, it, ecc.). Ad ogni dominio o nodo corrisponde un nameserver, che conserva un database con le informazioni di alcuni domini di cui è responsabile e si rivolge ai nodi successivi quando deve trovare informazioni che appartengono ad altri domini.
Si supponga il nome di dominio www.provawiki.org; quando il DNS viene interrogato possono verificarsi 3 casi:
Nell'ultimo caso possono verificarsi le seguenti possibilità:
L'attacco sfrutta alcuni campi delle richieste DNS (DNS query):
Una DNS query la possiamo immaginare nel modo seguente:
Il DNS cache poisoning è applicabile solo alla modalità ricorsiva e affinché vada a buon fine è necessario capire l'ID delle richieste. Inoltre le risposte devono arrivare con la stessa porta sorgente della richiesta ed essere coerenti con la domanda effettuata.
Per l'attacco vi sono due varianti:
Questo attacco si basa sul fatto che un identificatore a 16 bit non garantisce una sufficiente sicurezza. BIND, che stabilisce un ID, è il software utilizzato dalla maggioranza dei server DNS in rete. L'ID può essere ricavato utilizzando la tecnica del birthday paradox che sfrutta le "vulnerabilità" del BIND: la prima è l'impossibilità di generare sequenze di numeri puramente casuali, la seconda invece riguarda l'invio simultaneo di richieste per lo stesso dominio (se infatti vengono inviate un numero N di richieste al DNS vittima, questo invia a sua volta un numero N di richieste al DNS successivo, ognuna con ID differenti).
L'attacco è il seguente ed è simile allo spoofing:
I vecchi DNS Server usavano un unico ID che veniva incrementato per le richieste successive, quindi facile da predire. Con la randomizzazione i possibili diversi identificativi sono 65636 (2^16), ovvero l'attaccante deve indovinare un intero in questo range in tempo utile; sfruttando la formula matematica utilizzata per dimostrare il birthday paradox e con un numero elevato di richieste fasulle al DNS vittima, sarà possibile risalire all'ID con una probabilità di successo vicina al 100%. La difficoltà di questo attacco diventa maggiore se anche la porta è randomizzata.
Supponiamo che l'attaccante registri un dominio, ad esempio www.attack.com, e su questo attivi un server DNS. L'obiettivo è sempre quello di "avvelenare" la cache del server vittima, procedendo nel modo seguente:
Oggi le difese sono state migliorate e ai server DNS sono state aggiunte patch per evitare attacchi di questo tipo. Le contromisure che comunque si possono attuare sono:
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.