中文

WASMixer:面向 WebAssembly 的二进制混淆

密码学与安全 2023-08-08 v1

摘要

WebAssembly(Wasm)是一种新兴的二进制格式,引起了我们领域的极大关注。然而,Wasm 二进制文件保护薄弱,因为攻击者可使用官方提供的可读文本格式(即 wat)或某些高级二进制分析工具对其进行读取、编辑与操纵。对 Wasm 二进制文件的逆向工程常被用于恶意目的,例如识别并利用二进制文件中暴露的经典漏洞与 Wasm 特有漏洞。然而,我们领域尚无可用的 Wasm 专用混淆器来保护 Wasm 二进制文件。为填补空白,本文提出 WASMixer——首个通用 Wasm 二进制混淆器,对 Wasm 二进制文件实施数据级(字符串字面量与函数名)与代码级(控制流与指令)混淆。我们提出一系列关键技术以克服 Wasm 二进制重写过程中的挑战,包括一种按需解密方法以最小化解密内存区数据带来的影响,以及用于处理 Wasm 中结构化控制流的代码拆分/重构算法。大量实验证明了 WASMixer 的正确性、有效性与高效性。我们的研究为 Wasm 二进制研究的有前景方向提供了启示,包括 Wasm 代码保护、Wasm 二进制多样化,以及 Wasm 二进制文件的攻防军备竞赛。

关键词

引用

@article{arxiv.2308.03123,
  title  = {WASMixer: Binary Obfuscation for WebAssembly},
  author = {Shangtong Cao and Ningyu He and Yao Guo and Haoyu Wang},
  journal= {arXiv preprint arXiv:2308.03123},
  year   = {2023}
}