Skip to main content
QUICK REVIEW

[论文解读] Android Malware Detection using Large-scale Network Representation Learning

Rui Zhu, Chenglin Li|arXiv (Cornell University)|Jun 13, 2018
Advanced Malware Detection Techniques参考文献 16被引用 11
一句话总结

本文提出了一种新颖的Android恶意软件检测方法,利用图卷积网络(GCNs)从Android应用程序源代码和方法调用结构派生的程序表示图(PRGs)中学习深度表征。通过将应用程序建模为带属性的图,并采用异质图的批量训练方案,该方法在现有技术之上实现了更优的检测性能,标志着图表示学习在恶意软件检测中的首次应用。

ABSTRACT

With the growth of mobile devices and applications, the number of malicious software, or malware, is rapidly increasing in recent years, which calls for the development of advanced and effective malware detection approaches. Traditional methods such as signature-based ones cannot defend users from an increasing number of new types of malware or rapid malware behavior changes. In this paper, we propose a new Android malware detection approach based on deep learning and static analysis. Instead of using Application Programming Interfaces (APIs) only, we further analyze the source code of Android applications and create their higher-level graphical semantics, which makes it harder for attackers to evade detection. In particular, we use a call graph from method invocations in an Android application to represent the application, and further analyze method attributes to form a structured Program Representation Graph (PRG) with node attributes. Then, we use a graph convolutional network (GCN) to yield a graph representation of the application by embedding the entire graph into a dense vector, and classify whether it is a malware or not. To efficiently train such a graph convolutional network, we propose a batch training scheme that allows multiple heterogeneous graphs to be input as a batch. To the best of our knowledge, this is the first work to use graph representation learning for malware detection. We conduct extensive experiments from real-world sample collections and demonstrate that our developed system outperforms multiple other existing malware detection techniques.

研究动机与目标

  • 应对日益增长的、可绕过传统基于签名检测的Android恶意软件挑战。
  • 通过整合更高级别的源代码语义信息和方法级属性,克服仅依赖API分析的局限性。
  • 利用结构化程序表示上的深度图表示学习,开发一种可扩展且高效的恶意软件检测系统。
  • 通过基于图的建模捕捉复杂的行为模式,实现对零日和多态恶意软件的鲁棒检测。

提出的方法

  • 通过将方法调用建模为边、方法作为带属性的节点,从Android应用程序构建程序表示图(PRG)。
  • 通过添加方法级属性增强PRG,以从源代码中捕获更丰富的语义和结构信息。
  • 应用图卷积网络(GCN)将整个PRG嵌入为密集向量表示,以捕捉全局结构和语义特征。
  • 设计一种批量训练方案,以在单次前向传播中高效处理多个异质PRG,提升训练可扩展性。
  • 使用学习到的图嵌入训练GCN分类器,以区分良性与恶意应用程序。
  • 利用静态分析提取细粒度的程序结构,从而检测在API级别分析下不可见的细微恶意行为。

实验结果

研究问题

  • RQ1从结构化程序表示中进行图表示学习,是否能够超越传统基于API的方法,提升Android恶意软件检测效果?
  • RQ2图卷积网络在捕获Android应用程序中复杂、高层级行为模式方面,对恶意软件分类的有效性如何?
  • RQ3在PRG中引入方法级属性,在多大程度上提升了对规避技术的检测鲁棒性?
  • RQ4针对异质PRG的批量训练方案,是否能够实现在大规模应用数据集上的高效且可扩展的恶意软件检测?

主要发现

  • 所提出的方法在真实世界Android应用数据集上,相较于多种现有恶意软件检测技术,实现了更优的检测准确率。
  • 通过PRG引入源代码级别的语义信息,显著提升了模型检测复杂和混淆恶意软件的能力。
  • 使用图卷积网络能够有效学习应用程序中的全局结构模式,增强对零日威胁的检测能力。
  • 批量训练方案可高效处理多样化、异质的应用图,支持在大规模数据集上的可扩展性。
  • 该模型表现出强大的泛化性能,在与仅基于API和其他基于深度学习的基线方法的对比评估中表现更优。
  • 将方法属性集成到PRG中,可生成更具判别力的图嵌入,降低对隐蔽恶意软件的漏报率。

更好的研究,从现在开始

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

无需绑定信用卡

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