基于云系统的数据包检测方法

文档序号:7862747阅读:446来源:国知局
专利名称:基于云系统的数据包检测方法
技术领域
本发明涉及数据包检测方法,尤其涉及基于云系统的数据包检测方法。
背景技术
深度包检测源于显式字符串匹配方法,即从目标数据序列中匹配已有的字符串序列,而随着显式字符串逐渐被正则表达式所代替,基于有限状态机进行目标特征匹配成为深度包检测的主要形式。现有的研究可以将深度包检测技术大体上分为三类基于启发式的字符串匹配算法;基于过滤器的匹配算法;基于状态机的匹配算法。I、基于启发式的字符串匹配算法主要使用BM算法、WM算法以及它们的各种改进算法等。·
2、基于过滤器的匹配算法主要应用如bloom filter的过滤器来进行匹配。3、基于状态机的匹配算法由于其多模式匹配特性、快速的处理速度、与正则表达式的完美兼容,逐渐成为现在研究最热的匹配算法。以攻击检测为例来说,现在的研究当中,用算法进行深度包检测时都是将数据包与模式串进行了一次匹配,然后根据与模式串匹配与否来进行攻击发生与否的判定。这样的包检测,使得大量的非攻击的数据包也进行了每个byte的匹配,这样就会浪费大量的时间用在非攻击数据包的检测中,不利于时间效率的提升。

发明内容
为了解决现有技术中的问题,本发明提供了一种基于云系统的数据包检测方法。本发明提供了一种基于云系统的数据包检测方法,包括如下步骤
A.对匹配串集中的各匹配串进行压缩,并且将压缩后的匹配串集构建出一个用于模式匹配的DFA ;
B.将数据包中的字符串经过压缩处理后生成新的字符串,将新的字符串输入至所述DFA中做匹配;
C.将未经过滤的数据分类,再根据分类的结果选择适合的匹配串进行精确的匹配。作为本发明的进一步改进,所述DFA具有五元组{Q ( α,β ),Σ,α0,δ,A},其中Q为状态点集合;Σ为字符表;q0为初始状态点;A ( α,β )为终止状态点,其中α代表结束状态的深度、该深度表示从根节点到状态点所经历的边的个数,β代表结束状态所能输出的最长的匹配串的长度;S为状态转移函数。作为本发明的进一步改进,构建DFA使用的是AC算法。作为本发明的进一步改进,在所述步骤A中将对匹配串集中的各匹配串进行压缩包括如下步骤
Al.将匹配串集中的各匹配串的字节序列转换为位序列;
Α2.将位序列转换为字节序列,从而完成匹配串压缩的过程。作为本发明的进一步改进,在所述步骤Α2中,将位序列从第一个位开始以每8个位为一个单位转换为I个字节;将位序列中最后余下不足8个位的进行丢弃。作为本发明的进一步改进,在所述步骤B中将数据包中的字符串经过压缩处理后生成新的字符串包括如下步骤
BI.将数据包中的字符串的字节序列转换为位序列;
B2.将位序列转换为字节序列 ,从而生成新的字符串。作为本发明的进一步改进,在所述步骤B2中,将位序列从第一个位开始以每8个位为一个单位转换为I个字节;将位序列中最后余下不足8个位的进行丢弃。本发明的有益效果是本发明在数据包检测时首先进行了一步不精确的匹配,这样就可以过滤掉一部分非攻击数据;只对未过滤掉的数据进行精确的匹配,从一部分非攻击数据和全部的攻击数据中精确的找到攻击的数据;通过这种方式,减少了一部分非攻击数据的进行匹配的时间,提高了效率。


