一种恶意代码同源分析方法技术

技术编号:39571188 阅读:11 留言:0更新日期:2023-12-03 19:22
本发明专利技术实施例提供一种恶意代码同源分析方法

【技术实现步骤摘要】
一种恶意代码同源分析方法、装置、电子设备及存储介质


[0001]本专利技术涉及信息安全
,具体而言,涉及一种恶意代码同源分析方法

装置

电子设备及存储介质


技术介绍

[0002]恶意代码同源分析是指通过恶意代码内外部特性以及生成和传播的规律,分析恶意代码之间衍生的关联性

通过同源分析可以快速鉴别恶意代码之间的关联性,确定恶意代码的变体来源,进而为部署防御机制

溯源攻击组织提供可靠依据,对抵御黑客攻击

完善网络安全保障体系有着重要意义和价值

[0003]在恶意代码同源分析方向上,诸多研究已经证明人工智能方法具有优秀的分析效果,比如基于卷积神经网络分析恶意代码的二进制图像

基于序列模型分析恶意代码的
API(Application Program Interface
,应用程序接口
)
调用序列等

而最近新兴的图神经网络
(Graph Neural Networks

GNN)
也为恶意代码同源分析提供了新的解决方案,已经有研究将恶意代码的控制流图

函数调用图作为特征,并基于图神经网络进行恶意代码同源分析

然而,与许多深度神经网络模型一样,基于图神经网络的恶意代码同源分析方法依然被认为是黑盒,无法解释图神经网络分类结果,这使得分析人员难以验证模型结果和识别恶意模式


技术实现思路

[0004]本专利技术实施例的目的在于提供一种恶意代码同源分析方法

装置

电子设备及存储介质,用以实现向用户提供可用于解释图神经网络模型输出的同源分析结果的解释子图,为用户验证同源分析结果和识别恶意模式提供数据基础的技术效果

[0005]第一方面,本专利技术实施例提供一种恶意代码同源分析方法,包括:
[0006]将待分析恶意代码的样本反汇编为汇编代码,解析所述汇编代码建立控制流图;
[0007]基于预先构建的图神经网络模型对所述控制流图进行同源分析,得到同源分析结果;
[0008]基于预先构建的图神经网络解释器对所述同源分析结果进行解释,建立解释子图

[0009]在上述实现过程中,通过预先构建图神经网络解释器,基于图神经网络解释器对图神经网络模型输出的同源分析结果进行解释,建立解释子图,能够向用户提供可用于解释图神经网络模型输出的同源分析结果的解释子图,为用户验证同源分析结果和识别恶意模式提供数据基础

[0010]进一步地,所述解析所述汇编代码建立控制流图,具体包括:
[0011]将所述汇编代码分解为多个基本块,解析各个所述基本块中的指令,对应确定各个所述基本块的所有统计特征和各个所述基本块中指令的控制流转移关系;
[0012]以每一所述基本块作为节点,以每一所述基本块的所有统计特征作为节点的特征
向量,根据每一所述基本块中指令的控制流转移关系对节点添加边,建立所述控制流图

[0013]在上述实现过程中,通过将汇编代码分解为多个基本块进行指令解析,确定各个基本块的所有统计特征及指令的控制流转移关系来建立控制流图,能够考虑汇编代码的统计特征快速准确地建立控制流图,保证后续可向用户提供可用于解释图神经网络模型输出的同源分析结果的解释子图,为用户验证同源分析结果和识别恶意模式提供数据基础

[0014]进一步地,所述基于预先构建的图神经网络模型对所述控制流图进行同源分析,得到同源分析结果,具体包括:
[0015]基于图注意力神经网络模型,获取所述控制流图中各个节点的特征表示向量;其中,所述图神经网络模型为所述图注意力神经网络模型;
[0016]基于预先构建的读出层,聚合所述控制流图中所有节点的特征表示向量,得到所述控制流图的全局特征表示向量;
[0017]基于预先构建的输出层,根据所述控制流图的全局特征表示向量,得到所述同源分析结果

[0018]在上述实现过程中,通过基于图注意力神经网络模型对控制流图进行同源分析,得到同源分析结果,能够准确学习控制流图中的特征进行同源分析,提高恶意代码同源分析的准确性

[0019]进一步地,所述控制流图中各个节点的特征表示向量为:
[0020][0021]其中,
h
i

为所述控制流图中第
i
个节点的特征表示向量,为
K
头注意力机制,
k

1,2,...,K

K
为正整数,
σ
(
·
)
为激活函数,为所述控制流图中第
i
个节点与第
i
个节点的第
j
个邻居节点的第
k
头的注意力特征系数,
softmax(
·
)
为归一化函数,
LeakyReLu(
·
)
为非线性变换函数,
a(
·
)
为将特征向量映射到实数上的函数,
[
·
||
·
]为特征向量拼接函数,
W
k
为第
k
头的可学习参数,
h
i
为所述控制流图中第
i
个节点的特征向量,
h
j
为所述控制流图中第
i
个节点的第
j
个邻居节点的特征向量

[0022]在上述实现过程中,通过针对控制流图中的每一节点,根据该节点与其各个邻居节点的注意力特征系数,采用加权求和的方式聚合该节点的所有邻居节点的特征向量,得到该节点的特征表示向量,能够使控制流图中各个节点的特征表示向量完整融合其邻域信息,保证后续可向用户提供可用于解释图神经网络模型输出的同源分析结果的解释子图,为用户验证同源分析结果和识别恶意模式提供数据基础

