Uno dei più seri pericoli che si corrono sul web è il DNS tunnelling, una tecnica che può avere contraccolpi seri sulla cybersecurity di privati e aziende. Ecco cos’è e come difendersi


Quanto è rischioso il DNS tunnelling? Pensiamo solo a tutte le volte in cui navighiamo in Internet, inviamo un’email, facciamo ricerche in Rete. Il DNS è quel protocollo che svolge un ruolo fondamentale proprio nella navigazione web e nei servizi di posta elettronica. Esso è costantemente e sempre più sotto tiro dei cyber criminali. Secondo il Global DNS Threat Report 2021 l’87% delle organizzazioni ha subito attacchi DNS, con un costo medio di ogni attacco di circa 950mila dollari. I delinquenti informatici utilizzano diverse tattiche per compromettere le risorse digitali critiche e una di queste è il DNS tunneling.

Una conferma del pericolo che grava sui Domain Name System lo fornisce anche l’ENISA – European Union Agency for Cybersecurity, secondo cui tra le minacce più rilevanti si posiziona il DNS tunnelling (26%). È un fenomeno che esiste da almeno 20 anni e che ha avuto momenti particolarmente gravi: gli attacchi informatici legati al DNS tunnel più recenti includono quelli del gruppo DarkHydrus, che ha preso di mira entità governative in Medio Oriente nel 2018, e il gruppo di hacker iraniani OilRig, che opera dal 2016 ed è ancora attivo: proprio di recente hanno preso di mira un diplomatico giordano.

DNS tunnelling: una definizione

Prima di definire cos’è il DNS tunnelling va spiegato il DNS. Esso funziona più o meno come una rubrica telefonica di Internet. Ogni volta che si digitano nomi di domini (per esempio: google.com), nella barra degli indirizzi dei browser web, il DNS trova l’indirizzo IP giusto. In pratica, permette alle applicazioni di funzionare utilizzando nomi semplici di domini invece di indirizzi IP difficili da ricordare. Il Domain Name System utilizza innumerevoli server DNS organizzati in modo gerarchico per convertire le richieste, dette query DNS, da nomi in indirizzi IP, che specificano il server che l’utente finale raggiungerà e che, a sua volta, gli fornirà il contenuto web desiderato. In questo modo, i server DNS distribuiti indirizzano i visitatori agli indirizzi corretti per chiunque vogliano visitare. Essi sono infrastrutture molto sensibili e hanno bisogno di essere tutelate da un elevate misure di sicurezza, in quanto possono essere impiegati dagli hacker per organizzare attacchi DDoS contro altri utenti.

Arriviamo così al DNS tunneling: è una tecnica malevola che consente a un aggressore di stabilire un contatto col computer della vittima.

Il canale creato fornisce un mezzo per incapsulare il payload (la parte di dati trasmessi effettiva destinata all’utilizzatore) dannoso all’interno delle query DNS per sfruttare il flusso del traffico DNS.

Un altro uso comune del DNS tunneling è la data exfiltration. Si tratta di un processo in cui gli aggressori rubano informazioni dal computer della vittima. Poiché gli esperti di cybersicurezza continuano a bloccare o controllare pesantemente altri canali come FTP e HTTPS, l’uso del DNS tunneling è in aumento.

Come viene condotto il DNS tunnelling

DNS tunnelling è una tecnica di attacco specifica che richiede un accesso a un server DNS collegato alla rete. 

Partiamo dal termine tunnelling: si definisce così un protocollo di comunicazione usato per spostare i dati attraverso le reti. Esso usa l’incapsulamento dei dati per trasmettere un pacchetto con un datagramma e un altro pacchetto di dati, creando un tunnel sicuro per la trasmissione tra due punti di una rete. In pratica, riconfezionano e nascondono i dati trasmessi con la crittografia.

È una tecnica che richiede determinati passaggi: il cyber criminale registra un dominio. Il server DNS indirizza a quello malevolo, dove appunto è installato il software di tunneling malware. Il delinquente infetta un computer con il malware, che penetra nel firewall dell’organizzazione. Le richieste DNS sono sempre autorizzate a entrare e uscire dal firewall, quindi il computer infetto è autorizzato a inviare query al resolver DNS, ovvero la prima fase della ricerca DNS. Quest’ultimo invia quindi le richieste di indirizzi IP ai server di dominio di primo livello. Il resolver DNS instrada le query al server del criminale, dove viene implementato il programma di tunneling. In questo modo viene creata una connessione tra il criminale informatico e la vittima attraverso il resolver DNS. L’aggressore può utilizzare questo tunnel per scopi malevoli, come l’esfiltrazione di informazioni. Non esiste una connessione diretta tra il criminale informatico e la vittima, quindi è difficile rintracciare il computer del cyber offender. 

Identificare un attacco

L’uso improprio del DNS può essere identificato in due modi: analizzando il payload e/o analizzando il traffico. Nel primo caso, è possibile identificare anomalie sotto forma di informazioni non necessarie o insolite ricevute dal server DNS. Gli amministratori della sicurezza possono cercare nomi di host particolari, un nuovo tipo di record DNS o set di caratteri unici. Per quanto riguarda le richieste di domini insoliti, il DNS tunneling ha successo solo se il criminale informatico possiede il dominio di destinazione, in modo che le richieste DNS arrivino al suo server DNS.

Nel caso dell’analisi del traffico, è possibile identificare una procedura di DNS tunnelling valutando il numero di richieste di dominio DNS ricevute rispetto al traffico normale. Gli aggressori DNS di solito inviano un traffico enorme al server DNS compromesso, un traffico superiore a quello di un normale scambio. Questo accade perché il nome di dominio in una richiesta DNS ha una dimensione massima (253 caratteri). I cyber delinquenti hanno bisogno di fare molte richieste DNS dannose per attuare i loro propositi malevoli, che possono essere sotto forma di esfiltrazione dei dati o una tecnica C2.

Le contromisure da adottare

Ci sono diversi modi per evitare il DNS tunnelling. Uno di questi è l’impiego di un sistema di filtraggio DNS. Esso funziona classificando ogni singolo dominio a cui si tenta di accedere e incrociando tali categorizzazioni e nomi di dominio con i criteri che si è deciso di bloccare.

Questo sistema, per essere efficace, dovrebbe permette di rilevare algoritmi di generazione dei domini (DGA) utilizzati dai criminali IT per produrre domini casuali per gli attacchi.

Inoltre vale la pena installare un anti-malware, ma anche puntare a evitare intrusioni di rete. In questo caso i sistemi di rilevamento e prevenzione specifici che utilizzano determinati accorgimenti per identificare il traffico di specifici malware avversari possono essere utilizzati per mitigare l’attività a livello di rete.

Anche le tecniche di intelligenza artificiale possono essere impiegate per questo obiettivo. A questo riguardo, Machine Learning può essere di giovamento, permettendo un rilevamento avanzato del malware facendo inferenze da precedenti attacchi malevoli. Inoltre, può contribuire a ridurre il rischio che un team di sicurezza sia sopraffatto dagli avvisi di incidente, soprattutto i “falsi positivi”.