一种自适应多模式匹配方法及系统的制作方法

文档序号:7962831阅读:281来源:国知局
专利名称:一种自适应多模式匹配方法及系统的制作方法
技术领域
本发明涉及一种可用于入侵检测防御(IDS/IPS)产品的自适应多模式匹配方法及系统,它依据关键字(模式)特征和当前网络状况自动选择一种适合当前配置和网络环境的多模式匹配算法,从而使得系统性能达到最优,属于网络技术领域。
背景技术
入侵检测/防御系统(以下简称IDS/IPS)作为网络安全防护的重要手段,通常部署在关键网络内部或者网络边界入口处,实时捕获网络内或进出网络的报文数据流并进行智能综合分析,发现可能的入侵行为并进行实时响应(报警或阻断)。多模式匹配算法作为一种快速搜索关键字的方法,它是实现基于攻击特征的误用检测核心技术,其算法执行效率直接影响到整个安全产品(系统)的检测性能。
目前主流IDS/IPS产品都实现了如下两种类型的基于攻击特征模式匹配的误用检测方法1)直接对网络报文数据进行基于攻击特征的多模式匹配。该方法无需识别具体应用协议,算法实现简单,但误报率高。2)进行具体应用协议解析和相关协议变量提取,然后对协议变量值进行基于攻击特征的多模式匹配。
目前常用的多模式匹配算法有AC算法(包括其变种)、SFK算法、WM算法、ACBM算法、E2XB算法、Piranha算法和LKR算法等。其中,前六种算法是目前用于IDS产品的主流算法,E2XB和Piranha算法是近几年新发展起来的算法,LKR是国内研发的一种快速算法。
可以把这些常见的多模式匹配算法分为两大类,一类是基于有限状态自动机字符串匹配方法,如AC、ACBM等算法,称该类算法为“状态机型”多模式匹配算法;另一类则是直接快速扫描文本,通过文本子串特征筛选出可能的模式集合(或者排除掉不可能的模式),然后对可能出现的模式进行精确匹配,比如WM、LKR、E2XB和Piranha等算法,称该类算法为“筛选-确认型”多模式匹配算法。
对各种主流多模式匹配算法的研究和实际测试后发现各种多模式匹配算法搜索性能非常依赖于输入的匹配模式集合特征,并不存在一种在所有输入模式集合下都最优的多模式匹配算法。因此,如果能够根据模式的特点(如模式最小长度、模式相似度)以及当前网络状况等参数对多模式匹配算法进行自适应调整,则能够明显改善IDS/IPS产品中检测引擎的性能●“状态机型”多模式匹配算法,例如ACBM算法将AC算法中有限状态机字符串匹配思想和BM算法中的文本比较窗口快速跳跃思想相结合。直接影响ACBM算法效率的因素有两个,分别是基于BM算法的比较窗口前进速度和有限状态机树的存储空间。当模式数量增多时,ACBM算法在理论上应该速度下降平缓,但由于ACBM算法需要大量内存来存储有限状态机树,所以使得该算法无法充分利用CPU缓存技术,导致算法实际运行效率较差。
●“筛选—确认型”多模式匹配算法,例如WM算法,它通过快速HASH表和宽字符BM跳跃思想实现快速多模式匹配,直接影响WM算法效率的因素有两个,分别是HASH表检索性能和BM跳跃思想中宽字符大小的选取,其中HASH表检索性能受HASH表平衡度和子链搜索速度的直接影响,当拥有共同前缀的模式数量越多,HASH表平衡度就越差,子链搜索速度也就越慢;当实现BM跳跃时所选取的宽字符较大时,比较窗口前进速度会较快,但所需的存储空间就会成指数增长,从而导致算法实际运行效率较差。
目前各主流IDS/IPS产品中关于多模式匹配算法的选用策略大多是由专业技术人员指定多模式匹配算法,在检测引擎启动时加载被指定的多模式匹配算法,一旦加载完毕则不能再做调整。这种多模式匹配算法选用策略存在两个问题1)由于攻击特征模式配置文件的动态性,这种仅凭专业人员感性认识所选择的多模式匹配算法可能并不适合当前配置情况,算法匹配效率无法达到最优。
2)IDS/IPS产品实际部署所在网络的当前状况(比如网络平静期或攻击期)对各种多模式匹配算法影响较大,比如在网络平静期,基于排除思想实现的E2XB和Piranha多模式匹配算法可能拥有较好的检测效率,但在网络攻击期,AC算法可能拥有最好的效率。基于人工指定的多模式匹配算法选用策略根本无法适用于这种动态网络情形,从而使IDS/IPS产品本身成为可能的网络攻击目标。

