DNS Spoofing
Che cos’è il domain name system (DNS) spoofing
Domain Name Server (DNS) spoofing (a.k.a. DNS cache poisoning) è un attacco in cui vengono utilizzati record DNS alterati per reindirizzare il traffico online a un sito web fraudolento che assomiglia alla destinazione prevista.
Una volta lì, agli utenti viene richiesto di effettuare il login in (quello che credono essere) il loro account, dando al criminale l’opportunità di rubare le loro credenziali di accesso e altri tipi di informazioni sensibili. Inoltre, il sito web dannoso viene spesso utilizzato per installare worm o virus sul computer dell’utente, dando all’autore del reato l’accesso a lungo termine al computer e ai dati che memorizza.
I metodi per eseguire un attacco di spoofing DNS includono:
- Man in the middle (MITM) – L’intercettazione delle comunicazioni tra gli utenti e un server DNS al fine di indirizzare gli utenti verso un indirizzo IP diverso/maligno.
- Compromissione del server DNS – L’hijacking diretto di un server DNS, che è configurato per restituire un indirizzo IP maligno.
Attacco di compromissione del server DNS.
Esempio di avvelenamento della cache DNS
L’esempio seguente illustra un attacco di avvelenamento della cache DNS, in cui un attaccante (IP 192.168.3.300) intercetta un canale di comunicazione tra un client (IP 192.168.1.100) e un computer server appartenente al sito www.estores.com (IP 192.168.2.200).
In questo scenario, uno strumento (es, arpspoof) viene usato per far credere al client che l’IP del server sia 192.168.3.300. Allo stesso tempo, al server viene fatto credere che anche l’IP del client sia 192.168.3.300.
Un tale scenario procederebbe come segue:
- L’attaccante usa arpspoof per emettere il comando: arpspoof 192.168.1.100 192.168.2.200. Questo modifica gli indirizzi MAC nella tabella ARP del server, facendogli credere che il computer dell’attaccante appartenga al client.
- L’attaccante usa ancora una volta arpspoof per dare il comando: arpspoof 192.168.2.200 192.168.1.100, che dice al client che il computer dell’attaccante è il server.
- L’attaccante emette il comando Linux: echo 1> /proc/sys/net/ipv4/ip_forward. Come risultato, i pacchetti IP inviati tra il client e il server vengono inoltrati al computer dell’autore del reato.
- Il file host, 192.168.3.300 estores.com viene creato sul computer locale dell’attaccante, che mappa il sito web www.estores.com al loro IP locale.
- L’autore del reato imposta un server web sull’IP del computer locale e crea un falso sito web fatto per assomigliare a www.estores.com.
- Infine, uno strumento (es, dnsspoof) viene utilizzato per indirizzare tutte le richieste DNS al file host locale del colpevole. Il sito web fasullo viene mostrato agli utenti come risultato e, solo interagendo con il sito, il malware viene installato sui loro computer.
Vedi come Imperva DDoS Protection può aiutarti con gli attacchi di spoofing DNS.
Mitigazione dello spoofing DNS utilizzando la sicurezza del server dei nomi di dominio (DNSSEC)
DNS è un protocollo non criptato, il che rende facile intercettare il traffico con lo spoofing. Inoltre, i server DNS non convalidano gli indirizzi IP a cui reindirizzano il traffico.
DNSSEC è un protocollo progettato per proteggere i DNS aggiungendo ulteriori metodi di verifica. Il protocollo crea una firma crittografica unica memorizzata insieme agli altri record DNS, ad esempio, A record e CNAME. Questa firma viene quindi utilizzata dal vostro resolver DNS per autenticare una risposta DNS, garantendo che il record non sia stato manomesso.
Mentre il DNSSEC può aiutare a proteggere dallo spoofing DNS, ha una serie di potenziali svantaggi, tra cui:
- Mancanza di riservatezza dei dati – il DNSSEC autentica, ma non codifica le risposte DNS. Di conseguenza, i criminali sono ancora in grado di ascoltare il traffico e utilizzare i dati per attacchi più sofisticati.
- Implementazione complessa – Il DNSSEC è spesso mal configurato, il che può far perdere ai server i vantaggi della sicurezza o addirittura negare del tutto l’accesso a un sito web.
- Enumerazione della zona – Il DNSSEC utilizza record di risorse aggiuntivi per consentire la convalida della firma. Uno di questi record, NSEC, è in grado di verificare la non esistenza di una zona DNS. Può anche essere utilizzato per attraversare una zona DNS per raccogliere tutti i record DNS esistenti, una vulnerabilità chiamata enumerazione della zona. Le versioni più recenti di NSEC, chiamate NSEC3 e NSEC5, pubblicano i record hash dei nomi di host, cifrandoli e impedendo così l’enumerazione della zona.