一种串匹配场景下数据集生成方法、设备和可读存储介质技术

技术编号:16885895 阅读:75 留言:0更新日期:2017-12-27 03:41
本发明专利技术涉及一种串匹配场景下数据集生成方法、设备和可读存储介质。该方法包括以下步骤:1)独立地生成模式串的每个字符,形成预设规模和预设长度的随机模式串集合;2)根据已生成的随机模式串集合,构造指定命中水平的文本数据集;3)输出生成的随机模式串集合和文本数据集。该设备包括通过总线连接的接收器、处理器、存储器和发送器,所述存储器用于存储串匹配场景下数据集生成指令。本发明专利技术能够生成预设规模预设长度的随机模式串集合,根据已生成的随机模式串集合可以构造指定命中水平的文本数据集,该随机模式串集合和文本数据集能够用于串匹配算法的功能测试和性能测试,对串匹配算法的进一步研究和性能提升有重要的作用。

A method of generating set of data sets, devices, and readable storage media in a string matching scene

The invention relates to a data set generation method, a device and a readable storage medium in a string matching scene. The method comprises the following steps: 1) each character separately generated pattern string, the formation of scale and preset preset length random pattern string set; 2) according to the random pattern is generated on the specified text data collection, structure level hit set; 3) random mode output generated string sets and text data sets. The device includes a receiver, a processor, a memory and a transmitter connected by a bus, and the memory is used to store data sets in the string matching scene to generate instructions. The present invention can generate random pattern scale preset preset length string set, according to the stochastic model has been generated on the specified text data set can be constructed hit level set, the random pattern string sets and text data sets can be used on the function test and performance test of the algorithm, has an important role in promoting the further research and performance on matching algorithm.

【技术实现步骤摘要】
一种串匹配场景下数据集生成方法、设备和可读存储介质
本专利技术属于信息
,涉及串匹配算法的测试技术,具体涉及一种串匹配场景下数据集生成方法、设备和可读存储介质。
技术介绍
串匹配算法是计算机研究领域的一个经典问题,是实现网络安全系统采用的关键技术之一。串匹配算法在网络安全领域的典型应用包括入侵检测系统(IPS)、入侵防御系统(IDS)、防病毒系统(AV)、垃圾邮件过滤系统和统一威胁管理(UTM)等等。串匹配算法的研究已经有几十年的历史,根据所匹配的模式串的数量,分为“单模式串匹配算法”和“多模式串匹配算法”。经典的单模式匹配算法有KMP和BM。在实际应用中,由于多模式匹配算法的应用、执行效率更高,因此,大多数系统是基于多模式匹配算法实现的。多模式匹配算法的代表性算法有AC、MultipleShift-And、Commentz-Walter、Wu-Manber、SBDM、SBOM、MultipleBNDM等。虽然串匹配算法方面的研究成果众多,但海量数据的处理和新的应用需求对串匹配算法提出了新的技术挑战。在串匹配算法的研究和测试过程中,如何获取测试串匹配算法的数据集是一个非常重要的内容。由于受时间、数据规模、数据多样性等一些原因的限制,很难获得充分有效的测试数据集。此外,不同的串匹配算法对测试数据集的要求不同,适用的数据集对于串匹配算法的不断发展起着至关重要的作用。在串匹配算法测试的过程中,用于算法测试的数据集由模式串集合和待匹配文本数据集构成。目前用于串匹配算法测试的数据集一般是从开源系统中提取的真实数据集,包括MIT入侵检测数据集(DARPAIntrusionDetectionDataSets:http://www.ll.mit.edu/mission/communications/)、开源入侵检测和防御系统Snort(Snort:http://www.snort.org/)规则集等。MIT入侵检测数据集:MIT林肯实验室创建的入侵检测评估数据集,是入侵检测领域使用最为广泛的测试数据集,该数据集模拟了美国Eyrie空军基地的主机被实施分布式拒绝服务攻击的情形。该数据集内容全面,有较为详细的攻击说明文档,同时也是到目前为止得到大家普遍公认,在串匹配算法研究中常使用的待扫描数据集。Snort是一个轻量级网络入侵检测系统,可以用来检测网络攻击。Snort的基础库代码为libcap,规则集是它的核心,是其检测攻击行为的知识库,通过配置规则可以检测命中的数据流是否存在异常,并根据用户定义的动作对数据流进行处理。虽然上面介绍的真实数据集已经在串匹配算法的测试过程中得到了应用,但是它们也有其不足之处。首先,MIT入侵检测数据集的内容比较陈旧,无法适应现阶段的应用环境;其次,MIT数据集的规模、Snort规则集中模式串的数量是固定的,不能根据算法的需求任意增加或者减少数据的规模,所以不能满足测试数据集的多样性需求;最后,MIT数据集和Snort规则集是相互独立的,且有可能会出现命中结果为0的情况,所以无法测试不同命中水平的文本数据集对串匹配算法性能的影响。此外,测试结果只能说明串匹配算法在该测试数据集上的应用情况,无法分析和推断串匹配算法在其他数据集上的表现。综上所述,为了对串匹配算法进行充分地测试,全面分析串匹配算法的性能,需要采用程序生成随机的数据集,构造出不同规模不同长度的模式串集合和不同命中水平的待扫描文本数据集。
技术实现思路
本专利技术针对上述问题,提供一种串匹配场景下数据集生成方法、设备和可读存储介质,能够生成随机模式串集合和指定命中水平的随机文本数据集,从而用于串匹配算法的功能测试和性能测试。本专利技术的一种串匹配场景下数据集生成方法,包括以下步骤:1)独立地生成模式串的每个字符,形成预设规模和预设长度的随机模式串集合;2)根据已生成的随机模式串集合,构造指定命中水平的文本数据集;3)输出生成的随机模式串集合和文本数据集。进一步地,步骤1)包括以下子步骤:1-1)设定字符集、模式串的预设规模r和模式串的预设长度m;1-2)在生成长度为m的模式串时,在当前模式串位置调用系统的伪随机函数生成一个属于所述字符集的随机字符,用该随机字符填充该模式串,如此循环填充,直至长度为m的模式串填充完毕;然后生成r个长度为m的模式串,构成随机模式串集合。进一步地,还包括存储步骤1)生成的随机模式串集合的步骤。进一步地,步骤2)构造指定命中水平的文本数据集的方法为:根据生成的r个长度为m的随机模式串集合P,当生成命中水平为ρ、长度为n的文本数据集T时,在当前文本位置i生成[0,1)之间的随机浮点数,若该随机浮点数小于q且i+m≤n,其中q为填充概率并且q与ρ相关,则生成[0,r)之间的随机整数j,用模式串集合P中的模式串p(j)填充文本T;否则,调用系统的伪随机函数生成一个随机字符t,用随机字符t填充文本T,如此循环填充,直至长度为n的文本数据填充完毕。进一步地,所述填充概率q的计算公式为:进一步地,所述命中水平ρ的取值范围为本专利技术还提供一种串匹配场景下数据集生成设备,包括通过总线连接的接收器、处理器、存储器和发送器;所述接收器用于接收外部的指令;所述存储器用于存储串匹配场景下数据集生成指令;所述处理器用于读取所述存储器中的串匹配场景下数据集生成指令,并通过执行该指令实现上述串匹配场景下数据集生成方法的步骤;所述发送器用于输出执行的结果。本专利技术还提供一种非易失性计算机可读存储介质,其上存储有串匹配场景下数据集生成程序,所述串匹配场景下数据集生成程序被计算机执行时,实现上述串匹配场景下数据集生成方法的步骤。本专利技术的串匹配场景下数据集生成方法、设备和可读存储介质,能够生成预设规模预设长度的随机模式串集合,根据已生成的随机模式串集合可以构造指定命中水平的文本数据集,该随机模式串集合和文本数据集用来对串匹配算法进行功能测试和性能测试,对串匹配算法的进一步研究和性能提升有重要的作用。附图说明图1是串匹配场景下数据集生成方法的流程图。图2是串匹配场景下数据集生成设备的组成结构示意图。具体实施方式下面通过具体实施例和附图,对本专利技术做进一步详细说明。本专利技术利用程序生成随机测试数据集,包括随机模式串集合和指定命中水平的文本数据集。随机数据集生成程序的输入包括字符集大小SetSize、模式串的预设规模(即模式串的个数)r、模式串长度m,以及文本数据长度n。本专利技术的串匹配场景下数据集生成方法的工作流程如图1所示。该方法的具体步骤如下:1)根据模式串和文本数据集中字符的取值空间,设定字符集大小为SetSize,输入模式串个数r和模式串长度m。2)随机模式串集合生成。在生成长度为m的模式串时,在当前模式串位置i(1≤i≤m),调用系统的伪随机函数生成一个随机字符c=rand()%SetSize,用随机字符c填充该模式串,如此循环填充,直至长度为m的模式串填充完毕;然后,利用此方法生成r个长度为m的模式串,构成随机模式串集合P={p(0),p(1),…,p(r-1)}。3)模式串集合存储:保存步骤2)得到的随机模式串集合P。4)输入文本命中水平ρ和文本长度n,对于指定的命中水平ρ,可以取填充概率来生成指定命中水平的文本数据。命中水平定义为在一个文本文档来自技高网
...
一种串匹配场景下数据集生成方法、设备和可读存储介质

