Dnsmasq è un server DNS/DHCP ampiamente utilizzato in ambiente Linux e nei sistemi operativi Unix-like in genere. Tra i suoi punti di forza vi è la possibilità di gestire fino a 1.000 client, il fatto di essere uno strumento “leggero” (occupa un ridotto quantitativo di risorse) e il supporto del protocollo IPv6.
Si tratta di un software configurabile non soltanto sulle varie distribuzioni Linux ma utilizzato per impostazione predefinita anche su decine di dispositivi (ad esempio router e switch ma anche prodotti IoT ed “embedded”) di produttori differenti.
Una società israeliana specializzata nella sicurezza informatica, JSOF, ha reso pubbliche 7 vulnerabilità scoperte in Dnsmasq: nel complesso sono state battezzate DNSpooq.
Le lacune di sicurezza appena individuate possono essere utilizzate per lanciare attacchi DNS poisoning, eseguire codice arbitrario in modalità remota e sferrare aggressioni DoS verso milioni di dispositivi vulnerabili.
DNS Cache Poisoning è un metodo di attacco che permette agli aggressori di sostituire i record DNS legittimi conservati su un dispositivo con informazioni da loro scelte. In questo modo diventa possibile reindirizzare gli utenti verso server sotto il controllo dei criminali informatici mentre ai visitatori i siti web appariranno come identici ai siti legittimi.
Si tratta di un attacco particolarmente pericoloso perché permette di sferrare attacchi phishing, facilita il furto delle credenziali di accesso e la distribuzione di malware attraverso pagine web che dagli utenti vengono percepite come legittime.
I tecnici di JSOF spiegano che usando che le vulnerabilità di Dnsmasq un aggressore può modificare varie tipologie di traffico dati: email, SSH, desktop remoto, videoconferenze, chiamate vocali, aggiornamenti software e così via. L’attacco, inoltre, può essere completato con successo in pochi secondi o minuti senza particolari requisiti.
Dal momento che molte implementazioni di Dnsmasq sono configurate in modo errato (poste in ascolto sull’interfaccia WAN), l’attacco diventa possibile anche dalla rete Internet, direttamente sull’indirizzo IP pubblico superando i confini della rete locale LAN.
Effettuando una semplice ricerca con il motore Shodan (Shodan, cos’è e come permette di scovare webcam, router, NAS e altri dispositivi remoti) si scopre che oltre un milione di dispositivi che fanno uso di Dnsmasq sono al momento esposti sulla rete Internet.
Come risolvere i problemi di sicurezza con Dnsmasq
Per evitare eventuali rischi di aggressione, il consiglio degli esperti di JSOF è aggiornare Dnsmasq alla release 2.83 o successiva. Nel caso in cui non si potesse ancora provvedere in tal senso è bene:
- Configurare Dnsmasq per non ascoltare le richieste di connessione sull’interfaccia WAN
- Ridurre il numero massimo delle query che possono essere inoltrate usando l’opzione
--dns-forward-max=
. Il valore predefinito è 150 ma può avere senso ridurlo. - Disattivare temporaneamente DNSSEC fino a quando non sarà possibile applicare la patch.
- Utilizzare protocolli come DoH o DoT che permettono di crittografare le richieste di risoluzione DNS
- Ridurre la dimensione massima dei messaggi EDNS come misura temporanea