发明名称 一种面向高速网络的模式匹配方法
摘要 本发明公开了一种面向高速网络的模式匹配方法,由计算机对每种攻击网络的数据流提取出特征值并按照规则语言将其写成规则模式;网络通信中,计算机通过检测系统将捕获到的数据包与所述规则模式进行匹配;如果匹配成功,则检测系统将其判断为攻击行为。本发明所述匹配步骤结合已有BM方法从比较方式和移动策略两个方面出发实现创新突破,大大提高了匹配效率。本发明适合于高速网络环境下网络入侵检测、网络入侵保护和计算机病毒特征码匹配等需要进行快速字符匹配的领域应用。
申请公布号 CN101409623B 申请公布日期 2010.09.01
申请号 CN200810143729.9 申请日期 2008.11.26
申请人 湖南大学 发明人 秦拯;赵远;武年华;张生华
分类号 H04L9/36(2006.01)I;H04L12/26(2006.01)I;H04L12/56(2006.01)I 主分类号 H04L9/36(2006.01)I
代理机构 长沙正奇专利事务所有限责任公司 43113 代理人 马强
主权项 1.一种面向高速网络的模式匹配方法,首先由计算机对每种攻击网络的数据流提取出特征值并按照规则语言将其写成规则模式;网络通信中,计算机通过检测系统将捕获到的数据包与所述规则模式进行匹配;如果匹配成功,则检测系统将其判断为攻击行为,其特征在于,所述匹配包括如下步骤:(1)设所述捕获到的数据包中的正文串T=T[1]…T[n],其中长度为n;所述规则模式的模式串P=P[1]...P[m],其中长度为m,n>>m;(2)给出滑动距离函数<img file="FSB00000107176900011.GIF" wi="1022" he="188" />上述函数给出了正文串中可能出现的任意字符c在模式串中的位置;(3)给出判断字符在模式串中出现的频次的函数;<img file="FSB00000107176900012.GIF" wi="812" he="196" />(4)T[1]和P[1]对齐,对P[m]与T[m]匹配;若P[m]与T[m]匹配不成功,则按步骤(5)计算出模式串向右移动的距离,右移相应距离;若P[m]与T[m]匹配成功,则比较模式P[1]与文本相应的字符,若P[1]匹配不成功,则按步骤(5)将模式串右移;若p[1]匹配成功,则依次对P[m-1]P[2]P[m-2]P[3]...进行匹配,依次类推,直到匹配完成;(5)计算向右移动距离,其移动步骤为:1):在失去匹配时,首先计算出由文本串最后一个字符,设为T[k],启发得到的右移位置k+Skip[k],其值记为k<sub>1</sub>;2):计算由文本串的下一个字符T[k+1]启发得到的右移位置k+1+Skip[k+1],其值记为k<sub>2</sub>;3):判断k<sub>1</sub>、k<sub>2</sub>的大小,如果k<sub>1</sub>>k<sub>2</sub>,再判断T[k+1]在模式串出现频次,用步骤(3)中的函数B(c)判断T[k+1]在模式串出现的频次;若B(T[k+1])=1,即T[k+1]在模式串只出现一次,则将模式串末端和T[k+1+m]处对齐进行新一轮的匹配;若B(T[k+1])=0,即T[k+1]在模式串只出现大于一次,则将模式串末端和T[k<sub>1</sub>]处对齐进行新一轮的匹配;如果k<sub>2</sub>>=k<sub>1</sub>,则将模式串末端和T[k<sub>2</sub>]对齐进行新一轮的匹配。
地址 410082 湖南省长沙市麓山南路2号