other · CISPA Helmholtz Center · 2019
Memory Safety Preservation for WebAssembly
Vassena, Marco, Patrignani, Marco
Cited by 0Open access
Abstract
WebAssembly (Wasm) is a next-generation portable compilation target for deploying applications written in high-level languages on the web. In order to protect their memory from untrusted code, web browser engines confine the execution of compiled Wasm programs in a memory-safe sandbox. Unfortunately, classic memory-safety vulnerabilities (e.g., buffer overflows and use-after-free) can still corrupt the memory within the sandbox and allow Wasm code to mount severe attacks. To prevent these attacks, we study a class of secure compilers that eliminate (different kinds of) of memory safety violations. Following a rigorous approach, we discuss memory safety in terms of hypersafety properties, which let us identify suitable secure compilation criteria for memory-safety-preserving compilers. We conjecture that, barring some restrictions at module boundaries, the existing security mechanisms of Wasm may suffice to enforce memory-safety preservation, in the short term. In the long term, we observe that certain features proposed in the design of a memory-safe variant of Wasm could allow compilers to lift these restrictions and enforce relaxed forms of memory safety.
Cite this paper
Vassena, M., & Patrignani, M. (2019). Memory Safety Preservation for WebAssembly. CISPA Helmholtz Center. https://doi.org/10.60882/cispa.24614553
Vassena, Marco, and Marco Patrignani. “Memory Safety Preservation for WebAssembly.” CISPA Helmholtz Center, 2019, https://doi.org/10.60882/cispa.24614553.
Vassena, Marco, and Marco Patrignani. 2019. “Memory Safety Preservation for WebAssembly.” CISPA Helmholtz Center. https://doi.org/10.60882/cispa.24614553.
Vassena, M. and Patrignani, M. (2019) ‘Memory Safety Preservation for WebAssembly’, CISPA Helmholtz Center. Available at: https://doi.org/10.60882/cispa.24614553.
@misc{vassena2019memory,
title = {{Memory Safety Preservation for WebAssembly}},
author = {Vassena, Marco and Patrignani, Marco},
journal = {CISPA Helmholtz Center},
year = {2019},
doi = {10.60882/cispa.24614553}
}Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.