Oggi parliamo di Dns Cache poisoning questo tipo di attacchi si basa su Dns come è facile intuire, se non conosci cosa sono i dns è il momento giusto per trovare nel nostro sito la sezione dns,  questo attacca riguarda la cache DNS è una richiesta di inserire informazioni false in una cache DNS, in modo che le query DNS restituiscano una risposta errata e gli utenti e vengano indirizzati a siti Web errati. L’avvelenamento da cache DNS è anche noto come “spoofing DNS“. Gli indirizzi IP sono sono come le nostre case,  pensiamo Internet come un grosso parco giochi, consentendo a noi di andare nelle giuste attrazioni. Ma se avveleniamo la cache, mandiamo questi utenti dove vogliamo perchè la query ci risponde con le informazioni errate.

Poiché in genere non è possibile per i resolver DNS verificare i dati nelle loro cache, le informazioni DNS errate rimangono nella cache fino alla scadenza del tempo di vita (TTL) o fino a quando non vengono rimosse manualmente. Diverse vulnerabilità rendono possibile l’avvelenamento da DNS, ma il problema principale è che il DNS è stato creato per un Internet molto più piccolo e basato su un principio di fiducia (molto simile a BGP). Un protocollo DNS più sicuro chiamato DNSSEC mira a risolvere alcuni di questi problemi, ma non è stato ancora ampiamente adottato.

Cosa fanno i resolver DNS?

I resolver DNS forniscono ai client l’indirizzo IP associato a un dominio. In altre parole, fanno in modo che una persona proprio come te, acceda a zeroesperto. com senza dover ricordare un indirizzo numerico come 134.123.12.122. Bel invento no? Immagina ogni giorno ricordare decide di questi numeri, lo possiamo comparare al telefono che ha una rubrica per i contatti. Quando un utente tenta di accedere a un sito Web, il sistema invia una richiesta a un resolver DNS. Il resolver DNS risponde con l’indirizzo IP e il browser Web prende questo indirizzo e avvia il sito.

Come funziona la memorizzazione nella cache DNS?

Un resolver DNS salverà le risposte alle richieste di indirizzi IP per un certo periodo di tempo. In questo modo, il resolver può rispondere alle query future molto più rapidamente, senza la necessità di comunicare con i numerosi server coinvolti nel tipico processo di risoluzione DNS. I resolver DNS salvano le risposte nella loro cache fino a quando il tempo di vita designato (TTL) associato a quell’indirizzo IP lo consente. Per farvelo chiaro, funziona come le password dei vostri siti, se usate un browser vengono salvate in locale se avete dato questa opzione per non digitarle ogni volta nel form di accesso.

In che modo gli aggressori avvelenano le cache DNS?

Gli aggressori possono avvelenare le cache DNS impersonando i nameserver DNS, facendo una richiesta a un resolver DNS e quindi falsificando la risposta quando il resolver DNS richiede un nameserver. Ciò è possibile perché i server DNS utilizzano UDP anziché TCP e poiché al momento non esiste alcuna verifica per le informazioni DNS.

Invece di utilizzare TCP, che richiede a entrambe le parti comunicanti di eseguire una verifica di comunicazione”, le richieste e le risposte DNS utilizzano UDP o User Datagram Protocol. Con UDP, non vi è alcuna garanzia che una connessione sia aperta, che il destinatario sia pronto a ricevere o che il mittente sia chi dice di essere. UDP è vulnerabile alla forgiatura per questo motivo – un utente malintenzionato può inviare un messaggio tramite UDP. Ora vi chiederete perchè non usare tcp? Perchè è lento, e richieste dns devono essere veloci.

Se un resolver DNS riceve una risposta falsa, accetta e memorizza nella cache i dati, il DNS è stato creato nei primi giorni di Internet, quando le uniche parti ad esso collegate erano università e centri di ricerca. Non c’era motivo di aspettarsi che qualcuno potesse provare a inventarsi queste cose! Nonostante questi importanti priblemi, nel processo di memorizzazione nella cache DNS, gli attacchi di Dns Cache poisoning non sono facili. Poiché il resolver DNS in realtà esegue una query sul nameserver autorevole, gli aggressori hanno solo pochi millisecondi per inviare la risposta falsa prima che arrivi la risposta reale dal nameserver autorevole.