SoK: Analysis Techniques for WebAssembly
WebAssembly is a low-level bytecode language that enables high-level languages like C, C++, and Rust to be executed in the browser at near-native performance. In recent years, WebAssembly has gained widespread adoption and is now natively supported by all modern browsers. Despite its benefits, WebAs...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2024-02-01
|
Series: | Future Internet |
Subjects: | |
Online Access: | https://www.mdpi.com/1999-5903/16/3/84 |
_version_ | 1797240968092581888 |
---|---|
author | Håkon Harnes Donn Morrison |
author_facet | Håkon Harnes Donn Morrison |
author_sort | Håkon Harnes |
collection | DOAJ |
description | WebAssembly is a low-level bytecode language that enables high-level languages like C, C++, and Rust to be executed in the browser at near-native performance. In recent years, WebAssembly has gained widespread adoption and is now natively supported by all modern browsers. Despite its benefits, WebAssembly has introduced significant security challenges, primarily due to vulnerabilities inherited from memory-unsafe source languages. Moreover, the use of WebAssembly extends beyond traditional web applications to smart contracts on blockchain platforms, where vulnerabilities have led to significant financial losses. WebAssembly has also been used for malicious purposes, like cryptojacking, where website visitors’ hardware resources are used for crypto mining without their consent. To address these issues, several analysis techniques for WebAssembly binaries have been proposed. This paper presents a systematic review of these analysis techniques, focusing on vulnerability analysis, cryptojacking detection, and smart contract security. The analysis techniques are categorized into static, dynamic, and hybrid methods, evaluating their strengths and weaknesses based on quantitative data. Our findings reveal that static techniques are efficient but may struggle with complex binaries, while dynamic techniques offer better detection at the cost of increased overhead. Hybrid approaches, which merge the strengths of static and dynamic methods, are not extensively used in the literature and emerge as a promising direction for future research. Lastly, this paper identifies potential future research directions based on the state of the current literature. |
first_indexed | 2024-04-24T18:15:51Z |
format | Article |
id | doaj.art-79de2826d5504680ad6f6441ea5c011c |
institution | Directory Open Access Journal |
issn | 1999-5903 |
language | English |
last_indexed | 2024-04-24T18:15:51Z |
publishDate | 2024-02-01 |
publisher | MDPI AG |
record_format | Article |
series | Future Internet |
spelling | doaj.art-79de2826d5504680ad6f6441ea5c011c2024-03-27T13:42:15ZengMDPI AGFuture Internet1999-59032024-02-011638410.3390/fi16030084SoK: Analysis Techniques for WebAssemblyHåkon Harnes0Donn Morrison1Department of Computer Science, Norwegian University of Science and Technology, 7034 Trondheim, NorwayDepartment of Computer Science, Norwegian University of Science and Technology, 7034 Trondheim, NorwayWebAssembly is a low-level bytecode language that enables high-level languages like C, C++, and Rust to be executed in the browser at near-native performance. In recent years, WebAssembly has gained widespread adoption and is now natively supported by all modern browsers. Despite its benefits, WebAssembly has introduced significant security challenges, primarily due to vulnerabilities inherited from memory-unsafe source languages. Moreover, the use of WebAssembly extends beyond traditional web applications to smart contracts on blockchain platforms, where vulnerabilities have led to significant financial losses. WebAssembly has also been used for malicious purposes, like cryptojacking, where website visitors’ hardware resources are used for crypto mining without their consent. To address these issues, several analysis techniques for WebAssembly binaries have been proposed. This paper presents a systematic review of these analysis techniques, focusing on vulnerability analysis, cryptojacking detection, and smart contract security. The analysis techniques are categorized into static, dynamic, and hybrid methods, evaluating their strengths and weaknesses based on quantitative data. Our findings reveal that static techniques are efficient but may struggle with complex binaries, while dynamic techniques offer better detection at the cost of increased overhead. Hybrid approaches, which merge the strengths of static and dynamic methods, are not extensively used in the literature and emerge as a promising direction for future research. Lastly, this paper identifies potential future research directions based on the state of the current literature.https://www.mdpi.com/1999-5903/16/3/84WebAssemblyvulnerability analysisbrowser securitycryptojackingsmart contracts |
spellingShingle | Håkon Harnes Donn Morrison SoK: Analysis Techniques for WebAssembly Future Internet WebAssembly vulnerability analysis browser security cryptojacking smart contracts |
title | SoK: Analysis Techniques for WebAssembly |
title_full | SoK: Analysis Techniques for WebAssembly |
title_fullStr | SoK: Analysis Techniques for WebAssembly |
title_full_unstemmed | SoK: Analysis Techniques for WebAssembly |
title_short | SoK: Analysis Techniques for WebAssembly |
title_sort | sok analysis techniques for webassembly |
topic | WebAssembly vulnerability analysis browser security cryptojacking smart contracts |
url | https://www.mdpi.com/1999-5903/16/3/84 |
work_keys_str_mv | AT hakonharnes sokanalysistechniquesforwebassembly AT donnmorrison sokanalysistechniquesforwebassembly |