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

3212                                                       软件学报  2025  年第  36  卷第  7  期


                 样本和软件关系图中节点的相似性辅助分类器做出判断.
                    Gu  等人  [22] 提出一种在安卓生态环境下缓解模型老化的方法             GraphEvolveDroid, 通过构建软件关系图反映软
                 件之间的进化关系, 辅助分类器进行检测.
                    Hei 等人  [23] 提出一种基于异构图注意力网络的安卓恶意软件检方法                Hawk, 在训练阶段首先构建软件关系图
                 模拟软件之间的相似性, 然后使用图神经网络学习软件之间的相似性, 生成特征向量并训练分类器. 在检测阶段设
                 计一种增量聚合方法        MsGAT++, 能够快速生成异构图外新样本的特征向量并进行恶意软件检测, 无需更新软件
                 关系图并重新训练图神经网络.
                    基于软件关系图的检测方法总体存在以下不足: 首先, 代码重用是软件开发过程中的重要组成部分, 良性软件
                 开发者也会使用恶意软件中的部分代码, 这给基于软件关系图的检测方法带来严重困难; 其次, 软件之间的相似性
                 不代表软件的行为逻辑, 这导致基于软件关系图的检测方法难以学习恶意软件的行为特征.

                 1.4   基于异常样本识别的检测方法
                    异常样本识别是在分类器决策前识别观念迁移样本. 分类器难以对观念样本做出准确判断, 因此将这些样本
                 从分类器的待检测软件中排除, 交给恶意软件领域的专家进行检测.
                    Yuan  等人  [24] 提出一种基于双头神经网络的观念迁移样本识别方法, 使用神经网络检测软件类别, 在神经网络
                 的输出端设置两个并行的输出层, 分别输出预测软件不同类别的概率. 通过输出层预测概率之间的差值识别观念
                 迁移样本.
                    Karbab  等人  [25] 提出一种自适应的安卓恶意软件检测方法          PetaDroid, 分类器对观念迁移样本做出决策时通常
                 具有低置信度, 体现在预测软件属于良性的概率和属于恶意的概率十分接近, 通过在检测恶意软件时过滤低置信
                 度样本, 大幅提高检测方法的有效性.
                    异常样本识别能大幅提高检测方法的有效性, 但不具备检测进化后恶意软件的能力.

                 2   DroidSA  的总体设计

                    为有效检测进化后的恶意软件, 本文提出一种基于                API 聚类和调用图优化的安卓恶意软件检测方法               DroidSA.
                 DroidSA  的框架如图  1  所示, DroidSA  由基于语义距离的    API 聚类和恶意软件检测两部分组成.

                                                                      恶意软件检测
                                              API
                                              文档

                                           API 特征提取      调用图提取

                                           API 句子生成      调用图优化


                                           API 句子编码      调用对提取

                                           聚类中心生成        调用对抽象

                                                          特征嵌入

                                          API 聚类
                                                         分类器检测

                                                    图 1 DroidSA  框架图

                    基于语义距离的      API 聚类的核心功能是将功能相似的            API 分配到相同聚类中心. 经过       API 聚类处理, 生成代
                 表  API 功能的聚类中心. 该部分包括       4  个过程.
   286   287   288   289   290   291   292   293   294   295   296