gpt4 book ai didi

webassembly - 转换为 WebAssembly 时使用什么语言有关系吗?

转载 作者:行者123 更新时间:2023-12-05 00:44:27 26 4
gpt4 key购买 nike

例如,C 没有与 Rust 相同的安全解决方案,但是用 Rust 编写的 WebAssembly 是否具有 Rust 的优点?

用 Rust 编写并转换为 WebAssembly 的程序会比用 C 编写的程序“更安全”吗?

最佳答案

是的。

虽然 WASM 本身可以防止一些攻击,但许多 Rust 无法或难以利用的攻击仍然存在于 C 到 WASM 程序中。 WASM 中至少存在以下攻击向量:

  • 整数溢出/下溢:它们是 C 中的 UB,但在 Rust 中定义。
  • 缓冲区溢出:WASM 使用线性内存。 Rust 防止缓冲区溢出,这些是 C 中的 UB。
  • 免费后使用:在安全的 Rust 中不可能有,那些在 C 中很常见。

  • 无论使用 C 还是 Rust 作为源语言,使用 WASM 都不应该进行其他一些攻击:
  • 任意操作系统级别的代码执行:WASM 根本没有这些。
  • WASM 中不需要可执行空间保护。

  • 使用这些攻击媒介的唯一方法是在浏览器本身中找到漏洞。

    关于webassembly - 转换为 WebAssembly 时使用什么语言有关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60056483/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com