Page 287 - 《软件学报》2026年第4期
P. 287
1728 软件学报 2026 年第 37 卷第 4 期
实际场景中安卓恶意软件检测训练数据与测试数据的分布情况, 因此可以用来充分地评估安卓恶意软件检测方法
中时间迁移对检测有效性的影响.
3.1.2 评价指标
为了全面地评估本文所提出的安卓恶意软件鲁棒检测方法, 本文主要从恶意软件检测的有效性和鲁棒性两大
类指标进行实验评估.
(1) 有效性指标: 恶意软件检测方法的有效性通常指的是能够准确地分类出善意软件和一般恶意软件的能力.
由于恶意软件检测方法本质上可以看作一种特殊的二分类模型, 本文主要采用二分类模型的评价指标, 即 AUC、
TPR、FPR、bACC, 来评估所提出检测方法和基线检测方法在同一数据集上的有效性. 具体而言, AUC (area under
the ROC curve) 指的是接受者操作特性 ROC 曲线下的面积, AUC 值越大, 说明恶意软件检测方法的有效性越高.
此外, 本文进一步评估在假阳率 FPR (false positive rate) 相同的情况下本文所提出检测方法和基线检测方法的真
阳率 TPR (true positive rate) 和平衡准确率 bACC (balanced accuracy), 具体计算公式如下所示:
f p
FPR = (14)
f p+tn
tp
TPR = (15)
tp+ fn
TPR+TNR tn
bACC = , TNR = (16)
2 f p+tn
其中, tp、 f p、 tn、 fn 分别表示二分类模型中真阳性、假阳性、真阴性、假阴性的数量.
(2) 鲁棒性指标: 在对抗攻击环境下, 恶意软件检测方法的鲁棒性指的是该方法可以抵御对抗样本攻击的能
力, 即是否能够正确检测出对抗样本攻击方法所生成的对抗性恶意软件. 特别地, 对于实际的恶意软件检测方法以
及杀毒软件而言, 攻击者关注的核心是误导其将恶意软件错误地分类成善意软件, 而不是将善意软件错误地分类
成恶意软件. 因此, 如公式 (17) 所示, 本文首先计算恶意软件检测方法被攻击者生成的对抗性恶意软件成功绕过
的比例, 即攻击成功率 (attack success rate, ASR), 然后利用公式 (18) 计算该恶意软件检测方法针对该对抗攻击的
鲁棒性 Robust. 直观上, 对任一恶意软件检测方法而言, 攻击者生成的对抗性恶意软件越容易绕过该方法的检测,
即攻击成功率 ASR 则越高, 那么相应的该方法的鲁棒性 Robust 则越低.
∑
M
= 1∧y z ∗ = 0
y z i i
ASR = i=1 (17)
∑
M
= 1
y z i
i=1
Robust = 1−ASR (18)
其中, M 表示所有鲁棒性评估的恶意软件样本数量; z i 表示第 个恶意软件样本, 而 z 则表示 z i 被攻击后生成的对
i
∗
i
抗性恶意软件; y z i 表示恶意软件检测方法预测第 i 个样本的标签值 (1 代表恶意软件, 0 代表善意软件).
3.1.3 对比的基线检测方法
为了验证本文所提出安卓恶意软件鲁棒检测方法的有效性和鲁棒性, 本文将 RMDroid 与当前 3 种最典型的
安卓恶意软件检测方法进行对比, 下面简单介绍 3 种进行对比的基线检测方法.
(1) IMCFN [57] 是当前最具代表性的基于图像的安卓恶意软件检测方法. 具体而言, IMCFN 首先利用一种特殊
的图像生成算法将待测安卓软件转换成三维的彩色图像, 然后通过微调常用的基于卷积神经网络的图像分类模
型, 例如 VGG、ResNet、Inception V3 等, 来达到检测安卓恶意软件的目的.
(2) MaMaDroid [19] 是一种基于应用程序行为的安卓恶意软件检测方法. MaMaDroid 首先会提取安卓软件的抽
象 API 调用序列, 并构建相应的行为模型, 然后从该行为模型中提取相应的语义特征作为恶意软件检测分类的依
据, 最后利用随机森林或者 SVM 等分类方法进行安卓恶意软件检测.
(3) MalScan [18] 是一种基于 API 调用图的安卓恶意软件快速检测方法. 具体而言, MalScan 首先提取安卓软件
的 API 调用图, 并利用社交网络分析方法挖掘其中敏感 API 调用的中心性, 最后依次将其作为该安卓软件的语义
特征来进行恶意软件检测.

