Il mercato delle Low-Power Wide-Area Network (LPWAN) è in continua crescita, con un tasso di crescita CAGR di più del 100% e si prevede che si superi il miliardo di devices connessi nel 2023 [1]. Più del 30% dei devices è dedicato ad applicazioni di smart metering [2] che potrebbero trarre vantaggio ad usare LoRaWAN come tecnologia di comunicazione LPWAN.
LoRaWAN è una tecnologia relativamente nuova che permette uno scambio di dati a lungo raggio, con un'alta efficienza energetica, basso bitrate e basso costo. La prima versione di LoRaWAN 1.0 ha sofferto di molte vulnerabilità di sicurezza, che sono state successivamente rimosse nella nuova versione 1.1 [3, 4]. Tuttavia esistono ancora numerosi scenari in cui possono sorgere situazioni critiche non considerate dallo standard, come ad esempio device cloning, MAC commands enforcement oppure il rispetto dei limiti del duty-cycle.
La proposta di progetto prevede lo sviluppo di un Intrusion Detection System (IDS) specifico per reti LoRaWAN, che monitori il traffico e avverta gli amministratori qualora si verifichino potenziali situazioni sospette dal punto di vista della sicurezza. Questo sistema verrà sviluppato in concomitanza con il progetto di ricerca europeo H2020 sEcure and seamLess EdGe-to-cloud ANalyTics (ELEGANT), il quale obiettivo è quello di unificare gli ambienti di sviluppo su IoT, network edge e cloud.
L'IDS proposto è basato e sarà implementato su concetti di stream-computing. In questo modo sarà ottimizzato per essere eseguito su network edge, dove i devices potrebbero avere limiti stringenti di memoria e potenza di calcolo. In particolare, vogliamo sfruttare le risorse dei gateway LoRaWAN, che, nell'architettura classica, si comportano come dei semplici forwarders e non eseguono alcuna operazione computazionale utile alla gestione della rete. Inoltre, il design distribuito dell'IDS permetterà un'ottima scalabilità e renderà possibile l'esecuzione dello stesso on-demand.
I principali obiettivi del nostro progetto sono il miglioramento della sicurezza delle reti LoRaWAN e avanzamento del paradigma di edge-computing in ambiente LoRa / LoRaWAN.
Sotto l'aspetto della sicurezza, la versione 1.0 di LoRaWAN ha sofferto di molte criticità [3, 4]. Di conseguenza, la maggior parte delle mitigazioni e degli IDS proposti si concentra su LoRaWAN 1.0. Molte vulnerabilità sono state seguentemente risolte con la nuova versione 1.1. Sebbene nella letteratura non vi siano attacchi protocollari, che hanno come diretto bersaglio lo schema crittografico usato da LoRaWAN 1.1, sussistono ancora situazioni che potrebbero presentare vulnerabilità. Queste sono generate principalmente da due cause: da una parte possono esserci dispositivi 'rogue' che non rispettano a pieno il protocollo di comunicazione, ignorando ad esempio i MAC commands del Network Server, infrangendo le limitazioni sul duty-cycle oppure non rispettando il protocollo di accesso radio. Questi sono dovuti a errori o bug involontari nel firmware del dispositivo oppure causati volontariamente da un attaccante. Dall'altro lato abbiamo vulnerabilità causati da side-channels con cui un attaccante può guadagnare informazione che altrimenti sarebbe nascosta dal protocollo, come associare DevAddr e DevEUI di un dispositivo analizzando passivamente il suo traffico [14].
Tutt'ora non esistono soluzioni che risolvano le criticità esposte. In particolare, non esistono IDS dedicati a vulnerabilità di LoRaWAN 1.1 né sistemi che analizzino il traffico per coprire eventuali side-channels oppure per anomaly detection.
La nostra ricerca prevede lo sviluppo di un nuovo sistema che protegga una rete LoRaWAN quando una di queste situazioni viene rilevata. In particolare, il nostro IDS potrà allertare l'operatore quando si rilevano potenziali situazioni vulnerabili e, in caso fosse possibile, potrà prendere contromisure per arginare la vulnerabilità, in maniera autonoma.
Il sistema di IDS proposto, ha come ulteriore obiettivo di essere sviluppato seguendo il modello di programmazione stream-computing ed eseguito nella network edge. In particolare, questo IDS verrà sviluppato in concomitanza con il progetto europeo H2020 ELEGANT. Il progetto europeo si prefigge come obiettivo l'unificazione del mondo edge, IoT e cloud unificando gli ambienti di sviluppo. In questo modo un'applicazione può essere eseguita nel cloud o nell'edge senza ulteriore sforzo da parte degli sviluppatori. L'IDS proposto seguirà questa linea, promettendo di poter essere eseguito nell'edge come nel cloud on-demand, e potrà essere scalabile potendo coprire molti dispositivi LoRaWAN con pochissimo o zero overhead.
Sempre secondo il progetto ELEGANT, le applicazioni devono essere espresse sotto forma di data-operators, ovvero di funzioni map/reduce da applicare sullo stream di dati in arrivo. Seguendo questo modello, anche il nostro IDS sarà basato su stream computing, dove lo stream dei dati da processare è composto dai pacchetti in arrivo dai dispositivi LoRaWAN. Uno dei principali vantaggi di usare il paradigma di stream-computing, è che non è richiesta molta memoria per funzionare. Il nostro IDS dovrà analizzare lo stream di dati in arrivo e dovrà prendere delle decisioni senza analizzare dati che ha visto in precedenza. In altre parole non dovrà memorizzare o tener traccia di tutti i pacchetti LoRaWAN passati. Questo è particolarmente importante affinché l'IDS funzioni in un ambiente edge dove le macchine, in genere, possiedono scarse quantità di memoria.
Infine, il nostro IDS verrà eseguito in maniera distribuita ed il più possibile indipendentemente dal Network Server degli operatori LoRaWAN. In questo modo, per integrare il nostro IDS non si dovrà modificare il Network Server, che rappresenta la parte più critica della gestione della rete e un single point of failure di tutta l'architettura di una rete LoRaWAN.
Inoltre, lo sviluppo di un IDS stream-based e basato su edge computing ci permetterà di esplorare il concetto di edge computing in un ambiente LoRaWAN. Nell'architettura di una rete LoRaWAN, i gateways sono posti all'edge della network. Tuttavia la gestione della rete è centralizzata al Network Server. I gateways in questo scenario si occupano semplicemente di inoltrare i pacchetti dai dispositivi LoRaWAN al Network Server o viceversa, non eseguendo alcuna operazione utile alla gestione della rete stessa. L'IDS proposto verrebbe eseguito nella network edge, rappresentata proprio dai gateway in LoRaWAN, ovvero hardware che è già stato installato fisicamente ma che non viene sfruttato a pieno. In questo modo, implementare l'IDS proposto in una rete LoRaWAN fisica, significherebbe eseguire un semplice aggiornamento software, non richiedendo altro hardware dedicato da installare nel campo.