一种复合规则集匹配方法和系统的制作方法

文档序号:9326894阅读:364来源:国知局
一种复合规则集匹配方法和系统的制作方法
【技术领域】
[0001]本发明涉及网络信息安全领域,尤其涉及一种复合规则集匹配方法和系统。
【背景技术】
[0002]在网络安全中,模式匹配广泛应用于入侵检测、内容过滤、关键字检索等领域。而现阶段,由于网络信息流量大、待匹配信息内容丰富等原因,传统的单模式和多模式匹配已经在很多实际应用领域无法很好地满足需求。类似“给定的文本需要同时命中多个特征串,且这些串之间需要复合特定的顺序”这类集匹配问题的需求则越来越大,研究的重点已从传统的单模和多模匹配的研究向更复杂的复合规则集匹配进行转移。
[0003]目前研究人员对于复合规则匹配的主要研究方法包括传统的确定有限状态自动机DFA方法、多模式匹配算法(AC、FS、WM算法)以及它们的改进方法、基于推理预测的匹配方法以及布尔表达式方法。这些算法有各自的优缺点,传统的DFA方法具有较快的匹配速度,但构造DFA消耗空间较大,构造空间与规则数呈指数型膨胀;多模匹配算法及改进方法拥有较快的匹配速度并且易于实现,但是大多都局限于单条规则匹配的研究,并没有向集合方向拓展;推理预测类算法针对某一特定的模式进行预测匹配时具有较快的匹配速度,但是不具有通用性,而且准确率不高;布尔表达式方法拥有较快的匹配速度和准确性,但是匹配效率受布尔表达式数目影响较为强烈,匹配速度不稳定。更重要的是,他们中大部分算法对于复合规则集匹配的实现手段还是逐条规则进行比对,然后整合获得匹配结果子集的信息。因此,文本信息和规则信息的重复读取次数相对较高。对于小规模规则集和文本集,这类设计方法的性能可以接受。但是当规则集合信息量增大,待匹配文本数目增多时,这类方法就无法在有效的时间内满足匹配的需求。
[0004]所以,对于复合规则集的匹配问题,必须想办法缩减文本信息的重复读取次数,从而提高实际匹配的速度。而传统方法最大的问题就是规则之间的独立性,匹配下一条规则时又要重复的读取文本内容。

【发明内容】

[0005]为了解决上述问题,本发明提出了一种复合规则集匹配方法和系统,能够削弱规则之间的独立性,缩减文本信息的重复读取次数,提高实际匹配速度。
[0006]为了达到上述目的,本发明提出了一种复合规则集匹配方法,该方法包括:
[0007]采用多模匹配算法处理从网络信息流中获得的原始文本,获得原始文本中的特征字符串。
[0008]将特征字符串采用预构的特征字符串规则集中的身份标识ID代替,并将代替特征字符串的ID采用十六进制表示。
[0009]将十六进制形式的ID按顺序输入由预构的正则表达式集合预先构造的自动机中。
[0010]根据自动机的跳转获得该ID与自动机的匹配结果。
[0011]其中,预构的特征字符串规则集根据预定的复合规则集构造获得;预构的正则表达式集合根据预构的特征字符串规则集构造获得。
[0012]优选地,预构的特征字符串规则集根据预定的复合规则集构造获得包括:
[0013]将复合规则集中的每一条复合规则分解成一个特征字符串集合,字符串之间满足偏序关系;其中,每一条复合规则对应一个规则编号,每一条复合规则中的每一个特征字符串对应一个位置编号。
[0014]对特征字符串集合中的每个特征字符串进行确定ID,令该ID与每个特征字符串一一对应;其中,每个ID上记载有与其相对应的特征字符串的位置编号和规则编号。
[0015]使用该ID代替特征字符串集合中与该ID相对应的特征字符串。
[0016]优选地,预构的正则表达式集合根据预构的特征字符串规则集构造获得包括:
[0017]将特征字符串规则集中的每个代表字符串的ID表示成十六进制数。
[0018]将特征字符串规则集中的偏序关系采用预定的操作符表示。
[0019]将属于同一个规则编号下的十六进制数与预定的操作符相组合,构成一个正则表达式;特征字符串规则集中全部规则编号下的全部正则表达式构成正则表达式集合。
[0020]其中,预定的操作符满足以下条件:采用十六进制ID表示的字符串能够连续出现并且字符串之间能够间隔任意字符。
[0021]优选地,采用多模匹配算法处理从网络信息流中获得的原始文本,获得原始文本中的特征字符串的步骤包括:
[0022]将从网络信息流中获得的原始文本作为预构的AC自动机中的A输入AC自动机中。
[0023]将原始文本中的字符串与AC自动机中的A相匹配,将与AC自动机中的A匹配一致的原始文本中的字符串作为原始文本的特征字符串。
[0024]其中,AC自动机中的A是由预构的特征字符串规则集中的字符串生成的。
[0025]优选地,将十六进制形式的ID按顺序输入由预构的正则表达式集合预先构造的自动机中包括:
[0026]将正则表达式集合中的全部正则表达式中的所有ID按照规则编号和位置编号的顺序输入到预先构造的确定性有限状态DFA自动机中的D中。
[0027]其中,DFA自动机中的D由预构的正则表达式集合中的正则表达式生成。
[0028]本发明还提出一种复合规则集匹配系统,该系统包括:特征字符串获得模块、替换模块、输入模块和结果模块。
[0029]特征字符串获得模块,用于采用多模匹配算法处理从网络信息流中获得的原始文本,获得原始文本中的特征字符串。
[0030]替换模块,用于将特征字符串采用预构的特征字符串规则集中的身份标识ID代替,并将代替特征字符串的ID采用十六进制表示。
[0031]输入模块,用于将十六进制形式的ID按顺序输入由预构的正则表达式集合预先构造的自动机中。
[0032]结果模块,用于根据自动机的跳转获得该ID与自动机的匹配结果。
[0033]其中,预构的特征字符串规则集根据预定的复合规则集构造获得;预构的正则表达式集合根据预构的特征字符串规则集构造获得。
[0034]优选地,该系统还包括第一构造模块;第一构造模块根据预定的复合规则集构造预构的所述特征字符串规则集的步骤包括:
[0035]将复合规则集中的每一条复合规则分解成一个特征字符串集合,字符串之间满足偏序关系;其中,每一条复合规则对应一个规则编号,每一条复合规则中的每一个特征字符串对应一个位置编号。
[0036]对特征字符串集合中的每个特征字符串确定ID,令该ID与每个特征字符串一一对应;其中,每个ID上记载有与其相对应的特征字符串的位置编号和规则编号。
[0037]使用该ID代替特征字符串集合中与该ID相对应的特征字符串。
[0038]优选地,该系统还包括第二构造模块;第二构造模块根据预构的特征字符串规则集构造正则表达式集合的步骤包括:
[0039]将特征字符串规则集中的每个代表字符串的ID表示成十六进制数。
[0040]将特征字符串规则集中的偏序关系采用预定的操作符表示。
[0041]将属于同一个规则编号下的十六进制数与预定的操作符相组合,构成一个正则表达式;特征字符串规则集中全部规则编号下的全部正则表达式构成正则表达式集合。
[0042]其中,预定的操作符满足以下条件:采用十六进制ID表示的字符串能够连续出现并且字符串之间能够间隔任意字符。
[0043]优选地,特征字符串获得模块采用多模匹配算法处理从网络信息流中获得的原始文本,获得原始文本中的特征字符串的步骤包括:
[0044]将从网络信息流中获得的原始文本作为预构的AC自动机中的A输入AC自动机中。
[0045]将原始文本中的字符串与AC自动机中的A相匹配,将与AC自动机中的A匹配一致的原始文本中的字符串作为原始文本的特征字符串。
[0046]其中,AC自动机中的A是由预构的特征字符串规则集中的字符串生成的。
[0047]优选地,输入模块将十六进制形式的ID按顺序输入由预构的正则表达式集合预先构造的自动机中包括:
[0048]将正则表达式集合中的全部正则表达式中的所有ID按照规则编号和位置编号的顺序输入到预先构造的确定性有限状态DFA自动机中的D中。
[0049]其中,DFA自动机中的D由预构的正则表达式集合中的正则表达式生成。
[0050]与现有技术相比,本发明包括:采用多模匹配算法处理从网络信息流中获得的原始文本,获得原始文本中的特征字符串。将特征字符串采用预构的特征字符串规则集中的身份标识ID代替,并将代替特征字符串的ID采用十六进制表示。将十六进制形式的ID按顺序输入由预构的正则表达式集合预先构造的自动机中。根据自动机的跳转获得该ID与自动机的匹配结果。其中,预构的特征字符串规则集根据预定的复合规则集构造获得;预构的正则表达式集合根据预构的特征字符串规则集构造获得。通过本发明的方案,能够削弱规则之间的独立性,缩减文本信息的重复读取次数,提高实际匹配速度。
【附图说明】
[0051 ] 下面对本发明实施例中的附图进行说明,实
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1