用于大流量网络入侵检测系统的模式匹配算法和系统技术方案

技术编号:14769241 阅读:140 留言:0更新日期:2017-03-08 13:23
本发明专利技术提供了一种用于大流量网络入侵检测系统的模式匹配算法,包括以下步骤:对待匹配规则集中的关键字集合进行预处理;对预处理后的规则集进行DFA编译;以及通过NFA编译对编译后的DFA终态节点进行冲突处理,生成匹配结果。本发明专利技术通过压缩待匹配规则集中的关键字集合,减少关键字状态的跳转范围,从而减少状态机的内存消耗;通过减少加入自动机中的关键字的长度,减少状态树的深度,从而减少状态机的内存消耗;通过优化关键字冲突后字符串匹配算法,提高自动机匹配后的冲突关键字查找速度,从而提高关键字的检索速度;由此,使多模匹配算法减少系统资源消耗,提高匹配速度和加载速度,从而满足大流量网络入侵检测系统的报文检测需求。

【技术实现步骤摘要】

本专利技术涉及网络入侵检测
,尤其涉及一种用于大流量网络入侵检测系统的模式匹配算法和系统
技术介绍
随着Internet应用的普及,网络安全问题也日益突出。入侵是指试图破坏资源的完整性、可用性和保密性的活动的集合。作为防火墙之后网络安全的最后一道防线,入侵检测系统(IDS)是指检测上述行为的活动,识别出未经授权或越权访问系统资源的行为的软硬件系统。由于入侵检测系统可以在一定程度上主动预防和检测出来自系统外部的入侵,并做出适当响应,动态改变网络的安全性,因此入侵检测的研究正成为网络安全研究的热点。根据采用的分析技术入侵检测分为误用检测和异常检测。误用检测根据已知的攻击方法,预先定义入侵模式,通过判断这些模式是否出现来完成检测任务。异常检测是指根据用户的行为或资源的使用状况的正常程度来判断是否属于入侵。由于异常检测的误检率和漏检率高,因此目前大多数入侵检测系统产品均属误用检测。误用检测中使用的检测技术主要有:模式匹配、专家系统、状态转移等,而其中因为模式匹配原理简单、可扩展性好而最为常用,例如著名开放源码的入侵检测系统Snort就是基于模式匹配的。由此可见,模式匹配算法的性能直接影响入侵检测系统的检测效率。在高速网络环境,如果模式匹配算法来不及处理大量的实时网络数据包,必然会丢弃部分数据包,而这些被丢弃的数据包中就可能包含入侵信息。现有的入侵检测系统中采用的字符串模式匹配算法需要对数据包负载进行完全检测,随着规则集的增长,网络流量不断增大,这种多模匹配算法对内存资源占用过大,匹配性下降,导致无法适用入侵检测需求。
技术实现思路
本专利技术的目的在于解决现有的模式匹配方法中占用内存过多和匹配能力较差的问题,提供一种改进的用于大流量网络入侵检测系统的模式匹配算法和系统以减少系统资源消耗,提高匹配速度和加载速度,从而满足大流量网络入侵检测系统的报文检测需求。一方面,本专利技术实施例提供一种用于大流量网络入侵检测系统的模式匹配算法,包括以下步骤:对待匹配规则集中的关键字集合进行预处理;对预处理后的规则集进行DFA编译;以及通过NFA编译对编译后的DFA终态节点进行冲突处理,生成匹配结果。优选地,对待匹配规则集中的关键字集合进行预处理的所述步骤包括对所述规则集中的所述关键字集合进行压缩处理;在对预处理后的规则集进行DFA编译的所述步骤中,根据所述关键字集合中的字符总个数计算DFA展开树的宽度。优选地,对待匹配规则集中的关键字集合进行预处理的所述步骤还包括对进入DFA编译的关键字进行字符截断处理;在对预处理后的规则集进行DFA编译的所述步骤中,将关键字中位于截断点前的字符进行DFA编译。优选地,在通过NFA编译对编译后的DFA终态节点进行冲突处理,生成匹配结果的所述步骤中,将关键字中位于截断点后的字符进行NFA编译。相应地,本专利技术还提供一种用于大流量网络入侵检测系统的模式匹配系统,包括:预处理模块,用于对待匹配规则集中的关键字集合进行预处理;DFA编译模块,将待匹配数据利用预处理后的规则集进行DFA编译;以及NFA编译模块,通过NFA编译对编译后的DFA终态节点进行冲突处理,生成匹配结果。优选地,所述预处理模块包括关键字压缩单元,用于对所述待匹配规则集中的所述关键字集合进行压缩处理;所述DFA编译模块根据所述关键字集合中的字符总个数计算DFA展开树的宽度。优选地,所述预处理模块还包括字符截断处理单元,用于对进入DFA编译的关键字进行字符截断处理;所述DFA编译模块将关键字中位于截断点前的字符进行DFA编译。优选地,所述NFA编译模块用于将关键字中位于截断点后的字符进行NFA编译。实施本专利技术实施例,具有如下有益效果:本专利技术提供的用于大流量网络入侵检测系统的模式匹配算法和系统,通过压缩待匹配规则集中的关键字集合,减少关键字状态的跳转范围,从而减少状态机的内存消耗;通过减少加入自动机中的关键字的长度,减少状态树的深度,从而减少状态机的内存消耗;通过优化关键字冲突后字符串匹配算法,提高自动机匹配后的冲突关键字查找速度,从而提高关键字的检索速度;由此,使多模匹配算法减少系统资源消耗,提高匹配速度和加载速度,从而满足大流量网络入侵检测系统的报文检测需求。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例提供的用于大流量网络入侵检测系统的模式匹配算法的流程图;图2是本专利技术一实施例提供的DFA展开示意图;图3是本专利技术另一实施例提供的DFA展开示意图;图4是本专利技术一实施例提供的用于大流量网络入侵检测系统的模式匹配系统的原理图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种用于大流量网络入侵检测系统的模式匹配算法。参见图1,该用于大流量网络入侵检测系统的模式匹配算法包括以下步骤:步骤S110:对待匹配规则集中的关键字集合进行预处理。具体地,在本实施例中,对待匹配规则集中的关键字的预处理包括对所述待匹配规则集中的所述关键字集合进行压缩处理和对进入确定有穷状态自动机(DFA)编译的关键字进行字符截断处理。进一步地,对所述待匹配规则集中的所述关键字集合进行压缩处理是指通过压缩待匹配规则集中条件的字符集合。例如,如图2所示的DFA展开示意图中,关键字中只有she、he、they三个,DFA算法展开后,其中有7个中间节点,按照之前的方法,展开式需要256*7个字节(1792B)的内存;而利用本实施例的方法只保留关键字中的字符,减少节点调整范围,展开式只需要5*7个字节(35B)的内存。由此可见,通过优化关键字的跳转集合,减少关键字状态的跳转范围,可以有效减少状态机的内存消耗。进一步地,对进入DFA编译的关键字进行字符截断处理是指通过规定加入DFA的字符长度的最大值来减少进入DFA中的字符长度,只将关键字的部分字符送入自动机。例如,在如图3所示的DFA展开示意图中,有China、America、England三个关键字,DFA展开后树的深度为8,按照未优化过的算法,展开后需要256^17个字节的内存;如果我们规定加入DFA的字符长度最长为4个,则在结合字符压缩处理的基础中,现在需要的内存是11^13个字节。由此可见,通过减少加入自动机中的关键字的长度,就可以减少状态树的深度,从而减少状态机的内存消耗。步骤S120:将待匹配数据利用预处理后的规则集进行DFA编译。具体地,在本实施例中,由于在步骤S110中已经对待匹配规则集进行了关键字压缩处理,这样,在将待匹配数据利用预处理后的规则集进行DFA编译时,根据所述关键字集合中的字符总个数计算DFA展开树的宽度。例如,在如图2所示的DFA展开示意图中,DFA展开树的宽度为5;而在如图3所示的DFA展开示意图中,DFA展开树的宽本文档来自技高网...
用于大流量网络入侵检测系统的模式匹配算法和系统

