Arduino: aggiornamenti sicuri via etere

Arduino aggiornamenti

Ovvero, come Arduino ha sviluppato un modo più semplice per implementare l’aggiornamento sicuro via etere nei dispositivi embedded connessi

La connettività cloud e le tecnologie di comunicazione come le reti Wi-Fi e Bluetooth che l’abilitano offrono enormi opportunità per aggiungere applicazioni e funzionalità preziose ai prodotti domestici e industriali intelligenti, ma presentano anche notevoli rischi potenziali. Questo perché la connessione a uno smart device è una potenziale via d’accesso per malware o altre forme di attacco informatico.

Nei dispositivi embedded, la connettività cloud o IoT richiede le caratteristiche e le capacità del sistema operativo (OS) Linux: questo ha reso i dispositivi basati su piattaforma Linux il target privilegiato di hacker di ogni tipo. Ogni prodotto basato su Linux sul campo necessita quindi di una modalità robusta per scaricare e implementare le patch di sicurezza e altri aggiornamenti forniti over-the-air, garantendo l’integrità del prodotto e rettificando eventuali vulnerabilità che vengono rese note alla comunità Linux.

Per gli ingegneri che hanno una profonda conoscenza e una lunga esperienza dell’ambiente operativo Linux, l’esecuzione di aggiornamenti over-the-air (OTA) sicuri è un compito complesso e difficile, ma non insormontabile. Per chiunque altro, la complessità e la scarsa familiarità con il processo sono spesso ostacoli insuperabili, al punto che oggi molte unità di produzione basate su Linux sul campo vengono fornite prive della capacità di garantire la sicurezza del dispositivo tramite aggiornamenti OTA.

Così, quando Arduino, il famoso produttore di maker board e altri strumenti per lo sviluppo e la prototipazione di dispositivi embedded, ha deciso di sviluppare il suo primo prodotto basato su Linux OS, non ha esitato a dotarlo di funzionalità di sicurezza all’avanguardia, anche per gli aggiornamenti OTA. Questo prodotto, il Portenta X8, è un SOM (system-on-module) basato sul microprocessore i.MX8 Mini di NXP Semiconductors e viene fornito con una distribuzione Linux già pronta. Come la vasta gamma di schede basate su microcontrollori di Arduino, Portenta X8 è facile da usare e sicuro: la democratizzazione della tecnologia IoT è infatti la missione di Arduino.

Per questo motivo, Arduino ha anche implementato la piattaforma FoundriesFactory nel Portenta X8. Gestito dalla statunitense Foundries.io, il sistema software FoundriesFactory, basato su Linux, unifica e sincronizza strumenti e utility in ogni fase del ciclo di vita di un prodotto - dallo sviluppo del proof-of-concept al fleet management e dall’aggiornamento OTA allo smaltimento. La sua implementazione nel SOM Portenta X8 fornisce un modello per altri sviluppatori di dispositivi intelligenti connessi che necessitano di aggiornamenti OTA in modo sicuro, con il minor numero possibile di requisiti per lo sviluppo di software o di spese operative.

Aggiornamento OTA: una caratteristica essenziale ma non differenziante del prodotto

Quando si pensa di implementare aggiornamenti di sicurezza OTA, è opportuno riconoscere la gamma di funzioni che supportano il processo di aggiornamento. Il cuore di un aggiornamento OTA sono la trasmissione, la ricezione e l’installazione del pacchetto di codici di aggiornamento. Ma oltre a questo, è necessario avere un insieme di processi per autenticare il server di aggiornamento e il pacchetto di aggiornamento e per verificare l’integrità del pacchetto al momento della consegna al dispositivo finale. Per supportare queste funzioni, il sistema di aggiornamento OTA fa affidamento su elementi di sicurezza essenziali, come una root-of-trust e chiavi pubbliche e private conservate in una memoria sicura.

Questa catena di funzioni e capacità di sicurezza è un elemento ben noto dell’infrastruttura embedded che oggi protegge fortemente dispositivi come gli smartphone. Ma il solo fatto che questa infrastruttura sia importante non significa che sia anche unica o differenziata. L’intera infrastruttura di sicurezza, compreso l’aggiornamento OTA, è difatti una funzione “orizzontale” che si applica in modo simile a quasi tutti i dispositivi embedded connessi. Pertanto, come i sistemi operativi Linux o Windows, deve essere fornito come componente software di terze parti, pronto per l’installazione e gestito a vita da un fornitore specializzato, dedicato a questo compito.

