一种恶意软件分析方法技术

技术编号:39662228 阅读:6 留言:0更新日期:2023-12-11 18:25
本申请实施例提供一种恶意软件分析方法

【技术实现步骤摘要】
一种恶意软件分析方法、装置、存储介质及设备


[0001]本申请涉及网络信息安全
,具体而言,涉及一种恶意软件分析方法

装置

存储介质及设备


技术介绍

[0002]恶意软件是当今主要的互联网安全威胁之一,其是指在未经授权的情况下,在计算机系统中执行一些恶意行为,例如窃取机密信息

破坏重要数据等的计算机程序或代码

恶意软件同源分析是指通过对恶意软件样本进行深入研究,分析其代码结构

功能和行为等方面,以确定恶意软件与其他已知恶意软件的关联性,即确定它们是否具有相同的源头或者是否属于同一个恶意软件家族

通过恶意软件同源分析,安全研究人员可以更好地了解恶意软件的来源和特点,更快速地识别出新出现的恶意软件,并为网络安全防御提供更加有效的策略

[0003]目前的恶意软件同源分析方式主要是使用聚类方式对恶意软件中的函数进行分类,再由分析人员进一步分析,以得到具体的类别

这一方式中,聚类的效果依赖于数据集中函数的数量和类别

然而,其缺乏对于恶意软件所属家族的自动分类能力


技术实现思路

[0004]本申请实施例的目的在于提供一种恶意软件分析方法

装置

存储介质及设备,旨在解决相关技术中的恶意软件同源分析方式存在的缺乏对于恶意软件所属家族的自动分类能力的问题

>[0005]第一方面,本申请实施例提供的一种恶意软件分析方法,包括:
[0006]提取目标恶意软件中每个基本块的特征,利用所有基本块的特征构建特征矩阵;
[0007]基于自动编码器计算各基本块的可疑度;所述自动编码器在训练过程中,学习正常基本块的特征表示,并使用所有基本块的均方误差表示重构损失;所述可疑度表征基本块包含恶意代码的概率,所述可疑度基于所述基本块的均方误差计算得到;
[0008]通过将所述特征矩阵和所述可疑度输入训练好的分类模型,确定所述目标恶意软件所属的家族;所述分类模型是基于多个具有不同家族标签的恶意样本训练得到的

[0009]在上述实现过程中,针对目标恶意软件,提取基本块的特征,以此构建特征矩阵,基于自动编码器计算各基本块包含恶意代码的概率,再将该特征矩阵和该概率作为分类模型的输入,该分类模型是基于多个具有不同家族标签的恶意样本训练得到的,基于该分类模型的输出可以确定该目标恶意软件所属的家族

这一过程中,通过自动编码器得到每个基本块的可疑度,以此来指导分类模型,实现了恶意软件所属家族的自动分类,并增强了分类性能

[0010]进一步地,在一些实施例中,所述提取目标恶意软件中每个基本块的特征,包括:
[0011]对目标恶意软件的二进制文件进行反汇编,生成汇编代码;
[0012]根据所述汇编代码,构建控制流图;所述控制流图的节点为基本块,边为基本块之
间的跳转关系;
[0013]基于所述控制流图提取各基本块的特征

[0014]在上述实现过程中,提供一种提取基本块特征的具体方式

[0015]进一步地,在一些实施例中,所述对目标恶意软件的二进制文件进行反汇编之前,包括:
[0016]检测目标恶意软件的二进制文件是否加壳;
[0017]若检测结果为是,对所述二进制文件脱壳

[0018]在上述实现过程中,对于原始二进制文件,使用脱壳工具完成对于加壳的检测和脱壳,以使反汇编工具能够找到程序入口点,实现正确的反汇编

[0019]进一步地,在一些实施例中,所述基本块的可疑度基于以下公式计算得到:
[0020][0021]其中,所述
x
w
为任意基本块的可疑度;所述
x
mse
为所述基本块的均方误差;所述
y
为预设阈值,该预设阈值基于所述自动编码器的所有训练样本的均方误差的平均值确定

[0022]在上述实现过程中,利用自动编码器训练完成后得到的所有样本的
MSE
的平均值作为阈值,基于该阈值和待分析样本中各基本块的均方误差,得到基本块包含恶意代码的概率,如此,实现将重构损失转化为可疑度,方便后续的分析工作

