Page 300 - 《软件学报》2025年第7期
P. 300

杨宏宇 等: 基于   API 聚类和调用图优化的安卓恶意软件检测                                               3221


                    ● 场景  3 (Scenario C) 使用  2014–2015  年的软件进行十折交叉验证, 获得    10  个训练好的分类器, 分别对       2016–
                 2018  年开发的恶意软件进行检测, 取        10  次检测结果的平均值. 结果如图        6(c) 所示.
                    由图  6  可见, DroidSA  的衰减速度显著慢于其他方法. 场景         1  中, DroidSA  对  2014–2018  年的恶意软件的检测
                 平均  F1  值为  82.6%, 比  MaMaDroid  的  67.9%  提升  22%; 场景  2  中, DroidSA  对  2015–2018  年的恶意软件的检测
                 F1  值都高于  80%; 场景  3  中, DroidSA  对  2016–2018  年的恶意软件的检测平均  F1  值达到  90.4%. 上述结果是在没
                 有任何重训练的情况下实现的.
                    与  MaMaDroid  将  API 简单抽象为包的聚类方法相比, DroidSA       充分考虑   API 方法名和权限等特征中蕴含的
                 丰富语义信息, 聚类方法更为合理. 在恶意软件检测阶段, DroidSA               通过调用图优化使其能够提取到更多反映软件
                 行为逻辑的关键特征信息, 因此由旧软件样本训练后的                 DroidSA  能有效检测进化后的恶意软件.
                    MalScan  基于敏感  API 的中心度信息进行恶意软件检测, 但大部分敏感               API 在  2016  年后便很少被使用, 因此
                 在对  2017  年软件样本检测时     MalScan  的  F1  值下降幅度明显. AE-MalScan  使用  APIGraph  生成的聚类中心在函
                 数调用图中的中心度信息替换敏感             API, 能有效延缓   MalScan  的衰减速度. MaMaDroid  在使用   APIGraph  进行增
                 强后, 衰减速度反而加快, 具体原因将在第            6.5  节中进行分析.

                 6.4   不同聚类方法的有效性验证
                    API 方法名概括了     API 的功能, 是  API 语义信息提取的关键特征. 为评估           API 方法名对聚类结果的影响, 通
                 过实验对比    3  种基于  API 聚类的检测方法对观念迁移样本的检测能力. 第               1  种检测方法   (DroidSA-onehot, DOH)
                 使用本文提出的      API 聚类方法; 第   2  种检测方法   (without method name, WMN) 的  API 聚类方法在生成  API 句子
                 时忽略   API 方法名, 其他步骤与本文提出的基于语义距离的              API 聚类方法相同; 第    3 种检测方法    (APIGraph-onehot,
                 AOH) 使用  APIGraph  聚类方法.
                    上述  3  种检测方法均使用代表聚类中心是否出现的独热编码生成特征向量, 在支持向量基、随机森林和                                 K
                 近邻  3  种分类算法中选择对应表现最好的分类算法, 进行恶意软件检测. 选择                     Scenario A (图  7(a)) 和  Scenario B
                 (图  7(b)) 两个实验场景进行十折交叉验证. DroidSA       和  3  种基于  API 聚类的检测方法对观念迁移样本的检测结果
                 如图  7  所示.

                         100                                    100
                          90                                     90
                          80
                                                                 80
                          70
                                                                 70
                         F1 (%)  60                            F1 (%)

                          50                                     60
                                  DroidSA                        50     DroidSA
                          40      DroidSA-onehot                        DroidSA-onehot
                                  Without method name            40     Without method name
                          30
                                  APIGraph-onehot                       APIGraph-onehot
                          20                                     30
                           训练集    2014  2015  2016  2017  2018    训练集     2015   2016   2017   2018
                                          年份                                     年份
                                        (a) Scenario A                        (b) Scenario B
                                    图 7 3  种基于  API 聚类的检测方法对观念迁移样本的检测能力

                    在图  7(a) 所示的  Scenario A  中, WMN  对  2014–2018  年的恶意软件的检测平均   F1  值为  58.2%, 与  AOH  相比
                 提高  19.5%; DOH  对  2014–2018  年的恶意软件的检测平均    F1  值为  74.6%, 与  WMN  相比提高  28.2%; DroidSA  对
                 2014–2018  年的恶意软件的检测平均       F1  值为  82.6%, 与  AOH  相比提高  10.7%. 在图  7(b) 所示的  Scenario B  中,
                 WMN  对  2015–2018  年的恶意软件的检测平均      F1  值为  66.9%, 与  AOH  相比提高  13.4%; DOH  对  2015–2018  年的
   295   296   297   298   299   300   301   302   303   304   305