Performant Bounds Checking for 64-Bit WebAssembly
WebAssembly is becoming increasingly popular for various use cases due to its high portability, strict and easily enforceable isolation, and its comparably low run-time overhead. For determinism and security, WebAssembly guarantees that accesses to unallocated memory inside the 32-bit address space produce a trap. Typically, runtimes implement this by reserving all addressable WebAssembly memory in the host virtual memory and relying on page faults for out-of-bounds accesses.
To accommodate for programs with higher memory requirements, several execution runtimes also implement a 64-bit address space. However, bounds checking solely relying on virtual memory protection cannot be easily extended for 64 bits. Thus, popular runtimes resort to traditional bounds checks in software, which are required frequently and therefore incur a substantial run-time overhead.
In this paper, we explore different ways to lower the bounds checking overhead for 64-bit WebAssembly using virtual memory techniques provided by modern hardware. In particular, we implement and analyze using shadow memory pages, using a combination of software checks and virtual memory, and using unprivileged memory protection mechanisms like x86-64 memory keys. Our results show that we can reduce the bounds checking overhead from more than 100% when using software bounds checks to only 12.7% using a combination of shadow memory and guard pages.
Sun 20 OctDisplayed time zone: Pacific Time (US & Canada) change
16:00 - 17:30 | |||
16:00 30mResearch paper | On Automating Hybrid Execution of Ahead-of-Time and Just-in-Time Compiled Code VMIL Christoph Pichler Johannes Kepler University Linz, Paley Li Oracle, Roland Schatz Oracle Labs, Hanspeter Mössenböck JKU Linz DOI Pre-print | ||
16:30 30mResearch paper | Performant Bounds Checking for 64-Bit WebAssembly VMIL DOI Pre-print | ||
17:00 30mResearch paper | Reducing Feedback Pollution VMIL Michal Stepanek Czech Technical University, Sebastián Krynski Czech Technical University in Prague, Filip Riha Czech Technical University, Filip Křikava Czech Technical University in Prague, Jan Vitek Northeastern University DOI Pre-print |