Definizione di Cache poisoning in informatica

Definizione di Cache poisoning in informatica

Il DNS cache poisoning è un attacco ad un server dns in modo che chiunque richieda un dominio venga tuttavia reindirizzato ad un altro server, senza che se ne accorga. Tale attacco si basa sul fatto che tutti i DNS archiviano le richieste in una memoria cache, che include un TTL (Time to Live, vale a dire una parte dell’ IP Header che determina il numero massimo di router che possono essere attraversati da un pacchetto). Con un TTL grande e una mappatura scorretta di alcuni indirizzi IP si ottengono informazioni altrettanto scorrette.

Supponiamo che:

  • my.org sia un “name server” con molti clients
  • my.org accetta richieste ricorsive
  • net sia sotto il controllo del nemico
  • my.org sia un client che usa per server DNS dns.my.org

client.my.org invia una richiesta al DNS per un dominio per cui dns.my.org non è autoritativo. dns.my.org accetta la richiesta ricorsiva e risale la gerarchia dei nomi per chiedere al server autoritativo. dns.my.org, ricevuta la risposta, la invia a client.my.org.

Quella appena descritta è la procedura normale che ogni richiesta dovrebbe seguire. Vediamo ora come avviene l’attacco.

Chi controlla pippo.net fa una richiesta a dns.my.org per l’indirizzo IP di www.pippo.net, dns.my.org non ha il record in cache, quindi richiede al server autoritativo di pippo.net, dns.pippo.net, l’informazione richiesta; in questo modo il nemico è venuto a conoscenza dell’ ID! Noto a questo punto l’ID, il nemico chiede a dns.my.org l’indirizzo www.microsoft.com (supponendo che l’indirizzo non sia in cache), immediatamente dopo si spaccia per il “name server” autoritativo di microsoft, grazie all’IP Spoofing e spedisce una serie di risposte con l’ID che aveva ottenuto precedentemente, incrementandolo di volta in volta. Se gli attacchi riescono, dns.my.org avrà in cache la corrispondenza www.microsoft.com con l’indirizzo IP diverso da quello vero.

Come prevenire allora tale attacco ? E’ necessario che il server DNS stesso sia sicuro. Per minimizzare i rischi ogni organizzazione e ogni responsabile per un dominio dovrebbero assicurarsi che il “name server” utilizzato non sia vulnerabile al cache poisoning.

Come avviene l’attacco fisico nel cache poisoning ?

Per attuare tale attacco si altera la tabella del DNS, cambiando a mano gli indirizzi IP che interessano. Per operare questo tipo di attacco occorre avere accesso alla configurazione di un “name server” autoritativo. L’attacco si svolge in quattro semplici passi:

  • assicurarsi che il name server sia autoritativo (deve essere registrato presso interNIC);
  • forzare le regole: si applica al BIND un path malizioso, si ricompila il tutto e si aggiungono i file;
  • attacco con jizz.c: con un piccolo script bash si rende più semplice l’uso di jizz;
  • supponiamo di conosce i name server della vittima: supponiamo che il name sever sul quale ci si trovi sia autoritativo, allora usando jizz forziamo il name server ad inviare ai name server della vittima l’associazione 66.35.250.165 microsoft.com dove 65.35.250.165 corrisponde a www.freashmeat.net.
Precedente Come proteggersi dallo spoofing informatico Successivo La funzione del DNS (Domain Name System) in una rete informatica

Lascia un commento

*