Page 197 - 《软件学报》2026年第6期
P. 197
2516 软件学报 2026 年第 37 卷第 6 期
构建的异质图匹配网络, 是在对单个函数调用图构建的异质图基础上, 仅对两个函数调用图中同类型的函数节点
建立跨图边, 降低计算开销同时避免跨图间不同类型函数之间的相互影响, 如图 3(b) 所示.
3.2 相似性度量
本节先详细阐述基于局部点图匹配的异质图嵌入方法, 然后介绍相似性计算和模型训练流程.
3.2.1 基于局部点图匹配的异质图嵌入方法
该方法包括初始化、信息传递和异质图嵌入这 3 个步骤.
(1) 初始化
首先计算异质图匹配网络 ⟨HG 1 ,E cross ,HG 2 ⟩ 中的跨图边权重, 在计算 HG 1 到 HG 2 的跨图边权重时, HG 1 为本
图, HG 2 为对比图, 计算公式如下所示:
( )
c
ω v,i = sim µ v ,µ i,c , ∀i ∈ V , r = R(v) (1)
r
e ω v,i
( )
α v,i = Softmax ω v,i = ∑ , r = R(v) (2)
e ω v, j
j∈V c r
v
c
其中, R(v) 表示节点 的函数类型, V 表示对比图中类型为 的节点集, µ v 表示本图节点 的特征向量, µ i,c 表示对
v
r
r
比图中节点 i 的特征向量, sim 为相似性度量函数 (使用 cosine 相似性度量函数), ω v,i 表示对比图节点 i 与本图节点
v 的相似程度, α v,i 表示经过 Softmax 归一化后的本图节点 和对比图节点 之间边的权重. 计算 HG 2 到 HG 1 的跨
i
v
图边权重同理.
然后初始化 CG 中图节点的嵌入向量, 初始化公式如下:
(0)
µ = W 0 x v , ∀v ∈ V (3)
v
其中, W 0 是一个 d×p 的矩阵, d 为函数特征向量维度 (8 维), p 为嵌入向量维度, x v 为图节点 v 特征向量 (第 3.1.2 节
中提取的特征), V 为异质图匹配网络中的节点集.
(2) 信息传递
模型信息传递过程如图 5 所示, 具体过程如下.
T 轮迭代过程
···
(1) (T)
(0) μ 1 μ 1
E μ 1
E B μ 2 (0) + δ r Sigmoid μ 2 (1) μ 2 (T)
C D (1) (T)
D C μ 3 (0) W 1 × + μ 3 μ 3 + W 2 ×
A (1) (T) μ g 1
B μ 4 (0) + δ c μ 4 μ 4
(1) μ 5 (T)
μ 5
A μ 5 (0)
··· ··· 嵌入向量
(1) (T)
(0) μ 1,c μ 1,c
N μ 1,c
(1) (T)
L M μ 2,c (0) + δ c μ 2,c μ 2,c
G
N I (0) μ 3,c (1) μ 3,c (T)
L μ 3,c W 1 × + + W 2 ×
M F F μ 4,c (0) μ 4,c (1) μ 4,c (T) μ g 2
(0) + δ r Sigmoid μ 5,c (1) μ 5,c (T)
I
异质图匹配网络 (1) (T)
μ 5,c
(0) μ 6,c μ 6,c
G μ 6,c ···
初始值 第 1 次迭代 第 n 次迭代
基于局部点图匹配的异质图嵌入方法
图 5 基于局部点图匹配的异质图嵌入方法
本图异质邻居聚合: 为了使该模型能更好地应用于恶意软件相似性度量场景, 充分挖掘恶意软件函数调用图
t
v
语义, HGMSim 在信息传递的过程中将不同类型的入边邻居节点区别对待. 使用 F local (v,t) 表示对节点 的第 次

