[论文解读] Contrastive Learning for Robust Android Malware Familial Classification
本文提出 IFDroid,一种基于对比学习的系统,用于对混淆的 Android 恶意软件实现鲁棒且可解释的家族分类。通过将函数调用图经中心性分析转换为图像,并应用监督对比学习,IFDroid 在 69,421 个混淆样本上实现了 98.4% 的 F1 分数,优于最先进方法,同时通过 Grad-CAM++ 可视化实现基于热力图的可解释性。
Due to its open-source nature, Android operating system has been the main target of attackers to exploit. Malware creators always perform different code obfuscations on their apps to hide malicious activities. Features extracted from these obfuscated samples through program analysis contain many useless and disguised features, which leads to many false negatives. To address the issue, in this paper, we demonstrate that obfuscation-resilient malware family analysis can be achieved through contrastive learning. The key insight behind our analysis is that contrastive learning can be used to reduce the difference introduced by obfuscation while amplifying the difference between malware and other types of malware. Based on the proposed analysis, we design a system that can achieve robust and interpretable classification of Android malware. To achieve robust classification, we perform contrastive learning on malware samples to learn an encoder that can automatically extract robust features from malware samples. To achieve interpretable classification, we transform the function call graph of a sample into an image by centrality analysis. Then the corresponding heatmaps can be obtained by visualization techniques. These heatmaps can help users understand why the malware is classified as this family. We implement \emph{IFDroid} and perform extensive evaluations on two datasets. Experimental results show that \emph{IFDroid} is superior to state-of-the-art Android malware familial classification systems. Moreover, \emph{IFDroid} is capable of maintaining a 98.4\% F1 on classifying 69,421 obfuscated malware samples.
研究动机与目标
- 为解决由于 Android 应用中代码混淆导致的恶意软件家族分类不准确的问题。
- 开发一种对混淆具有鲁棒性的恶意软件分类系统,在结构化代码变换下仍能保持高准确率。
- 通过在学习表征上使用 Grad-CAM++ 可视化关键特征,实现可解释的分类。
- 证明对比学习能够减少混淆带来的噪声,同时增强不同恶意软件家族之间的语义差异。
提出的方法
- 使用四种中心性度量(度中心性、接近中心性、介数中心性和特征向量中心性)将每个 Android 应用的函数调用图转换为二维图像。
- 应用监督对比学习训练编码器,使其在正样本对(原始版本与混淆版本)之间最大化相似性,同时在负样本对(不同恶意软件家族)之间最小化相似性。
- 使用基于 CNN 的编码器从基于中心性的图像中提取鲁棒特征,并在训练过程中优化对比损失。
- 通过 Grad-CAM++ 生成类别判别性热力图,可视化图像中哪些区域(即图的子结构)对分类决策贡献最大。
- 利用预训练编码器通过持续学习实现对新恶意软件家族的零样本或少样本分类。
- 在包含 69,421 个混淆样本的两个数据集上评估系统,以衡量 F1 分数和鲁棒性。

实验结果
研究问题
- RQ1对比学习能否有效减轻代码混淆对恶意软件家族分类的影响?
- RQ2基于中心性的图到图像转换与对比学习的结合,能否产生用于恶意软件分类的鲁棒且可泛化的特征?
- RQ3与最先进 Android 恶意软件家族分类系统相比,所提出方法在准确率和鲁棒性方面表现如何?
- RQ4像 Grad-CAM++ 这类可视化技术能否为模型的分类决策提供有意义的可解释性?
主要发现
- IFDroid 在 69,421 个混淆的 Android 恶意软件样本上实现了 98.4% 的 F1 分数,证明其对代码混淆具有强大的鲁棒性。
- 该系统优于十种最先进恶意软件分类系统,包括 Dendroid、Apposcopy、FalDroid 和 DroidSIFT。
- 通过 Grad-CAM++ 生成的热力图成功突出了对分类起关键作用的子图区域,显著增强了模型的可解释性。
- 使用多种中心性度量可提高对对抗性攻击的抵抗力,因为构造有效扰动的复杂性显著增加。
- 预训练编码器可在无需完整微调的情况下,通过持续学习实现对新恶意软件家族的有效少样本分类。

更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。