Page 301 - 《软件学报》2025年第7期
P. 301
3222 软件学报 2025 年第 36 卷第 7 期
恶意软件的检测平均 F1 值为 79.0%, 与 WMN 相比提高 18.1%; DroidSA 对 2015–2018 年的恶意软件的检测平均
F1 值为 86.5%, 与 DOH 相比提高 9.5%.
AOH 和 WMN 在聚类时都没有考虑 API 方法名, 因此这两种方法衰减速度较快, 难以有效检测进化后的恶意
软件. 但 WMN 使用 BERT 对类名和权限等特征中的语义信息进行挖掘, 与 AOH 相比衰减速度较慢. 本文提出的
聚类方法 DOH 充分利用方法名称中蕴含的语义信息, 能有效检测进化后的恶意软件, 与 AOH 和 WMN 相比有大
幅的提升. 在使用反映 API 上下文信息的聚类中心调用对作为特征向量 (DroidSA) 时, 对进化后恶意软件的检测
能力进一步增强. 这说明方法名对 API 聚类十分重要, 能有效提高分类器对观念迁移样本的检测能力.
6.5 调用图优化对检测性能的影响
为评估调用图优化对 DroidSA 衰减速度的影响, 设计了 Scenario A (图 8(a)) 和 Scenario B (图 8(b)) 两个实验
场景并进行十折交叉验证. DroidSA 在缺少调用图优化时的检测效果如图 8 所示.
110 110
100 100
90
90
80
80
F1 (%) 70 F1 (%) 70
60
60
50
50
40
With call graph optimization With call graph optimization
30 40
Without call graph optimization Without call graph optimization
20 30
训练集 2014 2015 2016 2017 2018 训练集 2015 2016 2017 2018
年份 年份
(a) Scenario A (b) Scenario B
图 8 缺少调用图优化时的检测性能
由图 8 可知, 调用图优化对 DroidSA 检测恶意软件的能力提升有限, 但能显著提高 DroidSA 对观念迁移样本
的检测能力. 在 Scenario A 中, 未使用调用图优化的 DroidSA 对 2014–2018 年的恶意软件的检测平均 F1 值为
52%, 而在使用调用图优化后, 检测平均 F1 值为 82.6%, 提升幅度为 59%; 在 Scenario B 中, 未使用调用图优化的
DroidSA 对 2015–2018 年的恶意软件的检测平均 F1 值为 68.2%, 在使用调用图优化后, 检测平均 F1 值为 86.7%,
提升幅度为 27%. 表明调用图优化能够显著提升分类器对进化后恶意软件的检测能力.
第 6.3 节的观念迁移样本检测实验结果表明, APIGraph 削弱了 MaMaDroid 对观念迁移样本的检测能力. 其原
因是缺失调用图优化过程, 函数调用图中大量未知函数导致 AE-MaMaDroid 难以提取软件的关键特征. 与未知函
数相比, 包调用对和聚类中心调用对能更好反映软件的行为逻辑, 能使检测方法有效适应安卓框架的不断变化. 因
此, 包调用对和聚类中心调用对是恶意软件检测的关键特征. MaMaDroid、AE-MaMaDroid 和 DroidSA 的特征向
量中关键特征的数量和占比如图 9 所示.
图 9 中, MaMaDroid 平均每年只能提取到 317 种包调用对, 即关键特征占特征总数的 41.4%. 由于缺失调用图
优化过程, MaMaDroid 在处理未知函数时根据代码保护机制 [30] 将其抽象为自定义函数或模糊函数, 导致特征向量
中出现大量未知函数与包组成的调用对, 这些非关键特征约占特征总数的 60%.
AE-MaMaDroid 将函数调用对中的 API 抽象为聚类中心, 其余步骤与 MaMaDroid 相同. 如图 9 所示, 经过
APIGraph “增强”后 AE-MaMaDroid 平均每年只能提取到 372 种聚类中心调用对, 占特征总数的 7.8%. 剩余 92.2%
的特征是聚类中心与未知函数的调用. 特征空间中表征软件行为逻辑的关键特征数量大幅减少, 导致 APIGraph
反而使 MaMaDroid 的衰减速度加快.

