RIOT:
Towards Secure DevOps
on microcontroller-based IoT
Alexandre Abadie
Emmanuel Baccelli
Agenda
 Context
 RIOT: a brief overview
 Demo: Secure IoT DevOps with RIOT-fp
Internet
A multitude of
smaller, cheaper
microcontroller-
based devices
IoT: Cyber-Physical Deployments
Low-end IoT devices
- 1000x less energy
than RaspberryPi
- kBytes instead of
GBytes of memory
IoT: Device & Usecase Polymorphism
 Extremely varied use-cases, in almost all verticals
 Various vendors & architectures (8-bit, 16-bit, 32-bit)
 Various low-power communication technologies (BLE, 802.15.4, LoRa…)
iotworm.com
Software on Low-end IoT Devices
 IoT software before
 rudimentary embedded software, vendor-specific (vendor-locked?)
 IoT software now
 Cybersecurity, interoperability, device management requirements…
increase complexity + drive the need for a real OS
Middleware integration and
Application
RTOS
ApplicationOS and Middleware
Development time
Development time
This slide is partly borrowed from Hannes Tschofenig, ARM
IoT Software: Current Trends
O. Hahm et al. "Operating Systems for Low-End
Devices in the Internet of Things: a Survey,"
IEEE Internet of Things Journal, 2016.
ARM Cortex-M0+
Agenda
 Context
 RIOT: a brief overview
 Demo: Secure IoT DevOps with RIOT-fp
What is RIOT?
✓An operating system for IoT devices too small for Linux
✓A free, open source software platform & ecosystem
✓A world-wide community of developers
Large Open-Source Community
 2013: started as French-German research project
 2018: more than 200 contributors worldwide
 ~ 20,000 commits and ~10,000 Pull Requests
 Academics, makers, industry (SME & bigger companies)
 Hundreds of related scientific publications
 Products shipping with RIOT in US, Europe, Russia
 Yearly RIOT Summit conferences (summit.riot-os.org)
 next in Helsinki Sept. 5-6
Source:www.openhub.net/p/RIOT-OS
Monthly contributors
github.com/RIOT-OS/RIOT
E. Baccelli et al. ‘RIOT: an Open Source Operating System for Low-end
Embedded Devices in the IoT,’ IEEE Internet of Things Journal, 2018.
 Modularity around a micro-kernel –
building blocks, to be combined in all
thinkable ways; Caters for versatile use
cases & memory constraints;
 Unified APIs – across all hardware,
even for hardware-accessing APIs;
Enables code reuse and minimizes
code duplication;
 Vendor & techno. independence –
Vendor libraries: avoided; Design
decisions don’t tie RIOT to a particular
technology;
General-Purpose OS for low-end IoT
120+ boards supported
8-bit, 16-bit, 32bit MCUs
Minimal
config.
2,6kB RAM
3,2kB Flash
(Cortex-M)
Numerous Libraries
 Packages: bundling 3rd-party libraries
 Integrated on-the-fly at build–time
 Easy to add: just requires 2 Makefiles
 Patches (if needed) are typically minimal
C, C++ (JavaScript, Rust)
Network-level Interoperability
Wired & Bus
 CAN
 Ethernet
Low-power wireless LAN & WAN
 IEEE 802.15.4
 LoRa package
 BLE (work-in-progress)
IP Protocols Stacks
 Default stack (GNRC)
 Thread (package)
 lwIP (package)
 OpenWSN (in progress)
Experimental stacks
 CCN-lite (package)
 NDN-RIOT (package)
Agenda
 Context
 RIOT: a brief overview
 Demo: Secure IoT DevOps with RIOT-fp
RIOT-FP : Aiming for IoT cyber-security
RIOT-FP is an Inria project launched May 2019 combining RIOT with:
 Next generation IoT crypto primitives: small, fast and future-proof
 Secure IoT networking, object security, secure bootstrapping
 Formally verified IoT software modules within RIOT
 Secure IoT software updates, in practice, on most devices supported by RIOT
RIOT-fp on the web: https://future-proof-iot.github.io/
IoT Devices
Access point /
Border router
Low-power radio
IDE
Continuous
Integration
System
IoT Firmware
Update Repo
INTERNET 6LoWPAN, CoAP, SUIT
IoT
Software
Maintainer
(e.g. OEM)
DevOps for microcontroller-based IoT
RIOT Image 2
RIOT Image 1
Bootloader
Metadata
Metadata
Secure IoT Firmware Update: Workflow
RUNNING
IMAGE
Demo

