Back to Search
Start Over
Twine: An Embedded Trusted Runtime for WebAssembly
- Source :
- ICDE, 2021 IEEE 37th International Conference on Data Engineering (ICDE)
- Publication Year :
- 2021
-
Abstract
- WebAssembly is an increasingly popular lightweight binary instruction format, which can be efficiently embedded and sandboxed. Languages like C, C++, Rust, Go, and many others can be compiled into WebAssembly. This paper describes Twine, a WebAssembly trusted runtime designed to execute unmodified, language-independent applications. We leverage Intel SGX to build the runtime environment without dealing with language-specific, complex APIs. While SGX hardware provides secure execution within the processor, Twine provides a secure, sandboxed software runtime nested within an SGX enclave, featuring a WebAssembly system interface (WASI) for compatibility with unmodified WebAssembly applications. We evaluate Twine with a large set of general-purpose benchmarks and real-world applications. In particular, we used Twine to implement a secure, trusted version of SQLite, a well-known full-fledged embeddable database. We believe that such a trusted database would be a reasonable component to build many larger application services. Our evaluation shows that SQLite can be fully executed inside an SGX enclave via WebAssembly and existing system interface, with similar average performance overheads. We estimate that the performance penalties measured are largely compensated by the additional security guarantees and its full compatibility with standard WebAssembly. An in-depth analysis of our results indicates that performance can be greatly improved by modifying some of the underlying libraries. We describe and implement one such modification in the paper, showing up to $4.1\times$ speedup. Twine is open-source, available at GitHub along with instructions to reproduce our experiments.<br />This publication incorporates results from the VEDLIoT project, which received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 957197
- Subjects :
- FOS: Computer and information sciences
Speedup
Computer Science - Cryptography and Security
Computer Science - Performance
business.industry
Computer science
Binary number
02 engineering and technology
computer.software_genre
Outsourcing
Performance (cs.PF)
Software
Computer Science - Distributed, Parallel, and Cluster Computing
020204 information systems
Component (UML)
0202 electrical engineering, electronic engineering, information engineering
Operating system
Leverage (statistics)
Distributed, Parallel, and Cluster Computing (cs.DC)
System interface
business
computer
Cryptography and Security (cs.CR)
Rust (programming language)
computer.programming_language
Subjects
Details
- Language :
- English
- ISBN :
- 978-1-72819-184-3
- ISBNs :
- 9781728191843
- Database :
- OpenAIRE
- Journal :
- ICDE, 2021 IEEE 37th International Conference on Data Engineering (ICDE)
- Accession number :
- edsair.doi.dedup.....c7b25427971d26acf7c043139ad58912