Questo è il motivo per cui gli OEM di dispositivi embedded costruiscono prodotti sulla piattaforma FoundriesFactory: essa fornisce una serie completa di funzioni di gestione e sicurezza di dispositivi e fleet, basate su una micropiattaforma Linux (LmP) personalizzabile. Queste funzioni sono abilitate da una serie di strumenti e utility open-source, tutti integrati e configurati attraverso l’interfaccia di gestione di FoundriesFactory. La capacità di aggiornamento OTA, ad esempio, è fornita da The Update Framework (TUF), uno strumento sofisticato per la protezione del codice di aggiornamento e del processo di aggiornamento.

Facilità d’uso: Arduino soddisfa ogni requisito

Poiché Arduino ha implementato la piattaforma FoundriesFactory per la sicurezza, gli sviluppatori che utilizzano il SOM Portenta X8 possono gestire l’autenticazione del dispositivo, l’archiviazione sicura, il provisioning, la distinta base del software (SBOM) e l’aggiornamento del TUF, il tutto in un unico ambiente basato su cloud. Il sistema è altamente sicuro contro tutte le forme conosciute di attacchi informatici e malware e consente risposte rapide e specifiche per i dispositivi agli avvisi CVE (Common Vulnerabilities and Exposures) emergenti.

Il vantaggio speciale della piattaforma FoundriesFactory per Arduino è che può fornire una soluzione di aggiornamento OTA coerente con il suo obiettivo di fornire una facile esperienza agli sviluppatori.

Arduino Portenta X8 è supportato da un back-end di sviluppo software che include la funzione di aggiornamento OTA. Questo back-end si chiama Portenta X8 Board Manager, un plug-in scaricabile direttamente e ospitato nella piattaforma cloud di Arduino. Il Board Manager è un’implementazione speciale per Arduino del software FoundriesFactory; la sua interfaccia utente è familiare agli utenti dell’ambiente di sviluppo Arduino EE.

Per semplificare lo sviluppo del dispositivo, la distribuzione Arduino Linux fornita con il Portenta X8 è completa e pronta all’uso: un utente standard della piattaforma FoundriesFactory normalmente configura il proprio LmP, ma ciò non è necessario per gli utenti del Portenta X8, in quanto il kernel Linux è configurato e gestito da Arduino. Questa manutenzione si estende alla fornitura e all’installazione di aggiornamenti OTA per il kernel Linux e per i container sviluppati da Arduino, che vengono gestiti e distribuiti in remoto tramite Arduino in modo che lo sviluppatore non debba preoccuparsi della sicurezza del sistema operativo Linux principale.

Per i container e il codice applicativo dell’utente, l’aggiornamento OTA è facilmente gestibile ed eseguibile tramite il Portenta X8 Board Manager. Il software FoundriesFactory include un’utilità, chiamata Waves, per selezionare gli aggiornamenti e configurare il processo di aggiornamento.

L’intera esperienza di configurazione, protezione e sviluppo con Portenta X8 è straordinariamente semplice e intuitiva, come quella della nota gamma di schede a microcontrollore Arduino, nonostante trasporti lo sviluppatore nel complesso ambiente operativo Linux. Grazie ad Arduino e al software FoundriesFactory, questa complessità si cela dietro una serie di strumenti e interfacce utente intuitive e facili da usare. Inoltre, come è consuetudine di Arduino, la scheda e i suoi componenti software sono supportati in modo completo da tutorial, documentazione e un’ampia selezione di esempi di codice.

Per gli sviluppatori di dispositivi connessi intelligenti per applicazioni quali l’automazione industriale, l’automazione degli edifici, il telerilevamento e l’agricoltura intelligente, la realizzazione di prototipi e proof-of-concept non è mai stata così facile come con il Portenta X8; inoltre, essendo basato sulla piattaforma FoundriesFactory per la sicurezza a vita, gli utenti possono essere certi che la scheda è protetta in modo permanente dagli attacchi informatici.

 

* John Weil è Chief Marketing Officer presso Foundries.io, Marta Barbero è Product Manager presso Arduino

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome