基于进化生成对抗网络的恶意对抗样本生成方法及装置

文档序号:36830414发布日期:2024-01-26 16:44阅读:11来源:国知局
基于进化生成对抗网络的恶意对抗样本生成方法及装置

本发明属于网络安全的,具体涉及一种基于进化生成对抗网络的恶意对抗样本生成方法及装置。


背景技术:

1、近年来,恶意软件规模不断变大、种类不断增加,这给现存的恶意软件检测技术带来了全新的威胁和挑战,因此恶意软件对抗攻击方法成为恶意软件领域新的研究热点。研究人员使用机器学习方法和生成对抗网络(gan,generative adversarial networks)技术生成对抗样本。通过研究对抗攻击技术,可以揭露恶意软件检测系统的薄弱点和漏洞,从而促进系统检测能力的改进和提高;同时对抗攻击技术也可以作为评估工具,帮助评估现有恶意软件检测算法和防御机制,加强恶意软件检测算法的防御能力。然而,这些对抗攻击技术仍然存在一些缺点:首先,对抗攻击技术要求生成的对抗样本具备足够的泛化能力,即在不同环境、不同恶意软件检测系统中都能成功欺骗模型,不过由于恶意软件检测系统的差异性和复杂性,很难找到一个适用于所有情况的通用对抗攻击方法。其次,某些对抗攻击技术需要大量计算资源和时间来生成对抗样本,特别是在面对复杂的检测系统时,这一缺陷限制了对抗攻击技术的实际应用和效率。

2、纵观恶意软件对抗攻击技术发展历程,可分为基于梯度的方法、基于优化的方法和基于对抗生成网络(gan)的方法。由于gan出色的生成能力和判别能力,最近的研究逐渐开始关注恶意样本与gan方法的结合,以产生一个优秀的恶意样本生成器和恶意样本判别器。然而,即使许多结合方法在实验中取得了优秀的结果,在实际应用中还是存在以下问题。首先,目前大部分基于gan的恶意软件对抗攻击方法都选择将恶意软件转化为图片,再对恶意软件图片添加扰动,这一方法往往具有很好的实验效果,但从生成样本的可执行性角度看,该方法无法确保生成的对抗样本可以完成其恶意功能,无法逃避动态检测方法的检测。其次,使用gan方法生成恶意软件对抗样本时,缺乏完善的生成样本改进机制,使得样本不具备足够的泛化能力。再者,使用gan方法为恶意软件样本添加扰动时,往往没有对添加扰动的数量进行控制,导致生成的恶意软件样本与原始样本的分布距离过大,产生样本质量不高的问题。最后,以往方法过度追求生成样本欺骗模型的性能,导致对抗攻击过程需要消耗大量的计算资源和时间,产生生产样本效率低下的问题。综上所述,现有的基于gan的方法还存在较大的改进空间。


技术实现思路

1、本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于进化生成对抗网络的恶意对抗样本生成方法及装置,能够得到更加丰富、更具多样性的样本,完善了生成样本改进机制,使得样本具备足够的泛化能力,有效解决了传统gan模型的模式坍塌问题。

2、为了达到上述目的,本发明采用以下技术方案:

3、本发明第一目的在于提供一种基于进化生成对抗网络的恶意对抗样本生成方法,包括下述步骤:

4、构建进化生成对抗网络,所述进化生成对抗网络包括判别器及生成器;

5、初始化进化生成对抗网络,使用生成器生成恶意软件对抗样本并获取真实恶意软件的二进制文件得到二进制恶意样本,将恶意软件对抗样本作为假样本,二进制恶意样本作为真样本;

6、将真样本及假样本提交至cuckoo sandbox中进行执行和分析,筛选得到可执行的恶意样本并构造为恶意样本数据集;

7、将恶意样本数据集输入判别器中进行检测识别,保留可执行且具有欺骗性的恶意样本,构建判别器的损失函数;

8、使用判别器的损失函数对生成器的参数进行更新并引入随机噪声生成恶意对抗样本,使用遗传算法得到筛选恶意样本;

