[发明专利]用于网络入侵检测系统的快速匹配方法无效
| 申请号: | 201110139546.1 | 申请日: | 2011-05-27 |
| 公开(公告)号: | CN102201948A | 公开(公告)日: | 2011-09-28 |
| 发明(设计)人: | 张萌萌 | 申请(专利权)人: | 北方工业大学 |
| 主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/06 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100144 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 网络 入侵 检测 系统 快速 匹配 方法 | ||
联合研究
本申请由北方工业大学与北京交通大学信息所联合研究,并得到以下基金资助:北京市属高等学校人才强教深化计划项目(PHR201008187);国家自然科学基金(No.60903066,No.60972085);北京市自然科学基金(No.4102049),教育部新教师基金(No.20090009120006)。
技术领域
本发明涉及一种网络入侵检测系统,更具体而言,涉及一种用于网络入侵检测系统的快速匹配算法。
背景技术
在1998年,Martin Roesch先生用C语言开发了开放源代码的入侵检测系统Snort(“SNORT Network Intrusion Detection System”,http://www.snort.org)。直至今天,Snort已发展成为一个多平台、实时流量分析、网络IP数据包记录等特性的强大的网络入侵检测/防御系统(NetworkIntrusion Detection/Prevention System),即NIDS/NIPS。Snort符合通用公共许可(GPL-GUN General Pubic License),在网上可以通过免费下载获得Snort,并且只需要几分钟就可以安装并开始使用它.snort基于libpcap。
网络入侵检测系统(NIDS)对于网络管理员保护网络而言是一种重要的安全性工具,它通过检查监测实时数据包和检测诸如未经授权的访问、端口扫描和拒绝服务(DoS)攻击拒绝之类的恶意攻击,能让网络管理员监控好网络。NIDS使用规则(或签名)数据库对数据包进行分类,以确定数据包是否是恶意的。一种有效地搜索匹配规则的常见方法是,即为给定的规则集建立诸如规则树或有限自动机之类的图表,并使用数据包作为输入字符串来对其进行遍历。由于流量和网络威胁的日益增长,入侵检测变得更加耗费资源,再加以现今的高速网络和大型规则集,一个网络入侵检测系统会占用CPU大量时间和内存。因此,高吞吐量的模式匹配引擎以及对内存访问频率的降低是整体入侵检测性能的关键。
除数据包头预处理外,在当前的网络的许多重要的服务都是基于有效载荷检查的。NIDS、流量监控和第7层过滤要求对数据包内容的精确分析,以与包含应用程序,病毒,协议定义等具体的一个预定义的数据包匹配。传统上,这些数据集由一系列数字签名构成,这些数字签名可以通过字符串匹配进行查找,安全签名已被指定为基于字符串的精确匹配,但确切的字符串匹配不足以发现恶意模式,所以现在更有表现力的正则表达式(regulation expressoin)被用来形容各种有效载荷的数字签名。
例如,在Linux应用协议分类器中,所有的协议标识符都被表示为正则表达式。相似地,开放源码的网络入侵检测系统Snort(“SNORT NetworkIntrusion Detection System”,http://www.snort.org)已经从2003年4月没有正则表达式规则集的状态,发展到2010年11月8786种规则中的5549种含有至少有一个Perl兼容正则表达式(PCRE)。另一个开源入侵检测系统Bro也将正则表达用为其模式语言。这些都被不同的厂商应用于防火墙和设备中,例如思科公司。
数据包内容扫描对于网络安全和网络监控是至关重要的。现代网络设备需要高速地执行深度数据包检测以实现安全性和特殊用途的服务。Boyer-Moore串查找算法——这是一种特别有效的字符串搜索算法,并已用于实际的字符串搜索文献的基准——被广泛使用于深度的数据包检测,但它存在两个重要的不足:第一,由于需要对每一个目标字符串(密钥)进行预处理并且不能同时搜索多个密钥,它的速度实在不够快;第二,它仅执行精确的字符串匹配。近来,有限自动机(FA)是最流行的用于实现正则表达式匹配的方法,但它们需要复杂的预处理来构成FA,并且需要大量的内存。
非确定性有限自动机(NFA)对于每个字符需要更多的状态转换,因此查找的时间复杂度为O(m),其中m表示NFA中的状态数量。另一方面,NFA也是空间方面极其有效的结构。然而,确定性有限自动机(DFA)对每个字符只需要一个状态遍历,但是对于目前的正则表达式集合它们需要一个极大的内存量。当检查一个特定数据包的有效载荷时,仅需要考虑规则集合的一个很小的子集,因此DFA会浪费绝大部分的内存。基于以上原因,这些解决方法对于实际的深度包检测中并不适用,因为它们在线处理数据包时要求很高的速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北方工业大学,未经北方工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110139546.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于机顶盒的广告播放系统和方法
- 下一篇:一种内容调度的方法、装置和系统





