一种样本生成方法及装置制造方法及图纸

技术编号:20820883 阅读:32 留言:0更新日期:2019-04-10 06:12
本发明专利技术公开了一种样本生成方法及装置,将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,神经网络模型为采用了注意力机制的神经网络模型;将预先采集的测试集中的数据输入样本生成模型,生成样本。本发明专利技术采用了注意力机制的神经网络模型,使得神经网络模型能够对输入数据中的字符赋予不同的权重,从而更有选择性地学习输入数据中的数据信息,找到输入数据中与本次输出数据相关性较高的数据,最终得到高精度的深度学习模型,且训练损失较小,而高精度的深度学习模型生成的样本也必然具有更高的合法性和多样性。

【技术实现步骤摘要】
一种样本生成方法及装置
本专利技术涉及数据处理领域,具体为一种样本生成方法及装置。
技术介绍
模糊测试是通过向目标程序提供非预期的输入并监视异常结果来发现软件漏洞的一种常用漏洞挖掘技术。其中,模糊测试中需要生成具有较高合法性和多样性的样本。现有的样本生成方法是采用具有两层长短期记忆网络(LongShort-TermMemory,LSTM)模型的神经网络训练深度学习模型,然后将Windows官方测试团队提供的测试数据集输入到训练好的深度学习模型中,得到样本。现有的样本生成方法,测试数据的来源是由官方提供的,较为单一,使得最终生成的样本多样性较差。并且,LSTM模型不具有优选数据能力,在数据选取过程中很容易选取到与本次输出数据相关性较低的输入数据,使得LSTM模型训练的深度学习模型精度低、且训练损失较大,这也就直接导致深度学习模型生成的样本合法性和多样性较差。
技术实现思路
本专利技术提供了一种样本生成方法及装置,可以解决现有技术中由于采用具有两层LSTM模型的神经网络训练得到的深度学习模型精度低、训练损失较大,导致最终生成的样本合法性和多样性较差的问题。为达到上述目的,本专利技术提供了如下技术方案:一种样本生成方法,包括:将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型;将预先采集的测试集中的数据输入所述样本生成模型,生成样本;其中,所述样本为对目标软件进行模糊测试所需的样本,所述训练集中的数据和所述测试集中的数据为能被所述目标软件读取的数据。可选的,所述预先采集的训练集和预先采集的测试集的生成过程,包括:采集初始数据,得到初始数据集,所述初始数据为能被所述目标软件读取的数据;按照预设的比例将所述初始数据集划分为训练集和测试集,所述训练集中包含生成所述样本生成模型的一个或多个输入输出数据组,所述测试集中包含生成样本所需的数据,所述训练集为所述预先采集的训练集,所述测试集为所述预先采集的测试集。可选的,所述神经网络模型包括输入层、第一双向长短期记忆网络层、第二双向长短期记忆网络层、注意力机制层、变平层和全连接层,其中,所述注意力机制层能够根据当前使用的输入输出数据组中输入数据与输出数据的相关性为输入数据的字符赋予不同的权重。可选的,所述将预先采集的测试集中的数据输入所述样本生成模型,生成样本,包括:将预先采集的测试集中的数据同时输入多个样本生成模型,生成多个样本,所述多个样本生成模型均为所述神经网络模型根据所述预先采集的训练集中的数据经过不同训练轮次得到的。可选的,所述将预先采集的测试集中的数据输入所述样本生成模型,生成样本,包括:以固定长度的字符选择窗口在预先采集的测试集中选取前缀字符串;将所述前缀字符串输入所述样本生成模型,生成所述初始数据中所有唯一性字符的概率分布;对所述所有唯一性字符的概率分布进行温度采样,得到一个字符;将多次生成所述所有唯一性字符的概率分布,并进行温度采样得到的字符组合成样本。一种样本生成装置,包括:第一生成单元,用于将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型;第二生成单元,用于将预先采集的测试集中的数据输入所述样本生成模型,生成样本;其中,所述样本为对目标软件进行模糊测试所需的样本,所述训练集中的数据和所述测试集中的数据为能被所述目标软件读取的数据。可选的,所述样本生成装置,还包括:采集单元,用于采集初始数据,得到初始数据集,所述初始数据为能被所述目标软件读取的数据;划分单元,用于按照预设的比例将所述初始数据集划分为训练集和测试集,所述训练集中包含生成所述样本生成模型的一个或多个输入输出数据组,所述测试集中包含生成样本所需的数据,所述训练集为所述预先采集的训练集,所述测试集为所述预先采集的测试集。可选的,所述神经网络模型包括输入层、第一双向长短期记忆网络层、第二双向长短期记忆网络层、注意力机制层、变平层和全连接层,其中,所述注意力机制层能够根据当前使用的输入输出数据组中输入数据与输出数据的相关性为输入数据的字符赋予不同的权重。可选的,所述第二生成单元,用于将预先采集的测试集中的数据同时输入多个样本生成模型,生成多个样本,所述多个样本生成模型均为所述神经网络模型根据所述预先采集的训练集中的数据经过不同训练轮次得到的。可选的,所述第二生成单元,包括:选取单元,用于以固定长度的字符选择窗口在预先采集的测试集中选取前缀字符串;第三生成单元,用于将所述前缀字符串输入所述样本生成模型,生成所述初始数据中所有唯一性字符的概率分布;采样单元,用于对所述所有唯一性字符的概率分布进行温度采样,得到一个字符;组合单元,用于将多次生成所述所有唯一性字符的概率分布,并进行温度采样得到的字符组合成样本。经由上述技术方案可知,本专利技术公开了一种样本生成方法及装置,将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型。本专利技术采用了注意力机制的神经网络模型,使得神经网络模型能够对输入数据中的字符赋予不同的权重,从而更有选择性地学习输入数据中的数据信息,找到输入数据中与本次输出数据相关性较高的数据,最终得到高精度的深度学习模型,且训练损失较小,而高精度的深度学习模型生成的样本也必然具有更高的合法性和多样性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例公开的一种样本生成方法的流程图;图2为本专利技术的另一实施例中采用的神经网络模型的结构图;图3为传统的样本生成方式示意图;图4为本专利技术采用的多进程样本生成方式示意图;图5为本专利技术实施例公开的一种样本生成装置的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供了一种样本生成方法及装置,可以解决现有技术中由于采用具有两层LSTM模型的神经网络训练得到的深度学习模型精度低、训练损失较大,导致最终生成的样本合法性和多样性较差的问题。如图1所示,本专利技术实施例公开了一种样本生成方法,包括以下步骤:S101、将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型。在步骤S101中,所述神经网络模型为采用了注意力机制的神经网络模型。需要说明的是,注意力机制Attention可以为神经网络模型输入数据的字符赋予不同的权重。Attention输出的向量分布可以是一种one-hot格式的独热分布,从而可以满足神经网络模型训练样本生成模型的编码序列要求。具体的,在模型训练阶段,首先对训练集中的数据进行预处理,将训练集数据按照预设字符长度切分成等长的训练序列,并采用独热编码(one-hotencoding)的方式将训练序列转化为向量,从而使训练本文档来自技高网...

