Le nostre reti IoT casalinghe sono sicure?
Con l’incremento sempre più importante della domotica nelle nostre case [1], il numero dei piccoli – e non così piccoli – dispositivi connessi in rete all’interno delle nostre abitazioni sta crescendo sempre di più. Il loro scopo è, attraverso l’utilizzo di tecnologie per lo più wireless, quello di migliorare la qualità della vita, ottimizzare le spese (in bolletta energetica per esempio), e in generale rendere più comoda la vita di tutti i giorni.
Alcuni esempi pratici riguardano sistemi di sorveglianza interna, magari connessi all’impianto di allarme generale (Webcam interne/esterne, sensori di movimento/incendio/gas, baby-monitor), impianti di illuminazione intelligenti (smart lighting interfacciati con App), termostati che comandano interruttori e ricevono informazioni da sensori, sistemi di entertainment, di citofonia (rispondono anche quando non ci siamo), controllo degli accessi, elettrodomestici avanzati e altro. Mentre alcuni sistemi più integrati possono essere previsti durante la costruzione o la ristrutturazione di un appartamento e sono cablati tra loro l’interno di opere murarie, la maggior parte dei device di oggi si appoggia invece alla connessione wireless di casa. Essi sono dispositivi IoT (“Internet of Things” [2]) che possono esser aggiunti man mano senza stravolgere l’ambiente interno. Queste “cose” dialogano spesso tra loro con un hub di controllo attraverso lo stack TCP/IP, ed in generale comunicano con App che si possono connettere dall’esterno quando siamo fuori a lavoro, per esempio.
Ma cosa può intrufolarsi dentro le nostre case, a parte dei leciti comandi che accendono per esempio il riscaldamento due ore prima che torniamo da un lungo viaggio in inverno?
Con uno studio svolto in collaborazione con il Dott. Emanuele Bosimini, iniziato con la sua tesi di laurea triennale e poi proseguito con un articolo scientifico [3], ci siamo occupati di monitorare la quantità e qualità degli attacchi informatici verso protocolli tipici del mondo IoT. Essi possono impattare sul funzionamento delle nostre abitazioni in molteplici scenari: la porta o le finestre esterne possono essere aperte per commettere furti, le nostre abitudini giornaliere possono essere profilate, i nostri dati sensibili possono essere rubati, o semplicemente le risorse computazionali a disposizione della casa possono essere utilizzate per gli scopi dell’attaccante.
Per monitorare questo ambiente abbiamo utilizzato degli honeypot (in Italiano, “vasi di miele”). Essi sono strumenti hardware/software utilizzati come “esche” per attirare eventuali attaccanti: il loro scopo è quello di esporre solamente l’interfaccia vulnerabile di un servizio o dispositivo completo, senza implementarne tutta la loro logica e funzionalità. Gli honeypot possono essere quindi utilizzati per attirare e registrare attacchi identificando “pattern” ricorrenti e nuovi. In questo modo è possibile quindi adottare le dovute contromisure istruendo attraverso opportune regole dei sistemi di controllo SIEM (Security Information Event Management). Un vantaggio caratteristico degli honeypot è quello che essi registrano attività solamente in caso si interagisca direttamente con loro, diminuendo così la quantità di dati da analizzare e minimizzando i falsi positivi. Per questo motivo, essi sono in grado di registrare efficacemente anche attacchi di tipo zero-day.
Torniamo adesso all’esperimento che abbiamo effettuato per testare la sicurezza delle reti IoT nelle nostre case. Abbiamo lasciato per due mesi (dicembre 2019 e gennaio 2020) tre differenti honeypot, ciascuno installato attraverso tecniche di virtualizzazione (Docker) all’interno di un Raspberry Pi. Questi honeypot sono Cowrie [4], Dionaea [5], e Whaler [6]. Ben tre perché non esiste al momento una soluzione unica in grado di tracciare tutti i protocolli che ci interessavano. L’utilizzo dell’architettura Raspberry è dovuto alla minimizzazione del costo energetico, vista la lunga durata dell’esperimento; questi dispostivi si avvicinano inoltre alle “cose’’ IoT, anche se sono sicuramente tra le più performanti tra esse (anche 4Gbyte di RAM, e svariate porte di connessione con l’esterno).
Gli attacchi sono stati monitorati sui protocolli 1) Cowrie: 22 (ssh), 23 (telnet), 2)Dionaea 21 (ftp), 42 (wins), 135 (msrpc), 443 (https), 445 (samba) 1433 (ms-sql), 1723 (pptp), 1883 (mqtt), 1900 (upnp), 3306 (mysql) 5060 (sip), 5061 (sip-tls), 8081 (http), 11211 (memcache), 69 (tftp), 3) Whaler 2375 (Docker Unencrypted Socket).
Al fine di concentrarci su device IoT, ci siamo rivolti maggiormente ai protocolli UPnP (Universal Plug and Play), MQTT (Message Queue Telemetry Transport) e XMPP (Extensible Message Passing Protocol). UPnP deriva da “universal plug-and-play” e permette a diversi terminali come smart-tv, stampanti, videocamere, console di gioco, di connettersi l’uno all’altro semplicemente. MQTT è un protocollo di messaggistica leggero di tipo “publish-subscribe”, utile in caso di banda limitata. XMPP è un protocollo aperto per la comunicazione in tempo reale (in forma di video, voce, testo) che utilizza XML (Extensible Markup Language) come linguaggio base per scambiare le informazioni. Infine, il monitoraggio dell’ambiente Docker potrebbe risultare al di fuori delle funzionalità di una rete IoT. Tutt’altro. L’eterogeneità delle configurazioni tipiche dei dispositivi IoT è spesso un ostacolo: le medesime applicazioni per questi device devono essere configurate per ogni differente ambiente (sistema operativo + hardware), se installate direttamente. Per questo motivo, servizi IoT racchiusi in container stanno diventando molto popolari: un esempio è Eclipse-Mosquitto (ovvero un broker MQTT dockerizzato), che ha raggiunto oltre dieci milioni di download [7].
Quello che abbiamo potuto rilevare dal nostro esperimento è stato molto interessante. Per esempio, in due mesi sono stati caricati sui nostri honeypot più di 3Gigabyte di malware: analizzando più in dettaglio, ai primi tre posti troviamo Mirai, Nyadrop, e Ircbot, quindi malware per creare botnet IoT. Inoltre, la seconda password più spesso tentata (in telnet per esempio) è stata “xc3511”, utilizzata di default da videocamere IP di produzione cinese (la password di gran lunga più usata è stata “admin”).
Passando ai tre protocolli tipici di servizi IoT, XMPP non ha ricevuto nessun attacco nei due mesi considerati, MQTT circa 4300 (quasi completamente provenienti dagli USA), mentre UPnP circa 85000 (in stragrande maggioranza dal Brasile). In aggiunta, abbiamo rilevato circa 43400 attacchi sulla porta Telnet (USA al primo posto) e 50800 su SSH (UK al primo posto). Chiaramente anche questi ultimi protocolli permettono di connettersi ai dispostivi IoT e impartire comandi. Le restanti porte hanno sollevato solamente una manciata di allarmi.
Per quanto riguarda il monitoraggio Docker, abbiamo registrato 50 indirizzi IP differenti che hanno installato un container sull’honeypot Whaler, molti di questi contenenti applicazioni di mining di criptovalute come Bytecoin e Monero, al fine quindi di utilizzare risorse computazionali altrui per i propri scopi. In Figura 1 possiamo vedere la geolocalizzazione di questi attacchi, in maggior parte provenienti da Europa e Stati Uniti (almeno nel periodo temporale considerato).
Che dire, quindi? La risposta al titolo del nostro articolo è ovviamente negativa se non prendiamo precauzioni. Dobbiamo essere molto attenti quando installiamo nuovi dispositivi IoT all’interno delle nostre case. Le password di default vanno cambiate, i servizi inutili vanno disabilitati, e l’accesso alla rete di casa dall’esterno deve essere protetto. Difendersi solamente controllando il traffico attraverso il gateway verso il mondo esterno può non bastare: la nostra rete e i nostri dispositivi rimangono comunque direttamente accessibili dai vicini, come dagli ospiti che portino con sé un cellulare, un tablet o un portatile.
Bibliografia
[1] Smart home: nel 2018 mercato in crescita del 52% – https://www.ilfattoquotidiano.it/2019/03/19/smart-home-nel-2018-mercato-in-crescita-del-52/5048220/
[2] Simone Cirani, Gianluigi Ferrari, Marco Picone, Luca Veltri – Internet of Things: Architectures, Protocols and Standards, ISBN: 978-1-119-35967-8 November 2018 408 Pages, Wiley
[3] Stefano Bistarelli, Emanuele Bosimini, Francesco Santini – A Report on the Security of Home Connections with IoT and Docker Honeypots, Italian Conference on Cybersecurity, Ita
[4] Cowrie: https://github.com/cowrie/cowrie
[5] Dionaea: https://github.com/DinoTools/dionaea
[6] Whaler: https://github.com/oncyberblog/whaler
[7] https://hub.docker.com/_/eclipse-mosquitto
Articolo a cura di Francesco Santini
https://www.ictsecuritymagazine.com/articoli/le-nostre-reti-iot-casalinghe-sono-sicure/