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

技术编号:39673793 阅读:7 留言:0更新日期:2023-12-11 18:39
本申请实施例提供一种恶意代码同源性分析方法

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


[0001]本申请涉及网络安全
,具体而言,涉及一种恶意代码同源性分析方法

装置

电子设备及存储介质


技术介绍

[0002]随着云计算和加密货币的广泛应用,全球互联网用户面临着越来越高级

持续性的恶意代码攻击风险

攻击者不断更新勒索和病毒注入方式以达到更为具体的攻击目的

目前主流的恶意代码检测技术无法检测新型未知恶意代码,因为恶意软件作者可以通过多种编码行为来绕过现有代码检测技术,如使用代码加密

压缩

变形等方式来改变恶意代码的特征,从而使得其无法被正确检测且误报率较高


技术实现思路

[0003]本申请实施例的目的在于提供一种恶意代码同源性分析方法

装置

电子设备及存储介质,将恶意代码的视觉特征和恶意代码的汇编代码序列特征进行结合,实现了多模态特征融合,可获得更全面

准确的特征信息,提高检测准确率,解决了现有方法检测结果准确率不高的问题

[0004]本申请实施例提供了一种恶意代码同源性分析方法,所述方法包括:
[0005]将待检测代码转化为灰度图像;
[0006]逆向生成所述待检测代码的反汇编代码;
[0007]基于所述汇编代码进行特征嵌入和拼接,获得特征矩阵;
[0008]将所述灰度图像和所述特征矩阵输入预训练的基于
Transformer
的双编码器模型获得双模态特征,所述双模态特征包括图像模态特征和代码序列特征;
[0009]将所述图像模态特征和代码序列特征分别非线性投影到相同的嵌入空间中,获得视觉特征重投影矩阵和代码序列特征重投影矩阵;
[0010]使用加型注意力机制计算视觉特征重投影矩阵和代码序列特征重投影矩阵之间的相似度;
[0011]基于所述相似度分别对所述视觉特征重投影矩阵和代码序列特征重投影矩阵进行特征融合和拼接,获得特征融合矩阵;
[0012]基于所述特征融合矩阵进行特征匹配计算,获得分析结果

[0013]在上述实现过程中,将恶意代码的视觉特征和恶意代码的汇编代码序列特征进行结合,实现了多模态特征融合,充分发挥不同模态的优势,在恶意代码分析中获得更全面

准确的特征信息,解决了现有方法检测结果准确率不高的问题

[0014]进一步地,所述将待检测代码转化为灰度图像,包括:
[0015]将所述待检测代码的字节码序列转化为一维原始像素数据流;
[0016]基于所述一维原始像素数据流设定所述待检测代码的宽度;
[0017]将所述字节码序列中的字节转换为整数范围
[0,255];
[0018]将生成的整数字节序列按照所述宽度转化为二维矩阵,且长度不足的用0补齐;
[0019]将所述二维矩阵进行等比例缩放,获得灰度图像
g
i
,且维度大小满足
g
i
∈R
h
×
h

[0020]在上述实现过程中,将代码转换成灰度图像,以便利用灰度图像提取视觉特征

[0021]进一步地,所述基于所述汇编代码进行特征嵌入和拼接,获得特征矩阵,包括:
[0022]提取所述汇编代码中的子例程特征集合;
[0023]提取所述汇编代码中的关键块队列;
[0024]利用所述子例程特征集合并按照队列顺序对关键块进行特征嵌入和拼接操作,获得特征矩阵

[0025]在上述实现过程中,利用关键块提取和子例程特征提取来捕获汇编代码序列特征,相比于全面分析整个代码,仅分析关键块和子例程可以大大减少计算和检测时间,从而更加针对性地提取恶意代码的特征

[0026]进一步地,所述利用所述子例程特征集合并按照队列顺序对关键块进行特征嵌入和拼接操作,获得特征矩阵,包括:
[0027]对所述子例程特征集合中的操作码使用
one

hot
进行编码并使用
word2vec
进行词向量嵌入,获得嵌入矩阵;
[0028]将每个关键块中的操作码和操作数按照队列顺序分别进行特征嵌入,转化为特征向量;
[0029]若所述关键块中出现子例程名称,则替换为对应的嵌入矩阵;
[0030]按照队列顺序进行嵌入和拼接,直至达到最大模型输入长度
n
,停止拼接,得到特征矩阵

[0031]在上述实现过程中,利用关键块提取和子例程提取方法来捕获汇编代码序列特征,且对长度进行了限制,从而减少数据处理的复杂性和成本,降低不必要的计算和存储需求,从而提高计算资源的利用效率

[0032]进一步地,所述将所述灰度图像和所述特征矩阵输入预训练的基于
Transformer
的双编码器模型获得双模态特征,包括:
[0033]利用
VIT
模型从所述灰度图像中提取特征,得到图像模态特征;
[0034]将所述特征矩阵输入
BERT
模型,获得代码序列特征

