Sicurezza

Come bucare milioni di router e vivere felici

La validazione dell'input, cioè il controllo di quello che viene inviato tramite richieste web o direttamente da tastiera, è una delle basi nella sicurezza informatica. Qualsiasi stringa sia ricevuta da un software/firmware ha potenzialmente il potere di creare grossi problemi se non controllata adeguatamente.

In particolare, una delle falle più spesso usate dagli hacker per entrare nei sistemi si basano su errori di Buffer Overflow che si generano quando si invia a un dispositivo una stringa più lunga del buffer previsto dal programmatore per gestirla. Questa, allora, finisce in zone di memoria già occupata da altro e succede un po' di tutto.

netusb
Questo è il sito di Kcodes, l'azienda che ha sviluppato il modulo NetUSB
e ha "glissato" sulla necessità di un fix.

Purtroppo, le richieste da gestire in un firmware o software di rete sono molte e capita di dimenticare la validazione in qualche caso. Già mesi fa Heartbleed aveva causato parecchi mal di testa proprio per un errore simile e adesso è la volta del componente NetUSB, creato da una casa di software coreana e presente in tantissimi router .

NetUSB è un modulo Kernel Linux che si occupa di gestire la porta usb sui router e rendere disponibile ai dispositivi collegati le stampanti o le memorie di massa che vengono collegate alla presa.

Se un utente loggato alla rete invia una stringa troppo lunga a questo modulo (tramite la porta PCT 20005), nella migliore delle ipotesi può causare un crash del router mentre i più astuti saranno addirittura in grado di prendere il controllo (a livello Kernel) del dispositivo.

USB enable
Il firmware DD-WRT sembra essere immune al problema riscontrato
in moltissimi router "stock".

Il fatto che il bug possa esser sfruttato solo da utenti loggati alla rete mette relativamente al sicuro le nostre case, ma non si può dire lo stesso per uffici e luoghi pubblici. In particolare, cosa accade in quegli ambienti che hanno a disposizione una rete per gli ospiti? E cosa dire di Internet Café, biblioteche e simili?

Il pericolo principale non consiste tanto nel fatto che un ospite possa mandare in crash il router, ma che il malintenzionato, dopo aver bloccato il sistema originale, ne metta su uno con lo stesso identificativo controllato da lui e strutturato per intercettare quanti più dati sensibile possibile.

La lista dei router su cui SEC Consult crede che sia presente questo bug perché usano il componente fallato è enorme: ALLNET, Ambir Technology, AMIT, Asante, Atlantis, Corega, Digitus, D-Link, EDIMAX, Encore Electronics, EnGenius, HawkingTechnology, IOGEAR, LevelOne, LONGSHINE, NETGEAR, PCI, PROLiNK, Sitecom, TP-LINK, TRENDnet, Western Digital e ZyXEL.

Il produttore del modulo è già stato contattato mesi fa da SEC Consult, ma non ha mai rilasciato un fix, mentre alcuni produttori stanno cercando di rimediare da soli. Al momento sembra che solo TP-Link abbia rilasciato un aggiornamento per alcuni router, mentre quelli che andranno a coprire una quarantina di prodotti sono attesi nelle prossime settimane.

Esiste, comunque, un metodo per mitigare i danni. Su molti router si può spegnere la componente NetUSB direttamente dall'interfaccia del router. Tenete presente che NetUSB è in funzione anche se non ci sono periferiche collegate alla porta USB, quindi va proprio disabilitato. Su alcuni router, però, questa opzione non è disponibile e allora non resta che filtrare il traffico verso la porta 20005 tramite il firewall interno, se disponibile.

 

Aggiornamento: D-Link ci comunica che gli aggiornamenti per i suoi due router coinvolti, i modelli DIR-615 e DIR-685 poco diffusi in Italia dato che sono per fibra e di qualche anno fa, verrà rilasciato entro la fine della settimana.

Aggiornamento: anche Sitecom ci ha comunicato che è al lavoro  per risolvere il problema e la patch è attesa nei prossimi giorni. Il loro ultimo modello VDSL2/ADSL (il WLM-7600), che sta per arrivare sul mercato sarà già patchato al momento del lancio e quindi esente dal problema.