[发明专利]一种乱序数据包流免重组多模式匹配方法有效
申请号: | 201210045060.6 | 申请日: | 2012-02-24 |
公开(公告)号: | CN102685098A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 齐德昱;林伟伟;李剑 | 申请(专利权)人: | 华南理工大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 杨晓松 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 序数 据包流免 重组 模式 匹配 方法 | ||
技术领域
本发明涉及网络安全领域,特别涉及一种乱序数据包流免重组多模式匹配方法。
背景技术
随着网络通信流量的迅速增长,安全防御产品的性能变得更加重要。通常有两种方法检测安全威胁:模式匹配和统计分析。前一种方法采用一组相对固定的模式集合,然后对于符合某些特征的网络字节流发出警报或主动拦截;而后一种方法常常通过采集网络协议包头的统计信息并将其与已知的攻击或者安全状态进行比较,来发现或者感知攻击。Fisk等人在2003年的研究结果已经表明,类似的入侵监测系统的性能,主要取决于采用的匹配数据包和特征模式的内容匹配算法的性能,例如Snort 2.0采用了一个改进的内容匹配算法,其性能提升到了原来的500%。
在传统的电路交换网络中并不存在数据包乱序的问题,随着数据包交换网络的发展,这个问题变得越来越重要。对于数据包非乱序到达的情况,目前模式匹配已有许多高效的算法,如单模式匹配算法KMP和Boyer-Moore,多模式匹配算法有Aho-Corasick、Wu-Manber、MWM(Snort系统中默认使用的检测算法)等。乱序数据包流的多模式匹配是在TCP/IP网络通信的数据流中进行动态内容查找的关键技术,网络通信安全防御(如UTM、防火墙、入侵检测与防御系统)中的恶意代码检测、恶意行为检测、不良内容检测及病毒检测等功能的实现都依赖该技术。但对于乱序数据包流的模式匹配,目前尚无权威的算法,一般的方法仍然是先进性数据包重组(或者部分重组),即缓冲后续的乱序数据包,再调用有序数据包的模式匹配算法进行检测。此方法需要极大的缓冲空间,在最坏的情况下,缓冲高速到达的乱序数据包会使所需的存储空间持续增加,由于网络速度的高速发展,这个问题尤其显得突出。而且,在一个网络通信连接里,由于通信数据流被拆分成多个部分分别封装在多个不同的数据包中,而DPI(Deep Packet Inspection)要求对一系列连续的数据包头部和负载传输进行 应用级语义检测,故以数据包为检测单位无法检测出整个特征。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种乱序数据包流免重组多模式匹配方法,该方法检测乱序数据包边缘的字节序列以发现跨数据包的模式,并以正则表达式作为模式语言,进一步减少了需要存贮的边缘模式碎片的长度,显著地降低了存储空间要求。
为了达到上述目的,本发明采用以下技术方案:
(1)采用KMP算法对模式进行了预处理,为了要检测乱序数据包首尾两端是否存在特征码片段,要针对数据包前端部分和后端部分分别进行预处理,其具体方法如下:
(1.1)扫描数据包前端部分时需要从右往左;
(1.2)扫描末端部分时则相反从左往右。
(2)在对模式进行了预处理后,对乱序数据包首尾的边缘字节进行扫描。
(2.1)针对数据包前端部分进行扫描时,扫描的长度为模式长度-1,从右往左扫描,当扫描到数据包第一个字母且此时模式的已匹配数不为0,那么就代表发现了特征码的片断,并马上利用区间树把特征码的类型和长度记录下来。
(2.2)针对数据包的末端部分进行扫描时,要扫描的部分就是MWM算法没有处理的末端部分;当扫描到数据包的最后一个字母且此时模式的已匹配数不为0,那么就利用区间树把特征码的类型和长度记录下来。
(3)利用区间树保存特征码片断和进行模式匹配。
(3.1)区间树是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。
(3.2)区间树用于保存数据包可能含有的病毒特征码片断的信息,在插入操作时,根据数据包对应的区间的范围和它所属的TCP流插入到对应的区间树里面。
(3.3)在插入区间树的节点时,如果数据包特征码片断的长度相加的结果等于病毒特征码的长度,就代表该TCP流有病毒,发出警报;如果数据包特征码片段的长度相加的结果与病毒特征码的长度不相等,则不做任何提示。
(3.4)为了减少内存的消耗,设定一个时间限制,每隔一定时间,就释放区间树一部分结点;如果该TCP中没有发现病毒特征码,就释放该TCP流的所 有空间。
本发明相对于现有技术具有如下的优点及效果:
1、本发明以正则表达式作为模式语言,减少了需要存贮的边缘模式碎片的长度,与缓冲所有的乱序数据包相比,该方法使用了更少的存贮空间,该方法用来处理高速网络乱序流是切实可行的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210045060.6/2.html,转载请声明来源钻瓜专利网。