高级检索

    WebAssembly安全综述

    Survey of WebAssembly Security

    • 摘要: WebAssembly是一种新兴的二进制指令集体系结构与代码分发格式,旨在为高级程序语言提供统一且架构无关的编译目标. 由于其安全、高效与可移植等先进特性,WebAssembly在Web领域与非Web领域均得到了广泛应用,正在成为最有前景的跨平台公共语言标准之一. 尽管WebAssembly提供了多种先进特性以保证安全性,然而,已有研究表明,WebAssembly仍然存在特有的攻击面从而导致安全问题,这些安全问题直接影响到基于WebAssembly的整个软件系统生态. 因此,对WebAssembly安全问题的产生机理、现有解决方案以及亟待解决的科学问题展开系统研究尤为重要. 基于WebAssembly安全研究领域已经公开发表的42篇研究论文,对WebAssembly安全的相关研究进行了系统研究、分析、归纳和总结:首先,研究分析了WebAssembly的核心安全特性,并在此基础上首次提出了WebAssembly的4层安全威胁模型,包括高级语言支持、编译工具链、二进制表示和语言虚拟机,并对每一层的安全威胁和攻击面进行了详细讨论;其次,提出了WebAssembly安全研究的分类学,将已有研究划分为安全实证研究、漏洞检测与利用、安全增强、形式语义与程序验证4个热点研究方向,并对这4个方向分别进行了综述、分析和总结;最后,指出了该领域待解决的科学问题,并展望了5个潜在的研究方向.

       

      Abstract: WebAssembly is an emerging binary instruction set architecture and code distribution format, providing a unified compiling target for high-level programming languages. Due to its design advantages such as efficiency, security and portability, WebAssembly has already been widely used in the Web and non-Web scenarios, and it is becoming one of the most promising platform-independent language runtimes. Although WebAssembly provides a variety of advanced features to guarantee its security, existing studies have demonstrated that WebAssembly still has unique attack surfaces leading to serious security issues. These security issues pose challenges to the security of whole ecosystems based on WebAssembly. Therefore, it is critical to study the security issues of WebAssembly and their mitigations. To the best of our knowledge, we present the first study of WebAssembly security, based on 42 published research papers in this area. First, we systematically analyze and summarize key security features of WebAssembly. Second, we propose the first four-layer threat model for WebAssembly: threats from high-level programming languages, compilation toolchains, binary files, and WebAssembly virtual machines. Third, we propose a taxonomy to classify current research efforts into four categories: empirical security study, vulnerability detection and exploitation, security enhancements, and formal semantics and verifications. Finally, we point out potential challenges to be addressed in this field, as well as five future research directions to be explored.

       

    /

    返回文章
    返回