Sicurezza

EXEIN cambia i firmware dei dispositivi IoT e li rende sicuri

Gli oggetti connessi della Internet of Things non sono abbastanza sicuri. Dai monitor per bambini alle lampadine, dai controller delle centrali elettriche (sistemi SCADA) alle videocamere negli aeroporti, c’è bisogno di molta più sicurezza. Un bisogno a cui cerca di rispondere EXEIN, una giovane startup italiana con un’idea coraggiosa, che recentemente si è aggiudicata due milioni di euro in finanziamenti privati.

Fondata nel luglio 2018 da Gianni Cuozzo, come spinoff di Aspisec, Exein si fonda su un concetto apparentemente semplice: modificare il firmware degli oggetti in modo da renderlo intrinsecamente più sicuro. Una sfida notevole, considerato il gran numero di vulnerabilità esistenti; per comprendere la portata del problema basta pensare a Mirai, una botnet che include centinaia di milioni di oggetti IoT compromessi.

La risposta, ci spiega Cuozzo, si fonda sull’esperienza in ambito militare accumulata da Aspisec. I tecnici negli ultimi anni hanno lavorato molto alla modifica dei firmware dei sistemi di armamento, spesso in ottica offensiva; con EXEIN si sta tentando di trasformare questa esperienza in un prodotto commerciale diretto in primo luogo al settore industriale – e a medio termine, cinque o sei anni, anche al consumatore privato.

Secondo la loro stessa definizione, EXEIN si “inocula come un vaccino” nel firmware e agisce a basso livello per immunizzarlo. La sperimentazione è già in corso con alcuni grandi attori mondiali (fornitori di servizi e di hardware). Per dirla con le parole del comunicato stampa, EXEIN aggiunge un sistema intelligente al firmware, e lo rende capace di individuare le minacce e prendere contromisure in autonomia.

EXEIN sfrutta quindi tecniche di firmware exploitation, un vettore storicamente usato per installare del malware. Potremmo forse dire che è un rootkit a sua volta, e senza dubbio le somiglianze ci sono. Come è d’altra parte inevitabile visto che gli strumenti usati sono gli stessi, ma gli obiettivi diametralmente opposti.

Nel concreto, dato un sistema IoT, EXEIN può copiare (dump) il firmware dei dispositivi connessi, modificarlo e ricaricarlo sui dispositivi stessi. A quel punto il device (un sensore, una videocamera, un aspirapolvere, una controller SCADA, etc…) è “immunizzato” e può rispondere autonomamente a eventuali minacce. Non è necessaria una connessione costante o un controllo umano, e tutto avviene sul dispositivo stesso, nonostante le scarsissime risorse hardware a disposizione.

Una volta che EXEIN è “installato” all’interno del firmware, misura una serie di parametri (stato di RAM e ROM, attività della CPU, e molti altri). E usa poi questa “fotografia” per determinare lo stato sano del dispositivo, che sarà poi la cartina di tornasole per individuare eventuali minacce. Un’azione possibile grazie al machine learning, intelligenza artificiale direttamente sul dispositivo.

Il comunicato stampa specifica che EXEIN fa affidamento su un CNN (Convolutional Neural Network) integrato, “così non serve mandare i dati a un monitor centrale”, assicurando una maggiore resilienza della protezione. “EXEIN inoltre verifica continuamente l’integrità del codice del firmware e si assicura che le partizioni di memoria siano intatte […]”. EXEIN, secondo i suoi creatori, è in grado di riconoscere diversi “scenari insicuri”, come l’installazione di rootkit, installazioni reverse-shell o tentativi di accesso alla memoria.

I lettori più esperti a questo punto saranno probabilmente increduli: com’è possibile inserire un sistema di intelligenza artificiale così complesso con una potenza hardware quasi nulla? Stiamo davvero parlando di dare un “cervello” in sistemi con clock bassi (pochi MHz a volte) e con pochi kilobyte di memoria?

Cuozzo ci ha spiegato che proprio su questo aspetto si è lavorato negli ultimi due anni, riuscendo a ottenere infine il risultato sperato grazie a una funzione matematica sviluppata presso l’università di Berkley – oltre che naturalmente sulla stabilità software.

In sostanza il sistema sfrutta una cosa chiamata sigmoide di varianza (wikipedia), grazie a cui non è necessario elaborare tutti i dati costantemente – cosa che sarebbe impossibile date le scarse risorse hardware. Invece, ci si limita a rilevare variazioni sui picchi; ciò è sufficiente, sembra, anche a prevenire falsi positivi. Per esempio, se un sensore ambientale manda segnali forti per via di un acquazzone, il sistema saprà distinguerli da quelli che indicano una possibile manipolazione.

EXEIN, che sta già collaborando con alcune grandi e grandissime aziende del settore, ha già ottenuto buoni risultati nel retrofitting. Vale dire, ci spiega ancora Cuozzo, che si agisce su sistemi già sul mercato per modificare il firmware dei dispositivi esistenti. Data una rete di sensori connessi, per esempio, è possibile modificarne il firmware per aggiungere il sistema di machine learning. L’installazione di una nuova rete risulta anche più semplice, ed eventualmente EXEIN (o un suo analogo) si può installare anche in fabbrica.

Dall’industria alla casa. L’obiettivo immediato di EXEIN è di avere un prodotto pronto per il settore industriale entro 18 mesi, comprensivo di un SDK (Software Development Kit) con il quale i clienti potranno personalizzare la propria versione di EXEIN. A lungo termine, tuttavia, dovrebbe arrivare anche una versione per il mercato privato e residenziale.

Cuozzo ci ha aiutato a immaginare come potrebbe funzionare EXEIN in una casa piena di oggetti IoT. Ci sarebbe un’interfaccia da cui lanciare un’analisi della rete domestica e individuare tutti i dispositivi connessi: videocamere IP, stampanti, sensori di movimento, telefoni, router, frigoriferi e altri elettrodomestici … più passa il tempo e più si allunga la lista. A questo punto abbiamo a disposizione un pulsante per “immunizzare” la nostra IoT personale. EXEIN modificherà i firmware dei dispositivi, e si assicurerà in futuro che gli aggiornamenti siano sicuri (probabilmente con la collaborazione del produttore).

L’ultima domanda che ho fatto a Gianni Cuozzo riguarda la sicurezza dello stesso EXEIN. Se un criminale non potrà più entrare negli oggetti IoT, sarà tentato di colpire direttamente EXEIN; e se ci dovessero riuscire? E se dovesse scappare di mano? Dopotutto stiamo parlando di uno strumento potente, capace di controllare anche migliaia di dispositivi alla volta. Prendere il controllo di EXEIN potrebbe dire, in effetti, mettere le mani su una botnet pronta all’uso. Al momento, ci conferma Cuozzo, è un’ipotesi preoccupante; ma ci sono ancora molti mesi di lavoro prima di avere un prodotto finito, e di certo non mancherà l’occasione di affrontare la questione.