Come proteggere i device IoT connessi in rete e metterli in sicurezza

IoT è l'acronimo di Internet of Things, con questo termine si indica una rete informatica in cui dispositivi, sensori, oggetti, persone e animali sono dotati di un identificativo univoco e in grado di scambiarsi dati tramite Internet senza necessità di una interazione diretta uomo-macchina. L'idea nasce dalla convergenza delle tecnologie wireless con la disponibilità di sensori e strumenti elettronici sempre più piccoli, evoluti e a basso costo.

Così scrivevamo a proposito di IoT nella nostra rubrica “La parola del giorno”.

In senso lato, l’Internet delle Cose è dunque costituito da tutti i dispositivi che sono connessi in rete, e l’elenco è veramente lungo, come si può constatare con una breve ricerca su Shodan, il motore di ricerca per device IoT connessi in rete. https://www.shodan.io/
Una conseguenza dell’essere connessi in rete è la possibilità, tutt’altro che remota, di essere hackerati: il rischio è che i device vengano infettati e resi parte di una botnet usata dai cyber-criminali per scopi illeciti, come attacchi DDoS, distribuzione di malware, invio di spam e altro.

Gestione credenziali
Buona parte degli accessi non autorizzati avvengono tramite tentativi brute-force di login che sfruttano la debolezza dei dati di accesso scelti, di conseguenza è essenziale una corretta gestione delle credenziali.
Anzitutto bisogna sempre sostituire la coppia user/pwd di default, scegliendone di nuove correttamente sicure (e quindi complesse). È importante che questo passaggio venga effettuato sin dalla prima installazione, onde evitare di lasciare – per dimenticanza – dispostivi “zombie” all’interno dell’infrastruttura.
Esistono vari strumenti, tra cui un tool molto interessante disponibile all’indirizzo https://cups.cs.cmu.edu/meter/, che consentono di verificare l’efficacia di una password: non solo password come ‘password’ o ‘12345’ sono assolutamente inefficaci (cfr report sulle peggiori password del 2016 di Emsisoft), ma anche password apparentemente più complesse meritano attenzione.

Lo strumento segnalato indica il grado di efficacia della parola scelta e, soprattutto, offre suggerimenti su come migliorarlo.
Si consiglia di usare un gestore di password, come trattato in QUESTO articolo di GURU advisor, o un sistema centralizzato come SecurePass
Se sono presenti degli account di default, disabilitarli o (meglio) eliminarli. La rete Wi-fi deve inoltre utilizzare lo standard WPA2 per la login, assolutamente da evitare WEP.


Firewall
Ogni rete, a partire da quella casalinga, deve essere protetta con un sistema di firewall adeguato: i router di fascia consumer solitamente integrano questa funzione, in contesti aziendali è più indicata un’appliance hardware o software dedicata.
La prassi generale è bloccare tutto il traffico in entrata mettendo in whitelist quello da permettere, invece in uscita solitamente si consente tutto il traffico, tuttavia è una disposizione che merita una sostanziale riflessione.

Anche i singoli dispositivi devono essere protetti tramite firewall, se il sistema operativo è basato su Linux, l’opzione più naturale è iptables (e il suo front-end ufw - uncomplicated firewall), Fail2Ban rappresenta una soluzione utile per bloccare i tentativi di login non autorizzati: il programma monitora gli accessi e, se la login viene sbagliata un certo numero di volte (impostabile), l’IP da cui proviene la richiesta viene inserito nelle tabelle di iptables che prevedono il suo ban, la cui durata può essere impostata. Inoltre iptables permette di inserire in una whitelist gli indirizzi IP da cui ci si aspetta una connessione.

Inutile ricordare che tutti i dispositivi devono essere dietro NAT, quindi non direttamente raggiungibili dall’esterno, e, in ogni caso, è bene limitare la connessione da remoto ai casi essenziali.
Si può valutare l’ipotesi di destinare una rete, eventualmente tramite VLAN, dedicata ai device IoT, che andrà monitorata di conseguenza; lo scopo è di contenere eventuali infezioni in segmenti di rete che non comunicano tra loro. 

