Attacchi DNS poisoning sfruttano un bug di Linux del 2008


La vulnerabilità era considerata “risolta” ma è emersa una nuova tecnica che consente di dirottare il traffico sfruttando tecniche di DNS cache poisoning.

A 12 anni di distanza, gli sviluppatori si sono trovati a dover rimettere mano alle modalità con cui vengono gestite le richieste DNS sui server Linux. Obiettivo: bloccare una nuova tecnica che permetterebbe di “inquinare” la cache DNS e dirottare il traffico degli utenti.

Il problema, emerso nel 2008, riguarda la possibilità che un pirata informatico possa interferire con la catena di comunicazione dei server DNS (Domain Name Server) attraverso una tecnica di brute forcing.

I server DNS, spesso paragonati agli “elenchi del telefono” del Web, hanno il compito di convertire il dominio richiesto da un dispositivo (per esempio www.securityinfo.it) nell’indirizzo IP corrispondente al server che ospita (in questo caso 88.198.117.84).

Il loro funzionamento, però, non è lineare come si potrebbe immaginare. Esistono vari livelli di DNS, distribuiti gerarchicamente in una sorta di “piramide” per consentire di rispondere a tutte le richieste. Nella catena, i server DNS gerarchicamente superiori forniscono le informazioni a quelli inferiori (DNS resolver) che le memorizzano in una cache per poi fornirli ai dispositivi che li richiedono.

Un attacco DNS Poisoning, in pratica, punta a iniettare nella cache di un DNS resolver un’informazione sbagliata, che dirotta il traffico diretto a un sito su indirizzo IP diverso, normalmente controllato dai cyber criminali.

Per farlo, i pirati utilizzano tecniche di spoofing dell’indirizzo IP con lo scopo di impersonare un server DNS legittimo e inviare delle false risposte che vengono memorizzate nel DNS resolver.

DNS poisoning LInux

Immagine: Varonis

Le misure di prevenzione di questo attacco adottate originariamente prevedevano l’uso di un identificativo (ID) a 16 bit che avrebbe dovuto permettere di verificare la provenienza delle informazioni. Nel 2008, però, il ricercatore Dan Kaminsky scoprì una tecnica per aggirare questa verifica.

Il numero di possibili ID, infatti, era limitato a 65.536 possibili combinazioni. Un numero tutto sommato basso e che consentiva di eseguire una sorta di brute forcing. Nel dettaglio, la tecnica prevedeva di inviare una serie di false risposte, ognuna indicando un differente sottodominio (1.secuirtyinfo.it; 2. secuirtyinfo.it; 3.secuirtyinfo.it; etc.). In questo modo, un pirata avrebbe potuto identificare l’ID corretto e portare a termine l’attacco.

Per correggere la vulnerabilità, gli sviluppatori hanno introdotto un ulteriore elemento di selezione: abbandonare l’uso esclusivo della porta 53 per la ricezione delle risposte DNS e adottare invece l’uso di una porta casuale tra le 65.536 possibili. In questo modo un attacco come quello ipotizzato da Kaminsky avrebbe richiesto miliardi di tentativi.

Un gruppo di ricercatori universitari, però, hanno trovato un modo per “resuscitare” la tecnica. Nel loro report spiegano che la nuova modalità di attacco sfrutta una particolarità legata al modo in cui Linux gestisce le comunicazioni su protocollo ICMP.

Per evitare un sovraccarico sui server, Linux infatti limita il numero di risposte alle richieste di altri server, consentendone solo 1.000 al secondo.

Ii dettaglio su cui fa leva la tecnica messa a punto dai ricercatori è che una risposta inviata a una porta sbagliata ridurrà di uno il conteggio delle possibili comunicazioni, mentre quella inviata alla porta corretta non influenza il conteggio.

In altre parole, se i pirati inviano 1.000 risposte al secondo, possono eseguire una sorta di scansione delle porte per scoprire qual è quella giusta e, a questo punto, portare un attacco con il metodo indicato da Kaminsky.

La contromossa per disinnescare questo tipo di attacco, immediatamente implementata, è comunque semplice: modificare le impostazioni che definiscono il limite di comunicazioni ICMP.

Con questa modifica, i server adottano un limite casuale che varia tra 500 e 2.000, in modo da non offrire un punto di riferimento che consenta di individuare la porta corretta a cui inviare le risposte.

Condividi l’articolo



Articoli correlati
Altro in questa categoria

https://www.securityinfo.it/2020/11/13/attacchi-dns-poisoning-sfruttano-un-bug-di-linux-del-2008/?utm_source=rss&utm_medium=rss&utm_campaign=attacchi-dns-poisoning-sfruttano-un-bug-di-linux-del-2008