Il DNS spoofing: come funziona e come prevenirlo
La risoluzione dei nomi su Internet offre varie possibilità di manipolazione. Una forma di attacco è il DNS spoofing, con cui vengono falsificati gli indirizzi IP. Scoprite come funziona esattamente, come si svolge un attacco di questo tipo, quali sono le sue varianti e come prevenirlo.
La base: il Domain Name System (DNS)
Il Domain Name System, o DNS, è un sistema distribuito a livello globale per la conversione di domini Internet in indirizzi IP. Il DNS traduce un nome di dominio in un indirizzo IP, un processo noto con il termine “risoluzione dei nomi”.
Affinché la risoluzione dei nomi funzioni, è necessario assegnare a ogni terminale l’indirizzo IP di un server DNS. Il terminale indirizza le richieste DNS a questo server, che esegue la risoluzione dei nomi e restituisce una risposta. Se su un terminale non è impostato alcun server DNS, viene utilizzato automaticamente quello del router locale.
Cos’è il DNS spoofing?
Il termine generico spoofing significa “inganno” o “falsificazione”. Il DNS spoofing descrive vari scenari in cui si verifica una manipolazione della risoluzione dei nomi DNS. Nello specifico viene falsificato l’indirizzo IP di un dominio. Il terminale stabilisce quindi una connessione all’indirizzo IP falsificato e il traffico di dati viene deviato verso un server fasullo. Ecco un esempio:
Richiesta al server DNS | Indirizzo IP restituito | |
---|---|---|
Condizioni normali | 'esempio.com' | '93.184.216.34' |
DNS spoofing | 'esempio.com' | '192.0.2.34' (esempio) |
Dal momento che la risoluzione del nome è un processo in gran parte invisibile all’utente, difficilmente la vittima si accorge della manipolazione. Una caratteristica particolarmente diabolica del DNS spoofing è che nel browser viene visualizzato il dominio corretto.
Come funziona il DNS spoofing?
Il DNS spoofing è un termine collettivo per una serie di scenari di attacco. Le singole tipologie sono descritte di seguito. L’immagine seguente illustra il principio del DNS spoofing.
- d1. Per prima cosa il client (ad esempio il browser sul terminale) richiama dal server DNS l’indirizzo IP associato al nome dell’host esempio.com.
- d2. Il client riceve una risposta alla query, che tuttavia contiene un indirizzo IP falso. La connessione al server legittimo di esempio.com non è stata quindi stabilita.
- h1. Il client effettua invece la richiesta all’host falso che si nasconde dietro l’indirizzo IP fasullo.
- h2. L’host falso restituisce al client un sito apparentemente legittimo. Tuttavia, al dominio falsificato manca il certificato di sicurezza, una caratteristica che svela l’attacco.
- (A, B, C): approcci diversi di DNS spoofing: dal client o dal router locale, dalla connessione di rete, dal server DNS.
Obiettivi del DNS spoofing
Il DNS spoofing è utilizzato principalmente dai malintenzionati per eseguire attacchi informatici. Questi attacchi di solito mirano a rubare i dati sensibili degli utenti. Il DNS spoofing viene, tuttavia, utilizzato anche da alcune aziende legittime. Alcuni fornitori di servizi Internet (ISP) hanno utilizzato il DNS spoofing, ad esempio, per imporre requisiti di censura o per scopi pubblicitari.
Qual è l’obiettivo degli aggressori che usano il DNS spoofing?
I criminali utilizzano il DNS spoofing per compiere attacchi di phishing e pharming. L’obiettivo finale è arrivare ai dati sensibili dell’utente. Il DNS spoofing fa credere alla vittima di trovarsi su un dominio legittimo. La fiducia della vittima nel dominio fasullo viene spesso sfruttata per esporlo a un software dannoso. L’utente installa inconsapevolmente questo malware infettando il suo sistema.
Qual è l’obiettivo dei provider Internet che usano il DNS spoofing?
La maggior parte degli utenti utilizza, inconsapevolmente, il server DNS del proprio fornitore di servizi Internet, che è normalmente preimpostato sul router locale. Questo significa che ogni richiesta DNS viene controllata dal provider Internet.
I fornitori di servizi Internet possono, ad esempio, manipolare in modo mirato le tabelle DNS dell’utente al fine di attuare i requisiti di censura governativi. In molti paesi, ciò impedisce agli utenti di accedere a domini di condivisione di file o contenuti pornografici. Se l’utente tenta di accedere a uno di questi domini bloccati, viene reindirizzato a una pagina di avviso. Questi blocchi possono, tuttavia, essere aggirati facilmente utilizzando un server DNS che non impone censure.
Lo stesso trucco, ovvero quello di reindirizzare l’utente su un altro sito quando accede a determinati domini, viene utilizzato anche per raccogliere dati dell’utente per scopi pubblicitari. A questo scopo, i provider Internet utilizzano il DNS hijacking, ad esempio, per reindirizzare l’utente su una pagina specifica quando immette domini inesistenti o errati. Questa pagina riproduce, ad esempio, annunci pubblicitari o crea profili utente, che vengono poi venduti.
Quali sono i rischi del DNS spoofing?
Il DNS è una tecnologia di base fondamentale per ogni tentativo di connessione che svolge la risoluzione del nome. Il DNS spoofing può quindi influire su ogni singola connessione del client. Indipendentemente dal fatto che la vittima acceda a un sito web o invii un’e-mail, se l’indirizzo IP del server in questione è stato falsificato, un hacker può accedere ai dati riservati.
Nello specifico, il DNS spoofing comporta i seguenti rischi:
- furto di dati sensibili: mediante attacchi di spear phishing e pharming, i cybercriminali rubano dati sensibili, come le password. Queste tecniche vengono spesso utilizzate per irrompere in sistemi informatici o architettare varie truffe.
- Infezione del sistema con malware: la vittima è indotta a installare malware sul proprio sistema, spalancando le porte all’aggressore per svolgere ulteriori attacchi e ottenere un accesso completo.
- Accesso a un profilo utente completo: i dati personali raccolti vengono quindi venduti o utilizzati per ulteriori attacchi di spear phishing.
- Pericolo di minaccia persistente: se nel sistema viene impostato un server DNS dannoso, da quel momento in poi viene compromessa ogni comunicazione. Anche le risposte DNS che sono state falsificate temporaneamente possono rimanere nella cache e causare danni nel lungo termine.
Un esempio concreto è l’ondata di attacchi di DNS spoofing che si è verificata nella primavera 2020, nel pieno della pandemia COVID19. In questo caso si è trattato di un attacco di router hijacking, in cui un indirizzo IP dannoso per il server DNS viene immesso nel router.
Questo attacco è stato reso possibile da un accesso amministratore non sicuro al router. La vittima ha improvvisamente visualizzato un avvertimento presumibilmente emesso dall’Organizzazione Mondiale della Sanità che richiedeva l’installazione immediata di un’app informativa sul COVID19. In realtà, il software era un virus trojan. Quando la vittima ha installato in buona fede il trojan, il malware ha frugato nel sistema locale tentando di accedere ai dati sensibili.
Lo scopo era quello di creare un profilo completo che potesse essere utilizzato in ulteriori attacchi di spear phishing indirizzati alla vittima. I dati raccolti comprendevano:
- cookie (browser)
- cronologia del browser
- dati di pagamento (browser)
- dati di accesso salvati (browser)
- dati per la compilazione di moduli salvati (browser)
- wallet di criptovalute
- tutti i file di testo sul dispositivo
- database per l’autenticazione a due fattori (2FA)
Tipologie di DNS spoofing
Le seguenti tre varianti di attacco si riferiscono allo schema (A–C) mostrato sopra.
Variante (A): attacco al client o al router locale
Questa tipologia di attacco di DNS spoofing comporta manipolazioni dannose al dispositivo locale o al router domestico. La vittima dapprima non si accorge di niente: il dispositivo si connette normalmente al server DNS, ma per i nomi dell’host richiesti vengono restituiti indirizzi IP falsificati.
In questi attacchi, la minaccia persiste fino a quando la manipolazione non è rimossa. In questi casi, l’aggressore ha tuttavia bisogno di un vettore di attacco per eseguire la manipolazione, che può essere un fattore tecnico, ad esempio la possibilità di accedere come amministratore, una password debole o simili. L’aggressore ha anche la possibilità di persuadere la vittima tramite il Social Engineering a effettuare il cambiamento in buona fede.
Modifica del server DNS nel sistema locale
In questa forma di attacco di DNS spoofing, noto come “local hijack”, vengono modificate le impostazioni di rete del dispositivo locale e l’indirizzo IP del server DNS viene impostato su un valore dannoso.
Il cambiamento può essere tracciato dalla vittima e facilmente annullato. Tuttavia, la manipolazione avviene spesso in combinazione con malware, che può ripristinare il valore dannoso se alterato dalla vittima.
Utilizzate lo strumento online WhoismyDNS per verificare se siete vittima di questo tipo di DNS spoofing.
Manipolazione del file host sul sistema locale
La maggior parte dei sistemi operativi utilizza un cosiddetto file host per consentire la risoluzione dei nomi di determinati domini sul sistema locale. Se in questo file viene inserita una voce dannosa, il traffico dati viene reindirizzato a un server controllato dall’attaccante.
La manipolazione è permanente, ma una vittima esperta in materia può scoprirla facilmente. Per risolvere il problema è sufficiente modificare il file host.
Hijack del router locale
Per impostazione predefinita, sul router locale è impostato l’indirizzo IP di un server DNS del fornitore di servizi Internet. In caso di “router hijack”, questo viene sostituito da un indirizzo fasullo. L’attacco minaccia l’intero traffico dati che si svolge tramite il router. Poiché di solito in casa o in ufficio il router viene utilizzato da diversi dispositivi per stabilire una connessione, è possibile che diverse parti cadano vittima dell’attacco.
Molti utenti non sono consapevoli di poter configurare autonomamente il router e l’attacco non viene scoperto per molto tempo. Quando sorgono dei problemi più avanti, le vittime spesso sospettano del proprio dispositivo e non del router. Vale quindi la pena tenere conto anche di un malfunzionamento del router quando si riscontrano strani disturbi.
Con il F-Secure Router Checker potete verificare se siete caduti vittima di questa variante di DNS spoofing.
Variante (B): attacco alla risposta del server DNS
Questa tipologia di attacco di DNS spoofing equivale a un attacco “man in the middle”. L’aggressore finge di essere il server DNS della vittima e trasmette una risposta dannosa. L’attacco ha successo perché il traffico DNS passa attraverso il protocollo non crittografato User Datagram Protocol (UDP). La vittima non può garantire in alcun modo l’autenticità della risposta DNS.
Altre forme di attacco, come l’ARP spoofing e il MAC spoofing, possono essere utilizzate come vie d’accesso alla rete locale. L’uso di tecnologie di crittografia protegge da molti attacchi man in the middle.
Variante (C): attacco al server DNS
Questa tipologia di attacco di DNS spoofing è diretta contro un server DNS legittimo e può quindi colpire un numero molto elevato di utenti. Si tratta di un attacco sofisticato in quanto, di solito, è necessario superare diversi meccanismi di protezione prima di poter hackerare il server.
Avvelenamento della cache DNS nel server
I server DNS sono disposti in gerarchie e comunicano tra loro. Un hacker può utilizzare l’IP spoofing per spacciarsi per uno di questi server. L’autore dell’attacco convince un server ad accettare un indirizzo IP non corretto per un dominio. Il server inserisce la voce errata nella sua cache “avvelenandola”.
Qualsiasi richiesta fatta al server dopo che la cache è stata avvelenata, restituirà alle vittime la voce falsificata. La minaccia persiste fino a quando la voce non viene rimossa dalla cache. Un’opzione per proteggere il server è la specifica DNSSEC, che può essere utilizzata per tutelare la comunicazione dei server all’interno del DNS.
Utilizzate la funzione Domain Guard di IONOS per proteggere il vostro dominio da manipolazioni.
Rogue hijacking di un server DNS
Questa forma di attacco è probabilmente la variante più elaborata. In questo caso, un attaccante prende il controllo di un server DNS legittimo. Una volta compromesso, neanche la crittografia DNS più moderna può offrire protezione. La crittografia dei contenuti dovrebbe però almeno permettere alla vittima di accorgersi dell’attacco.
Come proteggersi dal DNS spoofing
Come avrete notato, il DNS spoofing rappresenta una minaccia seria. Fortunatamente, esiste una serie di semplici misure che forniscono una protezione efficace contro questo attacco informatico.
Crittografia contro il DNS spoofing
In generale, i metodi di crittografia offrono due vantaggi principali:
- I dati sono protetti dall’accesso da parte di terzi non autorizzati.
- L’autenticità del partner di comunicazione è garantita.
Soprattutto il secondo punto è una componente critica nella lotta contro il DNS spoofing: se un attaccante finge di essere un host legittimo, si verificherà un errore di certificato lato utente. Il tentativo di frode viene quindi scoperto.
La crittografia di trasmissione
Per un livello di protezione di base, è importante proteggere il maggior numero possibile di connessioni mediante il metodo della crittografia di trasmissione. L’accesso ai siti Web nel browser dovrebbe preferibilmente avvenire tramite HTTPS. La popolare estensione di browser HTTPS Everywhere protegge la connessione ai siti Web che forniscono contenuti sia tramite HTTP che HTTPS. Inoltre, è necessario assicurarsi che le connessioni configurate nel programma di posta elettronica (IMAP, POP3 e SMTP) utilizzino protocolli sicuri quali TLS e SSL.
Se le connessioni sono protette da crittografia di trasmissione, dovrebbe perlomeno essere possibile rilevare un attacco di DNS spoofing: poiché l’host malintenzionato non dispone del certificato di sicurezza dell’host autentico, il browser e il programma di posta elettronica allertano l’utente durante la connessione. In questo modo si ha la possibilità di interrompere la connessione e adottare ulteriori misure di protezione.
Crittografia del traffico DNS
Sebbene la crittografia di trasmissione protegga il traffico di dati, la connessione al server DNS rimane vulnerabile, rappresentando quindi l’anello più debole della catena. Esistono tuttavia metodi dedicati lato utente per crittografare le richieste DNS. Degni di nota sono in particolare DNSCrypt, DNS over HTTPS (DoH) e DNS over TLS (DoT). Tutte queste tecnologie proteggono contro i pericolosi attacchi man in the middle, ma nessuno dei tre approcci è già integrato nei sistemi operativi più diffusi per un uso di massa. Affinché la crittografia DNS abbia effetto, il server DNS deve inoltre supportare le rispettive tecnologie di sicurezza.
Utilizzo di una rete virtuale privata
Oltre alla crittografia di trasmissione e alla protezione della connessione al server DNS, anche l’utilizzo di una Virtual Private Network (VPN) può contribuire alla protezione contro il DNS spoofing. Quando si utilizza una VPN, tutte le connessioni vengono instradate attraverso un tunnel crittografato. Tenete presente tuttavia che l’indirizzo IP di un server DNS può ancora essere archiviato nella maggior parte dei programmi VPN. Se si tratta di un indirizzo dannoso, la protezione dal DNS spoofing fornita dalla VPN perde ogni effetto.
Se non avete tempo da dedicare alla scelta di un provider VPN, utilizzate l’app gratuita di Cloudflare WARP, che fornisce funzionalità VPN e crittografia DNS tramite il suo servizio di DNS Resolver 1.1.1.1. Maggiori informazioni sono disponibili alla fine dell’articolo.
Il grado ulteriore di sicurezza offerto è combinato con un’interfaccia utente di facile utilizzo. L’app è attualmente disponibile per i dispositivi mobili, ma sarà adattata anche per l’uso con computer Windows e macOS.
Utilizzare un servizio di DNS Resolver
Una delle misure più efficaci per proteggersi dal DNS spoofing è l’utilizzo di un DNS Resolver pubblico. La configurazione è talmente semplice che può essere eseguita facilmente dall’utente. Tutto quello che dovete fare è cambiare il server DNS specificato sul vostro sistema. Come esempio vi presentiamo il Resolver Quad9 dell’omonima organizzazione no profit.
L’utilizzo di un DNS Resolver pubblico offre diversi vantaggi:
- elevata velocità di risposta da parte del DNS: le grandi reti DNS Resolver gestiscono decine di server in tutto il mondo. Questo significa che, grazie al cosiddetto routing anycast, per la risoluzione dei nomi viene sempre utilizzato il server geograficamente più vicino, garantendo così tempi di risposta brevi.
- Elevato livello di protezione dei dati e privacy: molti provider Internet vendono i dati dei clienti generati dal traffico DNS. Solitamente i popolari Resolver pubblici archiviano solo quantità minime o nessun dato sull’utilizzo, garantendo un elevato livello di privacy e anonimato.
- Nessuna applicazione di misure di censura: le norme di censura statale sono valide solo all’interno dei confini nazionali. I fornitori di servizi Internet di solito operano nel paese dei propri clienti e sono quindi obbligati a imporre le misure di censura previste dallo Stato. Una rete Resolver con sede all’estero può, invece, offrire i propri servizi a livello globale senza dover tenere conto della censura regolamentata dallo Stato.
- Rispetto dei moderni standard di sicurezza: le grandi reti DNS Resolver pubbliche sono specializzate solo nella risposta alle richieste DNS. Pertanto sono spesso pionieri nell’uso di moderni standard di sicurezza come DNSSEC, DoH, DoT e DNSCrypt.
- Blocco di domini dannosi: l’utilizzo di una rete DNS Resolver pubblica può inoltre contribuire alla protezione da malware e phishing. I domini notoriamente dannosi vengono inseriti in cosiddette blacklist e un tentativo di accesso a questi domini reindirizza l’utente a una pagina di avviso.
Nella tabella seguente vi elenchiamo alcune delle reti DNS Resolver pubbliche più diffuse. Seguendo la convenzione, ogni rete Resolver è configurata in modo ridondante tramite due indirizzi IP. Se il primo dei due server non è accessibile, viene utilizzato il secondo. Alcune reti Resolver offrono indirizzi IP aggiuntivi attraverso i quali è possibile abilitare ulteriori funzioni, come quella per la tutela dei minori.
Filtro dei contenuti | Protezione dei dati | Indirizzi IP dei name server | |
Quad9 | Filtra domini dannosi | Nessuna archiviazione dei dati utente | 9.9.9.9 e 149.112.112.112 |
Cloudflare DNS Family | Filtraggio di domini dannosi e protezione dei minori | Nessuna archiviazione dei dati utent | 1.1.1.3 e 1.0.0.3 |
Cloudflare DNS | Nessun filtro | Nessuna archiviazione dei dati utente | 1.1.1.1 e 1.0.0.1 |
DNS.watch | Nessun filtro | Nessuna archiviazione dei dati utente | 84.200.69.80 e 84.200.70.40 |
Il DNS spoofing è una minaccia seria. L’utilizzo combinato di tecnologie di crittografia e di una rete DNS Resolver pubblica offre una protezione affidabile.