【技术保护点】
一种用于大流量网络入侵检测系统的模式匹配算法,其特征在于,包括以下步骤:对待匹配规则集中的关键字集合进行预处理;对预处理后的规则集进行DFA编译;以及通过NFA编译对编译后的DFA终态节点进行冲突处理,生成匹配结果。

【技术特征摘要】
1.一种用于大流量网络入侵检测系统的模式匹配算法,其特征在于,包括以下步骤:对待匹配规则集中的关键字集合进行预处理;对预处理后的规则集进行DFA编译;以及通过NFA编译对编译后的DFA终态节点进行冲突处理,生成匹配结果。2.根据权利要求1中所述的用于大流量网络入侵检测系统的模式匹配算法,其特征在于,对待匹配规则集中的关键字集合进行预处理的所述步骤包括对所述待匹配规则集中的所述关键字集合进行压缩处理;在对预处理后的规则集进行DFA编译的所述步骤中,根据所述关键字集合中的字符总个数计算DFA展开树的宽度。3.根据权利要求2中所述的用于大流量网络入侵检测系统的模式匹配算法,其特征在于,对待匹配规则集中的关键字集合进行预处理的所述步骤还包括对进入DFA编译的关键字进行字符截断处理;在对预处理后的规则集进行DFA编译的所述步骤中,将关键字中位于截断点前的字符进行DFA编译。4.根据权利要求3中所述的用于大流量网络入侵检测系统的模式匹配算法,其特征在于,在通过NFA编译对编译后的DFA终态节点进行冲突处理,生成匹配结果的所述步骤中...

【专利技术属性】
技术研发人员:杨强林亚坤刘永强沈智杰景晓军
申请(专利权)人:深圳市任子行科技开发有限公司任子行网络技术股份有限公司
类型:发明
国别省市:广东;44

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

1