Skip to main content
QUICK REVIEW

[论文解读] Android-COCO: Android Malware Detection with Graph Neural Network for Byte- and Native-Code

Peng Xu|arXiv (Cornell University)|Dec 19, 2021
Advanced Malware Detection Techniques被引用 7
一句话总结

本文提出 Android-COCO,一种基于图神经网络的方法,通过程序依赖图(PDG)嵌入技术,同时分析 DEX 字节码和本机代码(.so 文件),实现对 Android 恶意软件的检测。在包含 100,113 个应用的大规模数据集上,该方法达到 99.86% 的准确率,F-measure 超过最先进方法 5% 以上,是首个联合使用图嵌入技术分析字节码与本机代码以实现恶意软件检测的研究。

ABSTRACT

With the popularity of Android growing exponentially, the amount of malware has significantly exploded. It is arguably one of the most viral problems on mobile platforms. Recently, various approaches have been introduced to detect Android malware, the majority of these are either based on the Manifest File features or the structural information, such as control flow graph and API calls. Among those methods, nearly all of them only consider the Java byte-code as the target to detect malicious behaviors. However, Recent research and our own statistics show that native payloads are commonly used in both benign and malicious apps. Current state-of-the-art Android static analysis tools avoid handling native method invocation. None of those tools have the capability to capture the inter-language behaviors. In this work, we explore an ensemble mechanism, which presents how the combination of byte-code and native-code analysis of Android applications can be efficiently used to cope with the advanced sophistication of Android malware. We, therefore, present a multi-layer approach that utilizes deep learning, natural language processing (NLP), as well as graph embedding techniques to handle the threats of Android malware, both from the Java byte-code and native code. After that, we design an ensemble algorithm to get the final result of malware detection system. To be specific, the first layer of our detection approach operates on the byte-code of application and the native code level, whereas the second layer focuses on the ensemble algorithm. Large-scale experiments on 100,113 samples (35,113 malware and 65,000 benign) show that only byte-code sub-system yields 99.8% accuracy and native-code sub-system yields an accuracy of 96.6%, whereas the Android-COCO method attains an accuracy of 99.86% which outperforms various related works.

研究动机与目标

  • 解决基于清单文件的恶意软件检测方法的局限性,该方法在面对通过代码混淆隐藏恶意行为的恶意应用时会失效。
  • 弥补现有检测系统仅关注 DEX 字节码而忽略恶意本机代码的缺陷,而本机代码存在于 86% 的 Android 应用中。
  • 开发一种对常见混淆技术(如指令替换和代码隐藏)具有鲁棒性的、结构感知的恶意软件检测系统。
  • 将字节码与本机代码分析整合到统一的、基于集成学习的框架中,以提升检测准确率与泛化能力。
  • 证明图嵌入技术(特别是针对 PDG 和 FCG)在捕捉指示恶意行为的深层结构模式方面的有效性。

提出的方法

  • 将 DEX 字节码转换为程序依赖图(PDG),以建模函数之间的数据依赖与控制依赖关系。
  • 应用图嵌入技术,将 PDG 转换为固定大小的向量表示,以保留代码结构的拓扑与语义特征。
  • 对本机代码(.so 文件)采用相同的图嵌入方法,生成用于跨语言分析的结构化嵌入。
  • 在字节码与本机代码子系统生成的嵌入表示上,分别训练多层感知机(MLP)分类器。
  • 使用集成学习算法融合两个分类器的输出,以提升整体检测性能。
  • 采用两层架构:第一层通过图嵌入在 DEX 和本机代码上执行结构化检测,第二层通过集成学习融合结果。

实验结果

研究问题

  • RQ1从 DEX 字节码和本机代码中提取的程序依赖图(PDG)能否有效捕捉指示 Android 恶意软件的结构模式?
  • RQ2与传统基于特征或基于签名的方法相比,图嵌入技术在多大程度上提升了恶意软件检测的准确率?
  • RQ3结合字节码与本机代码分析在多大程度上提升了检测性能,特别是在对抗混淆恶意软件方面?
  • RQ4融合独立字节码与本机代码检测器结果的集成模型能否实现高于各子系统单独性能的整体准确率?
  • RQ5该方法在面对通过改变代码外观但不改变行为的高级混淆技术时,其鲁棒性如何?

主要发现

  • 基于 PDG 嵌入的字节码子系统在包含 100,113 个 Android 应用的数据集上(其中 35,113 个为恶意软件,65,000 个为良性应用)实现了 99.8% 的检测准确率。
  • 基于图嵌入的本机代码子系统在 .so 文件上实现了 96.66% 的检测准确率,证明了本机代码分析在恶意软件检测中的可行性。
  • 结合两个子系统的集成模型将整体准确率提升至 99.86%,在 F-measure 上显著优于最先进方法,提升超过 5.27%。
  • 所提出的方法是首个联合使用图嵌入技术分析 DEX 字节码与本机代码的研究,能够检测传统基于签名或清单文件的系统所无法识别的恶意软件。
  • 由于聚焦于程序的结构属性,该方法对常见混淆技术(如标识符重命名、代码隐藏和指令替换)具有良好的有效性。
  • 尽管性能优异,该方法在可扩展性方面仍面临挑战:由于内存消耗过高,无法处理节点数超过 90,000 的图,限制了数据集规模。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。