一种应用于入侵检测系统的ac算法

文档序号:8546169阅读:369来源:国知局
一种应用于入侵检测系统的ac算法
【技术领域】
[0001]本发明涉及一种AC算法,尤其涉及一种应用于入侵检测系统的AC算法。
【背景技术】
[0002]入侵检测作为主要的网络安全技术被人们进行了大量的研宄,获得了长足的发展。但是现今的入侵检测技术远非完美,仍有巨大的进步空间。随着近几年来Internet的飞速发展,网络干线基本都采用光纤作为传输设备,导致网络带宽较以前有显著提高,网络速度也越来越快,这就要求入侵检测系统提高检测效率。同时,随着攻击方法的不断翻新,入侵检测系统难以做到检测出所有的攻击,从而使得入侵检测系统出现大量的误报和漏报行为。

【发明内容】

[0003]本发明主要提供一种应用于入侵检测系统的AC算法,解决入侵检测的检测效率低及检测准确性差等问题。
[0004]为了实现本发明的目的,本发明提供一种应用于入侵检测系统的AC算法,其预处理步骤为:
(1)按基本AC算法的方法构造有限状态自动机,将有限自动机用二维数组存储;
(2)压缩有限状态自动机存储数组的全O列,之后查询数组中的全O列,记录全O列的位置信息,删除数组中所有的全O列;
优选的,所述算法的匹配步骤为:
(1)从待匹配文本T中新读取一个字符CHAR;
(2)在未用字符表中查找新读入的字符,如果在其中找到CHAR,就置当前状态currentstate为0,流程转至(I ),否则继续下面的操作;
(3)将CHAR减去未用字符表中ASCII码小于CHAR的字符的数量;
(4)根据输出函数判断是否有匹配存在;
(5)如果文本读取完毕就退出,否则返回(I)。
[0005]优选的,预处理步骤(3)中其压缩步骤为:
(1)遍历数组的行,根据设定的阈值将行分段,记录各段的元素;
(2)计算各段的长度以及起始位置;
(3)按sparse-bandsformat格式将各行数据分别存储在不同的一维组中,并令一指针数组指向它们。
[0006]优选的,在预处理步骤(2)删除数组中所有O列后,需要对数组的各行采用sparse-bands format 格式进行压缩。
[0007]优选的,在AC算法匹配步骤3之后需要将3的计算结果根据sparse-bandsformat格式的定义查找到对应的状态,并将其置为current state。
[0008]优选的,在进行匹配步骤之前需要设待匹配的文本串为 text ο
[0009]有益效果:本发明提供一种应用于入侵检测系统的AC算法,改进的AC算法与其它AC算法相比,空间开销最小,改进AC算法占用的存储空间为1027.01MB,而其他AC算法占用的存储空间为635.13MB,比前者少占用存储空间391.88MB,性能提升38.2%。同时,改进AC算法比占用1327.96MB的基本AC算法性能提升52.2%,比占用688.89MB的基于sparse-bands format存储格式的改进AC算法性能提升7.8%,该算法的设计是成功的。
【附图说明】
[0010]图1:算法匹配过程流程图。
[0011]图2:模式集合P对应的DFA图。
[0012]图3:DFA存储数组。
【具体实施方式】
[0013]下面结合附图和【具体实施方式】对本发明做进一步详细说明。
[0014]本发明提供一种应用于入侵检测系统的AC算法,其预处理步骤为:
(1)按基本AC算法的方法构造有限状态自动机,将有限自动机用二维数组存储;
(2)压缩有限状态自动机存储数组的全O列,之后查询数组中的全O列,记录全O列的位置信息,删除数组中所有的全O列;
所述算法的匹配步骤为:
(1)从待匹配文本T中新读取一个字符CHAR;
(2)在未用字符表中查找新读入的字符,如果在其中找到CHAR,就置当前状态currentstate为0,流程转至(I ),否则继续下面的操作;
(3)将CHAR减去未用字符表中ASCII码小于CHAR的字符的数量;
(4)根据输出函数判断是否有匹配存在;
(5)如果文本读取完毕就退出,否则返回(I)。
[0015]其中,预处理步骤(3)中其压缩步骤为:
(1)遍历数组的行,根据设定的阈值将行分段,记录各段的元素;
(2)计算各段的长度以及起始位置;
(3)按sparse-bandsformat格式将各行数据分别存储在不同的一维组中,并令一指针数组指向它们,在预处理步骤(2)删除数组中所有O列后,需要对数组的各行采用sparse-bands format格式进行压缩,在AC算法匹配步骤3之后需要将3的计算结果根据sparse-bands format格式的定义查找到对应的状态,并将其置为current state,在进行匹配步骤之前需要设待匹配的文本串为text。
[0016]为了能形象地表述AC算法的预处理过程和匹配过程,举一个例子进行说明。设模式集合为P= {he, she, his, hers, herb, shank},在预处理阶段,首先按照基本AC算法的方法构建模式集合P对应的有限状态自动机,该有限状态自动机如图2所示,存储该有限状态自动机的二维数组如图3所示,可以看到该数组存在大量的O元素,查询数组中的全O列,并将它们对应的字符存入未用字符表中。然后,根据双重压缩AC算法执行全O列的删除,之后再按照sparse-bands format格式对数组的各行进行压缩,最终得模式集合P对应的的有限状态自动机存储格式。
[0017]完成预处理后就可以利用压缩后的有限状态自动机进行字符串匹配了。匹配过程为:
(1)读入字符CHAR=u,u在未用字符表中,置currentstate为O ;
(2)读入字符CHAR=h,它不在未用字符表中,经查未用字符表中ASCII码小于h的字符数量为101个;
(3)‘h’ -101=3 ;
(4)根据sparse-bandsformat存储格式,计算“3”对应Ptr_0 (3)=1,因此置current state 为 I ;
(5)读入字符CHAR=e,它不在未用字符表中,经查未用字符表中ASCII码小于e的字符数量为99个;
(6)‘e’ -99=2 ;
(7)根据sparse-bandsformat存储格式计算“2”对应Ptr_l (2)=2,因此置currentstate 为 2 ;
(8)在输出函数中查询到有模式“he”发生匹配,将该匹配信息输出。
[0018]本发明提供一种应用于入侵检测系统的AC算法,改进的AC算法与其它AC算法相比,空间开销最小,改进AC算法占用的存储空间为1027.01MB,而其他AC算法占用的存储空间为635.13MB,比前者少占用存储空间391.88MB,性能提升38.2%。同时,改进AC算法比占用1327.96MB的基本AC算法性能提升52.2%,比占用688.89MB的基于sparse-bandsformat存储格式的改进AC算法性能提升7.8%,该算法的设计是成功的。
[0019]由技术常识可知,本发明可以通过其它的不脱离其精神实质或必要特征的实施方案来实现。因此,上述公开的实施方案,就各方面而言,都只是举例说明,并不是仅有的。所有在本发明范围内或在等同于本发明的范围内的改变均被本发明包含。
【主权项】
1.一种应用于入侵检测系统的AC算法,其特征在于,其预处理步骤为: (1)按基本AC算法的方法构造有限状态自动机,将有限自动机用二 维数组存储; (2)压缩有限状态自动机存储数组的全O列,之后查询数组中的全O列,记录全O列的位置信息,删除数组中所有的全O列。
2.根据权利要求1所述的一种应用于入侵检测系统的AC算法,其特征在于,所述算法的匹配步骤为: (1)从待匹配文本T中新读取一个字符CHAR; (2)在未用字符表中查找新读入的字符,如果在其中找到CHAR,就置当前状态currentstate为O,流程转至(I ),否则继续下面的操作; (3)将CHAR减去未用字符表中ASCII码小于CHAR的字符的数量; (4)根据输出函数判断是否有匹配存在; (5)如果文本读取完毕就退出,否则返回(I)。
3.根据权利要求1所述的一种应用于入侵检测系统的AC算法,其特征在于,预处理步骤(3)中其压缩步骤为: (1)遍历数组的行,根据设定的阈值将行分段,记录各段的元素; (2)计算各段的长度以及起始位置; (3)按sparse-bandsformat格式将各行数据分别存储在不同的一维组中,并令一指针数组指向它们。
4.根据权利要求1所述的一种应用于入侵检测系统的AC算法,其特征在于,在预处理步骤(2)删除数组中所有O列后,需要对数组的各行采用sparse-bands format格式进行压缩。
5.根据权利要求1所述的一种应用于入侵检测系统的AC算法,其特征在于,在AC算法匹配步骤3之后需要将3的计算结果根据sparse-bands format格式的定义查找到对应的状态,并将其置为current state。
6.根据权利要求1所述的一种应用于入侵检测系统的AC算法,其特征在于,在进行匹配步骤之前需要设待匹配的文本串为text。
【专利摘要】本发明提供一种应用于入侵检测系统的AC算法,改进的AC算法与其它AC算法相比,空间开销最小,改进AC算法占用的存储空间为1027.01MB,而其他AC算法占用的存储空间为635.13MB,比前者少占用存储空间391.88MB,性能提升38.2%。同时,改进AC算法比占用1327.96MB的基本AC算法性能提升52.2%,比占用688.89MB的基于sparse-bands format存储格式的改进AC算法性能提升7.8%,该算法的设计是成功的。
【IPC分类】H04L29-06
【公开号】CN104869110
【申请号】CN201510091101
【发明人】肖守柏
【申请人】江西科技学院
【公开日】2015年8月26日
【申请日】2015年3月1日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1