图I是本发明基于云系统的数据包检测方法的流程图。图2是本发明基于云系统的数据包检测方法中匹配串进行压缩处理的流程图。图3是本发明基于云系统的数据包检测方法中字符串进行压缩处理的流程图。图4是本发明基于云系统的数据包检测方法中匹配串压缩原理图。图5是本发明基于云系统的数据包检测方法中字符串输入至DFA中做匹配的原理示意图。
具体实施例方式如图I所示,本发明公开了一种基于云系统的数据包检测方法,包括步骤SI至步骤S3。在步骤SI中,对匹配串集中的各匹配串进行压缩,并且将压缩后的匹配串集构建出一个用于模式匹配的DFA。在步骤S2中,将数据包中的字符串经过压缩处理后生成新的字符串,将新的字符串输入至所述DFA中做匹配。在步骤S3中,将未经过滤的数据分类,再根据分类的结果选择适合的匹配串进行精确的匹配。本发明所述的基于云系统的数据包检测方法主要应用于云系统的网关上。在步骤SI中,压缩匹配串信息,减少匹配串长度。步骤S2中,在DFA的匹配当中,由于匹配串(pattern)是被压缩(reducefunction)过的,对于原始的输入串来说,这次的匹配就是一个不精确的匹配;所以将会有部分的非攻击信息被过滤掉,另一部分的非攻击信息将会随同攻击数据进入到精确查找的模块当中进行进一步的精确查找,这时候可以根据模糊匹配的分类结果选择适当的匹配串(pattern)进行精确的查找。如图2所示,在所述步骤SI中将对匹配串集中的各匹配串进行压缩包括步骤Ql和步骤Q2。在步骤Ql中,将匹配串集中的各匹配串的字节序列转换为位序列。在步骤Q2中,将位序列转换为字节序列,从而完成匹配串压缩的过程;将位序列从第一个位开始以每8个位为一个单位转换为I个字节;将位序列中最后余下不足8个位的进行丢弃。如图3所示,在所述步骤S2中将数据包中的字符串经过压缩处理后生成新的字符串包括步骤Wl和步骤W2。在步骤Wl中,将数据包中的字符串的字节序列转换为位序列。在步骤W2中,将位序列转换为字节序列,从而生成新的字符串;将位序列从第一个位开始以每8个位为一个单位转换为I个字节;将位序列中最后余下不足8个位的进行丢弃。由于在步骤SI和步骤S2中,匹配串(pattern)经过压缩(reduce function)处理,所以当输入字符串(input string)经过这些匹配串(pattern)进行查找时能够快速的完成一次全部匹配、即完成模糊匹配;从而过滤部分正常数据,只对部分的正常数据及全部的攻击数据进行下一步的精确匹配,所以减少了精确匹配的时间。在步骤S3中,根据前面的模糊匹配结果,可以将过滤后的数据信息进行分类,再将分类后的信息各自选择一些适合的匹配串及合适的匹配算法进行精确匹配,找出攻击数据。该输入字符串(input string)就是步骤S2中数据包中的字符串。在步骤S2中的压缩处理与步骤SI中的压缩采用相同的方法。下面仅以步骤SI中的压缩方法进行举例说明匹配串(pattern)的每个字节(byte)转换为对应的δ个位(bits),然后再以8个位(bits)单位重新转换为I个字节(byte)。从而起到压缩(reduce function)匹配串集(pattern set)信息的作用。在匹配串处理模块中,经过压缩(reducefunction)处理后的匹配串集(pattern set)将生成一个DFA。而在输入串查找模块,经过 压缩(reduce function)后的字符串被输入到生成的DFA中做匹配。在这里为了保证匹配串(pattern)的压缩性,η可以取1、2、4。其算法步骤如下
我们定义匹配串集(pattern set) 为卩{
P1, P2, Pa.,...…Pb, P3 },其中P:(i = 1,2 ,n)表示一个匹配串(pattern), R1Pi2Pi3.,.…Piai表
示巧的m个字节(byte)。b:1b=bi3……bsm表示!^经过压缩转换为位序列(bit sequence)。
在匹配串集(pattern set)处理开始时首先将P中的每一个元素^经过压缩进行处理。由压缩的变换规则如下(这里我们以S等于I为例)
权利要求
1.一种基于云系统的数据包检测方法,其特征在于,包括如下步骤 A.对匹配串集中的各匹配串进行压缩,并且将压缩后的匹配串集构建出一个用于模式匹配的DFA ; B.将数据包中的字符串经过压缩处理后生成新的字符串,将新的字符串输入至所述DFA中做匹配; C.将未经过滤的数据分类,再根据分类的结果选择适合的匹配串进行精确的匹配。
2.根据权利要求I所述的数据包检测方法,其特征在于所述DFA具有五元组{Q(α,β ),Σ,qO,δ,A},其中Q为状态点集合;Σ为字符表;q0为初始状态点;A ( α,β )为终止状态点,其中α代表结束状态的深度、该深度表示从根节点到状态点所经历的边的个数,β代表结束状态所能输出的最长的匹配串的长度;S为状态转移函数。
3.根据权利要求2所述的数据包检测方法,其特征在于构建DFA使用的是AC算法。
4.根据权利要求I至3任一项所述的数据包检测方法,其特征在于,在所述步骤A中将对匹配串集中的各匹配串进行压缩包括如下步骤 Al.将匹配串集中的各匹配串的字节序列转换为位序列; Α2.将位序列转换为字节序列,从而完成匹配串压缩的过程。
5.根据权利要求4所述的数据包检测方法,其特征在于,在所述步骤Α2中,将位序列从第一个位开始以每8个位为一个单位转换为I个字节;将位序列中最后余下不足8个位的进行丢弃。
6.根据权利要求I至3任一项所述的数据包检测方法,其特征在于,在所述步骤B中将数据包中的字符串经过压缩处理后生成新的字符串包括如下步骤 BI.将数据包中的字符串的字节序列转换为位序列; Β2.将位序列转换为字节序列,从而生成新的字符串。
7.根据权利要求6所述的数据包检测方法,其特征在于,在所述步骤Β2中,将位序列从第一个位开始以每8个位为一个单位转换为I个字节;将位序列中最后余下不足8个位的进行丢弃。
全文摘要
本发明提供了一种基于云系统的数据包检测方法,包括如下步骤A.对匹配串集中的各匹配串进行压缩,并且将压缩后的匹配串集构建出一个用于模式匹配的DFA;B.将数据包中的字符串经过压缩处理后生成新的字符串,将新的字符串输入至所述DFA中做匹配;C.将未经过滤的数据分类,再根据分类的结果选择适合的匹配串进行精确的匹配。本发明的有益效果是本发明在数据包检测时首先进行了一步不精确的匹配,这样就可以过滤掉一部分非攻击数据;只对未过滤掉的数据进行精确的匹配,从一部分非攻击数据和全部的攻击数据中精确的找到攻击的数据;通过这种方式,减少了一部分非攻击数据的进行匹配的时间,提高了效率。
文档编号H04L29/06GK102904951SQ20121038700
公开日2013年1月30日 申请日期2012年10月12日 优先权日2012年10月12日
发明者曾国坤, 潘正祥, 王海强 申请人:哈尔滨工业大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1