Ogni dispositivo in grado di connettersi ad una rete (che non sia un pc, un tablet, un telefono o un router), diventando abile nel comunicare dati su se stesso e accedere ad informazioni aggregate, è considerato un dispositivo IoT. Nonostante i progressi in termini di sicurezza di connessione ad Internet (il principale punto dolente degli smart object), permangono nuovi tipi di vulnerabilità.
I Barracuda Labs di Barracuda Networks, hanno recentemente usato una telecamera di sicurezza IoT per mostrare il funzionamento di un nuovo tipo di minaccia: la compromissione delle credenziali IoT che sfrutta le vulnerabilità delle applicazioni web e mobili per danneggiare il dispositivo IoT.
La minaccia e le vulnerabilità
La vulnerabilità delle applicazioni web e mobili usate dai dispositivi IoT può essere sfruttata per acquisire credenziali che a loro volta possono essere usate per visualizzare i feed video, impostare/ricevere/cancellare allarmi, rimuovere i video clip salvati nel cloud e leggere informazioni sull’account. Le credenziali possono essere usate anche per caricare sul dispositivo propri aggiornamenti firmware, modificandone le funzionalità e utilizzandolo per attaccare altri dispositivi sulla stessa rete.
Utilizzando come dispositivo di test una telecamera di sicurezza connessa, i Barracuda Labs hanno identificato varie vulnerabilità nell’ecosistema delle app web e mobili associate alla telecamera:
- L’app mobile non verifica la validità del certificato del server
- Cross-site scripting (XSS) nella pagina web
- File traversal in un server cloud
- User controls device update link
- Aggiornamenti del dispositivo non firmati
- Il dispositivo ignora la validità del certificato del server
Sfruttando queste vulnerabilità, il team di Barracuda è stato in grado di acquisire le credenziali dall’app mobile e web compromettendo la telecamera.
Gli attacchi dipendono dal cloud
Acquisizione delle credenziali dall’app mobile
Intercettando il traffico verso l’app mobile tramite una rete ostile o compromessa, si può acquisire facilmente la password. Funziona così:
- L’utente si connette mediante il telefono a una rete ostile/compromessa
- L’app della telecamera cerca di connettersi al server del fornitore via https
- La rete ostile/compromessa instrada la connessione sul server del malintenzionato, che userà il proprio certificato SSL e agirà da proxy per comunicare col server del fornitore
- Il server del malintenzionato a questo punto possiede un hash MD5 “unsalted” della password
- Il malintenzionato può anche intercettare le comunicazioni tra il server del fornitore e l’app
Acquisire le credenziali dall’app web
Per condividere l’accesso al dispositivo IoT, il ricevente deve avere un account valido con il fornitore IoT e il mittente deve conoscere lo user name del ricevente, che normalmente è un indirizzo email:
- Il malintenzionato incorpora un exploit XSS nel nome di un dispositivo e quindi condivide quel dispositivo con la vittima
- Quando la vittima si è collegata al proprio account usando l’app web, l’exploit XSS viene eseguito condividendo il token di accesso (memorizzato come variabile nell’app web) con il malintenzionato
- Possedendo il token di accesso, quest’ultimo può accedere all’account della vittima e a tutti i suoi dispositivi registrati.
In sintesi, i Barracuda Labs sono riusciti a compromettere un dispositivo IoT (la telecamera connessa) senza alcuna connessione diretta al dispositivo stesso. Non è necessario fare scansioni con Shodan (motore di ricerca per dispositivi connessi a Internet) alla ricerca di dispositivi vulnerabili: è sufficiente che l’attacco sia rivolto all’infrastruttura del fornitore.
È una minaccia che può colpire anche altri tipi di dispositivi IoT, indipendentemente dalla loro funzione, in quanto approfitta del modo in cui il dispositivo comunica con il cloud. I bug non sono inerenti al prodotto piuttosto ai processi, alle conoscenze e alla consapevolezza degli sviluppatori. Se l’accesso e il controllo degli accessi per i dispositivi IoT dipendono dai servizi cloud, lo stesso vale per le vulnerabilità, rendendo così possibili i tipi di attacco scoperti dai Barracuda Labs.
Come devono comportarsi gli sviluppatori
I fornitori che creano soluzioni IoT devono proteggere tutti gli aspetti delle applicazioni usate per interagire con questi dispositivi. Questi ultimi sono sensori distribuiti nelle case, nelle scuole e negli uffici e sono potenziali punti di ingresso per i malintenzionati. La rete di ogni cliente è un potenziale punto di accesso al server e agli altri clienti.
Sono due i fronti sui quali agire.
Un firewall applicativo, una delle protezioni più importanti da implementare perché serve a proteggere i server dal traffico HTTP al layer 7. Si tratta poi di potenziare le protezioni nei confronti degli attacchi al livello di rete e di phishing.
Altrettanto importante è la sicurezza cloud, in grado di garantire visibilità, protezione e sanificazione delle applicazioni IoT e delle infrastrutture su cui girano. La possibilità di attacchi Lateral Movement è alta ed è importante prendere tutte le precauzioni possibili.
Un’assicurazione per i consumatori
In vista dell’acquisto, i consumatori considerano fattori come comodità e prezzo, ma la sicurezza non deve essere trascurata. Diventa importante seguire tre consigli:
- Scegliere il produttore: alcune delle aziende che producono dispositivi IoT hanno familiarità con la sicurezza del software. La maggior parte, invece, sono o aziende già esistenti la cui esperienza sta nel costruire i prodotti fisici che verranno connessi, o startup che cercano di portare i dispositivi sul mercato il più in fretta possibile. In entrambi i casi, spesso le misure adeguate di sicurezza della rete e del software sono trascurate.
- Verificare se esistono vulnerabilità negli altri dispositivi dello stesso fornitore: se un dispositivo ha una vulnerabilità è probabile che altri dispositivi simili dello stesso fornitore abbiano le stesse vulnerabilità. Se un fornitore vanta un passato di dispositivi sicuri, probabilmente continuerà a proporre dispositivi sicuri.
- Valutare le risposte alle vulnerabilità passate: se un fornitore reagisce prontamente alle segnalazioni da parte degli utenti e risolve rapidamente la situazione con aggiornamenti del firmware, ciò depone a favore del suo atteggiamento nei confronti della sicurezza dei prodotti futuri.
Idealmente, dovremmo avvicinarci a un mondo in cui tutti i prodotti IoT hanno una valutazione della sicurezza. I consumatori, comunque, dovrebbero sempre informarsi prima di investire in dispositivi IoT.