Page 276 - 《软件学报》2026年第4期
P. 276
凌祥 等: RMDroid: 基于多模态融合学习的安卓恶意软件鲁棒检测 1717
进一步地, 随着人工智能技术在图像、语音、自然语言处理等领域的蓬勃发展, 越来越多的安卓恶意软件检
测方法和工具开始利用机器学习或者深度学习模型的强大学习能力来检测新出现的恶意软件, 称之为基于学习的
安卓恶意软件检测方法, 从而弥补传统安卓恶意软件检测方法的不足 [14] . 具体而言, 基于学习的安卓恶意软件检
测方法首先从安卓软件 (即 APK 文件) 中提取不同类型的特征 (例如, 权限、组件、API 调用、控制流、字节码
等) 并进一步将其表示成相应的特征向量, 然后输入到特定的机器学习模型或者深度学习模型中进行训练, 从而使
得训练后的模型具备识别安卓恶意软件的能力. 这种最新的基于学习的安卓恶意软件检测方法可以基于软件的静
态特征或动态特征来学习恶意软件和良性软件之间的潜在差异, 在部署后获得突出的恶意软件检测效果.
然而, 近年来机器学习或者深度学习在计算机视觉、语音识别、自然语言处理等领域已经被广泛证明是容易
受到对抗样本攻击威胁的 [15] . 在恶意软件检测领域中, 随着基于学习的安卓恶意软件检测方法的广泛使用, 攻击
者开始考虑如何利用对抗攻击方法绕过这些基于学习的安卓恶意软件检测方法 [16] , 从而达到恶意攻击安卓操作
系统的目的. 例如, 针对基于函数调用图的安卓恶意软件检测模型, Zhao 等人 [17] 提出的一种基于启发式优化强化
学习的结构化对抗攻击方法 HART, 在保证安卓恶意软件语义不变的情况下, 通过修改函数调用图生成对抗性安
卓恶意软件, 从而可以以超过 90% 的攻击成功率绕过 MalScan [18] 、MaMaDroid [19] 等当前先进的安卓恶意软件检
测方法.
综上, 本文认为当前基于学习的安卓恶意软件检测方法 [20] 主要建立在单一模态 (即某一特定类型的特征, 例
如, 函数调用图等) 之上, 而以单一模态存在的特征是非常容易被攻击者所操控的 (例如, 修改函数间的调用关系,
增加空函数等), 这是当前基于学习的安卓恶意软件检测方法容易受到对抗攻击威胁的根本原因 [21] .
因此, 研究人员在利用多模态软件特征进行恶意软件检测方面作出了一些探索工作, 相比单一模态取得了更
高的鲁棒性. 例如, Kim 等人 [22] 从安卓软件的 Manifest 文件、Dalvik 字节码以及共享库中构造丰富的静态特征并
生成相应的特征向量, 最终结合多模态深度学习模型进行检测. 2025 年, Zhang 等人 [23] 从安卓软件中提取由函数
调用图表示的静态特征和 API 调用图表示的动态特征进行安卓恶意软件检测. Li 等人 [24] 利用预训练的语言模型
和视觉模型分别从安卓软件的源代码以及二进制代码中提取特征进行训练并预测恶意软件. Chen 等人 [25] 提出了
一种类集合调用图的新表征来融合结构和语义特征, 并使用多模态特征融合网络来进行恶意软件识别. 然而, 尽管
这些方法从不同角度融合安卓软件的多模态特征, 但本质上是采用冗余的思想提高模型检测的鲁棒性, 单一模态
下的对抗性扰动产生的影响随着特征融合被传递到上层的分类预测网络中, 导致恶意软件检测模型仍然不可避免
地受到对抗性攻击的影响导致鲁棒性降低.
因此, 为了进一步提高当前基于学习的安卓恶意软件检测方法的鲁棒性, 本文提出了一种基于多模态融合学
习的安卓恶意软件鲁棒检测方法 RMDroid, 通过主动识别可能被扰动的模态从而自适应加权削弱被扰动的模态
特征给模型预测结果带来的负面影响, 进而在保证不降低甚至提高当前恶意软件检测准确性的情况下, 提高其抵
御对抗样本攻击的鲁棒性. 具体而言, RMDroid 首先从待测安卓软件中提取与挖掘不同模态的特征信息, 具体包
括灰度图模态特征、API 调用序列模态特征和控制流图 (control flow graph, CFG) 模态特征; 其次, 基于所提取的
3 种模态特征, RMDroid 分别利用相应的深度学习模型, 包括卷积神经网络 (convolutional neural network, CNN)、
循环神经网络 (recurrent neural network, RNN) 和图神经网络 (graph neural network, GNN), 充分地学习灰度图模态、
API 调用序列模态和控制流图模态的深层语义信息, 从而得到相应模态的特征向量; 最后, 针对所有学习得到的多
模态特征向量, 提出基于鲁棒融合学习的恶意软件鲁棒检测模型, 通过降低甚至消除多模态特征中受到对抗攻击
干扰的模态特征对最终恶意软件预测的影响, 从而提升其抵御对抗攻击的鲁棒性.
为了充分地评估与验证 RMDroid 检测一般性恶意软件的检测有效性和检测对抗性恶意软件的鲁棒性, 本文
在包含 28 456 个恶意安卓软件和善意安卓软件的标准数据集上, 系统地对比了 RMDroid 与 3 个现有最好的安卓
恶意软件基线检测方法的有效性指标和鲁棒性指标. 实验结果表明, 在有效性评估方面, 本文所提出的 RMDroid
的 5 个有效性指标均高于所有基线检测方法的有效性指标, 特别是在误报率 (false positive rate, FPR) 相同的情况
下检出率 (true positive rate, TPR) 比最好的基线检测方法的 TPR 值还要高出 10% 以上; 在鲁棒性评估方面, 设置
了 3 种不同的对抗攻击情况, 并选择了 3 种最具代表性的基线恶意软件检测方法与 RMDRroid 进行比较, 最终结

