Robust Stack Smashing Protection for WebAssembly
WebAssembly is an instruction set architecture and binary format standard, designed for secure execution by an interpreter. This technology is identified as an alternative for current containerization technologies that is suitable for secure and lightweight orchestration for 5G/6G environments. Previous work has shown that WebAssembly is vulnerable to buffer overflow due to the lack of effective protection mechanisms.In this paper, we evaluate the implementation of Stack Smashing Protection (SSP) in WebAssembly standalone runtimes, and uncover two weaknesses in their current implementation. The first one is the possibility to overwrite the SSP reference value because of the contiguous memory zones inside a WebAssembly process. The second comes from the reliance of WebAssembly on the runtime to provide randomness in order to initialize the SSP reference value, which impacts the robustness of the solution.We address these two flaws by hardening the SSP implementation in terms of storage and random generator failure, in a way that is generalizable to all of WebAssembly.
Authors
- Dhouha Ayed
- Olivier Levillain (ORCID: https://orcid.org/0000-0002-0558-5015)
- Yohan Pipereau (ORCID: https://orcid.org/0009-0001-5437-0846)
- Quentin Michaud
Institutions
- Thales (France) (FR)
Publication Details
- Published
- 2024-10-15
- DOI
- https://doi.org/10.1109/fnwf63303.2024.11028722
- Primary Topic
- Digital Rights Management and Security
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- European Commission