发明内容
本发明提出了一种用于网络内容快速匹配的自适应多模式匹配方法及系统。本发明利用各种多模式匹配算法的特点和优点,在模式匹配算法加载前根据模式特征和协议变量特征自动选择最合适的多模式匹配算法,并且在运行过程中根据当前网络状况自动调整算法,在保证系统稳定性的同时,使得所选择的多模式匹配算法效率最优。本发明可以广泛应用于IDS/IPS等所有需要快速搜索多模式(关键词)的网络安全产品中。
本发明所述的自适应多模式匹配方法包括三个工作阶段静态自适应阶段、模式匹配阶段和动态自适应阶段,其中,所述静态自适应阶段包括对模式匹配输入规则树进行统计分析,并根据分析结果选择最优的多模式匹配算法;所述模式匹配阶段包括通过统一调用接口为外部调用模块提供快速多模式匹配服务,并将模式匹配结果描述事件反馈给动态自适应阶段;所述动态自适应阶段包括统计分析模式匹配阶段反馈的事件信息来获知当前网络状态,据此做出调整当前多模式匹配算法的决定。
●静态自适应阶段静态自适应阶段在IDS/IPS系统初始化时执行。IDS/IPS系统启动过程中根据事件配置文件建立好攻击特征事件规则树后,将根据树节点(这里包括对协议变量或报文数据载荷进行攻击特征匹配)的特点进行模式匹配算法的选择。
静态自适应阶段多模式匹配算法的选择方法统计各协议变量特征以及相关匹配模式特征,结合备选多模式匹配算法的性能特征,为规则匹配树节点选择最优的多模式匹配算法。
●模式匹配阶段根据当前所选择的多模式匹配算法,对输入的网络报文执行多关键词搜索,如果待匹配的攻击模式和具体协议变量相关,则需要先执行协议重组和相关协议变量提取。在模式匹配阶段,系统还将有选择地根据本次模式匹配结果生成相应的反馈事件,供动态自适应模块统计分析处理,以便后者基于这些反馈信息调整当前多模式匹配算法。
●动态自适应阶段在IDS/IPS系统运行过程中,自适应多模式匹配方法将统计分析模式匹配阶段产生的模式匹配反馈事件的相关信息来获知当前网络状态,并结合模式匹配算法库中各基本模式匹配算法特征,做出调整当前多模式匹配算法的决定,指导算法调度引擎完成对当前多模式匹配算法的动态调整,使得所选择的多模式匹配算法在当前网络环境下效率最优。
本发明所述的自适应多模式匹配系统由四个功能模块组成,它们是静态自适应模块、算法统一调度模块、动态自适应模块和匹配算法库模块。
1)静态自适应模块根据事件配置文件建立好攻击特征事件规则树后,将根据树节点包括对协议变量或报文数据载荷进行攻击特征匹配的特点进行模式匹配算法的选择;静态自适应模块实现了自适应多模式匹配方法中所述的静态自适应工作流程,其输入为匹配模式集合规则树,依据匹配模式集合特征和协议变量特征选择合适的模式匹配算法,指导算法调度模块加载指定的模式匹配算法。
静态自适应模块包含静态特征统计和基于静态特征的算法选择两个子模块静态特征统计分析模式匹配规则树中每一树节点特征,包括协议变量特征和匹配模式特征,其分析结果将作为算法选择子模块的输入;基于静态特征的算法选择子模块根据静态特征统计子模块分析结果,并结合多模式匹配算法库中各备选匹配算法特征,选择最合适的匹配算法,指导算法调度模块完成算法加载。
2)算法统一调度模块;为外部模块提供了一致的算法调用接口,包括多模式匹配算法初始化、模式快速匹配和算法卸载;一旦当前多模式匹配算法确定并加载完毕,算法统一调度模块就可以为外部模块提供快速多模式匹配服务了。当外部模块调用快速匹配接口时,将可能产生关于本次模式匹配结果的一个描述事件,并将描述事件放入到模式匹配反馈事件队列中,供动态自适应模块做统计分析时处理,以获知当前网络状况。
3)动态自适应模块动态自适应模块将从模式匹配反馈事件队列中读取模式匹配描述事件,进行统计分析处理,并据此做出是否调整当前模式匹配算法的决定;动态自适应模块主要由动态特征统计分析子模块和动态算法选择决策子模块两部分组成。其中动态特征统计分析子模块从算法统一调度模块获取模式匹配结果描述事件,进行统计分析处理;动态特征统计分析子模块允许配置统计分析动态特征参数,例如,配置“需要根据网络攻击事件的频率来调整匹配算法”,则此时本模块需要对反馈的攻击事件进行统计和分析;动态算法选择决策子模块根据动态特征统计分析的结果和匹配算法的特点,决定是否调整当前模式匹配算法,来选择合适的多模式匹配算法。
4)匹配算法库模块此模块中包含了多种多模式匹配算法实现的具体代码,这些算法对外提供统一的接口(初始化函数、匹配函数和卸载函数)。算法库里的多模式匹配算法彼此独立,便于扩展。
本发明所述的自适应多模式匹配系统中涉及的静态自适应模块和动态自适应模块执行的开始时刻和持续时间是不同的前者在系统初始化加载时执行,并且只执行一次;后者在系统整个运行过程中执行,直到系统运行终止时结束。这两个自适应模块相互独立,其中静态自适应模块必须实现,而动态自适应模块可根据需要有选择实现。
本发明所述自适应多模式匹配方法的优点有1.充分利用各种多模式匹配算法的优势、根据当前应用场景灵活选择合适的模式匹配算法、在匹配速度和存储空间上达到最优。
2.本发明所述的自适应多模式匹配系统中,供选择的多模式匹配算法、模式静态特征分析逻辑、模式匹配反馈事件统计分析逻辑和算法选择决策逻辑都可以通过配置文件完成,系统灵活性和可扩展性强。