[0023]进一步地,在一些实施例中,所述方法还包括:
[0024]判断所述基本块的均方误差是否超过所述预设阈值;
[0025]若是,将所述基本块确定为可疑代码块

[0026]在上述实现过程中,利用预设阈值来确定待分析样本中的可疑代码区域,以使分析人员可将该可疑代码区域和后续得到的家族类别进行结合分析,提升分析效果

[0027]进一步地,在一些实施例中,所述分类模型基于以下方式训练得到:
[0028]获取每个恶意样本的特征矩阵和可疑度向量;所述可疑度向量基于所述恶意样本中每个基本块的可疑度组合得到;
[0029]将所述恶意样本的特征矩阵和可疑度向量输入所述分类模型,得到预测结果,并基于所述预测结果和所述恶意样本具有的家族标签,构建损失函数;
[0030]利用所述损失函数优化所述分类模型的参数

[0031]在上述实现过程中,提供分类模型的一种模型训练方式

[0032]进一步地,在一些实施例中,所述分类模型包括卷积层

激活函数层

池化层和全连接层,其中,所述特征矩阵经过所述卷积层

激活函数层和池化层处理后得到第一输出向量,所述可疑度向量经过所述池化层处理后得到第二输出向量,所述分类模型将所述第二输出向量扩展至与所述第一输出向量具有相同维度,再将扩展后的第二输出向量与所述第一输出向量逐元素相乘,得到的输出在展开后经过所述全连接层,得到预测结果

[0033]在上述实现过程中,在卷积神经网络中引入注意力机制,通过基本块的重构损失信息,对基本块特征进行加权,使得模型更加注意可疑代码块,从而增强模型的恶意软件家族分类能力

[0034]第二方面,本申请实施例提供的一种恶意软件分析装置,包括:
[0035]构建模块,用于提取目标恶意软件中每个基本块的特征,利用所有基本块的特征
构建特征矩阵;
[0036]计算模块,用于基于自动编码器计算各基本块的可疑度;所述自动编码器在训练过程中,学习正常基本块的特征表示,并使用所有基本块的均方误差表示重构损失;所述可疑度表征基本块包含恶意代码的概率,所述可疑度基于所述基本块的均方误差计算得到;
[0037]确定模块,用于通过将所述特征矩阵和所述可疑度输入训练好的分类模型,确定所述目标恶意软件所属的家族;所述分类模型是基于多个具有不同本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种恶意软件分析方法,其特征在于,包括:提取目标恶意软件中每个基本块的特征,利用所有基本块的特征构建特征矩阵;基于自动编码器计算各基本块的可疑度;所述自动编码器在训练过程中,学习正常基本块的特征表示,并使用所有基本块的均方误差表示重构损失;所述可疑度表征基本块包含恶意代码的概率,所述可疑度基于所述基本块的均方误差计算得到;通过将所述特征矩阵和所述可疑度输入训练好的分类模型,确定所述目标恶意软件所属的家族;所述分类模型是基于多个具有不同家族标签的恶意样本训练得到的
。2.
根据权利要求1所述的方法,其特征在于,所述提取目标恶意软件中每个基本块的特征,包括:对目标恶意软件的二进制文件进行反汇编,生成汇编代码;根据所述汇编代码,构建控制流图;所述控制流图的节点为基本块,边为基本块之间的跳转关系;基于所述控制流图提取各基本块的特征
。3.
根据权利要求2所述的方法,其特征在于,所述对目标恶意软件的二进制文件进行反汇编之前,包括:检测目标恶意软件的二进制文件是否加壳;若检测结果为是,对所述二进制文件脱壳
。4.
根据权利要求1所述的方法,其特征在于,所述基本块的可疑度基于以下公式计算得到:其中,所述
x
w
为任意基本块的可疑度;所述
x
mse
为所述基本块的均方误差;所述
y
为预设阈值,该预设阈值基于所述自动编码器的所有训练样本的均方误差的平均值确定
。5.
根据权利要求4所述的方法,其特征在于,所述方法还包括:判断所述基本块的均方误差是否超过所述预设阈值;若是,将所述基本块确定为可疑代码块
。6.
根据权利要求1所述的方法,其特征在于,所述分类模型基于以下方式训练得到:获取每个恶意样本的特征矩阵和可疑度向量;所述可疑度向量基于所...

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

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

1