Emergent Mind

Stop Hiding The Sharp Knives: The WebAssembly Linux Interface

(2312.03858)
Published Dec 6, 2023 in cs.OS and cs.SE

Abstract

WebAssembly is gaining popularity as a portable binary format targetable from many programming languages. With a well-specified low-level virtual instruction set, minimal memory footprint and many high-performance implementations, it has been successfully adopted for lightweight in-process memory sandboxing in many contexts. Despite these advantages, WebAssembly lacks many standard system interfaces, making it difficult to reuse existing applications. This paper proposes WALI: The WebAssembly Linux Interface, a thin layer over Linux's userspace system calls, creating a new class of virtualization where WebAssembly seamlessly interacts with native processes and the underlying operating system. By virtualizing the lowest level of userspace, WALI offers application portability with little effort and reuses existing compiler backends. With WebAssembly's control flow integrity guarantees, these modules gain an additional level of protection against remote code injection attacks. Furthermore, capability-based APIs can themselves be virtualized and implemented in terms of WALI, improving reuse and robustness through better layering. We present an implementation of WALI in a modern WebAssembly engine and evaluate its performance on a number of applications which we can now compile with mostly trivial effort.

We're not able to analyze this paper right now due to high demand.

Please check back later (sorry!).

Generate a summary of this paper on our Pro plan:

We ran into a problem analyzing this paper.

Newsletter

Get summaries of trending comp sci papers delivered straight to your inbox:

Unsubscribe anytime.

HackerNews
Reddit
Stop Hiding the Sharp Knives: The WebAssembly Linux Interface (2 points, 1 comment) in /r/hackernews
Stop Hiding The Sharp Knives: The WebAssembly Linux Interface (2 points, 1 comment) in /r/programming
Stop Hiding The Sharp Knives: The WebAssembly Linux Interface (1 point, 3 comments) in /r/WebAssembly
Stop Hiding the Sharp Knives: The WebAssembly Linux Interface (1 point, 1 comment) in /r/patient_hackernews