Securing Stack Smashing Protection in WebAssembly Applications

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Michaud, Quentin, Pipereau, Yohan, Levillain, Olivier, Ayed, Dhouha
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866929555553386496
author Michaud, Quentin
Pipereau, Yohan
Levillain, Olivier
Ayed, Dhouha
author_facet Michaud, Quentin
Pipereau, Yohan
Levillain, Olivier
Ayed, Dhouha
contents WebAssembly is an instruction set architecture and binary format standard, designed for secure execution by an interpreter. 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.
format Preprint
id arxiv_https___arxiv_org_abs_2410_17925
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Securing Stack Smashing Protection in WebAssembly Applications
Michaud, Quentin
Pipereau, Yohan
Levillain, Olivier
Ayed, Dhouha
Cryptography and Security
WebAssembly is an instruction set architecture and binary format standard, designed for secure execution by an interpreter. 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.
title Securing Stack Smashing Protection in WebAssembly Applications
topic Cryptography and Security
url https://arxiv.org/abs/2410.17925