[0023]进一步地,所述基于预先构建的读出层,聚合所述控制流图中所有节点的特征表示向量,得到所述控制流图的全局特征表示向量,具体包括:
[0024]基于最大池化层,获取所述控制流图中各个节点的特征表示向量的最大值,结合所述控制流图中所有节点的特征表示向量的最大值,得到第一特征表示向量;
[0025]基于均值池化层,获取所述控制流图中各个节点的特征表示向量的平均值,结合所述控制流图中所有节点的特征表示向量的平均值,得到第二特征表示向量;
[0026]拼接所述第一特征表示向量和所述第二特征表示向量,得到所述控制流图的全局
特征表示向量;其中,所述读出层包本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种恶意代码同源分析方法,其特征在于,包括:将待分析恶意代码的样本反汇编为汇编代码,解析所述汇编代码建立控制流图;基于预先构建的图神经网络模型对所述控制流图进行同源分析,得到同源分析结果;基于预先构建的图神经网络解释器对所述同源分析结果进行解释,建立解释子图
。2.
根据权利要求1所述的恶意代码同源分析方法,其特征在于,所述解析所述汇编代码建立控制流图,具体包括:将所述汇编代码分解为多个基本块,解析各个所述基本块中的指令,对应确定各个所述基本块的所有统计特征和各个所述基本块中指令的控制流转移关系;以每一所述基本块作为节点,以每一所述基本块的所有统计特征作为节点的特征向量,根据每一所述基本块中指令的控制流转移关系对节点添加边,建立所述控制流图
。3.
根据权利要求1所述的恶意代码同源分析方法,其特征在于,所述基于预先构建的图神经网络模型对所述控制流图进行同源分析,得到同源分析结果,具体包括:基于图注意力神经网络模型,获取所述控制流图中各个节点的特征表示向量;其中,所述图神经网络模型为所述图注意力神经网络模型;基于预先构建的读出层,聚合所述控制流图中所有节点的特征表示向量,得到所述控制流图的全局特征表示向量;基于预先构建的输出层,根据所述控制流图的全局特征表示向量,得到所述同源分析结果
。4.
根据权利要求3所述的恶意代码同源分析方法,其特征在于,所述控制流图中各个节点的特征表示向量为:其中,
h
i

为所述控制流图中第
i
个节点的特征表示向量,为
K
头注意力机制,
k

1,2,...,K

K
为正整数,
σ
(
·
)
为激活函数,为所述控制流图中第
i
个节点与第
i
个节点的第
j
个邻居节点的第
k
头的注意力特征系数,
softmax(
·
)
为归一化函数,
LeakyReLu(
·
)
为非线性变换函数,
a(
·
)
为将特征向量映射到实数上的函数,
[
·
||
·
]
为特征向量拼接函数,
W
k
为第
k
头的可学习参数,
h
i
为所述控制流图中第
i
个节点的特征向量,
h
j
为所述控制流图中第
i
个节点的第
j
个邻居节点的特征向量
。5.
根据权利要求3所述的恶意代码同源分析方法,其特征在于,所述基于预先构建的读出层,聚合所述控制流图中所有节点的特征表示向量,得到所述控制流图的全局特征表示向量,具体包括:基于最大池化层,获取所述控制流图中各个节点的特征表示向量的最大值,结合所述控制流图中所有节点的特征表示向量的最大值,得到第一特征表示向量;基于均值池化层,获取所述控制流图中各个节点的特征表示向量的平均值,结合所述控制流图中所有节点的特征表示向量的平均值,得到第二特征表示向量;拼接所述第一特征表示向量和所述第二特征表示向量,得到所述控制流图的全局特征表示向量;其中,所述读出层包括所述最大池化层和所述均值池化层

6.
根据权利要求3所述的恶意代码同源分析方法,其特征在于,所述基于预先构建的图神经网络解释器对所述同源分析结果进行解释,建立解释子图,具体包括:根据所述控制流图中各个节点的特征表示向量,获取所述控制流图中各个节点的注意力权重系数和各条边的注意力权重系数;将所述控制流图中注意力权重系数最大的预设节点数量的节点均作为目标节点,将所述控制流图中注意力权重系数最大的预设边数量的边均作为目标边;结合所有所述目标节点和所有所述目标边,建立所述解释子图
。7.
根据权利要求6所述的恶意代码同源分析方法,其特征在于,所述根据所述控制流图中各个节点的特征表示向量,获取所述控制流图中各个节点的注意力权重系数,具体包括:根据所述控制流图中各个节点的特征表示向量,对应获取所述控制流图中各个节点的初始注意力权重系数;结合所述控制流图中所有节点的特征表示向量和初始注意力权重系数,得到所述控制流图的全局节点权重表示向量;根据所述控制流图的全局节点权重表示向量,构造所述图注意力神经网络模型的第一损失函数;以所述第一损失函数取值最小为优化目标,调整所述控制流图中各个节点的初始注意力权重系数,得到所述控制流图中各个节点的注意力权重系数
。8.
根据权利要求7所述的恶意代码同源分析方法,其特征在于,所述控制流图中各个节点的初始注意力权重系数为:
α
i

softmax(
Φ
(h
i

))
;其中,
α
i
为所述控制流图中第
i
个节点的初始注意力权重系数,
softmax(
·
)
为归一化函数,
Φ
(
·
)
为多个线性层和激活函数层组成的组件,
h
i

为所述控制流图中第
i
个节点的特征表示向量;所述控制流图的全局节点权重表示向量为:其中,
H
I

为所述控制流图的全局节点权重表示向量,
I
为所述控制流图的节点总数,
i

1,2,...,I

I
为正整数;所述第一损失函数为:其中,
Loss1为所述第一损失函数的取值,
M

【专利技术属性】
技术研发人员:孙锦涛徐晓
申请(专利权)人:北京天融信网络安全技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1