DetectBERT: Towards Full App-Level Representation Learning to Detect Android Malware

📄 arXiv: 2408.16353v1 📥 PDF

作者: Tiezhu Sun, Nadia Daoudi, Kisub Kim, Kevin Allix, Tegawendé F. Bissyandé, Jacques Klein

分类: cs.SE, cs.AI, cs.CR

发布日期: 2024-08-29

备注: Accepted at ESEM 2024


💡 一句话要点

DetectBERT:融合c-MIL与DexBERT的安卓恶意软件应用级检测方法

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture)

关键词: 安卓恶意软件检测 多示例学习 BERT 应用级分析 DexBERT

📋 核心要点

  1. 现有安卓恶意软件检测方法依赖静态分析等,难以捕捉复杂恶意行为。
  2. DetectBERT融合c-MIL与DexBERT,将类级别特征聚合为应用级表示,提升检测能力。
  3. 实验表明,DetectBERT超越现有方法,并能适应不断演变的恶意软件威胁。

📝 摘要(中文)

近年来,机器学习和深度学习显著提升了安卓恶意软件检测能力,但许多方法仍依赖于基础的静态分析、字节码或函数调用图,难以捕捉复杂的恶意行为。DexBERT是一种预训练的类BERT模型,专为安卓表示学习设计,通过分析APK中提取的Smali代码来丰富类级别的表示。然而,它一次只能处理一个Smali类,限制了其功能。本文提出了DetectBERT,它将相关的多示例学习(c-MIL)与DexBERT集成,以处理安卓恶意软件的高维度和可变性,从而实现有效的应用级检测。DetectBERT将类级别的特征视为MIL包中的实例,并将它们聚合为全面的应用级表示。评估表明,DetectBERT不仅超越了现有的最先进检测方法,还能适应不断演变的恶意软件威胁。此外,DetectBERT框架的多功能性在应用级分析和其他软件工程任务中具有广阔的应用前景,为研究和开发提供了新的途径。

🔬 方法详解

问题定义:现有安卓恶意软件检测方法,如基于静态分析、字节码或函数调用图的方法,难以有效捕捉恶意软件复杂的行为模式。DexBERT虽然能够学习Smali代码的类级别表示,但其一次只能处理一个Smali类,无法进行应用级别的整体分析,限制了其在实际应用中的效果。因此,如何有效地整合多个Smali类的特征,形成对整个应用的全面理解,是当前安卓恶意软件检测面临的一个重要挑战。

核心思路:DetectBERT的核心思路是将应用中的每个Smali类视为一个实例,整个应用视为一个包(bag)。利用多示例学习(MIL)的思想,即使包中只有部分实例是恶意的,也可以判断整个应用为恶意应用。此外,DetectBERT还引入了相关的多示例学习(c-MIL),考虑了Smali类之间的关联性,从而更准确地判断应用的恶意程度。通过这种方式,DetectBERT能够有效地处理安卓恶意软件的高维度和可变性,实现应用级别的恶意软件检测。

技术框架:DetectBERT的技术框架主要包含以下几个阶段:1) Smali代码提取:从APK文件中提取Smali代码。2) 类级别表示学习:使用DexBERT对每个Smali类进行编码,生成类级别的特征向量。3) 多示例学习:将每个应用的类级别特征向量组成一个包,利用c-MIL算法学习应用级别的表示。4) 恶意软件分类:使用学习到的应用级别表示进行恶意软件分类。

关键创新:DetectBERT的关键创新在于将相关的多示例学习(c-MIL)与DexBERT相结合,实现了应用级别的恶意软件检测。与传统的基于单一Smali类分析的方法相比,DetectBERT能够更全面地理解应用的整体行为,从而更准确地检测恶意软件。此外,c-MIL的使用考虑了Smali类之间的关联性,进一步提升了检测的准确性。

关键设计:DetectBERT的关键设计包括:1) 使用预训练的DexBERT模型作为类级别特征提取器。2) 采用c-MIL算法进行多示例学习,考虑Smali类之间的关联性。3) 使用合适的分类器(如支持向量机SVM或神经网络)进行恶意软件分类。具体的参数设置、损失函数和网络结构等细节,论文中可能没有详细说明,属于未知信息。

🖼️ 关键图片

fig_0

📊 实验亮点

DetectBERT在安卓恶意软件检测任务中取得了显著的性能提升,超越了现有的最先进方法。具体的数据提升幅度在论文中没有明确给出,属于未知信息。但论文强调DetectBERT能够适应不断演变的恶意软件威胁,表明其具有较强的鲁棒性和泛化能力。该方法为安卓恶意软件检测提供了一种新的思路,具有重要的研究价值。

🎯 应用场景

DetectBERT可应用于安卓应用商店的安全审核,帮助识别和过滤恶意应用,保护用户免受恶意软件的侵害。此外,该方法还可以用于移动安全公司进行恶意软件分析和威胁情报收集。DetectBERT的框架具有通用性,可以扩展到其他软件工程任务中,例如漏洞检测、代码缺陷预测等,具有广阔的应用前景。

📄 摘要(原文)

Recent advancements in ML and DL have significantly improved Android malware detection, yet many methodologies still rely on basic static analysis, bytecode, or function call graphs that often fail to capture complex malicious behaviors. DexBERT, a pre-trained BERT-like model tailored for Android representation learning, enriches class-level representations by analyzing Smali code extracted from APKs. However, its functionality is constrained by its inability to process multiple Smali classes simultaneously. This paper introduces DetectBERT, which integrates correlated Multiple Instance Learning (c-MIL) with DexBERT to handle the high dimensionality and variability of Android malware, enabling effective app-level detection. By treating class-level features as instances within MIL bags, DetectBERT aggregates these into a comprehensive app-level representation. Our evaluation demonstrates that DetectBERT not only surpasses existing state-of-the-art detection methods but also adapts to evolving malware threats. Moreover, the versatility of the DetectBERT framework holds promising potential for broader applications in app-level analysis and other software engineering tasks, offering new avenues for research and development.