一种软件检测方法、装置以及存储介质与流程

摘要: 本技术涉及网络安全,特别涉及一种软件检测方法、装置以及存储介质。背景技术:1、随着物联网与移动互联网的快速普及,大量新型网络应用应运而生,极大提升了生活便利性,...
一种软件检测方法、装置以及存储介质与流程

本技术涉及网络安全,特别涉及一种软件检测方法、装置以及存储介质。

背景技术:

1、随着物联网与移动互联网的快速普及,大量新型网络应用应运而生,极大提升了生活便利性,但同时也导致恶意软件的种类和数量持续攀升,成为网络安全领域的关键威胁。由于恶意软件的样本获取困难,并且不同类型的恶意软件数量差异显著,导致恶意软件的类别不平衡,因此,利用数据驱动模型针对恶意软件进行检测的表现并不尽如人意。

2、目前为了解决恶意软件的检测问题,通常要利用已有的恶意软件样本实现对深度卷积网络的训练,但是,由于恶意软件的种类分布是不平衡的,常见种类的数据样本较多,稀有种类的数据样本较为罕见,并且获取困难,因此可能导致深度卷积网络的训练不充分,在进行软件检测的过程中无法实现针对罕见恶意软件的准确检测,降低了对未知以及新型恶意软件的检测能力。

技术实现思路

1、为了解决上述相关技术中的问题,本技术实例提供了一种软件检测方法、装置以及存储介质,能够极大提升对未知及新型恶意软件的检测能力。

2、第一方面,本技术实施例提供了一种软件检测方法,所述方法包括:

3、基于待测软件的二进制文件生成所述待测软件对应的第一图像;

4、利用已训练的第一网络提取所述第一图像的全局特征;所述第一网络是基于多个已有的第二图像训练的;

5、利用已训练的第二网络基于所述全局特征确定所述待测软件的检测结果;所述第二网络是基于多个所述第二图像以及每个所述第二图像对应的第三图像训练的;每个所述第三图像是通过第三网络基于对应的第二图像生成的;所述第三网络的至少一个参数是基于所述已训练的第一网络的参数确定的。

6、通过上述方式,第一网络通过预训练学习到了恶意软件二进制文件的通用结构与语义特征,作为冻结的特征提取主干共享给第二网络和第三网络,使得模型对代码混淆、加壳、变种等规避技术具有更强的抗干扰能力,极大提升了对未知及新型恶意软件的检测能力。通过第三网络生成大量高质量的、标签已知的第三图像用于第二网络的训练,突破了恶意样本获取困难、标注成本高昂的现实瓶颈,显著提升了数据驱动模型在稀缺样本场景下的性能上限。第三网络参数与第一网络参数相关联,使生成器继承预训练模型的强大表征能力,生成样本质量更高,最终使第二网络的决策边界更加清晰和准确。

7、在一种可能的实施方式中,所述基于待测软件的二进制文件生成所述待测软件对应的第一图像,包括:

8、获取所述待测软件的二进制文件的原始字节序列;

9、重复执行以下步骤,直至未处理字节的数量小于第一数量:

10、按所述原始字节序列的顺序,基于连续的三个未处理字节生成一个像素点;所述像素点的像素值是由所述连续的三个未处理字节的值确定的;

11、将用于生成所述像素点的三个未处理字节标记为已处理字节;

12、按预设的宽度和高度将生成的每个像素点进行排列,生成所述第一图像。

13、通过上述方式,将二进制文件的每一个字节都直接映射为彩色图像的一个颜色通道值,实现了从一维字节序列到二维彩色图像的完整信息保留,不存在信息压缩或丢弃,解决了传统灰度图像转换方法中信息损失的根本缺陷。基于固定规则的映射方式无需任何先验知识或人工标注,可自动化、批量化地完成任意二进制文件到图像的转换,处理效率高、一致性好。连续的3个字节被映射到同一个像素点的rgb通道,保留了字节序列中相邻字节之间的局部关联性,有利于后续网络学习到代码中的局部模式。

14、在一种可能的实施方式中,所述按预设的宽度和高度将生成的每个像素点进行排列之前,所述方法还包括:

15、若所述原始字节序列中包含未处理字节,则基于所述未处理字节的数量以及所述第一数量,确定目标数量;

16、基于所述未处理字节以及所述目标数量的预设像素值生成一个像素点。

17、通过上述方式,确保二进制文件的每一个字节都被映射到图像中,无论文件大小是否为3的倍数,不存在数据丢弃,最大限度保留了待测软件的完整信息。通过预设像素值的补全机制,使得所有转换出的图像具有规则的尺寸格式,便于后续批量输入深度学习网络进行训练和推理。

18、在一种可能的实施方式中,所述第一网络通过如下方式进行训练:

19、将目标第二图像分割为多个目标图像块;所述目标第二图像为所述多个已有的第二图像中的任意一个第二图像;

20、从多个所述目标图像块中选取第二数量的目标图像块作为待定图像块,并将每个所述待定图像块中包含的每个像素点的像素值从初始值设置为目标值;

21、将所述目标第二图像对应的每个目标图像块与待定图像块均输入所述第一网络,得到所述第一网络针对每个所述目标图像块输出的特征表示;

22、基于所述特征表示预测每个所述待定目标图像块中包含的每个像素点的像素值,得到每个所述待定目标图像块中包含的每个像素点的预测值;

23、根据每个所述待定目标图像块中包含的每个像素点的预测值与初始值之间的差异,调整所述第一网络的参数。

24、通过上述方式,利用自监督任务,第一网络可以在大量无标注的二进制文件图像上进行预训练,自主学习到恶意软件的底层字节结构与语义特征,极大降低了训练数据的标注成本。第一网络通过自注意力机制动态建模图像块之间的依赖关系,被掩码区域不仅依赖自身局部信息,还能参考整张图像中其他位置的相关模式进行预测,形成对文件结构的全局理解。

25、在一种可能的实施方式中,所述根据每个所述待定目标图像块中包含的每个像素点的预测值与初始值之间的差异,调整所述第一网络的参数,包括:

26、针对所述第二数量的待定图像块中的每个所述待定图像块,确定所述预测值与所述初始值之间的均方误差,得到第二数量的损失值;

27、基于所述第二数量的损失值之和,调整所述第一网络的参数。

28、通过上述方式,损失函数在像素级别对预测值进行逐点监督,使第一网络学习到被掩码区域的精确颜色分布,预训练得到的特征表示更加精细和准确。将第二数量的被掩码图像块的损失值求和后反向传播,使模型同时优化多个局部区域的预测任务,加速收敛且避免过拟合到单一区域的特征。

29、在一种可能的实施方式中,所述第二网络通过如下方式训练:

30、将多个所述第二图像以及多个所述第三图像输入所述第二网络,调整所述第二网络的参数直至损失函数达到预设目标,其中,所述损失函数为第一损失、第二损失、第三损失的加权和;所述第一损失用于表征通过所述第三网络生成的图像与真实图像在视觉分布上的差异;所述第二损失用于表征每个所述第三图像与对应的第二图像之间的差异;所述第三损失用于表征所述第二网络对每个所述第二图像以及每个所述第三图像的检测结果与实际结果之间的差异。

31、通过上述方式,利用三重损失进行约束,三重监督共同指导第三网络训练,使生成器产生高质量、高价值的数据用于第二网络训练,有效解决单向生成模型样本质量不稳定、影响检测与分类准确性的技术难题。

32、在一种可能的实施方式中,所述多个第三图像通过如下方式生成:

33、将多个所述第二图像输入所述第三网络,得到多个合成第二图像;

34、若任一合成第二图像通过第四网络的检测,确定所述任一合成第二图像为所述真实图像,则将所述任一合成第二图像输入所述第三网络,得到第三图像;所述第四网络用于检测所述合成第二图像在视觉分布上是否为真实图像。

35、通过上述方式,第四网络在第三图像的生成链条中起过滤作用,只有通过检测的合成图像才被用于下一轮生成,确保进入循环的样本质量可控。第三图像本质上是经过完整循环后的重构结果,其与原始第二图像的差异直接反映了生成过程的信息损失程度,为循环一致性损失提供了计算基础。由于第四网络的筛选机制激励第三网络生成更多样化的符合要求的样本,因此最终生成的第三图像分布更接近真实数据分布,有效避免模式崩塌问题。

36、第二方面,本技术实施例提供了一种软件检测装置,所述装置包括:

37、第一图像生成单元,用于基于待测软件的二进制文件生成所述待测软件对应的第一图像;

38、全局特征提取单元,用于利用已训练的第一网络提取所述第一图像的全局特征;所述第一网络是基于多个已有的第二图像训练的;

39、检测结果确定单元,用于利用已训练的第二网络基于所述全局特征确定所述待测软件的检测结果;所述第二网络是基于多个所述第二图像以及每个所述第二图像对应的第三图像训练的;每个所述第三图像是通过第三网络基于对应的第二图像生成的;所述第三网络的至少一个参数是基于所述已训练的第一网络的参数确定的。

40、第三方面,本技术实施例提供了一种电子设备,包括:

41、存储器,用于存储程序指令;

42、处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面所述的方法。

43、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面所述的方法。

44、本技术提供了一种软件检测方法、装置以及存储介质,第一网络通过预训练学习到了恶意软件二进制文件的通用结构与语义特征,作为冻结的特征提取主干共享给第二网络和第三网络,使得模型对代码混淆、加壳、变种等规避技术具有更强的抗干扰能力,极大提升了对未知及新型恶意软件的检测能力。通过第三网络生成大量高质量的、标签已知的第三图像用于第二网络的训练,突破了恶意样本获取困难、标注成本高昂的现实瓶颈,显著提升了数据驱动模型在稀缺样本场景下的性能上限。第三网络参数与第一网络参数相关联,使生成器继承预训练模型的强大表征能力,生成样本质量更高,最终使第二网络的决策边界更加清晰和准确。