Security through Modularity in Wasm

Security through Modularity in Wasm

Speaker: Andreas Rossberg

Andreas Rossberg is a principal researcher and engineer with the Dfinity Foundation. In an earlier life he was a software engineer at Google, where he worked on V8, the JavaScript virtual machine. Prior to his move to industry he was a researcher at the Max Planck Institute for Software Systems. He is one of the designers of WebAssembly, authored its formalisation and specification, and is the champion of various proposals for enhancements. At Dfinity, he is working on employing Wasm for decentralised cloud computing and is the tech lead of the languages team. His research interests revolve around programming languages, ranging from foundational theory, over design, to implementation techniques.

Abstract

WebAssembly (Wasm) is a low-level code format that has seen adoption in a wide range of execution environments such as the web, mobile, edge computing, and cloud computing. Because it allows executing untrusted machine-level code, its design has to take security considerations into account, putting it into a permanent tension between performance and safety. In this presentation, we will give an overview of Wasm’s basic safety and security features, with a focus on its module system and the sandboxing that can be achieved with it. We argue that proper modularity is a key ingredient to security, and a strong and expressive notion of modularity is crucial in expressing and scaling flexible software architectures securely.