A gennaio 2018 Tavis Ormandy, noto ricercatore in forze presso il team Google Project Zero, ha colpito ancora una volta nel segno scoprendo che alcune applicazioni, capaci di attivare funzionalità server in ambito locale, possono diventare testa di ponte per sferrare attacchi da remoto.
Vi abbiamo detto che se sul router non sono aperte porte in ingresso e non è attivato l’inoltro del traffico verso il sistema connesso alla LAN dove è installato il componente server, un utente non autorizzato non può attivare una connessione remota (vedere Port scanner: scansione di tutte le porte sull’IP pubblico).
Il DNS rebinding attack consente a un aggressore di superare il problema delle porte chiuse sul router.
In questo caso, infatti, l’attacco parte da una pagina web che provoca l’esecuzione di uno script malevolo lato client.
Certo, sappiamo anche che la cosiddetta same-origin policy fatta propria da tutti i browser web consente l’accesso a quei soli contenuti che sono serviti dall’host che ha rilasciato lo script. La verifica dei nomi a dominio è uno dei tasselli essenziali per la corretta applicazione della policy.
L’attacco DNS rebinding supera la same-origin policy sfruttando il sistema per la risoluzione dei nomi a dominio in modo abusivo.
Il DNS rebinding attack viene sfruttato dai criminali informatici per farsi strada nelle reti locali altrui chiedendo al browser di accedere a indirizzi IP privati e restituendo il risultato dell’operazione agli aggressori.
Come funziona il DNS rebinding attack
All’atto pratico, l’aggressore registra un nome a dominio e fa in modo che la gestione dei DNS autoritativi sia in capo a un server DNS sotto il suo controllo esclusivo.
Il server viene configurato per rispondere alle richieste dei client con un valore TTL (time-to-live) molto basso. Il parametro TTL, nel caso di un record DNS, indica per quanto tempo può essere ritenuto valido.
Indicando un valore TTL bassissimo, l’aggressore evita che la risposta fornita dal suo server DNS possa essere mantenuta in cache dal client.
Quando la vittima inizia a “navigare” sul sito dell’aggressore, il server DNS malevolo dapprima risponde con l’indirizzo IP del server che ospita il codice client side.
Tale codice provvede quindi ad effettuare ulteriori accessi al dominio gestito dai criminali informatici. Purtuttavia, quando il browser eseguirà lo script, dovrà effettuare una nuova richiesta di risoluzione del nome a dominio. Il server DNS malevolo restituirà un nuovo indirizzo IP, questa volta l’IP di loopback 127.0.0.1.
Utilizzando questo “giochetto”, l’aggressore può distribuire sul web codice JavaScript che tenti l’attacco facendo leva sulle vulnerabilità di software conosciuti, installati in locale e dotati di funzionalità server (che restano in ascolto su determinate porte).
Non solo. A seconda del software preso di mira, i criminali informatici hanno la possibilità di inviare comandi da remoto, spiare all’interno delle cartelle condivise, installare file e librerie e molto altro ancora.
In parole povere, l’attacco DNS rebinding permette di far sì che un browser inizi a comunicare con server remoti con i quali non dovrebbe invece scambiare dati.
Quali sono i software vulnerabili
Ormandy ha scoperto che sono potenzialmente vulnerabili al DNS rebinding attack molteplici software tra cui Transmission, noto client BitTorrent, e il software agent installato con tutti i videogiochi Blizzard.
Qui è pubblicata l’analisi del ricercatore a proposito di Transmission e in questa pagina quella relativa ai prodotti Blizzard.
Il problema, fortunatamente, è stato risolto in entrambi i casi ma Ormandy sostiene che in circolazione vi siano moltissimi altri programmi sfruttabili per eseguire l’attacco.
E la conferma non è tardata ad arrivare: nei giorni scorsi, infatti, un ricercatore ha scoperto che sia Google Home che Chromecast sono vulnerabili ad attacchi DNS rebinding: Google Home e Chromecast possono rivelare a qualunque sito l’esatta posizione dell’utente.
A breve distanza sono state rilevate vulnerabilità simili nei prodotti Sonos e in Roku TV.
Tutti i produttori hanno confermato che sono in procinto di rilasciare aggiornamenti per il firmware così da evitare qualunque rischio di aggressione. Nel frattempo, però, cliccando su un semplice link si potrebbe di fatto passare a terzi il controllo sui propri router, dispositivi smart, speaker, termostati e così via.
Sui dispositivi IoT raramente viene richiesta l’autenticazione per le richieste di connessione provenienti dai sistemi connessi alla rete locale: il semplice protocollo HTTP – senza l’utilizzo della crittografia – viene spesso impiegato per le attività di configurazione e controllo dei dispositivi. E così gli attacchi DNS rebinding possono concretizzarsi piuttosto facilmente.
Come spiega questa pagina, il DNS rebinding è una metodologia d’attacco conosciuta da molto tempo ma Ormandy e la scoperta delle lacune in molteplici device di utilizzo comune hanno dimostrato, ancora una volta, come gli sviluppatori software non possano dare più nulla per scontato.
Il test per verificare se si fosse vulnerabili
Provate a visitare questa pagina: accettando di eseguire il test, si potranno verificare i dispositivi IoT che sono attualmente connessi alla rete locale e che sono vulnerabili ad attacchi DNS rebinding.
Nessuna informazione personale verrà trasferita a terzi e si potrà “toccare con mano” come può avvenire un’eventuale aggressione in modalità remota, semplicemente visitando una pagina web malevola.
Come proteggersi
– Impostando server DNS come quelli di OpenDNS, che svolgono una continua azione di filtraggio, è possibile proteggersi dagli attacchi DNS rebinding.
– Segmentare la rete separando i dispositivi IoT dai client che navigano abitualmente online è un’ottima soluzione.
L’utilizzo di VLAN e regole firewall oltre che l’abilitazione della protezione contro gli attacchi DNS rebinding a livello di modem router aiutano moltissimo.
– Firmware come OpenWRT e DD-WRT offrono la possibilità di attivare la protezione “anti-DNS rebinding”.
– Disattivare temporaneamente i dispositivi Google Home e Chromecast è una buona soluzione temporanea.