图1为自适应多模式匹配方法技术构架;图2为静态自适应模块中静态特征统计流程图;图3为静态自适应模块中静态算法选择决策流程图;图4为动态自适应模块中动态特征统计流程图;图5为动态自适应模块中动态算法选择决策流程图。
具体实施例方式
下面结合附图,详细说明本发明所述的自适应多模式匹配系统各模块的具体本发明所述的自适应多模式匹配系统中的多模式匹配算法库包含以下5个基本多模式匹配算法●标准ACBM算法基于有限状态自动机模式建立模式匹配AC树,根据报文当前字符进行状态转移,并且结合BM算法,调整匹配窗口前进的字符个数,实现窗口快速滑动。此算法优点在于匹配速度与模式特征和网络当前状况的相关性小;缺点在于AC树状态机所需内存空间大。
●ACBM改进算法1标准ACBM算法每一个状态下保存256个后续状态,但是对于匹配模式(关键词)均为ASCII码或者中文字符的情况,则只需128个可能状态。此算法将每个状态保存的下一状态数组大小调整为128,以适应ASCII码或者中文字符模式(关键词)的搜索。
●ACBM改进算法2以模式集合中出现的字符为节点来存储AC树,而不像传统ACBM算法中以状态为节点来存储AC树。此算法适用于模式集合中的字符数量远远小于256的情形,可有效节省AC树存储空间。
●标准WM算法通过快速HASH表来确定当前文本子串是否出现在某一模式中,若不出现,则利用宽字符BM跳跃思想来快速移动当前文本匹配窗口;若出现,则进行精确匹配。此算法优势在于所耗存储空间小,在正常网络状态下,搜索速度快;缺点在于搜索速度与模式特征和网络当前状况的相关性大;●WM改进算法专门针对模式最小长度为1字节时的算法,将长度为1字节的模式单独匹配,剩余模式在用WM算法匹配。
这些基本多模式匹配算法都在算法统一调度模块里实现了统一的调用接口,包括算法初始化、算法匹配调用和算法卸载处理。
匹配算法库模块,库中各基本模式匹配算法对象都必须实现统一调用接口,包括算法初始化,模式匹配和算法卸载处理接口;库中各基本多模式匹配算法可以根据需要添加新算法或者删除指定算法。
本发明所述自适应多模式匹配方法中的静态自适应阶段,根据事件配置文件建立模式匹配规则树,规则树中每一树节点代表某一类型模式匹配子任务包括对协议变量或报文数据载荷进行模式匹配;统计分析规则树中每一节点的协议变量特征和相关模式特征;考察算法库中每一备选多模式匹配算法特征,选择一种最适合该规则树节点的多模式匹配算法。
由以下四个步骤来实施首先,通过配置文件预先设置参数临界值。允许设置的临界值包括●MAXNUM_SIMI表示模式集合中前缀相同的模式数量允许的最大值。主要用于标准WM算法,若前缀相同的模式数量大于MAXNUM_SIMI,WM算法中HASH子链搜索效率较低。
●NUM_OF_SET_AC表示模式集合中字符的数量,主要用于ACBM改进算法2,当模式字符集中字符的个数(nChar)小于这个值时,使用ACBM改进算法2节省存储空间显著。
●WM_LEN主要用于WM算法的选择,当模式的最小长度等于1,且次小长度大于等于WM_LEN时,使用WM1算法效率高。
●MAXLEN表示模式的最大长度。
●MAXCOUNT表示模式的数量。
●LIMIT_OF_MEM表示匹配算法对内存的限制。
●LIMIT_OF_CPU表示匹配算法对CPU的限制。
其次,为选择各种多模式匹配算法配置所需的模式特征统计和分析参数,选择上面所列五种算法时,可以配置以下7个参数,这7个变量对算法的影响说明如下●minlen模式的最小长度。
●sub_minlen模式的次小长度。
●nSimil拥有相同一字节前缀的模式个数。
●nSimi2拥有相同两字节前缀的模式个数。
●maxlen模式的最大长度。
●count模式的总数量。
●nChar模式字符集中字符的个数。
目前供选择的多模式匹配算法有标准ACBM算法、ACBM改进算法1、ACBM改进算法2、标准WM算法和WM改进算法。这五种算法在静态自适应阶段时适用范围如下●标准ACBM算法当模式集合元素数量大于128,nSimi2大于2,并且ACBM存储空间允许时。
●ACBM改进算法1当模式集合元素数量处于128和NUM_OF_SET_AC之间,nSimi2大于MAXNUM_SIMI,并且存储空间允许时。
●ACBM改进算法2当模式集合元素数量小于NUM_OF_SET_AC,nSimi2大于20,并且存储空间允许时。
●标准WM算法模式最小长度至少大于2字节,且nSimi2小于MAXNUM_SIMI;或者模式最小长度为1,nSimi1小于MAXNUM_SIMI。
●WM改进算法模式最小长度为1,次最小长度大于WM_LEN,且nSimi2小于MAXNUM_SIMI。
再次,根据附图2所示的静态特征统计分析过程计算决策依据参数flag。因为决策的条件多,所以引用一个决策依据参数flag,利用其中标志位来决定所调用的算法。flag为一个无符号16bit短整型unsigned short flag,flag标志位默认值为0,从高比特位至低比特位,bit15~bit10记录匹配算法的动态特征,用于动态自适应阶段;bit7~bit0记录模式静态特征。flag标志位具体说明如下。
bit15~bit12保留;bit11=1代表该协议变量下的匹配算法输入报文“坏字符”出现概率大;bit10=1代表该协议变量下关键词匹配成功的概率大,即对应事件频繁出现;bit9=1所需存储空间大于允许值;bit8=1所需CPU值大于允许值;bit7和bit6minlen=1时,bit7=1;sub_minlen>3,bit6=1;则(bit7,bit6)有以下组合(0,0)含义minlen>1且sub_minlen<4;(0,1)含义minlen>3;(1,0)含义minlen=1且sub_minlen<4;(1,1)含义minlen=1且sub_minlen>3;bit5=1所有模式中,首字节相同的模式数量大于MAXNUM_SIMI;bit4=1除了长度为1的模式外,前两个字节相同的模式数量大于MAXNUM_SIMI;
bit3=1协议变量类型为ASCII码或者中文;bit3=0协议变量类型为普通二进制字符;bit2=1nChar<NUM_OF_SET_AC;bit1=1maxlen>MAXLEN;bit0=1count>MAXCOUNT。
图2中根据此原理详细说明决策参数的统计方法。此模块的输入包括内存、CPU情况,以及统计的参数。然后模块根据这些输入值,对决策依据参数flag进行修改。最后输出统计后的决策依据参数flag。
最后,基于决策依据参数flag执行静态多模式匹配算法选择决策过程(见附图3)。图3的输入为决策依据参数和备选算法。在进行算法选择时,根据flag的标志位依次进行选择,步骤如下 第一步,判断flag的第7~第4比特,如果(bit7==0&&bit4==0),表示模式最小长度大于1,且拥有共同两字节前缀的模式数量少,此时适合用WM算法; 第二步,如果(bit7,bit6,bit5,bit4)==(1,0,0,0),表示模式最小长度为1,次小长度小于WM_LEN,且拥有共同两字节前缀的模式数量少,此时选择WM算法; 第三步,如果(bit7,bit6,bit5,bit4)==(1,1,1,0),表示模式最小长度为1,次小长度大于WM_LEN,且拥有共同两字节前缀的模式数量少,此时适合用WM改进算法。
第四步,判断bit2,如果bit2==1,表明模式字符集中字符数量少,适合用ACBM改进算法2,大大减少存储空间,转到第七步; 第五步,判断bit3,如果bit3==1,表明模式字符集中字符数量处于128和NUM_OF_SET_AC之间,选择ACBM改进算法1,转到第七步; 第六步,选择默认算法,如ACBM算法(如果选择ACBM算法,转到第七步)。此时根据模式特点判断不适合用WM算法和对存储空间减少的ACBM改进算法,故利用ACBM算法完成搜索。
第七步,当选择使用ACBM算法、ACBM改进算法1和2时,需要判断在实际模式处理时所占用的存储空间是否超过可接受的值,若超过,则选用WM算法。
输出所选择算法,调用算法加载模块,算法加载模块将加载匹配算法的初始化函数入口、匹配函数入口和卸载函数入口,并且调用匹配算法的初始化函数。
本发明所述的自适应多模式匹配方法中动态自适应阶段,根据统计和分析模式匹配阶段产生的模式匹配反馈事件信息,来获知当前网络状态;在当前网络状态下对当前选择的多模式匹配算法进行评估,如果评估结果不满意,则考察算法库中各基本模式匹配算法特征,选出一种最适合当前网络状态的多模式匹配算法,指导算法调度引擎完成对当前多模式匹配算法的动态切换。
动态自适应阶段由四个步骤来实施首先,通过配置文件预先设置算法决策参数,这些参数包括●HOLD_TIME锁定最长时间,对协议变量算法调整,必须是在该协议变量不处于锁定时间内;●LIMIT_EVENT_DURATION和LIMIT_EVENTN_UM事件控制参数。参数含义为某事件出现概率高,指同一时间在LIMIT_EVENT_DURATION时间内出现的次数大于LIMIT_EVENT_NUM;●LIMIT_PACKT_DURATION和LIMIT_PACKT_NUM报文特征控制参数。参数含义为某一协议变量匹配时的输入报文(text),在LIMIT_PACKT_DURATION时间内,字符连续出现,这样的text个数大于LIMIT_PACKT_NUM;●LIMIT_FLUX_DURATION和LIMIT_FLUX_NUM流量控制参数。参数含义为在LIMIT_FLUX_DURATION时间内,报文流量大于LIMIT_FLUX_NUM;其次,依据表1考虑网络状态对各种基本多模式匹配算法的影响。
表1 网络状况对模式匹配算法的影响 再次,对模式匹配过程中产生的匹配描述事件实现动态特征统计分析以获知当前网络状况,具体的动态特征统计分析流程见附图4。
图4的工作流程如下 第一步通过配置来决定需要根据哪些动态特征对算法调整,例如事件匹配成功的概率、匹配算法输入报文的特征和当前网络流量等等; 第二步,对这些动态特征进行反馈; 第三步,统计这些动态特征,并且修改决策依据参数flag。例如,当某一事件在时间LIMIT_EVENT_DURATION内出现次数大于LIMIT_EVENT_NUM,则修改flag相应的标志位; 第四步,定位该动态特征所关联的协议变量;并且判断该协议变量是否需要进行多模式匹配,以及该协议变量的多模式匹配算法是否被配置为“可调整”等等; 最后,输出决策依据参数flag和协议变量ID,作为动态算法选择决策模块的输入。
最后,根据当前网络情况,模式匹配规则树中各节点(协议变量)选择更为合适的匹配算法。根据目前备选五种算法的特征,主要分为两类,其适应范围见表1。对于当前所选用的这两类算法,WM算法受网络影响大,所以主要是从WM算法调整到ACBM类算法(包括其改进算法)。
具体工作流程见附图5。
第一步,根据决策依据参数flag,判断是何种原因引起的动态调整。例如,是“由于事件频繁出现而造成算法调整”;下面以此原因来介绍此动态算法选择模块的实现方法; 如果原来的算法是ACBM算法(或者ACBM1、ACBM2),则保持;如果原来的算法为WM算法,则需要调整。根据flag中bit3和bit4,判断调整哪种ACBM算法。同样,也需要对存储空间进行估计,如果存储空间在允许范围内,则调整为ACBM算法(或者ACBM1、ACBM2);否则保持原有算法; 输出选择结果。
本发明所述自适应多模式匹配方法中模式匹配阶段,利用当前选择的匹配算法为外部调用模块提供快速多模式匹配服务,即对外部模块输入的网络报文或协议变量值执行多关键词搜索操作,并返回最后模式匹配结果;同时有选择地根据本次模式匹配的输入和结果生成相应的模式匹配反馈事件,供动态自适应模块统计分析处理。
工作流程如下当外部调用模块有报文需要执行模式匹配操作时,将调用统一调用接口模块中的模式匹配接口,以实现快速模式匹配,模式匹配接口调用结束后,将可能产生相应的匹配描述事件,并写入到反馈事件队列中,供动态自适应模块做统计分析,并在必要时做出模式匹配算法切换决策。
本发明所述自适应多模式匹配方法中动态自适应阶段动态特征统计分析工作流程描述如下
对模式匹配阶段产生的匹配描述事件进行聚合、统计分析,并将统计分析结果提交给“动态算法选择决策模块”,为后者提供算法切换决策依据。“动态算法选择决策模块”在决策时所关心的事件有某一事件在一段时间(LIMIT_EVENT_DURATION)出现次数大于LIMIT_EVENT_NUM,则认为该事件在单位时间内出现概率高,可能需要对相应的多模式匹配算法进行调整;如果某一协议变量在一段时间(LIMIT_PACKT_DURATION)内,匹配时输入的报文是“坏字符串”(即出现类似“AAAAAAAA”这样重复的字符,且匹配窗口的前缀和后缀出现在报文中概率高)的次数大于LIMIT_PACKT_NUM,则认为该协议变量的匹配算法可能需要调整。
图1中表示了此自适应多模式匹配系统的整体架构。从模块上来看,将此系统分为四个大模块。当系统初始化时,输入规则树的配置,然后调用静态自适应模块,对协议变量的多模式匹配算法进行初始化;当系统工作时,输入为待匹配的文本,输出为匹配的结果;并且在系统工作时,调用动态自适应模块对协议变量的多模式匹配算法进行自动调整。从工作层面上来看,系统分为三个层面配置管理层面、控制层面和服务层面。配置管理层面是在系统初始化时完成,服务层面是系统工作时为上层提供服务,而控制层面是在自适应系统内部,为提供更好服务而自动完成。
文中英文词汇注释表IDS Intrusion Detection System入侵检测系统IPS Intrusion Protection System入侵防御系统WMWu-Manber algorithm WM算法ACBM Aho-Corassick Boyer-Moore algorithm ACBM算法E2XB Exclusion-base algorithm E2XB算法LKR Long-Karp-Rabin algorithm LKR算法
权利要求
1.一种自适应多模式匹配方法,其特征在于在模式匹配算法加载前根据模式特征和协议变量特征自动选择最合适的多模式匹配算法,在运行过程中根据当前网络状况自动调整算法。
2.根据权利要求1所述的一种自适应多模式匹配方法,其特征在于包括三个阶段静态自适应阶段、模式匹配阶段和动态自适应阶段,其中,所述静态自适应阶段包括对模式匹配输入规则树进行统计分析,并根据分析结果选择最优的多模式匹配算法;所述模式匹配阶段包括通过统一调用接口为外部调用模块提供快速多模式匹配服务,并将模式匹配结果描述事件反馈给动态自适应阶段;所述动态自适应阶段包括统计分析模式匹配阶段反馈的事件信息来获知当前网络状态,据此做出调整当前多模式匹配算法的决定。
3.根据权利要求2所述一种自适应多模式匹配方法,其特征在于静态自适应阶段,根据事件配置文件建立模式匹配规则树,规则树中每一树节点代表某一类型模式匹配子任务包括对协议变量或报文数据载荷进行模式匹配;统计分析规则树中每一节点的协议变量特征和相关模式特征;考察算法库中每一备选多模式匹配算法特征,选择一种最适合该规则树节点的多模式匹配算法。
4.根据权利要求2所述一种自适应多模式匹配方法,其特征在于模式匹配阶段,利用当前选择的匹配算法为外部调用模块提供快速多模式匹配服务,即对外部模块输入的网络报文或协议变量值执行多关键词搜索操作,并返回最后模式匹配结果;同时有选择地根据本次模式匹配的输入和结果生成相应的模式匹配反馈事件,供动态自适应模块统计分析处理。
5.根据权利要求2所述一种自适应多模式匹配方法,其特征在于动态自适应阶段,根据统计分析模式匹配阶段产生的模式匹配反馈事件信息,来获知当前网络状态;在当前网络状态下对当前选择的多模式匹配算法进行评估,如果评估结果不满意,则考察算法库中各基本模式匹配算法特征,选出一种最适合当前网络状态的多模式匹配算法,指导算法调度引擎完成对当前多模式匹配算法的动态切换。
6.一种自适应多模式匹配系统,其特征在于包括四个功能模块,静态自适应模块根据事件配置文件建立好攻击特征事件规则树后,将根据树节点包括对协议变量或报文数据载荷进行攻击特征匹配的特点进行模式匹配算法的选择;算法统一调度模块为外部模块提供了一致的算法调用接口,包括多模式匹配算法初始化、模式快速匹配和算法卸载;动态自适应模块动态自适应模块将从模式匹配反馈事件队列中读取模式匹配描述事件,进行统计分析处理,并据此做出是否调整当前模式匹配算法的决定;匹配算法库模块包含了多种多模式匹配算法实现的具体代码,这些算法对外提供统一的接口初始化函数、匹配函数和卸载函数,算法库里的多模式匹配算法彼此独立。
7.根据权利要求6所述一种自适应多模式匹配系统,其特征在于静态自适应模块包含静态特征统计和基于静态特征的算法选择两个子模块静态特征统计分析模式匹配规则树中每一树节点特征,包括协议变量特征和匹配模式特征,其分析结果将作为算法选择子模块的输入;基于静态特征的算法选择子模块根据静态特征统计子模块分析结果,并结合多模式匹配算法库中各备选匹配算法特征,选择最合适的匹配算法,指导算法调度模块完成算法加载。
8.根据权利要求6所述一种自适应多模式匹配系统,其特征在于算法统一调度模块,当外部模块调用模式快速匹配接口时,将可能产生关于本次模式匹配结果的一个匹配描述事件,并反馈给动态自适应模块,供后者做统计分析处理,以获知当前网络状况。
9.如权利要求6所述一种自适应多模式匹配系统,其特征在于动态自适应模块,本模块由动态特征统计分析和动态算法选择决策子模块两部分组成;其中动态特征统计分析子模块从算法统一调度模块获取模式匹配结果描述事件,进行统计分析处理;算法选择模块根据动态特征统计结果决定是否调整当前模式匹配算法。
10.根据权利要求6所述一种自适应多模式匹配系统,其特征在于匹配算法库模块,库中各基本模式匹配算法对象都必须实现统一调用接口,包括算法初始化,模式匹配和算法卸载处理接口;库中各基本多模式匹配算法可以根据需要添加新算法或者删除指定算法。
全文摘要
一种可用于入侵检测防御产品中的自适应多模式匹配方法及系统。能够在入侵检测防御产品启动时根据输入的协议变量特征和相关匹配模式特征自动选择最合适的多模式匹配算法,并且在运行过程中根据当前网络状况,对当前多模式匹配算法进行自动调整,确保在不影响系统稳定性的前提下所选择的多模式匹配算法效率最优。本发明所述之自适应多模式匹配方法由以下三个阶段组成静态自适应阶段、模式匹配阶段和动态自适应阶段。本发明所述之自适应多模式匹配系统包含静态自适应模块、算法统一调度模块、动态自适应模块和匹配算法库模块。本发明所述之自适应多模式匹配方法及系统可广泛应用于入侵检测防御等所有需要快速搜索多模式的网络安全产品中。
文档编号H04L29/06GK1870498SQ200610089420
公开日2006年11月29日 申请日期2006年6月26日 优先权日2006年6月26日
发明者李铮铮, 叶润国, 王洋, 华东明 申请人:北京启明星辰信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1