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. We evaluate our new, more robust, solution to prove that the implemented improvements do not reduce the efficiency of SSP.

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2024-11-19
DOI
https://doi.org/10.5281/zenodo.14186530
Primary Topic
Physical Unclonable Functions (PUFs) and Hardware Security
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Robust Stack Smashing Protection for WebAssembly

Zenodo (CERN European Organization for Nuclear Research)
Physical Unclonable Functions (PUFs) and Hardware Security
article

Robust Stack Smashing Protection for WebAssembly

article en

Abstract

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. We evaluate our new, more robust, solution to prove that the implemented improvements do not reduce the efficiency of SSP.

Zenodo (CERN European Organization for Nuclear Research)
Thales (France) (FR), Institut Polytechnique de Paris (FR)
Industry, innovation and infrastructure
Openalex Percentile: Top 56%
Physical Unclonable Functions (PUFs) and Hardware Security
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.