[0035]在上述实现过程中,
ViT
模型能够更准确地捕获恶意代码图像的相关特征,而
BERT
模型则能更好地捕获代码序列的语义信息,因此,可以更精确地表示恶意代码的关键特征

[0036]进一步地,所述利用
VIT
模型从所述灰度图像中提取特征,得到图像模态特征,包括:
[0037]将所述灰度图像分解成
m
个不重叠的
patch
块,
[0038]利用投影矩阵将
patch
块转换成嵌入向量
[0039]通过位置编码生成初始视觉特征序列其中,
d
v
为所述
VIT
模型设定的嵌入维度;
[0040]基于所述初始视觉特征序列获得图像模态特征
[0041]h
i

MHSA(LN(V
i
))+V
i

[0042]V
i


MLP(LN(h
i
))+h
i

[0043]其中,
LN(
·
)
表示层归一化,
MHSA(
·
)
表示多头自注意力,
MLP(
·
)
表示全连接层

[0044]在上述实现过程中,利用
VIT
模型能本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种恶意代码同源性分析方法,其特征在于,所述方法包括:将待检测代码转化为灰度图像;逆向生成所述待检测代码的反汇编代码;基于所述汇编代码进行特征嵌入和拼接,获得特征矩阵;将所述灰度图像和所述特征矩阵输入预训练的基于
Transformer
的双编码器模型获得双模态特征,所述双模态特征包括图像模态特征和代码序列特征;将所述图像模态特征和代码序列特征分别非线性投影到相同的嵌入空间中,获得视觉特征重投影矩阵和代码序列特征重投影矩阵;使用加型注意力机制计算视觉特征重投影矩阵和代码序列特征重投影矩阵之间的相似度;基于所述相似度分别对所述视觉特征重投影矩阵和代码序列特征重投影矩阵进行特征融合和拼接,获得特征融合矩阵;基于所述特征融合矩阵进行特征匹配计算,获得分析结果
。2.
根据权利要求1所述的恶意代码同源性分析方法,其特征在于,所述将待检测代码转化为灰度图像,包括:将所述待检测代码的字节码序列转化为一维原始像素数据流;基于所述一维原始像素数据流设定所述待检测代码的宽度;将所述字节码序列中的字节转换为整数范围
[0,255]
;将生成的整数字节序列按照所述宽度转化为二维矩阵,且长度不足的用0补齐;将所述二维矩阵进行等比例缩放,获得灰度图像
g
i
,且维度大小满足
g
i
∈R
h
×
h
。3.
根据权利要求1所述的恶意代码同源性分析方法,其特征在于,所述基于所述汇编代码进行特征嵌入和拼接,获得特征矩阵,包括:提取所述汇编代码中的子例程特征集合;提取所述汇编代码中的关键块队列;利用所述子例程特征集合并按照队列顺序对关键块进行特征嵌入和拼接操作,获得特征矩阵
。4.
根据权利要求3所述的恶意代码同源性分析方法,其特征在于,所述利用所述子例程特征集合并按照队列顺序对关键块进行特征嵌入和拼接操作,获得特征矩阵,包括:对所述子例程特征集合中的操作码使用
one

hot
进行编码并使用
word2vec
进行词向量嵌入,获得嵌入矩阵;将每个关键块中的操作码和操作数按照队列顺序分别进行特征嵌入,转化为特征向量;若所述关键块中出现子例程名称,则替换为对应的嵌入矩阵;按照队列顺序进行嵌入和拼接,直至达到最大模型输入长度
n
,停止拼接,得到特征矩阵
。5.
根据权利要求1所述的恶意代码同源性分析方法,其特征在于,所述将所述灰度图像和所述特征矩阵输入预训练的基于
Transformer
的双编码器模型获得双模态特征,包括:利用
VIT
模型从所述灰度图像中提取特征,得到图像模态特征;将所述特征矩阵输入
BERT
模型,获得代码序列特征

6.
根据权利要求5所述的恶意代码同源性分析方法,其特征在于,所述利用
VIT
模型从所述灰度图像中提取特征,得到图像模态特征,包括:将所述灰度图像分解成
m
个不重叠的
patch
块,利用投影矩阵将
patch
块转换成嵌入向量通过位置编码生成初始视觉特征序列其中,
d
v
为所述
VIT
模型设定的嵌入维度;基于所述初始视觉特征序列获得图像模态特征
h
i

MHSA(LN(V
i
))+V
i

V
i


MLP(LN(h
i
))+h
i
;其中,
LN(
·
)
表示层归一化,
MHSA(
·
)
表示多头自注意力,
MLP(
·
)
表示全连接层
...

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

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

1