CN109598334A - 一种样本生成方法及装置 - Google Patents
一种样本生成方法及装置 Download PDFInfo
- Publication number
- CN109598334A CN109598334A CN201811465635.3A CN201811465635A CN109598334A CN 109598334 A CN109598334 A CN 109598334A CN 201811465635 A CN201811465635 A CN 201811465635A CN 109598334 A CN109598334 A CN 109598334A
- Authority
- CN
- China
- Prior art keywords
- sample
- data
- model
- advance
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Character Discrimination (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种样本生成方法及装置,将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,神经网络模型为采用了注意力机制的神经网络模型;将预先采集的测试集中的数据输入样本生成模型,生成样本。本发明采用了注意力机制的神经网络模型,使得神经网络模型能够对输入数据中的字符赋予不同的权重,从而更有选择性地学习输入数据中的数据信息,找到输入数据中与本次输出数据相关性较高的数据,最终得到高精度的深度学习模型,且训练损失较小,而高精度的深度学习模型生成的样本也必然具有更高的合法性和多样性。
Description
技术领域
本发明涉及数据处理领域,具体为一种样本生成方法及装置。
背景技术
模糊测试是通过向目标程序提供非预期的输入并监视异常结果来发现软件漏洞的一种常用漏洞挖掘技术。其中,模糊测试中需要生成具有较高合法性和多样性的样本。
现有的样本生成方法是采用具有两层长短期记忆网络(LongShort-Term Memory,LSTM)模型的神经网络训练深度学习模型,然后将Windows官方测试团队提供的测试数据集输入到训练好的深度学习模型中,得到样本。
现有的样本生成方法,测试数据的来源是由官方提供的,较为单一,使得最终生成的样本多样性较差。并且,LSTM模型不具有优选数据能力,在数据选取过程中很容易选取到与本次输出数据相关性较低的输入数据,使得LSTM模型训练的深度学习模型精度低、且训练损失较大,这也就直接导致深度学习模型生成的样本合法性和多样性较差。
发明内容
本发明提供了一种样本生成方法及装置,可以解决现有技术中由于采用具有两层LSTM模型的神经网络训练得到的深度学习模型精度低、训练损失较大,导致最终生成的样本合法性和多样性较差的问题。
为达到上述目的,本发明提供了如下技术方案:
一种样本生成方法,包括:
将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型;
将预先采集的测试集中的数据输入所述样本生成模型,生成样本;
其中,所述样本为对目标软件进行模糊测试所需的样本,所述训练集中的数据和所述测试集中的数据为能被所述目标软件读取的数据。
可选的,所述预先采集的训练集和预先采集的测试集的生成过程,包括:
采集初始数据,得到初始数据集,所述初始数据为能被所述目标软件读取的数据;
按照预设的比例将所述初始数据集划分为训练集和测试集,所述训练集中包含生成所述样本生成模型的一个或多个输入输出数据组,所述测试集中包含生成样本所需的数据,所述训练集为所述预先采集的训练集,所述测试集为所述预先采集的测试集。
可选的,所述神经网络模型包括输入层、第一双向长短期记忆网络层、第二双向长短期记忆网络层、注意力机制层、变平层和全连接层,其中,所述注意力机制层能够根据当前使用的输入输出数据组中输入数据与输出数据的相关性为输入数据的字符赋予不同的权重。
可选的,所述将预先采集的测试集中的数据输入所述样本生成模型,生成样本,包括:
将预先采集的测试集中的数据同时输入多个样本生成模型,生成多个样本,所述多个样本生成模型均为所述神经网络模型根据所述预先采集的训练集中的数据经过不同训练轮次得到的。
可选的,所述将预先采集的测试集中的数据输入所述样本生成模型,生成样本,包括:
以固定长度的字符选择窗口在预先采集的测试集中选取前缀字符串;
将所述前缀字符串输入所述样本生成模型,生成所述初始数据中所有唯一性字符的概率分布;
对所述所有唯一性字符的概率分布进行温度采样,得到一个字符;
将多次生成所述所有唯一性字符的概率分布,并进行温度采样得到的字符组合成样本。
一种样本生成装置,包括:
第一生成单元,用于将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型;
第二生成单元,用于将预先采集的测试集中的数据输入所述样本生成模型,生成样本;
其中,所述样本为对目标软件进行模糊测试所需的样本,所述训练集中的数据和所述测试集中的数据为能被所述目标软件读取的数据。
可选的,所述样本生成装置,还包括:
采集单元,用于采集初始数据,得到初始数据集,所述初始数据为能被所述目标软件读取的数据;
划分单元,用于按照预设的比例将所述初始数据集划分为训练集和测试集,所述训练集中包含生成所述样本生成模型的一个或多个输入输出数据组,所述测试集中包含生成样本所需的数据,所述训练集为所述预先采集的训练集,所述测试集为所述预先采集的测试集。
可选的,所述神经网络模型包括输入层、第一双向长短期记忆网络层、第二双向长短期记忆网络层、注意力机制层、变平层和全连接层,其中,所述注意力机制层能够根据当前使用的输入输出数据组中输入数据与输出数据的相关性为输入数据的字符赋予不同的权重。
可选的,所述第二生成单元,用于将预先采集的测试集中的数据同时输入多个样本生成模型,生成多个样本,所述多个样本生成模型均为所述神经网络模型根据所述预先采集的训练集中的数据经过不同训练轮次得到的。
可选的,所述第二生成单元,包括:
选取单元,用于以固定长度的字符选择窗口在预先采集的测试集中选取前缀字符串;
第三生成单元,用于将所述前缀字符串输入所述样本生成模型,生成所述初始数据中所有唯一性字符的概率分布;
采样单元,用于对所述所有唯一性字符的概率分布进行温度采样,得到一个字符;
组合单元,用于将多次生成所述所有唯一性字符的概率分布,并进行温度采样得到的字符组合成样本。
经由上述技术方案可知,本发明公开了一种样本生成方法及装置,将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型。本发明采用了注意力机制的神经网络模型,使得神经网络模型能够对输入数据中的字符赋予不同的权重,从而更有选择性地学习输入数据中的数据信息,找到输入数据中与本次输出数据相关性较高的数据,最终得到高精度的深度学习模型,且训练损失较小,而高精度的深度学习模型生成的样本也必然具有更高的合法性和多样性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种样本生成方法的流程图;
图2为本发明的另一实施例中采用的神经网络模型的结构图;
图3为传统的样本生成方式示意图;
图4为本发明采用的多进程样本生成方式示意图;
图5为本发明实施例公开的一种样本生成装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种样本生成方法及装置,可以解决现有技术中由于采用具有两层LSTM模型的神经网络训练得到的深度学习模型精度低、训练损失较大,导致最终生成的样本合法性和多样性较差的问题。
如图1所示,本发明实施例公开了一种样本生成方法,包括以下步骤:
S101、将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型。
在步骤S101中,所述神经网络模型为采用了注意力机制的神经网络模型。
需要说明的是,注意力机制Attention可以为神经网络模型输入数据的字符赋予不同的权重。Attention输出的向量分布可以是一种one-hot格式的独热分布,从而可以满足神经网络模型训练样本生成模型的编码序列要求。
具体的,在模型训练阶段,首先对训练集中的数据进行预处理,将训练集数据按照预设字符长度切分成等长的训练序列,并采用独热编码(one-hot encoding)的方式将训练序列转化为向量,从而使训练集数据能够作为神经网络模型的输入数据。这也使得同样采用独热码向量格式数据的注意力机制可以引入到神经网络模型当中。
可选的,一般我们采用的预设字符长度为50个字符,但该字符长度可以根据具体情况和需要自行设定。
可选的,如图2所示,为本发明的另一实施例中采用的神经网络模型的结构图,所述神经网络模型包括:
输入层、第一双向长短期记忆网络层、第二双向长短期记忆网络层、注意力机制层、变平层和第一全连接层,其中,所述注意力机制层能够根据当前使用的输入输出数据组中输入数据与输出数据的相关性为输入数据的字符赋予不同的权重。
其中,注意力机制层包括五层,依次为第一重新排列层、用于将输入数据的维度按照预设模式进行重排;重塑层,用于将输入数据的形态转换为特定的形态;第二全连接层;第二重新排列层;融合层,用于实现不同网络层的合并输出。
需要说明的是,变平层用于把多维的输入一维化,实现从注意力机制层的融合层到全连接层的过渡;全连接层的激活函数采用了归一化函数softmax,能够对全连接层输出结果进行归一化处理,使训练得到的样本生成模型能够输出一系列概率分布。
需要说明的是,从图2中可以看到,输出层中的数据格式为(50,96),这表示本次神经网络模型的输入数据采用50个字符长度作为预设长度对训练集数据进行切分,且训练集数据中包含96种唯一性字符。所述唯一性字符是指在数据中与其他字符不同的字符,例如一个数据集中包括四个字符分别为o,o,i,t,则该数据集中包含三种唯一性字符,分别是o,i,t。
还需要说明的是,当训练集中的所有数据全部都作为输入数据输入到神经网络模型一遍后,得到样本生成模型,称该样本生成模型为训练一轮得到的样本生成模型。为了选出样本生成效果最好的模型,将训练不同轮次得到的样本生成模型分别保存,并进行样本生成。
S102、将预先采集的测试集中的数据输入所述样本生成模型,生成样本。
其中,所述样本为对目标软件进行模糊测试所需的样本,所述训练集中的数据和所述测试集中的数据为能被所述目标软件读取的数据。
可选的,将预先采集的测试集中的数据同时输入多个样本生成模型,生成多个样本,所述多个样本生成模型均为所述神经网络模型根据所述预先采集的训练集中的数据经过不同训练轮次得到的。
需要说明的是,将测试集的所有数据都作为输入数据输入到样本生成模型一遍后,则认为完成了当前样本生成模型的一个批次样本生成工作。传统的样本生成过程是在一个轮次的样本生成模型完成一个批次的样本生成工作后,再将测试集的数据作为输入数据输入到神经网络模型下一轮训练生成的样本生成模型中,进行样本生成工作,这样的单线程样本生成模式,耗时长效率低。
本发明的样本生成方式采用多进程的方式进行,可以将测试集中的数据同时输入多个不同训练轮次生成的样本生成模型,同时进行样本生成工作,大幅提高了样本生成效率。
以目标软件为PDF阅读器为例,如图3所示为传统的样本生成方式示意图,其中,样本生成模型按照顺序在前一个样本生成模型完成PDF样本生成工作后,再进行下一个样本生成模型的样本生成工作。
如图4所示,为本发明采用的多进程样本生成方式示意图,由于通过样本生成模型生成PDF样本分为两个步骤,则在本实施例中按照需求建立两个进程池,进程池1用于为每个样本生成模型分配一个进程用于生成OBJ序列,同一个样本生成模型生成的OBJ序列作为一个批次的OBJ序列,将多个批次的OBJ序列进行储存,进程池2检测储存中OBJ序列的批次数量,为每个批次的OBJ序列分配一个进程用于生成DPF样本,同样的,同一个批次的OBJ序列生成的PDF样本作为一个批次的PDF样本,很明显相比于传统的样本生成方式,本实施提供的多进程样本生成方式具有更高的样本生成效率。
可选的,所述预先采集的训练集和预先采集的测试集的生成过程,包括:
采集初始数据,得到初始数据集,所述初始数据为能被所述目标软件读取的数据。
具体的,可以通过通过人工收集、模糊测试工具生成、网络爬取等多种方式收集初始数据集:在人工收集方面,可以收集较为著名的公开测试集数据;在模糊测试工具生成方面,可以通过QuickFuzz、Peach等工具生成数据;在网络爬取方面,将采用PSpider、Scrapy等框架爬取网络上的常用测试集数据。
在完成初始数据的收集工作后,为减小初始数据集的冗余度,对采集到的初始数据进行去重和最小集处理,其中,最小集处理可以采用afl-cmin等工具。由于需要考虑生成样本的多样性和完备性,在处理过程中会优先选取覆盖率较高的数据进行保留。
经过上述收集和处理操作后,能够得到数量充足并且具有多样性的初始数据集,用于后续训练模型和生成样本。
可选的,在本发明的另一实施例中,将生成的初始数据集中的字符映射到一个指定的索引集并保存在字典当中,每一个字符都有相应的编码,后续在样本生成过程中可以生成对应字符的编码,然后对编码值进行解码得到对应字符的索引值,最后查询字典,找到索引值对应的字符,这样可以使生成的样本更能够满足合法性要求,提升样本质量。
按照预设的比例将所述初始数据集划分为训练集和测试集,所述训练集中包含生成所述样本生成模型的一个或多个输入输出数据组,所述测试集中包含生成样本所需的数据,所述训练集为所述预先采集的训练集,所述测试集为所述预先采集的测试集。
需要说明的是,一般的神经网络模型对obj序列特征的学习具有比较好的效果,但对二进制流的间接对象,因其本身是图片等规律性不强的特征,学习效果并不好。所以现有技术中,从初始数据中选取间接对象生成训练集和测试集,只考虑了纯文本类的obj序列间接对象,对二进制流的间接对象则不进行学习。但二进制流的间接对象在整个PDF文件的间接对象中占有较高的比例,若直接忽略,会导致后续学习的特征具有较大局限性,影响生成样本的多样性。
本实施例中生成训练集和测试集的过程,在间接对象提取时,同时提取了obj序列和二进制流间接对象,然后对其分别处理。将二进制流间接对象的内容以stream字符串替代,并与普通的文本对象obj序列一起进行存储,在后续加载样本生成模型生成obj序列时将同时生成普通纯文本类的obj序列和带stream字符串的文本类obj序列。在后续生成PDF样本时,将从新生成的obj序列写入到PDF文件中,如果选中的obj序列是二进制流间接对象,则从流存储单元中随机选取二进制流内容替换obj序列中的stream字符串,然后再把完成替换的二进制流间接对象附加到PDF文件中。
可见,本实施例中生成的训练集和测试集,同时具有纯文本的obj序列和二进制流的间接对象,相比现有技术只具有纯文本的obj序列的训练集和测试集,本实施例中生成的训练集和测试集在后续的学习和训练的过程中可以得到更具多样性的样本。
可选的,所述将预先采集的测试集中的数据输入所述样本生成模型,生成样本,包括:
以固定长度的字符选择窗口在预先采集的测试集中选取前缀字符串。
具体的,先在测试集中随机选取某一间接对象,然后从所述间接对象中截取固定长度的字符作为前缀字符串,其中,可以以50个字符作为固定长度进行截取。
将所述前缀字符串输入所述样本生成模型,生成所述初始数据中所有唯一性字符的概率分布。
具体的,若所述初始数据中包含96种唯一性字符,则生成的概率分布为96种唯一性字符的概率分布。
其中,前缀字符串在输入到样本生成模型之前需要进行向量化。
对所述所有唯一性字符的概率分布进行温度采样,得到一个字符。
需要说明的是,为了得到更多样化、更大代码覆盖率的样本,我们将概率分布通过不同的温度参数值进行调整后进行采样。其中温度参数值越大,各唯一性字符的概率差异越小,温度参数值越小,则各唯一性字符的概率差异越大。
此外,样本质量的好坏主要通过代码覆盖率指标来衡量,代码覆盖率越高说明样本质量越好。
在本发明的另一实施例中,进行采样后得到的对应字符的编码,然后对编码值进行解码得到对应字符的索引值,最后查询字典,找到索引值对应的字符。
将多次生成所述所有唯一性字符的概率分布,并进行温度采样得到的字符组合成样本。
具体的,先将字符组合成obj序列,再将obj序列组合成样本。
需要说明的是,字符选择窗口的长度可以根据需要自行设定,第一次选取前缀字符串是从测试集的一个字符串的第一个字符开始的,在以当前选择的前缀字符串最终得到一个字符后,以将字符选择窗口顺着测试集字符串的字符顺序向后移动一个字符,即以测试集字符串的第二个字符为起始,截取所述字符选择窗口长度的前缀字符串,再次输入到样本生成模型当中,最终得到一个字符,如此类推,将得到的所有字符组合成样本。
进一步的,在将最新得到的字符与之前得到的字符组合成最新字符串后,会进行样本完整性检测,即检测最新字符串的末尾字段是否构成结尾字符串,若是,则认为已经生成了完整的样本,将该样本保存,并将下一个得到的字符作为新的字符串的起始字符。若否,则认为未生成完整的样本,继续将最新得到的字符与之前得到的字符组合成新的字符串,并验证完整性。
进一步的,在判断结果为未生成完整的样本时,检测所述最新字符串的长度是否超过限定长度,当检测到所述最新字符串的长度超过了限定长度,则舍弃该字符串,所述限定长度为根据模糊测试的需要限定的样本字符串的最大长度。
本实施例公开的一种样本生成方法,将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型。本发明采用了注意力机制的神经网络模型,使得神经网络模型能够对输入数据中的字符赋予不同的权重,从而更有选择性地学习输入数据中的数据信息,找到输入数据中与本次输出数据相关性较高的数据,最终得到高精度的深度学习模型,且训练损失较小,而高精度的深度学习模型生成的样本也必然具有更高的合法性和多样性。
基于上述本发明实施例公开的样本生成方法,图5具体公开了应用该样本生成方法的样本生成装置。
如图5所示,本发明另一实施例公开了一种样本生成装置,该装置包括:
第一生成单元501,用于将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型。
第二生成单元502,用于将预先采集的测试集中的数据输入所述样本生成模型,生成样本。
其中,所述样本为对目标软件进行模糊测试所需的样本,所述训练集中的数据和所述测试集中的数据为能被所述目标软件读取的数据。
可选的,所述样本生成装置,还包括:
采集单元,用于采集初始数据,得到初始数据集,所述初始数据为能被所述目标软件读取的数据。
划分单元,用于按照预设的比例将所述初始数据集划分为训练集和测试集,所述训练集中包含生成所述样本生成模型的一个或多个输入输出数据组,所述测试集中包含生成样本所需的数据,所述训练集为所述预先采集的训练集,所述测试集为所述预先采集的测试集。
可选的,所述神经网络模型包括输入层、第一双向长短期记忆网络层、第二双向长短期记忆网络层、注意力机制层、变平层和全连接层,其中,所述注意力机制层能够根据当前使用的输入输出数据组中输入数据与输出数据的相关性为输入数据的字符赋予不同的权重。
可选的,所述第二生成单元502,用于将预先采集的测试集中的数据同时输入多个样本生成模型,生成多个样本,所述多个样本生成模型均为所述神经网络模型根据所述预先采集的训练集中的数据经过不同训练轮次得到的。
可选的,所述第二生成单元502,包括:
选取单元,用于以固定长度的字符选择窗口在预先采集的测试集中选取前缀字符串。
第三生成单元,用于将所述前缀字符串输入所述样本生成模型,生成所述初始数据中所有唯一性字符的概率分布。
采样单元,用于对所述所有唯一性字符的概率分布进行温度采样,得到一个字符。
组合单元,用于将多次生成所述所有唯一性字符的概率分布,并进行温度采样得到的字符组合成样本。
以上本发明实施例公开的样本生成装置中的第一生成单元501和第二生成单元502的具体工作过程,可参见本发明上述实施例公开的样本生成方法中的对应内容,这里不再进行赘述。
本实施例公开的样本生成装置中,第一生成单元将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型。本发明采用了注意力机制的神经网络模型,使得神经网络模型能够对输入数据中的字符赋予不同的权重,从而更有选择性地学习输入数据中的数据信息,找到输入数据中与本次输出数据相关性较高的数据,最终得到高精度的深度学习模型,且训练损失较小,而高精度的深度学习模型生成的样本也必然具有更高的合法性和多样性。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包
括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种样本生成方法,其特征在于,包括:
将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型;
将预先采集的测试集中的数据输入所述样本生成模型,生成样本;
其中,所述样本为对目标软件进行模糊测试所需的样本,所述训练集中的数据和所述测试集中的数据为能被所述目标软件读取的数据。
2.根据权利要求1所述的样本生成方法,其特征在于,所述预先采集的训练集和预先采集的测试集的生成过程,包括:
采集初始数据,得到初始数据集,所述初始数据为能被所述目标软件读取的数据;
按照预设的比例将所述初始数据集划分为训练集和测试集,所述训练集中包含生成所述样本生成模型的一个或多个输入输出数据组,所述测试集中包含生成样本所需的数据,所述训练集为所述预先采集的训练集,所述测试集为所述预先采集的测试集。
3.根据权利要求2所述的样本生成方法,其特征在于,所述神经网络模型包括输入层、第一双向长短期记忆网络层、第二双向长短期记忆网络层、注意力机制层、变平层和全连接层,其中,所述注意力机制层能够根据当前使用的输入输出数据组中输入数据与输出数据的相关性为输入数据的字符赋予不同的权重。
4.根据权利要求1所述的样本生成方法,其特征在于,所述将预先采集的测试集中的数据输入所述样本生成模型,生成样本,包括:
将预先采集的测试集中的数据同时输入多个样本生成模型,生成多个样本,所述多个样本生成模型均为所述神经网络模型根据所述预先采集的训练集中的数据经过不同训练轮次得到的。
5.根据权利要求2所述的样本生成方法,其特征在于,所述将预先采集的测试集中的数据输入所述样本生成模型,生成样本,包括:
以固定长度的字符选择窗口在预先采集的测试集中选取前缀字符串;
将所述前缀字符串输入所述样本生成模型,生成所述初始数据中所有唯一性字符的概率分布;
对所述所有唯一性字符的概率分布进行温度采样,得到一个字符;
将多次生成所述所有唯一性字符的概率分布,并进行温度采样得到的字符组合成样本。
6.一种样本生成装置,其特征在于,包括:
第一生成单元,用于将预先采集的训练集中的数据输入神经网络模型,得到样本生成模型,所述神经网络模型为采用了注意力机制的神经网络模型;
第二生成单元,用于将预先采集的测试集中的数据输入所述样本生成模型,生成样本;
其中,所述样本为对目标软件进行模糊测试所需的样本,所述训练集中的数据和所述测试集中的数据为能被所述目标软件读取的数据。
7.根据权利要求6所述的样本生成装置,其特征在于,还包括:
采集单元,用于采集初始数据,得到初始数据集,所述初始数据为能被所述目标软件读取的数据;
划分单元,用于按照预设的比例将所述初始数据集划分为训练集和测试集,所述训练集中包含生成所述样本生成模型的一个或多个输入输出数据组,所述测试集中包含生成样本所需的数据,所述训练集为所述预先采集的训练集,所述测试集为所述预先采集的测试集。
8.根据权利要求7所述的样本生成装置,其特征在于,所述神经网络模型包括输入层、第一双向长短期记忆网络层、第二双向长短期记忆网络层、注意力机制层、变平层和全连接层,其中,所述注意力机制层能够根据当前使用的输入输出数据组中输入数据与输出数据的相关性为输入数据的字符赋予不同的权重。
9.根据权利要求6所述的样本生成装置,其特征在于,所述第二生成单元,用于将预先采集的测试集中的数据同时输入多个样本生成模型,生成多个样本,所述多个样本生成模型均为所述神经网络模型根据所述预先采集的训练集中的数据经过不同训练轮次得到的。
10.根据权利要求7所述的样本生成装置,其特征在于,所述第二生成单元,包括:
选取单元,用于以固定长度的字符选择窗口在预先采集的测试集中选取前缀字符串;
第三生成单元,用于将所述前缀字符串输入所述样本生成模型,生成所述初始数据中所有唯一性字符的概率分布;
采样单元,用于对所述所有唯一性字符的概率分布进行温度采样,得到一个字符;
组合单元,用于将多次生成所述所有唯一性字符的概率分布,并进行温度采样得到的字符组合成样本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811465635.3A CN109598334B (zh) | 2018-12-03 | 2018-12-03 | 一种样本生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811465635.3A CN109598334B (zh) | 2018-12-03 | 2018-12-03 | 一种样本生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109598334A true CN109598334A (zh) | 2019-04-09 |
CN109598334B CN109598334B (zh) | 2021-06-29 |
Family
ID=65960510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811465635.3A Active CN109598334B (zh) | 2018-12-03 | 2018-12-03 | 一种样本生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109598334B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765491A (zh) * | 2019-11-08 | 2020-02-07 | 国网浙江省电力有限公司信息通信分公司 | 一种去敏感化数据关联关系的保持方法及系统 |
CN111258909A (zh) * | 2020-02-07 | 2020-06-09 | 中国信息安全测评中心 | 一种测试样本生成方法及装置 |
CN111563034A (zh) * | 2020-04-14 | 2020-08-21 | 北京明略软件系统有限公司 | 一种模拟数据的生成方法和装置 |
WO2020252930A1 (zh) * | 2019-06-19 | 2020-12-24 | 平安科技(深圳)有限公司 | 问答系统重复问题识别方法、装置、设备及存储介质 |
CN113626324A (zh) * | 2021-08-04 | 2021-11-09 | 北京航空航天大学 | 一种面向Move语言虚拟机的模糊测试方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495731A (zh) * | 2011-12-02 | 2012-06-13 | 中国信息安全测评中心 | 一种信息安全评估的实施用例的生成方法 |
CN107870902A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 神经机器翻译系统 |
CN108089974A (zh) * | 2016-11-23 | 2018-05-29 | 谷歌有限责任公司 | 利用定义的输入格式来测试应用 |
CN108415977A (zh) * | 2018-02-09 | 2018-08-17 | 华南理工大学 | 一个基于深度神经网络及强化学习的生成式机器阅读理解方法 |
CN108470003A (zh) * | 2018-03-24 | 2018-08-31 | 中科软评科技(北京)有限公司 | 模糊测试方法、装置和系统 |
-
2018
- 2018-12-03 CN CN201811465635.3A patent/CN109598334B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495731A (zh) * | 2011-12-02 | 2012-06-13 | 中国信息安全测评中心 | 一种信息安全评估的实施用例的生成方法 |
CN107870902A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 神经机器翻译系统 |
CN108089974A (zh) * | 2016-11-23 | 2018-05-29 | 谷歌有限责任公司 | 利用定义的输入格式来测试应用 |
CN108415977A (zh) * | 2018-02-09 | 2018-08-17 | 华南理工大学 | 一个基于深度神经网络及强化学习的生成式机器阅读理解方法 |
CN108470003A (zh) * | 2018-03-24 | 2018-08-31 | 中科软评科技(北京)有限公司 | 模糊测试方法、装置和系统 |
Non-Patent Citations (3)
Title |
---|
MOHIT RAJPAL ET AL: "Not all bytes are equal: Neural byte sieve for fuzzing", 《ARXIV:1711.04596V1 [CS.SE]》 * |
廉美 等: "动态资源感知的并行化模糊测试框架", 《计算机应用研究》 * |
徐鹏 等: "基于循环神经网络的模糊测试用例生成", 《HTTP://KNS.CNKI.NET/KCMS/DETAIL/51.1196.TP.20180619.1517.062.HTML》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020252930A1 (zh) * | 2019-06-19 | 2020-12-24 | 平安科技(深圳)有限公司 | 问答系统重复问题识别方法、装置、设备及存储介质 |
CN110765491A (zh) * | 2019-11-08 | 2020-02-07 | 国网浙江省电力有限公司信息通信分公司 | 一种去敏感化数据关联关系的保持方法及系统 |
CN110765491B (zh) * | 2019-11-08 | 2020-07-17 | 国网浙江省电力有限公司信息通信分公司 | 一种去敏感化数据关联关系的保持方法及系统 |
CN111258909A (zh) * | 2020-02-07 | 2020-06-09 | 中国信息安全测评中心 | 一种测试样本生成方法及装置 |
CN111258909B (zh) * | 2020-02-07 | 2024-03-15 | 中国信息安全测评中心 | 一种测试样本生成方法及装置 |
CN111563034A (zh) * | 2020-04-14 | 2020-08-21 | 北京明略软件系统有限公司 | 一种模拟数据的生成方法和装置 |
CN113626324A (zh) * | 2021-08-04 | 2021-11-09 | 北京航空航天大学 | 一种面向Move语言虚拟机的模糊测试方法 |
CN113626324B (zh) * | 2021-08-04 | 2023-09-26 | 北京航空航天大学 | 一种面向Move语言虚拟机的模糊测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109598334B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109598334A (zh) | 一种样本生成方法及装置 | |
CN102184205B (zh) | 基于可扩展精度混沌哈希的多模式串匹配方法 | |
CN110247930A (zh) | 一种基于深度神经网络的加密网络流量识别方法 | |
CN108768986A (zh) | 一种加密流量分类方法及服务器、计算机可读存储介质 | |
CN106445939A (zh) | 图像检索、获取图像信息及图像识别方法、装置及系统 | |
CN109495214A (zh) | 基于一维Inception结构的信道编码类型识别方法 | |
CN115967504A (zh) | 加密恶意流量检测方法、装置、存储介质及电子装置 | |
CN109075803A (zh) | 具有打孔、缩短和扩展的极化码编码 | |
CN111144470A (zh) | 一种基于深度自编码器的未知网络流量识别方法及系统 | |
WO2019076177A1 (zh) | 基因测序数据压缩预处理、压缩、解压方法、系统及计算机可读介质 | |
CN109150383A (zh) | 一种Polar码的编码方法及装置 | |
CN105426392A (zh) | 一种协同过滤推荐方法及系统 | |
CN107277109B (zh) | 针对压缩流量的多字符串匹配方法 | |
CN117097441B (zh) | 基于数据分析的载波通信系统传输效率优化方法 | |
CN105005464B (zh) | 一种Burrows Wheeler变换硬件处理装置 | |
CN106610640A (zh) | 针对多目标柔性作业车间调度的含禁忌表的遗传与局部搜索算法 | |
CN109347873A (zh) | 一种命令注入攻击的检测方法、装置及计算机设备 | |
CN110007955B (zh) | 一种指令集模拟器译码模块代码的压缩方法 | |
CN107193685A (zh) | 基于闪存存储设备的纠删方法及装置 | |
CN116827836A (zh) | 基于细粒度覆盖信息引导的协议漏洞挖掘测试方法与系统 | |
CN105844214B (zh) | 一种基于比特空间的多路径深度编码的信息指纹提取方法 | |
Nizam et al. | Cyclic genetic algorithm for multiple sequence alignment | |
Tian et al. | A coding algorithm for constant weight vectors: A geometric approach based on dissections | |
CN103888250B (zh) | 一种基于自反馈演化序列的密钥序列生成方法 | |
CN106708532A (zh) | 基于tacm的多层次正则表达式匹配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |