← 最新论文
💻 computer science

AndroWasm: an Empirical Study on Android Malware Obfuscation through WebAssembly

本文通过实证研究提出了一种名为"AndroWasm"的新型 Android 恶意软件混淆技术,利用 WebAssembly 模块隐藏恶意载荷并绕过包括 VirusTotal 和 MobSF 在内的主流静态分析与检测工具。

原作者: Diego Soi, Silvia Lucia Sanna, Lorenzo Pisu, Leonardo Regano, Giorgio Giacinto

发布于 2026-02-23
📖 1 分钟阅读☕ 轻松阅读

原作者: Diego Soi, Silvia Lucia Sanna, Lorenzo Pisu, Leonardo Regano, Giorgio Giacinto

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文《AndroWasm》就像是在讲一个关于“黑客如何利用新式伪装术,让手机里的坏蛋软件躲过安检”的故事。

为了让你更容易理解,我们可以把手机里的安卓系统(Android)想象成一个繁忙的机场,把杀毒软件(如 VirusTotal、MobSF)想象成机场安检员,而恶意软件(Malware)就是试图混入机场的恐怖分子

以下是这篇论文的核心内容,用大白话和比喻来解释:

1. 背景:安检员越来越聪明,但坏蛋也在进化

  • 现状:现在的安卓手机非常普及,但里面也藏着很多坏软件(病毒、勒索软件、间谍软件)。
  • 老办法:以前,坏蛋们喜欢用“变装术”(混淆代码、加密字符串)来骗过安检员。比如,把“偷钱”这个指令改成乱码,或者把代码藏起来。
  • 问题:现在的安检员(杀毒软件)很厉害,这些老把戏很容易被识破。
  • 新发现:这篇论文发现,坏蛋们开始使用一种叫 WebAssembly (Wasm) 的新技术。这就好比坏蛋不再穿普通的衣服,而是穿上了一套只有安检员看不懂的“高科技隐形斗篷”

2. 什么是 WebAssembly (Wasm)?

  • 比喻:想象一下,安卓手机原本只懂两种语言:Java/Kotlin(手机自带的官方语言)和 C/C++(底层语言)。
  • Wasm 是什么:Wasm 是一种全新的、通用的“国际语言”。它原本是为了让网页浏览器能运行像 3D 游戏这样的高性能程序而发明的。
  • 为什么危险
    • 它运行速度极快,像 native 代码一样。
    • 关键点:目前的机场安检员(杀毒软件)主要检查“官方语言”(Java 代码)。他们看不懂这种“国际语言”(Wasm)写的是什么。
    • 坏蛋把真正的坏心思(比如加密文件、偷照片)写成 Wasm 代码,然后塞进手机里。安检员扫一眼,只看到一堆乱码(Wasm 二进制文件),完全不知道里面藏着什么。

3. 坏蛋是怎么把 Wasm 塞进手机的?(三种方法)

论文研究了坏蛋在安卓手机里运行 Wasm 的三种“藏身术”:

  1. **伪装成网页 **(WebView)
    • 比喻:坏蛋在 APP 里开了一个“小窗户”(网页浏览器),在这个窗户里运行 Wasm。
    • 缺点:这就像在机场大厅里突然开了个临时摊位,虽然能藏东西,但太显眼了,用户容易发现。
  2. 伪装成 JavaScript 引擎
    • 比喻:坏蛋在 APP 里藏了一个“翻译官”(JS 引擎),让翻译官去读 Wasm 指令。
    • 缺点:需要带一个很大的翻译官,手机会变慢,而且翻译官本身容易被发现。
  3. **直接嵌入底层 **(Native Library / WasmEdge)
    • 比喻:这是最隐蔽的。坏蛋直接把 Wasm 引擎像“心脏起搏器”一样植入手机的最底层(原生代码库)。
    • 优点:不需要网页,不需要翻译官,直接和手机系统对话。这是目前最隐蔽、最难被发现的方法。

4. 实验:坏蛋真的能骗过安检吗?

研究人员做了两个“模拟恐怖袭击”的实验(Proof-of-Concept):

  • 实验一:勒索软件(Ransomware)

    • 任务:把手机里的文件全部锁死,要钱才给解锁。
    • 结果
      • 普通版:被 66 个杀毒引擎中的 27 个 抓到了。
      • Wasm 伪装版:同样的功能,但核心代码藏在 Wasm 里。结果只有 7 个 杀毒引擎发现了它!
      • 结论:Wasm 让勒索软件的隐蔽性大大提升,大部分安检员都“瞎”了。
  • 实验二:间谍软件(Spyware)

    • 任务:偷偷把手机里的照片传到黑客服务器。
    • 结果
      • 普通版:因为代码里有明显的“发送数据”指令,容易被发现。
      • Wasm 伪装版:坏蛋把“发送数据”的具体指令(比如网址)藏在 Wasm 里,只让手机去执行。
      • 结论:杀毒软件虽然能看到手机在“联网”,但看不到它具体连了哪个坏网址(IoC,即入侵指标)。就像看到一个人拿着包裹在跑,但不知道包裹里装的是炸弹还是糖果。

5. 我们该怎么办?(防御指南)

既然坏蛋用了新斗篷,安检员也得升级装备。论文给出了一些建议:

  • 不要只看表面:安检员不能只检查 Java 代码,必须学会拆解 Wasm 文件
  • 寻找特征
    • 检查有没有 .wasm 文件。
    • 检查有没有奇怪的“字节数组”(Wasm 文件的开头通常有特定的魔法数字 00 61 73 6D)。
    • 检查有没有加载了像 WasmEdge 这样的特殊引擎库。
  • 动态监控:如果静态扫描(看代码)看不出来,就等程序跑起来的时候,用工具(如 Frida)去“监听”它的内存,看看它到底在干什么。

总结

这篇论文就像给安全专家敲了一记警钟:
“坏蛋们已经换上了‘隐形斗篷’(WebAssembly)

以前,我们只要盯着手机里的“官方语言”(Java)看就能抓坏人;现在,坏蛋把真正的坏心思藏在了一个我们还没完全掌握的“新语言”(Wasm)里。如果不赶紧学会识别这种新语言,未来的手机安全防线可能会出现巨大的漏洞。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →