Cage: Hardware-Accelerated Safe WebAssembly
Martin Fink, Dimitrios Stavrakakis, Dennis Sprokholt, Soham, Chakraborty, Jan-Erik Ekberg, Pramod Bhatotia

TL;DR
Cage is a hardware-accelerated toolchain that enhances WebAssembly's memory safety and sandboxing security using Arm's MTE and PAC features, with minimal performance overhead.
Contribution
It introduces a hardware-assisted system for WebAssembly that provides memory safety and security improvements on Arm hardware, supporting unmodified applications.
Findings
Minimal runtime overhead (<5.8%)
Memory overhead (<3.7%)
Sandboxing speedup (>5.1%)
Abstract
WebAssembly (WASM) is an immensely versatile and increasingly popular compilation target. It executes applications written in several languages (e.g., C/C++) with near-native performance in various domains (e.g., mobile, edge, cloud). Despite WASM's sandboxing feature, which isolates applications from other instances and the host platform, WASM does not inherently provide any memory safety guarantees for applications written in low-level, unsafe languages. To this end, we propose Cage, a hardware-accelerated toolchain for WASM that supports unmodified applications compiled to WASM and utilizes diverse Arm hardware features aiming to enrich the memory safety properties of WASM. Precisely, Cage leverages Arm's Memory Tagging Extension (MTE) to (i) provide spatial and temporal memory safety for heap and stack allocations and (ii) improve the performance of WASM's sandboxing mechanism. Cage…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Physical Unclonable Functions (PUFs) and Hardware Security · VLSI and Analog Circuit Testing
