本申请涉及恶意代码分类,具体而言,涉及一种恶意代码分类的方法、装置、存储介质及电子设备。
背景技术:
1、由于同一家族的恶意代码会产生许多变种,即使是相同的恶意代码,也会采用不同的混淆方式来隐藏其特征,从而使得仅依赖简单规则匹配的检测方法失效。因此,对恶意代码检测和分类为当前的研究焦点。
2、目前,在对恶意代码进行检测时普遍采用了将恶意代码转换成灰度图像的方式,以便于提取更多的特征实现精准分类。但是,图像转换过程中,网络结构可能会导致恶意代码的部分信息丢失或失真,进而降低了最终分类结果的准确度。
3、因此,如何提供一种准确度较高的恶意代码分类的方法的技术方案成为亟需解决的技术问题。
技术实现思路
1、本申请的一些实施例的目的在于提供一种恶意代码分类的方法、装置、存储介质及电子设备,通过本申请的实施例的技术方案可以通过训练好的目标分类模型实现对恶意代码的精准检测分类,提高了分类性能。
2、第一方面,本申请的一些实施例提供了一种恶意代码分类的方法,包括:获取待检测恶意代码对应的二进制图像;将所述二进制图像输入至预先训练好的目标分类模型中,获取所述待检测恶意代码对应的分类结果,其中,所述目标分类模型是通过对初始特征提取网络模块和初始特征分类网络模块组成的网络结构进行训练得到的。
3、本申请的一些实施例通过对初始特征提取网络模块和初始特征分类网络模块组成的网络结构进行训练得到的目标分类模型对待检测恶意代码对应的二进制图像进行分类,得到分类结果。本申请的一些实施例通过训练两个模块可以得到二进制图像的低层次特征,实现对恶意代码的精准检测分类,提高了分类性能。
4、在一些实施例,所述将所述二进制图像输入至预先训练好的目标分类模型中,获取所述待检测恶意代码对应的分类结果,包括:将所述二进制图像输入至所述目标分类模型中的特征提取模块,得到特征向量;将所述特征向量输入至所述目标分类模型中的特征分类网络模块,得到所述分类结果。
5、本申请的一些实施例通过将二进行图像输入至特征提取模块得到的特征向量输入至特征分类网络模型得到分类结果,可以使用特征分类网络模块提取低层次的特征,确保分类准确性,提升分类性能。
6、在一些实施例,所述将所述特征向量输入至所述特征分类网络模块,得到所述分类结果,包括:对所述特征向量进行反汇编,得到代码基本块集合;提取所述代码基本块集合中每个代码基本块对应的指纹特征信息;对所述每个代码基本块对应的指纹特征信息进行计算,获取所述特征向量对应的基本块哈希值;将所述基本块哈希值与恶意代码家族数据库进行匹配,得到所述分类结果。
7、本申请的一些实施例通过特征分类网络模块对特征向量进行一系列处理,得到分类结果,提升了分类的准确度和性能。
8、在一些实施例,所述对所述每个代码基本块对应的指纹特征信息进行计算,获取所述特征向量对应的基本块哈希值,包括:利用注意力增强卷积块、深度可分离卷积注意力块和残差前馈网络分别对所述每个代码基本块对应的指纹特征信息进行加权求和,得到注意力增强值、深度注意力值以及残差值;对所述注意力增强值、深度注意力值以及残差值进行计算,得到所述基本块哈希值。
9、本申请的一些实施例通过注意力增强卷积块、深度可分离卷积注意力块和残差前馈网络进行编码和计算,得到基本块哈希值,实现了利用注意力增强卷积和深度分层卷积增强来加权不同恶意代码区域的特征,从而提高分类性能。
10、在一些实施例,所述注意力增强值是通过如下方法获取的:分别将空间注意力矩阵和通道注意力矩阵与全连接矩阵相乘后与所述全连接矩阵进行加权求和,得到所述注意力增强值;所述深度注意力值是通过如下方法获取的:将自注意力值与所述全连接矩阵相乘后与所述全连接矩阵进行加权求和,得到所述深度注意力值;所述残差值是通过如下方法获取的:对所述指纹特征信息进行卷积操作,得到中间输出结果;将所述中间输出结果经过激活函数得到非线性输出结果;对所述非线性输出结果进行卷积操作,得到卷积结果;将所述非线性输出结果、所述卷积结果和所述指纹特征信息进行残差连接,得到所述残差值。
11、本申请的一些实施例通过不同的模块对不同的值进行计算,可以实现对恶意代码特征的提取,提升分类性能。
12、在一些实施例,所述将所述基本块哈希值与恶意代码家族数据库进行匹配,得到所述分类结果,包括:计算所述基本块哈希值与所述恶意代码家族数据库中每个哈希值的相似度分数;若所述相似度分数超过预设阈值,则确认所述待检测恶意代码所属的恶意代码家族,其中,所述恶意代码家族为所述分类结果。
13、本申请的一些实施例通过相似度分数与预设阈值对比确定待检测恶意代码所属的恶意代码家族,准确度较高。
14、在一些实施例,在所述将所述二进制图像输入至预先训练好的目标分类模型中之前,所述方法还包括:获取训练数据集,其中,所述训练数据集包括:恶意代码样本集和所述恶意代码样本集中各恶意代码样本的同源标签;利用所述训练数据集对所述网络结构进行训练,并利用对比损失和焦点损失组成的总损失函数对所述网络结构进行训练损失计算,得到损失结果;利用优化器和所述损失结果对所述网络结构进行优化,得到所述目标分类模型。
15、第二方面,本申请的一些实施例提供了一种恶意代码分类的装置,包括:获取模块,被配置为获取待检测恶意代码对应的二进制图像;分类模块,被配置为将所述二进制图像输入至预先训练好的目标分类模型中,获取所述待检测恶意代码对应的分类结果,其中,所述目标分类模型是通过对初始特征提取网络模块和初始特征分类网络模块组成的网络结构进行训练得到的。
16、第三方面,本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面任一实施例所述的方法。
17、第四方面,本申请的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面任一实施例所述的方法。
18、第五方面,本申请的一些实施例提供一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如第一方面任一实施例所述的方法。
1.一种恶意代码分类的方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述将所述二进制图像输入至预先训练好的目标分类模型中,获取所述待检测恶意代码对应的分类结果,包括:
3.如权利要求2所述的方法,其特征在于,所述将所述特征向量输入至所述特征分类网络模块,得到所述分类结果,包括:
4.如权利要求3所述的方法,其特征在于,所述对所述每个代码基本块对应的指纹特征信息进行计算,获取所述特征向量对应的基本块哈希值,包括:
5.如权利要求4所述的方法,其特征在于,所述注意力增强值是通过如下方法获取的:
6.如权利要求3-5中任一项所述的方法,其特征在于,所述将所述基本块哈希值与恶意代码家族数据库进行匹配,得到所述分类结果,包括:
7.如权利要求1-5中任一项所述的方法,其特征在于,在所述将所述二进制图像输入至预先训练好的目标分类模型中之前,所述方法还包括:
8.一种恶意代码分类的装置,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中,所述计算机程序被处理器运行时执行如权利要求1-7中任意一项权利要求所述的方法。
10.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序,其中,所述计算机程序被所述处理器运行时执行如权利要求1-7中任意一项权利要求所述的方法。