Wobfuscator:将部分JavaScript恶意代码转换为WebAssembly以逃避检测

VSole2022-05-19 05:47:38

简介

目前的检测器以JavaScript为唯一的目标语言,然而忽略了WebAssembly可能带来的攻击。论文提出了第一个通过将计算的部分移动到WebAssembly中来逃避静态JavaScript恶意软件检测的技术。技术的核心是将JavaScript中实现恶意行为的片段翻译为WebAssembly。通过实验评估,该方法可以有效逃逸最先进的基于学习的静态恶意软件检测。

背景

WebAssembly(WASM):可以将任何高级语言编写的代码转换为浏览器可理解的机器码的技术,帮助简化编译过程,为用C和C++等语言编写的计算密集型库提供了一个有效的编译目标。

方法

Wobfuscator的整体架构如图1所示,输入为一个JavaScript文件,作者将其解析为AST,接下来,该方法识别潜在的转换片段(i)与检测相关的恶意代码和(ii)可以以保留语义的方式转换为WebAssembly的代码(该方法不是通用转换,只针对满足以上两点要求的代码片段)。最后输出转换后的JavaScript代码和多个生成的WebAssembly模块

  • 转换规则:作者定义了针对JavaScript不同特性的七个转换规则,如表1所示。七个转换规则可以大致分为三类:混淆数据、混淆函数调用和混淆控制流。
  • 实例化模块:对于以上七个转换规则,作者开发了两个变体用于同步和异步实例化WebAssembly模块。其中异步实例化可以不受浏览器对模块大小的限制并且可以将生成的模块放在单独的文件中。
  • 应用转换:主要包含三个步骤(a)识别能应用转换的AST节点;(b)通过修改可转换片段根节点的子树重写AST;(c)向AST根节点添加代码实例化WebAssembly模块。

实验

作者使用Node.js和Typescript实现Wobfuscator,使用数据集如表2所示。在Cujo、Zozzle、JaSt、JStap四个流行的静态JavaScript检测器上测试了Wobfuscator的有效性,同时与四种开源的JavaScript混淆工具进行了比较。转换的正确性和运行效率

局限性

  • Wobfuscator针对基于静态分析的恶意软件检测器可以有效地绕过,但对于基于动态分析的检测器可能不起作用。
  • 该方法只对满足要求的代码片段可以应用转换。
  • 浏览器需要支持WebAssembly。

缓解策略

  • 使用基于动态分析的恶意软件检测:作者提出的方法仍保留了原始的JavaScript恶意行为,动态检测器关注的运行特性不受混淆影响。
  • 基于Wobfuscator提及的转换规则设计检测规则:防御者可以基于对混淆细节的了解,定义相应的规则进行检测。但混淆代码不一定是恶意的,例如保护知识产权,直接将混淆技术分类为恶意可能导致大量误报。
  • 联合分析JavaScript和WebAssembly:联合分析数据和控制流如何在JavaScript和WebAssembly之间流动。
javascriptwebassembly
本作品采用《CC 协议》,转载必须注明作者和本文链接
目前的检测器以JavaScript为唯一的目标语言,然而忽略了WebAssembly可能带来的攻击。论文提出了第一个通过将计算的部分移动到WebAssembly中来逃避静态JavaScript恶意软件检测的技术。技术的核心是将JavaScript中实现恶意行为的片段翻译为WebAssembly。通过实验评估,该方法可以有效逃逸最先进的基于学习的静态恶意软件检测。
正因如此,WebAssembly 指令有时候被称为虚拟指令。模糊测试AFL模糊测试是一种软件测试技术。模糊测试常常用于检测软件或计算机系统的安全漏洞。阵阵的雷暴在线路上造成噪音,这些噪音又导致两端的UNIX命令获得错误的输入,并导致崩溃。作为一名科学家,他想探究该问题的严重程度及其原因。最后Fuzzm对AFL进行了高度优化,因此可以在wasm虚拟机上对程序进行模糊测试。
追求交互、效率、安全等方面的领先体验,是广大政企用户选择浏览器的重要标准。10月19日,奇安信可信浏览器先锋版率先升级至Chromium97内核,再次实现了国产浏览器与业界最前沿Chromium内核的紧密同步。
BlackBerry研究人员报告称,不常见编程语言,比如Go、Rust、Nim和DLang,逐渐成为恶意软件
Google已解决了Chrome浏览器中的一个新的零日漏洞,该漏洞已被广泛利用,一个月内便出现了第二个漏洞。该漏洞跟踪为CVE-2021-21193,是Blink渲染引擎中一个免费使用的漏洞。该漏洞是由一位匿名研究人员于3月9日报告给Google的,在撰写本文时,该公司并未透露有关该漏洞的详细信息,以避免其他威胁行动者利用该漏洞。阅读由Google发布的帖子。2021-02-23的Microsoft浏览器漏洞研究报告Abdulrahman Alqabandi[$ TBD] [1186287]高CVE-2021-21193:Blink后免费使用。
必修漏洞,就是必须修复、不可拖延的高危漏洞。
必修漏洞,就是必须修复、不可拖延的高危漏洞。
更为复杂的是,Wasm模块缺乏完整性检查,实际上无法确定应用程序是否被篡改。为了帮助说明WebAssembly的安全弱点,斯图加特大学和慕尼黑联邦国防军大学的一组学者在2020年进行了一项研究,发现了可用于写入任意内存、覆盖敏感数据和劫持控制流的安全问题。
点击上方 java那些事 ,选择 星标 公众号重磅资讯,干货,第一时间送达---假如大家正在编写前端代码,那
发布了该活动细节的网络安全公司 Sucuri 表示,在其一位客户每次导航到他们自己的 WordPress 门户时,他们的计算机都显着变慢后,它发起了一项调查。Sucuri 恶意软件研究员 Cesar Anjos说: “一旦解码,auto.js 的内容会立即显示加密矿工的功能,当访问者登陆受感染的站点时,该加密矿工就会开始挖矿。
VSole
网络安全专家