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 个过程.

