traduzione del contributo di Rahul Pawar, Security Researcher di Quick Heal
Che cosa è il DNS?
Il DNS, Domain Name System, è un servizo che converte gli hostname in indirizzi IP. E' un protocollo a livello applicativo che consente ad utenti e server di scambiare messaggi. Ogni host è identificato dal proprio indirizzo IP, ma è molto complesso per gli umani memorizzare una serie di numeri. Inoltre gli indirizzi IP non sono statici. Di conseguenza, il DNS converte il nome di dominio di un sito nel suo indirizzo IP numerico, così da rendere possibile per umano contattare un server usando il nome dominio e non l'indirizzo IP. Non a caso il sistema DNS viene definito anche "l'elenco telefonico di Internet", associando "un nome" ad un numero.
Che cosa è il DNS Tunneling?
Il protocollo DNS ha un difetto: è stato sviluppato senza tenere di conto il paradigma della security by design. La sua centralità in Internet lo rende quindi uno dei target preferiti degli attaccanti. Il DNS tunneling, se utilizzato a fini dannosi, usa il protocollo DNS per distribuire malware ed esfiltrare dati. Questa tipologia di attacco esiste da oltre 20 anni, ma è tutt'ora un pericolo.
Un attaccante imposta un server dove è in esecuzione un malware e vi punta un dominio. Usando poi un server precedentemente infettato, l'attaccante ricerca il dominio sotto il proprio controllo. Il resolver DNS crea un tunnel tra l'attaccante e il suo target quando instrada la query. E' in queste query che gli attaccanti nascondono i dati necessari a perpetrare l'attacco. L'utente non ha cognizione di star "dialogando" con un server infetto.
Una tipologia di attacco siffatta ha un grande vantaggio per gli attaccanti: le query DNS sono quasi sempre autorizzate a transitare attraverso i firewall e le varie misure di sicurezza. Ne consegue che le query DNS sono corsie preferenziali che gli attaccanti possono sfruttare per eseguire attività dannose aggirando le difese.
Come funziona un attacco DNS tunneling?
L'immagine sotto rappresenta, passo passo, il funzionamento di un attacco DNS tunneling.