#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-based IoT - Alexandre ABADIE, INRIA

  • 1.
    RIOT: Towards Secure DevOps onmicrocontroller-based IoT Alexandre Abadie Emmanuel Baccelli
  • 2.
    Agenda  Context  RIOT:a brief overview  Demo: Secure IoT DevOps with RIOT-fp
  • 3.
    Internet A multitude of smaller,cheaper microcontroller- based devices IoT: Cyber-Physical Deployments Low-end IoT devices - 1000x less energy than RaspberryPi - kBytes instead of GBytes of memory
  • 4.
    IoT: Device &Usecase Polymorphism  Extremely varied use-cases, in almost all verticals  Various vendors & architectures (8-bit, 16-bit, 32-bit)  Various low-power communication technologies (BLE, 802.15.4, LoRa…) iotworm.com
  • 5.
    Software on Low-endIoT Devices  IoT software before  rudimentary embedded software, vendor-specific (vendor-locked?)  IoT software now  Cybersecurity, interoperability, device management requirements… increase complexity + drive the need for a real OS Middleware integration and Application RTOS ApplicationOS and Middleware Development time Development time This slide is partly borrowed from Hannes Tschofenig, ARM
  • 6.
    IoT Software: CurrentTrends O. Hahm et al. "Operating Systems for Low-End Devices in the Internet of Things: a Survey," IEEE Internet of Things Journal, 2016. ARM Cortex-M0+
  • 7.
    Agenda  Context  RIOT:a brief overview  Demo: Secure IoT DevOps with RIOT-fp
  • 8.
    What is RIOT? ✓Anoperating system for IoT devices too small for Linux ✓A free, open source software platform & ecosystem ✓A world-wide community of developers
  • 9.
    Large Open-Source Community 2013: started as French-German research project  2018: more than 200 contributors worldwide  ~ 20,000 commits and ~10,000 Pull Requests  Academics, makers, industry (SME & bigger companies)  Hundreds of related scientific publications  Products shipping with RIOT in US, Europe, Russia  Yearly RIOT Summit conferences (summit.riot-os.org)  next in Helsinki Sept. 5-6 Source:www.openhub.net/p/RIOT-OS Monthly contributors github.com/RIOT-OS/RIOT E. Baccelli et al. ‘RIOT: an Open Source Operating System for Low-end Embedded Devices in the IoT,’ IEEE Internet of Things Journal, 2018.
  • 10.
     Modularity arounda micro-kernel – building blocks, to be combined in all thinkable ways; Caters for versatile use cases & memory constraints;  Unified APIs – across all hardware, even for hardware-accessing APIs; Enables code reuse and minimizes code duplication;  Vendor & techno. independence – Vendor libraries: avoided; Design decisions don’t tie RIOT to a particular technology; General-Purpose OS for low-end IoT 120+ boards supported 8-bit, 16-bit, 32bit MCUs Minimal config. 2,6kB RAM 3,2kB Flash (Cortex-M)
  • 11.
    Numerous Libraries  Packages:bundling 3rd-party libraries  Integrated on-the-fly at build–time  Easy to add: just requires 2 Makefiles  Patches (if needed) are typically minimal C, C++ (JavaScript, Rust)
  • 12.
    Network-level Interoperability Wired &Bus  CAN  Ethernet Low-power wireless LAN & WAN  IEEE 802.15.4  LoRa package  BLE (work-in-progress) IP Protocols Stacks  Default stack (GNRC)  Thread (package)  lwIP (package)  OpenWSN (in progress) Experimental stacks  CCN-lite (package)  NDN-RIOT (package)
  • 13.
    Agenda  Context  RIOT:a brief overview  Demo: Secure IoT DevOps with RIOT-fp
  • 14.
    RIOT-FP : Aimingfor IoT cyber-security RIOT-FP is an Inria project launched May 2019 combining RIOT with:  Next generation IoT crypto primitives: small, fast and future-proof  Secure IoT networking, object security, secure bootstrapping  Formally verified IoT software modules within RIOT  Secure IoT software updates, in practice, on most devices supported by RIOT RIOT-fp on the web: https://future-proof-iot.github.io/
  • 15.
    IoT Devices Access point/ Border router Low-power radio IDE Continuous Integration System IoT Firmware Update Repo INTERNET 6LoWPAN, CoAP, SUIT IoT Software Maintainer (e.g. OEM) DevOps for microcontroller-based IoT
  • 16.
    RIOT Image 2 RIOTImage 1 Bootloader Metadata Metadata Secure IoT Firmware Update: Workflow RUNNING IMAGE
  • 17.