Servizi e protocolli
Analogamente al principio del firewall di lasciare chiuse tutte le porte tranne quelle che vengono esplicitamente aperte, anche per i servizi vale una regola simile: lasciare attivi solo quelli che servono per il corretto funzionamento del dispositivo.
Ad esempio telnet è un protocollo insicuro e obsoleto che viene sfruttato per guadagnare facilmente l’accesso al dispositivo: nella maggior parte dei casi si può tranquillamente disabilitare.
Al suo posto è meglio usare SSH, in particolare adottando un’autenticazione basata su chiavi SSH, e non su password, che garantisce un livello di sicurezza intrinseco superiore. Anche disabilitare login tramite utente root, per sfruttare i privilegi elevati tramite sudo.
Un’altra precauzione consiste nel cambiare la porta di connessione (normalmente 21) con un’altra a scelta, e relativa regola sul firewall: tenere a mente che questo è un esempio di ‘security by obscurity’ che non sempre è efficace, e che in generale cambiare le porte dei servizi può risultare una misura inefficace dal momento che alcuni scanner di rete rilevano automaticamente le porte aperte. Contribuisce a ridurre i tentativi di login brute-force, ma un hacker ben motivato con uno strumento come nmap può tranquillamente fare una scansione della rete per individuare la porta giusta.

Un’avvertenza per le utenze domestiche: disabilitare il protocollo UPnP (Universal Plug and Play) che permette ai dispositivi di connettersi alla rete comunicando direttamente con il router bypassando il firewall, e che pone un serio rischio alla sicurezza se attivo: tutte le connessioni devono passare attraverso un sistema di autenticazione.


Aggiornamenti costanti
I dispositivi appena acquistati devono essere aggiornati non appena installati, e occorre una politica di aggiornamento costante e tempestiva: i produttori rilasciano patch che correggono le vulnerabilità, bisogna assicurarsi che i device siano sempre aggiornati. Ovviamente gran parte delle infezioni sfrutta dispositivi non aggiornati e che presentano problemi non corretti, gli attacchi sono appositamente veicolati a tutte le installazioni che non sono up to date.


Monitoring di rete e asset tracking
La gestione degli aggiornamenti difficilmente viene portata a termine in modo manuale se si parla di installazioni molto estese in numero, è meglio affidarsi ad un sistema di asset tracking che tenga traccia di tutti i dispositivi presenti in rete e del loro stato di aggiornamento. Se possibile, adottare una soluzione che preveda un sistema di aggiornamento centralizzato in modo da ridurre il fardello operativo della procedura di aggiornamento e garantire una copertura totale dei device.
Infine, è utile implementare, specialmente in ambito aziendale, un sistema di monitoring di rete con un prodotto che identifichi tutto il traffico in entrata e in uscita in termini di protocollo usato e dimensione dei pacchetti, e che allerti prontamente eventuali situazioni critiche.

languard00

È lecito aspettarsi un aumento del numero di dispositivi connessi in rete e della loro diffusione non solo in ambito pro-user ma anche in situazioni generalizzate come ospedali, stazioni di polizia, scuole e luoghi pubblici e privati; di conseguenza aumenteranno i problemi legati alla sicurezza dei device IoT stessi perché diventerà un (sempre più) appetibile mercato per hacker e cyber-criminali. Anche i produttori si terranno al passo con dei prodotti intrinsecamente migliori in quanto a sicurezza, ma il punto di partenza deve essere una buona educazione dell’utente in temi di sicurezza e l’adozione delle buone prassi descritte in questo articolo.

L'autore

Riccardo Gallazzi

Sistemista JR, tra i suoi campi di interesse maggiori si annoverano virtualizzazione con vSphere e Proxmox e gestione ambienti Linux. È certificato VMware VCA for Data Center Virtualization.