【技术保护点】
1.一种样本生成方法,其特征在于,包括:将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型;将预先采集的测试集中的数据输入所述样本生成模型,生成样本;其中,所述样本为对目标软件进行模糊测试所需的样本,所述训练集中的数据和所述测试集中的数据为能被所述目标软件读取的数据。

【技术特征摘要】
1.一种样本生成方法,其特征在于,包括:将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型;将预先采集的测试集中的数据输入所述样本生成模型,生成样本;其中,所述样本为对目标软件进行模糊测试所需的样本,所述训练集中的数据和所述测试集中的数据为能被所述目标软件读取的数据。2.根据权利要求1所述的样本生成方法,其特征在于,所述预先采集的训练集和预先采集的测试集的生成过程,包括:采集初始数据,得到初始数据集,所述初始数据为能被所述目标软件读取的数据;按照预设的比例将所述初始数据集划分为训练集和测试集,所述训练集中包含生成所述样本生成模型的一个或多个输入输出数据组,所述测试集中包含生成样本所需的数据,所述训练集为所述预先采集的训练集,所述测试集为所述预先采集的测试集。3.根据权利要求2所述的样本生成方法,其特征在于,所述神经网络模型包括输入层、第一双向长短期记忆网络层、第二双向长短期记忆网络层、注意力机制层、变平层和全连接层,其中,所述注意力机制层能够根据当前使用的输入输出数据组中输入数据与输出数据的相关性为输入数据的字符赋予不同的权重。4.根据权利要求1所述的样本生成方法,其特征在于,所述将预先采集的测试集中的数据输入所述样本生成模型,生成样本,包括:将预先采集的测试集中的数据同时输入多个样本生成模型,生成多个样本,所述多个样本生成模型均为所述神经网络模型根据所述预先采集的训练集中的数据经过不同训练轮次得到的。5.根据权利要求2所述的样本生成方法,其特征在于,所述将预先采集的测试集中的数据输入所述样本生成模型,生成样本,包括:以固定长度的字符选择窗口在预先采集的测试集中选取前缀字符串;将所述前缀字符串输入所述样本生成模型,生成所述初始数据中所有唯一性字符的概率分布;对所述所有唯一性字符的概率分布进行温度采样,得到一个字符;将多次生成所述所有唯一性字符的概率分布,并进行温度采样得到的字符组合成...

【专利技术属性】
技术研发人员:邹权臣马金鑫张利吴润浦王欣
申请(专利权)人:中国信息安全测评中心
类型:发明
国别省市:北京,11

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

1