【技术保护点】
一种串匹配场景下数据集生成方法,其特征在于,包括以下步骤:1)独立地生成模式串的每个字符,形成预设规模和预设长度的随机模式串集合;2)根据已生成的随机模式串集合,构造指定命中水平的文本数据集;3)输出生成的随机模式串集合和文本数据集。

【技术特征摘要】
1.一种串匹配场景下数据集生成方法,其特征在于,包括以下步骤:1)独立地生成模式串的每个字符,形成预设规模和预设长度的随机模式串集合;2)根据已生成的随机模式串集合,构造指定命中水平的文本数据集;3)输出生成的随机模式串集合和文本数据集。2.如权利要求1所述的方法,其特征在于,步骤1)包括以下子步骤:1-1)设定字符集、模式串的预设规模r和模式串的预设长度m;1-2)在生成长度为m的模式串时,在当前模式串位置调用系统的伪随机函数生成一个属于所述字符集的随机字符,用该随机字符填充该模式串,如此循环填充,直至长度为m的模式串填充完毕;然后生成r个长度为m的模式串,构成随机模式串集合。3.如权利要求2所述的方法,其特征在于,还包括存储步骤1)生成的随机模式串集合的步骤。4.如权利要求2所述的方法,其特征在于,步骤2)构造指定命中水平的文本数据集的方法为:根据生成的r个长度为m的随机模式串集合P,当生成命中水平为ρ、长度为n的文本数据集T时,在当前文本位置i生成[0,1)之间的随机浮点数,若该随机浮点数小于q且i+m≤n,其中q为填充概率并且q与ρ相关,则生成[0,r)之间的随机整数j,用模式串集...

【专利技术属性】
技术研发人员:刘燕兵袁方方卢毓海张春燕谭建龙郭莉
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

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

1