Page 302 - 《软件学报》2025年第7期
P. 302
杨宏宇 等: 基于 API 聚类和调用图优化的安卓恶意软件检测 3223
而 DroidSA 在调用图优化后, 平均每年能够提取到 7 685 种聚类中心调用对, 占特征总数的 57.7%. 这说明调
用图优化能使检测方法提取到更多表征软件行为逻辑的关键特征, 对观念迁移样本检测十分重要.
12 000 100
MaMaDroid AE-MaMaDroid DroidSA 11 043 MaMaDroid AE-MaMaDroid DroidSA
10 000
9 488 80
8 897
8 363 69.2 66.2 65.7 62.1
8 000
关键特征数量 6 000 4 183 4 333 关键特征占比 (%) 60 41.1 44.1 47.5 53.1 45.5 51.8 57.2 47.2
7 488
40
4 000
20 23.9 30.5
2 000
8.9 8.6 8.8 9.6
6.6 7.3
745 627 5.0
376429
435 466
0 65 149 106 223 200 295 285 415 0
2012 2013 2014 2015 2016 2017 2018 2012 2013 2014 2015 2016 2017 2018
年份 年份
(a) 关键特征数量 (b) 关键特征占比
图 9 特征向量中关键特征数量和占比
7 总 结
现有安卓恶意软件检测方法未考虑恶意软件中 API 的频繁变化, 导致难以有效检测进化后的恶意软件. 为解
决上述问题, 本文提出一种基于 API 聚类和调用图优化的安卓恶意软件检测方法 DroidSA. 通过设计 API 句子概
括 API 的名称、权限等重要特征并使用自然语言处理工具对 API 句子的语义信息进行挖掘, 获得更全面反映
API 语义相似性的嵌入向量, 使聚类结果更为准确. 为了确保提取到更能准确反映软件行为逻辑的 API 上下文信
息, 采用调用图优化方法对从待检测软件中提取的函数调用图进行优化, 得到优化后的调用图, 在删除图中难以识
别的未知方法同时保留 API 节点之间的连接性.
DroidSA 的恶意软件检测平均 F1 值为 96.7%, 与 MaMaDroid 和 MalScan 相比分别提升 4.3% 和 6.4%; 在消
除时间偏差的实验设置下, 经 2012 年和 2013 年软件样本集训练后的 DroidSA, 对 2014–2018 年期间的恶意软件
样本的检测平均 F1 值达到 82.6%, 与 MaMaDroid、MalScan、AE-MaMaDroid 和 AE-MalScan 相比分别提升 22%、
76%、33% 和 57%. 实验结果表明本文提出的恶意软件检测方法始终能将各项检测指标稳定地维持在高水平且受
到时间变化的影响较小, 并能有效检测进化后的恶意软件. 未来将尝试使用图神经网络 [39] 等深度学习模型进行恶
意软件检.
References:
[1] Liu J, Su PR, Yang M, He L, Zhang Y, Zhu XY, Lin HM. Software and cyber security—A survey. Ruan Jian Xue Bao/Journal of
Software, 2018, 29(1): 42–68 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5320.htm [doi: 10.13328/j.cnki.jos.
005320]
[2] Lu H, Jin CJ, Helu XH, Zhu CS, Guizani N, Tian ZH. Autod: Intelligent blockchain application unpacking based on JNI layer deception
call. IEEE Network, 2021, 35(2): 215–221. [doi: 10.1109/MNET.011.2000467]
[3] Lu H, Jin CJ, Helu XH, Du XJ, Guizani N, Tian ZH. Deepautod: Research on distributed machine learning oriented scalable mobile
communication security unpacking system. IEEE Trans. on Network Science and Engineering, 2022, 9(4): 2052–2065. [doi: 10.1109/
TNSE.2021.3100750]
[4] Lu H, Jin CJ, Helu XH, Zhang M, Sun YB, Han Y, Tian ZH. Research on intelligent detection of command level stack pollution for
binary program analysis. Mobile Networks and Applications, 2021, 26(4): 1723–1732. [doi: 10.1007/s11036-019-01507-0]
[5] Pendlebury F, Pierazzi F, Jordaney R, Kinder J, Cavallaro L. Tesseract: Eliminating experimental bias in malware classification across
space and time. In: Proc. of the 28th USENIX Security Symp. Santa Clara: USENIX Association, 2019. 792–746.
[6] Jordaney R, Sharad K, Dash SK, Wang Z, Papini D, Nouretdinov I, Cavallaro L. Transcend: Detecting concept drift in malware

