Page 202 - 《软件学报》2026年第6期
P. 202
陈永威 等: 基于异质图匹配网络的恶意软件相似性度量方法 2521
HGMSim 计算出的正样本对之间的相似值有相当大概率大于负样本对间的相似值, 进行样本对分类时的效果更
佳. 同时, HGMSim 在检索评价类指标上大幅度优于 Siamese_GNN, 表明局部点图匹配的嵌入方法能有效学习到
不同家族间高相似样本的语义差异, 使得在检索出的高相似样本中同家族样本排名更靠前. 对比实验表明, HGMSim
能很好地捕获恶意软件间语义, 有效地度量恶意软件间相似性.
表 2 模型性能对比结果 (绿盟企业数据集) 表 3 模型性能对比结果 (BODMAS 数据集)
模型名 MRR NDCG@10 AUC 模型名 MRR NDCG@10 AUC
TLSH 0.589 0.400 0.811 TLSH 0.465 0.315 0.815
Siamese_CNNs 0.404 0.269 0.810 Siamese_CNNs 0.294 0.203 0.824
Siamese_GNN 0.251 0.172 0.920 Siamese_GNN 0.242 0.171 0.882
RGCN 0.340 0.287 0.889 RGCN 0.335 0.268 0.875
MGMN 0.568 0.416 0.889 MGMN 0.455 0.324 0.870
HGMSim 0.595 0.508 0.919 HGMSim 0.471 0.335 0.878
对各个模型的预处理、训练、测试耗时进行统计和对比. 预处理耗时是统计模型处理 2 500 个恶意软件的耗
时, 训练耗时是统计使用 3 500 对训练样本对模型进行训练的耗时, 测试耗时是统计模型对测试集中 750 对样本进
行相似性度量的耗时. 其中, Siamese_CNNs 的预处理耗时包括将样本重采样为图像的时间, Siamese_GNN 的预处
理耗时包括 Radare2 提取函数调用图和 Asm2Vec 生成图节点嵌入向量的时间. MGMN、HGMSim 和 RGCN 的预
处理耗时包括 IDA Pro 提取函数调用图和生成函数特征向量的时间. 所有模型的耗时对比结果如表 4 所示, 其中
TLSH 为非机器学习方法, 直接使用二进制恶意软件作为模型输入, 所以无训练耗时和预处理耗时. Siamese_CNNs
将二进制恶意软件采样为恶意软件灰度图, 没有使用耗时的反汇编操作和计算开销大的图神经网络, 因此整体的
2
2
耗时较少. HGMSim 使用基于局部点图匹配的异质图嵌入方法, 虽然其时间复杂度 O(L(|V| F + D|V|F )) 较高, 但
和不使用跨图交互的图方法相比, HGMSim 在训练和测试耗时上和 Siamese_GNN 接近, 小幅度高于 RGCN, 这验
证了 HGMSim 在二进制恶意软件相似性度量任务中的适用性. 耗时差异不大的原因为: 大多数恶意软件的函数调
用图较小 (绿盟数据集中, 图节点数量小于 1 000 的恶意软件占比 84.37%; BODMAS 数据集中, 图节点数量小于
1 000 的恶意软件占比为 84.76%), 同时我们优化了跨图交互的信息传递方式, 仅考虑同类型跨图节点间的信息传
递, 从而有效降低了计算复杂度.
表 4 耗时对比结果
模型名 测试耗时 (s) 训练耗时 (h) 预处理耗时 (h)
TLSH 28.8 无 无
Siamese_CNNs 1.47 0.77 1.25
Siamese_GNN 43.1 7.89 28
RGCN 33.2 4.79 9.32
MGMN 40.6 9 9.32
HGMSim 48.7 7 9.32
4.2.2 消融实验
本节展示区分函数节点类型和增添跨图边使用局部点图匹配方法对 HGMSim 模型性能的提升效果. 训练如
下模型, 进行消融实验.
HGMSim_zero: (1) HGMSim 模型不区分函数节点类型, 使用 struct2vec 方法聚合本图邻居信息. (2) 不考虑本
图和对比图的跨图间信息聚合.
HGMSim_w/o_cross: (1) HGMSim 模型区分函数节点类型, 使用本图异质邻居聚合方法聚合本图邻居信息.
(2) 不考虑本图和对比图的跨图间信息聚合.
HGMSim_GMN: (1) HGMSim 模型区分函数节点类型, 使用本图异质邻居聚合方法聚合本图邻居信息. (2) 考
虑本图和对比图的跨图间信息聚合, 其信息聚合基于 GMN [20] 的方法, 跨图间信息聚合时, 每个图节点都会聚合其