9、将筛选恶意样本作为新的假样本与真样本提交至cuckoo sandbox中进行执行和分析,筛选得到可执行的恶意样本并构造为恶意样本数据集,输入判别器和生成器进行迭代训练,直至达到终止条件或迭代次数为止,生成最终恶意对抗样本。

10、作为优选的技术方案,所述筛选得到可执行的恶意样本并构造为恶意样本数据集,具体为:

11、将真样本和假样本提交至cuckoo sandbox中;

12、cuckoo sandbox对提交的真样本和假样本进行执行和分析,根据真样本和假样本在cuckoo sandbox中的行为和活动,为样本打分;

13、每个行为和活动都有一个权重和阈值,当样本的行为和活动满足某个规则并且超过阈值时,该样本对应的分数就会被增加,得到该样本得分;

14、收集所有样本得分大于设定阈值的样本及其相关信息,整理为恶意样本数据集。

15、作为优选的技术方案,所述将恶意样本数据集输入判别器中进行检测识别,具体为:

16、使用真样本对判别器进行初始化;

17、将恶意样本数据集输入判别器中提取静态特征;所述静态特征包括文件属性、文件结构、静态代码的api调用序列及嵌入的代码与脚本;

18、对提取的静态特征进行编码、降维、归一化及融合操作,使用sigmod激活函数输出检测识别结果;所述检测识别结果为0~1之间的概率值;

19、根据检测识别结果,构建判别器的损失函数计算损失值。

20、作为优选的技术方案,所述判别器的损失函数表示为:

21、

22、其中,d表示判别器,d(x)是判别器的输出;g表示生成器,g(z)是生成器的输出,即假样本;pdata(x)表示真样本分布;x~pdata(x)表示恶意样本数据集中真样本服从pdata(x)分布;pz(g(z))表示假样本分布;g(z)~pz(g(z))表示恶意样本数据集中假样本服从pz(g(z))分布;a表示真样本的标签,b表示假样本的标签,x为恶意样本数据集中的真样本,z为随机噪声。

23、作为优选的技术方案,所述得到筛选恶意样本,具体为:

24、使用判别器的损失函数对生成器的参数进行更新并引入随机噪声生成恶意对抗样本;

25、使用遗传算法对生成的恶意对抗样本进行筛选,包括:

26、选用插入变异方法对恶意对抗样本的二进制文件进行填充,构成群体;

27、选用样本质量和样本多样性作为评估指标,对群体中个体进行评估得到评估得分;

28、将个体的评估得分按照从小到大的顺序排列,选择前n个个体作为下一次遗传算法的父代,输出前n个个体作为筛选恶意样本。

29、作为优选的技术方案,所述选用插入变异方法对恶意对抗样本的二进制文件进行填充,具体为:

30、在恶意对抗样本二进制文件的节表和末尾填充字节,公式为:

31、minfq=d(g(z))+λ·c(s)  (2)

32、其中,d(g(z))为判别器对恶意对抗样本的输出,c(s)表示对恶意对抗样本填充的字节量大小,fq为填充字节量和判别器的输出两项之和;λ为平衡参数,用于控制填充字节量的大小;s为填充恶意对抗样本的二进制字节。

33、作为优选的技术方案,所述得到评估得分,具体为:

34、选用样本质量和样本多样性作为评估指标;其中,样本质量由填充字节量和判别器的输出共同决定,采用fq作为样本质量的评估公式;样本多样性是指进化生成对抗网络在训练过程中是否出现模式崩塌、是否能产生充分分散的样本,公式为:

35、

36、式中,表示判别器的梯度范数;

37、对群体中每个个体进行评估,得到每个个体的评估得分,公式为:

38、f=fq+fd  (4)

39、式中,fq表示群体中个体的样本质量,fd表示群体中个体的样本多样性,二者之和即为群体中个体的评估得分f。

40、作为优选的技术方案,所述生成器的损失函数表示为:

