WebAssembly - 安全性
-
简述
根据 WebAssembly.org 的官方网站,可在https://webassembly.org/docs/security/获得,WebAssembly 在安全方面的主要目标如下 -WebAssembly 的安全模型有两个重要目标 --
保护用户免受错误或恶意模块的侵害,以及
-
在上一条的约束下,为开发人员提供有用的原语和缓解措施,以开发安全的应用程序。
编译后的代码,即来自 C/C++/Rust 的 WASM 并不直接在浏览器内执行,而是使用 Javascript API。WASM 代码是沙盒化的,即通过 Javascript API 包装器执行,浏览器使用 API 与 WASM 对话。这是在浏览器中使用 .wasm 文件的示例。示例 - C 程序我们将使用 WASM explorer 来获取 wasm 代码 -下载 WASM 代码并使用它来测试 api。例子
输出
您将获得以下输出 -导出对象具有对要调用的函数的引用。要调用函数 square,您必须执行以下操作 - -
-
WASM 编译代码的问题
以下是 WASM 编译代码的问题 --
在将代码编译为 wasm 时,很难检查是否插入了任何恶意代码。目前没有可用的工具来验证代码。
-
Wasm 难以分析,错误/恶意代码可以在浏览器内轻松执行。
-