The number of connected devices is constantly growing, now in the tens of billions. Being generally mass-produced, it is not convenient, or even possible in some cases, to recall devices with software defects to the factory due to the enormous costs involved, in both economic and reputational terms. At the same time, these smart objects, each with their own vulnerabilities, can become part of botnets and other advanced attacks, posing a security risk. It's more important than ever to promptly update such devices over-the-air, ideally without impacting the device's quality of service (QoS). In this Thesis, we address the update problem at the operating system level. The product is ConceptOS: entirely written in Rust, it's a micro-kernel-based embedded OS, targeting ARM Cortex-M4 processors. This OS provides FOTA (firmware-over-the-air) update capability without specific hardware support, directly on NAND-type Flash Memory and with no device reboot. The device's functionality is provided by a group of hardware-isolated components, saved in a new binary format called HBF, and stored in a way to control memory fragmentation. All the needed logic is stored in the device itself, which is capable of accepting or refusing updates without depending on external services. Evaluation proves ConceptOS can guarantee a minimum impact on the QoS during an update, backed by state transfer between versions.

Il numero di dispositivi connessi è in costante crescita, ora nell'ordine delle decine di miliardi. Essendo generalmente prodotti in serie, non è conveniente, o addirittura possibile in alcuni casi, richiamare in fabbrica dispositivi con difetti software a causa degli enormi costi che comporta, sia in termini economici che reputazionali. Allo stesso tempo, questi oggetti intelligenti, ciascuno con le proprie vulnerabilità, possono entrare a far parte di botnet e altri attacchi avanzati, ponendo un rischio per la sicurezza. È più importante che mai aggiornare tempestivamente tali dispositivi over-the-air, idealmente senza influire sulla qualità del servizio (QoS) del dispositivo. In questa tesi, affrontiamo il problema dell'aggiornamento a livello di sistema operativo. Il prodotto è ConceptOS: interamente scritto in Rust, è un sistema operativo embedded basato su micro-kernel, destinato ai processori ARM Cortex-M4. Questo sistema operativo fornisce funzionalità di aggiornamento FOTA (firmware over-the-air) senza supporto hardware specifico, direttamente su memoria flash di tipo NAND e senza riavvio del dispositivo. La funzionalità del dispositivo è fornita da un gruppo di componenti isolati via hardware, salvati in un nuovo formato binario chiamato HBF e archiviati in modo da controllare la frammentazione della memoria. Tutta la logica necessaria è memorizzata nel dispositivo stesso, che è in grado di accettare o rifiutare aggiornamenti senza dipendere da servizi esterni. La valutazione dimostra che ConceptOS può garantire un impatto minimo sulla QoS durante un aggiornamento, supportato dal trasferimento dello stato tra le versioni.

ConceptOS : a micro-kernel approach to over-the-air firmware updates on resource constrained IoT systems

ASPESI, ANDREA
2021/2022

Abstract

The number of connected devices is constantly growing, now in the tens of billions. Being generally mass-produced, it is not convenient, or even possible in some cases, to recall devices with software defects to the factory due to the enormous costs involved, in both economic and reputational terms. At the same time, these smart objects, each with their own vulnerabilities, can become part of botnets and other advanced attacks, posing a security risk. It's more important than ever to promptly update such devices over-the-air, ideally without impacting the device's quality of service (QoS). In this Thesis, we address the update problem at the operating system level. The product is ConceptOS: entirely written in Rust, it's a micro-kernel-based embedded OS, targeting ARM Cortex-M4 processors. This OS provides FOTA (firmware-over-the-air) update capability without specific hardware support, directly on NAND-type Flash Memory and with no device reboot. The device's functionality is provided by a group of hardware-isolated components, saved in a new binary format called HBF, and stored in a way to control memory fragmentation. All the needed logic is stored in the device itself, which is capable of accepting or refusing updates without depending on external services. Evaluation proves ConceptOS can guarantee a minimum impact on the QoS during an update, backed by state transfer between versions.
ING - Scuola di Ingegneria Industriale e dell'Informazione
20-dic-2022
2021/2022
Il numero di dispositivi connessi è in costante crescita, ora nell'ordine delle decine di miliardi. Essendo generalmente prodotti in serie, non è conveniente, o addirittura possibile in alcuni casi, richiamare in fabbrica dispositivi con difetti software a causa degli enormi costi che comporta, sia in termini economici che reputazionali. Allo stesso tempo, questi oggetti intelligenti, ciascuno con le proprie vulnerabilità, possono entrare a far parte di botnet e altri attacchi avanzati, ponendo un rischio per la sicurezza. È più importante che mai aggiornare tempestivamente tali dispositivi over-the-air, idealmente senza influire sulla qualità del servizio (QoS) del dispositivo. In questa tesi, affrontiamo il problema dell'aggiornamento a livello di sistema operativo. Il prodotto è ConceptOS: interamente scritto in Rust, è un sistema operativo embedded basato su micro-kernel, destinato ai processori ARM Cortex-M4. Questo sistema operativo fornisce funzionalità di aggiornamento FOTA (firmware over-the-air) senza supporto hardware specifico, direttamente su memoria flash di tipo NAND e senza riavvio del dispositivo. La funzionalità del dispositivo è fornita da un gruppo di componenti isolati via hardware, salvati in un nuovo formato binario chiamato HBF e archiviati in modo da controllare la frammentazione della memoria. Tutta la logica necessaria è memorizzata nel dispositivo stesso, che è in grado di accettare o rifiutare aggiornamenti senza dipendere da servizi esterni. La valutazione dimostra che ConceptOS può garantire un impatto minimo sulla QoS durante un aggiornamento, supportato dal trasferimento dello stato tra le versioni.
File allegati
File Dimensione Formato  
Thesis - AndreaAspesi.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Tesi PDF
Dimensione 2.65 MB
Formato Adobe PDF
2.65 MB Adobe PDF   Visualizza/Apri
ExecutiveSummary - AndreaAspesi.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Sommario Esteso PDF
Dimensione 780.17 kB
Formato Adobe PDF
780.17 kB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/196133