41、

42、式中,c是一个数值,用于优化生成器的性能。

43、本发明第二目的在于提供一种基于进化生成对抗网络的恶意对抗样本生成系统,包括网络构建模块、网络初始化模块、数据集构造模块、检测识别模块、样本生成模块及网络训练模块;

44、所述网络构建模块用于构建进化生成对抗网络,所述进化生成对抗网络包括判别器及生成器;

45、所述网络初始化模块用于初始化进化生成对抗网络,使用生成器生成恶意软件对抗样本并获取真实恶意软件的二进制文件得到二进制恶意样本,将恶意软件对抗样本作为假样本,二进制恶意样本作为真样本;

46、所述数据集构造模块用于将真样本及假样本提交至cuckoo sandbox中进行执行和分析,筛选得到可执行的恶意样本并构造为恶意样本数据集;

47、所述检测识别模块用于将恶意样本数据集输入判别器中进行检测识别,保留可执行且具有欺骗性的恶意样本,构建判别器的损失函数;

48、所述样本生成模块用于使用判别器的损失函数对生成器的参数进行更新并引入随机噪声生成恶意对抗样本,使用遗传算法得到筛选恶意样本;

49、所述网络训练模块用于将筛选恶意样本作为新的假样本与真样本提交至cuckoosandbox中进行执行和分析,筛选得到可执行的恶意样本并构造为恶意样本数据集,输入判别器和生成器进行迭代训练,直至达到终止条件或迭代次数为止,生成最终恶意对抗样本。

50、本发明第三目的在于提供一种计算机可读存储介质,存储有程序,所述程序被处理器执行时,实现上述的基于进化生成对抗网络的恶意对抗样本生成方法。

51、本发明与现有技术相比,具有如下优点和有益效果:

52、1、现有技术通常使用恶意软件图片与gan结合,但恶意软件二进制与图片的互相转换不仅会造成重要信息的损失,还会带来许多不必要的计算量。本发明以恶意软件二进制文件作为样本,与目前常见的恶意软件二进制文件转换为图片的方法相比,减少了转换过程中的损失、减少了存储空间的占用、减少了图片还原为二进制文件所消耗的计算资源。

53、2、现有技术更多的关注对抗样本逃避模型检测的能力,并不关注生成的对抗样本是否具备动态恶意功能;但从实际攻击角度来看,仅能通过检测器检测的样本并不具备实际攻击功能。因此本发明使用cuckoo sandbox沙箱作为恶意功能的检测器,筛选掉不具备动态恶意功能的样本,避免了计算资源的消耗和浪费,确保样本不仅可以逃逸判别器的检测,还具备恶意功能从而造成一定的恶意后果。

54、3、现有的生成对抗样本选用的填充方法一般为随机填充法,使用该方法生成的样本无法保证样本被填充后仍然具备恶意功能。而本发明在二进制文件的节表和末尾进行填充,不会破坏二进制文件的功能性,即经过填充的二进制文件既可达到伪装的效果,又具备恶意功能。与随意添加扰动的方法相比,本方法生成的样本绕过检测的效率更高,即欺骗性更强,可以有效保障恶意软件的恶意功能不被破坏,能够更好的生成对抗样本的恶意功能。

55、4、现有的对抗样本生成方法通常使用gan模型,但是gan模型在训练中往往会出现模式坍塌问题,即生成的样本不够丰富。而本发明使用egan,即gan模型与遗传算法相结合的网络,遗传算法的使用可以在生成器的生成过程中引入随机性,从而增加样本的多样性,使生成器能够得到更加丰富、更具多样性的样本,完善了生成样本改进机制,使得样本具备足够的泛化能力,有效解决了传统gan模型的模式坍塌问题。

56、5、本发明对进化生成对抗网络的迭代次数做了限制,与之前的方法比起来,能够有效提升网络的效率,避免不必要的计算量,在无法得到有效对抗样本时及时止损,有利于研究人员及时找寻新的方向。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1