The emergence of WebAssembly allows attackers to hide the malicious functionalities of JavaScript malware in cross-language interoperations, termed JavaScript-WebAssembly multilingual malware (JWMM). However, existing anti-virus solutions based on static program analysis are still limited to monolingual code. As a result, their detection effectiveness decreases significantly against JWMM. The detection of JWMM is challenging due to the complex interoperations and semantic diversity between JavaScript and WebAssembly. To bridge this gap, we present JWBinder, the first technique aimed at enhancing the static detection of JWMM. JWBinder performs a language-specific data-flow analysis to capture the cross-language interoperations and then characterizes the functionalities of JWMM through a unified high-level structure called Inter-language Program Dependency Graph. The extensive evaluation on one of the most representative real-world anti-virus platforms, VirusTotal, shows that \system effectively enhances anti-virus systems from various vendors and increases the overall successful detection rate against JWMM from 49.1\% to 86.2\%. Additionally, we assess the side effects and runtime overhead of JWBinder, corroborating its practical viability in real-world applications.
翻译:WebAssembly的出现使攻击者能够将JavaScript恶意软件的恶意功能隐藏于跨语言互操作中,此类恶意软件被称为JavaScript-WebAssembly多语言恶意软件(JWMM)。然而,现有基于静态程序分析的反病毒解决方案仍局限于单语言代码。因此,其对JWMM的检测效能显著下降。由于JavaScript与WebAssembly之间复杂的互操作及语义多样性,JWMM的检测面临挑战。为弥补这一不足,我们提出JWBinder——首项旨在增强JWMM静态检测的技术。JWBinder通过执行特定于语言的数据流分析来捕获跨语言互操作,进而利用名为“跨语言程序依赖图”的统一高层结构表征JWMM的功能。在最具代表性的真实反病毒平台之一VirusTotal上进行的大规模评估表明,该系统能有效增强来自不同厂商的反病毒系统,将针对JWMM的整体成功检测率从49.1%提升至86.2%。此外,我们评估了JWBinder的副作用与运行时开销,证实了其在实际应用中的可行性。