Cyber-physical WebAssembly: Secure Hardware Interfaces and Pluggable Drivers

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Van Kenhove, Michiel, Seidler, Maximilian, Vandenberghe, Friedrich, Dujardin, Warre, Hennen, Wouter, Vogel, Arne, Sebrechts, Merlijn, Goethals, Tom, De Turck, Filip, Volckaert, Bruno
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866914070929604608
author Van Kenhove, Michiel
Seidler, Maximilian
Vandenberghe, Friedrich
Dujardin, Warre
Hennen, Wouter
Vogel, Arne
Sebrechts, Merlijn
Goethals, Tom
De Turck, Filip
Volckaert, Bruno
author_facet Van Kenhove, Michiel
Seidler, Maximilian
Vandenberghe, Friedrich
Dujardin, Warre
Hennen, Wouter
Vogel, Arne
Sebrechts, Merlijn
Goethals, Tom
De Turck, Filip
Volckaert, Bruno
contents The rapid expansion of Internet of Things (IoT), edge, and embedded devices in the past decade has introduced numerous challenges in terms of security and configuration management. Simultaneously, advances in cloud-native development practices have greatly enhanced the development experience and facilitated quicker updates, thereby enhancing application security. However, applying these advances to IoT, edge, and embedded devices remains a complex task, primarily due to the heterogeneous environments and the need to support devices with extended lifespans. WebAssembly and the WebAssembly System Interface (WASI) has emerged as a promising technology to bridge this gap. As WebAssembly becomes more popular on IoT, edge, and embedded devices, there is a growing demand for hardware interface support in WebAssembly programs. This work presents WASI proposals and proof-of-concept implementations to enable hardware interaction with I2C and USB, which are two commonly used protocols in IoT, directly from WebAssembly applications. This is achieved by running the device drivers within WebAssembly as well. A thorough evaluation of the proof of concepts shows that WASI-USB introduces a minimal overhead of at most 8% compared to native operating system USB APIs. However, the results show that runtime initialization overhead can be significant in low-latency applications.
format Preprint
id arxiv_https___arxiv_org_abs_2410_22919
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Cyber-physical WebAssembly: Secure Hardware Interfaces and Pluggable Drivers
Van Kenhove, Michiel
Seidler, Maximilian
Vandenberghe, Friedrich
Dujardin, Warre
Hennen, Wouter
Vogel, Arne
Sebrechts, Merlijn
Goethals, Tom
De Turck, Filip
Volckaert, Bruno
Systems and Control
Software Engineering
The rapid expansion of Internet of Things (IoT), edge, and embedded devices in the past decade has introduced numerous challenges in terms of security and configuration management. Simultaneously, advances in cloud-native development practices have greatly enhanced the development experience and facilitated quicker updates, thereby enhancing application security. However, applying these advances to IoT, edge, and embedded devices remains a complex task, primarily due to the heterogeneous environments and the need to support devices with extended lifespans. WebAssembly and the WebAssembly System Interface (WASI) has emerged as a promising technology to bridge this gap. As WebAssembly becomes more popular on IoT, edge, and embedded devices, there is a growing demand for hardware interface support in WebAssembly programs. This work presents WASI proposals and proof-of-concept implementations to enable hardware interaction with I2C and USB, which are two commonly used protocols in IoT, directly from WebAssembly applications. This is achieved by running the device drivers within WebAssembly as well. A thorough evaluation of the proof of concepts shows that WASI-USB introduces a minimal overhead of at most 8% compared to native operating system USB APIs. However, the results show that runtime initialization overhead can be significant in low-latency applications.
title Cyber-physical WebAssembly: Secure Hardware Interfaces and Pluggable Drivers
topic Systems and Control
Software Engineering
url https://arxiv.org/abs/2410.22919