网络攻击检测方法及装置的制作方法

文档序号:87224阅读:250来源:国知局
专利名称:网络攻击检测方法及装置的制作方法
技术领域
本发明涉及网络安全领域,尤其是一种利用预设的规则库对数据报文进行攻击检测的方法及装置。
背景技术
随着网络安全风险系数不断提高,曾经作为最主要的安全防范手段的防火墙,已经不能满足人们对网络安全的需求。作为对防火墙及其有益的补充,入侵检测系统/入侵抵御系统(Intrusion Detection Systcm/IntrusionPrevention system,简称IDS/IPS)能够帮助网络系统快速发现攻击的发生并进行积极的防御,扩展了系统管理员的安全管理能力。
IDS/IPS是基于特征检测的方式来进行攻击检测的。在系统数据库中存储有多条攻击规则,这些攻击规则可被用于对数据报文进行逐一过滤,一旦发现数据报文中有相关特征,则发出警告信息或阻止该数据报文。如图1所示,为现有基于特征检测的IDS/IPS工作原理示意图,IDS/IPS系统1包托接收报文部分4、规则库5和处理策略部分6,如果当前网络流量为正常的网络流量2,则可以顺利通过接收报文部分4、规则库5和处理策略部分6;如果是网络攻击或病毒,则会被规则库5命中,并在处理策略部分6执行相应处理以阻止该网络攻击或病毒。
在IDS/IPS系统中经常采用一种典型的基于特征检测的软件(snort),其规则格式如下表
其支持的协议仅包括IP、TCP、UDP、ICMP。以下为Snort的规则实例
Alert tcp any any->192.168.1.0/24 80(content“cgi-bin/phf”;offset3;depth22;msg“CGI-PHF access”;)其中Alert表示匹配规则后执行的动作,tcp表示该规则适用的协议,any any->192.168.1.0/24 80表示源IP地址和端口向目标IP地址和端口发送,content“cgi-bin/phf”表示包含“cgi-bin/phf”的字符串,offset3表示检测的起始位置从第三个字符开始,depth22表示检测的深度,msg“CGI-PHF access”表示执行Alert时发出的警示信息。
可以看出Snort的检测方式是基于单包检测的,并不考虑协议层次上的相关性,在检测时只对负载部分和部分第四层协议头进行检测,例如检测TCP或UDP的协议头信息,而攻击规则中缺少对报文所属的会话流更高协议层次的判断,因此可能会出现较高协议层次的会话流虽然与攻击规则中的异常信息无关,但其负载部分以及TCP/UDP文件头符合,仍然认为命中攻击规则,导致误报。
另外,基于特征检测的攻击检测方式还有其他一些缺点1、支持上层协议较少,例如Snort只支持TCP/UDP/ICMP等协议,不能支持HTTP或FTP等上层协议;2、只可对TCP连接建立的状态进行定义,而不能定义会话流的状态;3、攻击规则之间的相关性差,难以重用;4、攻击规则采用逻辑行的形式表述,较难解析和维护。

发明内容本发明的目的提出一种网络攻击检测方法,能够基于数据报文的会话状态进行匹配,从而实现上下文检测,降低误报率。
为实现上述目的,本发明提供了一种网络攻击检测方法,包括以下步骤步骤10、接收会话流的数据报文,并将当前数据报文与预设的特征库中的特征进行逐一比对;
步骤20、当所述当前数据报文匹配所述特征时,在预设的规则库中查询引用该匹配特征的攻击规则,所述攻击规则中包括一个或数个特征、与特征对应的状态和定义的操作;步骤30、判断所述攻击规则是否已被记录在会话状态记录表中,是则执行步骤40,否则执行步骤50;步骤40、根据所述会话状态记录表中的攻击规则中特征之间的关系,判断是否满足所有特征对应的会话状态,是则执行步骤60,并结束操作;否则使所述当前数据报文通过,并结束操作;步骤50、在所述会话状态记录表中添加所述攻击规则,并为当前数据报文匹配的特征设置会话状态,然后使所述当前数据报文通过,并结束操作;步骤60、根据该攻击规则定义的操作对当前数据报文或会话流执行所述攻击规则中定义的操作。
当数据报文与所述特征库中所有特征都无法匹配时,则意味着当前数据报文为安全报文,故使当前数据报文通过,并结束操作。
在上述技术方案中,IDS/IPS中设有会话状态记录表,可以记录会话的状态,会话的状态变迁由该会话命中的特征进行推导,当上下文的会话状态完全满足攻击规则中各个特征的状态时,则认为攻击规则与截取的网络会话相匹配,然后执行相应的处理操作,例如告警、记录日志或丢弃数据包等。
在上述技术方案中,IDS/IPS中设有预设的特征库和规则库,规则库中的攻击规则引用特征库中的一个或数个特征,可通过组合不同的特征和特征之间的关系获得攻击规则,因此可重用性较高。
进一步地,可以在步骤20和步骤30之间加入以下步骤当查询到攻击规则后,判断该攻击规则对应的规则体中是否具有所述匹配特征对应的状态条件,是则执行步骤30,否则直接执行步骤60。
进一步地,在步骤10中比对操作具体为将所述当前数据报文与预设的特征库中的特征进行逐一比对,比对内容包括所述当前数据报文的净荷部分和/或协议头信息,当所述当前数据报文符合所述特征时,进一步对当前数据报文所属会话的协议层次与该特征中的协议层次信息是否匹配进行判断,是则执行步骤20,否则使所述当前数据报文通过,并结束操作。
在步骤10中特征包括净荷部分和协议头信息,还包括协议层次信息,净荷部分是指去掉各种协议头后的净荷,而协议层次信息可以为一些会话协议,例如HTTP、FTP和SIP等协议,并且不局限于以上列举的几种。
在所述步骤50中所述为当前数据报文匹配的特征设置会话状态的操作具体为为当前数据报文匹配的特征设置会话状态,该会话状态为无状态、请求、应答、可选、并列、顺序、结束、持续和释放中状态之一。
所述进一步对当前数据报文所属会话的协议层次与该特征中的协议层次信息是否匹配进行判断的操作具体为根据当前数据报文中的端口信息或确认标志获得当前数据报文所属会话的协议层次,并判断所述协议层次与该特征中的协议层次信息是否匹配。
在所述步骤10之前,包括构造XML格式的攻击规则和特征的步骤,具体为将攻击规则和特征以XML格式进行表示,并分别预先存储在规则库和特征库中。其中用XML格式进行表示的攻击规则包括规则头、规则体和规则策略。XML文件格式是攻击规则的外在表现形式,采用这种格式便于规则的管理和扩充。在IDS/IPS系统启动时,IDS/IPS系统会从文件或者数据库中将攻击规则和特征读出来,重新组织后放到内存中。
为实现上述目的,本发明还提供了一种网络攻击检测装置,包括报文接收模块,用于接收会话流中的数据报文;特征存储模块,用于存储特征,该特征包括负载部分和协议层次信息;规则存储模块,与所述特征存储模块相连,用于存储攻击规则,该攻击规则包括引用的特征存储模块中存储的一个或数个特征、所述一个或数个特征的状态和处理策略;特征匹配模块,与所述报文接收模块和特征存储模块相连,用于将所述数据报文与特征存储模块中的特征进行逐一比对;会话状态记录模块,用于存储数据报文所属对话所匹配的规则;会话状态匹配模块,与所述特征匹配模块、会话状态记录模块和规则存储模块相连,用于在规则存储模块中查询引用所述匹配特征的攻击规则,判断所述攻击规则是否已被记录在会话状态记录模块中,是则根据所述会话状态记录模块中的攻击规则中特征之间的关系,并判断是否满足所有特征对应的会话状态;否则在所述会话状态记录模块中添加所述攻击规则,并为当前数据报文匹配的特征设置会话状态,然后由报文处理模块使所述数据报文通过。
报文处理模块,与所述会话状态匹配模块相连,用于在所述会话状态匹配模块中如果满足所有特征对应的会话状态,则对数据报文执行所述攻击规则中定义的操作;如果不满足所有特征对应的会话状态,则使所述数据报文通过。在上述技术方案中,所述特征匹配模块进一步包括第一匹配单元,与所述报文接收模块和特征存储模块相连,用于将当前数据报文与特征存储模块中的特征进行逐一比对,比对内容包括所述当前数据报文的净荷部分和协议头信息;第二匹配单元,与所述第一匹配单元和特征存储模块相连,用于在当前数据报文符合所述特征时,进一步对当前数据报文所属会话的协议层次与该特征中的协议层次信息是否匹配进行判断,是则将当前数据报文匹配的特征发送给会话状态匹配模块,否则使所述数据报文通过。
基于上述技术方案,本发明具有以下优点1、本发明基于会话状态的上下文进行攻击检测,当一个会话中多个数据包分别与一条规则中的所有特征的状态匹配时,才认为该条规则被匹配,从而降低了误报率,提高了攻击规则的准确率;2、本发明在特征或规则判断时,将匹配内容扩展到协议层次,使攻击规则和协议相关,从而减少攻击规则的误报率;
3、本发明攻击规则由一个或数个特征引用构成,具有良好的可重用性;4、本发明采用XML格式定义攻击规则和特征,便于攻击规则的补充和特征库和规则库的维护,并且便于解析和存取;下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为现有基于特征检测的IDS/IPS工作原理示意图。
图2为本发明网络攻击检测方法的第一实施例的流程示意图。
图3为本发明网络攻击检测方法的第二实施例的流程示意图。
图4为本发明网络攻击检测方法的第三实施例的流程示意图。
图5为本发明网络攻击检测方法的第四实施例的流程示意图。
图6为本发明攻击规则的构成示意图。
图7为本发明网络攻击检测装置的第一实施例的流程示意图。
图8为本发明网络攻击检测装置的第二实施例的流程示意图。
具体实施方式本发明提出了基于会话状态的上下文检测,当一个会话中多个数据包分别与一条规则中的所有特征的状态匹配时,才认为该条规则被匹配,从而使攻击检测的误报率进一步降低。
如图2所示,其为本发明网络攻击检测方法的第一实施例的流程示意图。该实施例包括以下步骤步骤10、接收会话流的数据报文,并将当前数据报文与预设的特征库中的特征进行逐一比对;步骤20、当所述当前数据报文匹配所述特征时,在预设的规则库中查询引用该匹配特征的攻击规则,所述攻击规则中包括一个或数个特征、与特征对应的状态和定义的操作;
步骤30、判断所述攻击规则是否已被记录在会话状态记录表中,是则执行步骤40,否则执行步骤50;步骤40、根据所述会话状态记录表中的攻击规则中特征之间的关系,判断是否满足所有特征对应的会话状态,是则执行步骤60,并结束操作;否则使所述当前数据报文通过,并结束操作;步骤50、在所述会话状态记录表中添加所述攻击规则,并为当前数据报文匹配的特征设置会话状态,然后使所述当前数据报文通过,并结束操作;步骤60、根据该攻击规则定义的操作对当前数据报文或会话流执行所述攻击规则中定义的操作。
在本实施例中,可以在会话状态记录表中存储整条攻击规则的内容;也可以只将攻击规则的标识记录在会话状态记录表中;或者将攻击规则中的特征标识和攻击策略标识记录在会话状态记录表中。所以步骤30中“攻击规则是否已被记录在会话状态记录表中”包括上述的几种情况,实际上只要根据会话状态记录表的记录的内容能判断对应的数据报文该执行何种操作的记录方式都是可以的。
如图3所示,其为本发明网络攻击检测方法的第二实施例的流程示意图。步骤10接收数据报文,并将当前数据报文与预设的特征库中的特征进行逐一比对。在接收数据报文前,需要先对网络中拦截的数据报文进行分流和保序以形成会话流。在比对时需要与特征库中的特征进行一一比对,直到将所有的特征都比对完毕。特征库是包括有数个特征的集合,可以在物理上分别存储,也可以集中存储。
步骤20在预设的规则库中查询引用上一步骤中匹配特征的攻击规则。该攻击规则包含有一个或数个特征以及这些特征对应的攻击策略,另外攻击规则除了包含上述内容外还可以包含有与特征对应的状态。这种状态包括无状态(default)、请求(request)、应答(response)、可选(or)、并列(and)、顺序(sequence)、结束(end)、持续(keep)和释放(release)等。其中请求表示当前报文为发起方的请求消息,应答表示当前报文为请求方的回应消息,可选表示跳到下一状态的可选消息,并列表示必须收到当前报文后才能跳到下一个状态,顺序表示当前消息必须紧接着上一个消息,结束表示当前消息为结束消息,持续表示当前消息发现后完全占有本协议层次的会话,释放表示发现当前消息后释放占有的会话。
步骤21当查询到攻击规则以后,判断该攻击规则对应的规则体中是否有所述特征对应的状态条件,若没有,直接执行步骤60;若有,则执行步骤30;步骤30判断所述匹配特征对应的攻击规则中包含的之前的状态信息是否已被记录在会话状态记录表中,是则执行步骤40,否则执行步骤50。
步骤40判断是否满足攻击规则中所有特征对应的会话状态,是则执行步骤60,并结束操作;否则执行步骤50;步骤50将该特征及对应的状态添加到会话状态记录表中,并使当前数据报文通过,并结束操作。
步骤60根据该攻击规则的攻击策略对当前数据报文或会话流执行相应的操作。这些定义的操作可能是针对当前数据报文,也可能是对整个会话流,攻击策略包括抛弃当前的数据报文、报警、关闭会话流等。
在这个实施例中,规则库中包括两种攻击规则,一种是包含具有状态的特征的攻击规则,一种是只有单一特征,且不具有状态的攻击规则,本实施例可以对这两种规则进行选择,以适配攻击的复杂程度,当某种攻击较容易判别,就可以采用单一特征的攻击规则,如果某种攻击误报率高,则适合于采用会话上下文进行识别。
如图4所示,其为本发明网络攻击检测方法的第三实施例的流程示意图,在这个实施例中对上一实施例中的特征比对进行细化。
步骤11将当前数据报文与预设的特征库中的特征进行逐一比对,比对内容包括当前数据报文的净荷部分和/或协议头信息;
步骤12若当前数据报文符合特征时,进一步判断当前数据报文所属会话的协议层次与该特征中的协议层次信息是否匹配,是则执行步骤20,否则使当前数据报文通过,并结束操作。
在比较时先对特征中的净荷部分和/或协议头进行比对,例如TCP报文中包括IP和TCP的协议头以及负载部分,当这些协议头和负载部分都被特征命中时,才进行进一步的协议层次匹配。当前数据报文所属的会话的协议层次的判断方法有很多种,例如利用端口判断上层的应用协议,比如HTTP协议的端口一般为80,FTP协议的端口一般为21,当报文中记录的端口号为21时,则推算该会话的报文为FTP协议,然后将这个协议层次与特征中的协议层次信息进行匹配,只有都符合时才认为特征匹配。
如图5所示,其为本发明网络攻击检测方法的第四实施例的流程示意图,与前两个实施例相比,这个实施例在步骤10之前加入步骤10a,预先对特征和攻击规则按照XML格式进行定义。其中攻击规则包括规则头、规则体和规则策略,其中规则头包含了该条攻击规则的自身信息,例如规则名、规则描述以及规则版本等;规则体包含有一个或数个特征,另外规则体还可以包含有与特征对应的状态,特征的状态代表着特征之间的关联关系。规则策略,即定义的操作,表示满足攻击规则的条件后执行的操作。
对于攻击规则可以用XML格式进行设计,这种XML格式定义的攻击规则便于维护和扩展。XML格式的攻击规则如下<rule>
<!--规则头部分-->
<header>
</header>
<!--规则体部分-->
<body>
</body>
<!--规则策略部分-->
<action>
</action>
</rule>
其中规则体部分XML格式如下<body>
<signature state=””>
</signature>
</body>
其中signature表示特征,其状态(state)可以取不同的状态值。特征(signature)也可以采用XML格式进行定义,特征包括协议部分和负载部分,其中负载部分是指的除掉所有协议头剩下的净荷,协议部分包括协议层次信息和协议头信息。其中协议部分可以采用参数化模板的方式实现,所谓参数化模板是由一个或多个字段组合而成,只需要对其中的字段进行参数化就可获得该参数化模板的实例。在定义特征时就需要对模板中的内容进行赋值。以下给出一个具体实例进行说明,XML格式表示的特征定义为<!--定义特征,并指明其 id-->
<signature id=”060201”name=”httprequest”>
<!--定义该特征的协议层次信息,引用HTTP协议的协议号-->
<protocol>000220</protocol>
<!--定义该特征引用的参数化模板-->
<templates>
</templates>
<!--定义该特征的负载模板-->
<payloads>
</payloads>
</signature>
在上述定义中,参数化模板在<template></template>中进行定义,例如预先定义一种IP模板,在这个模板上设有源IP地址、目的IP地址、TTL参数以及TOS参数等,在特征引用该模板时,需要对以上参数进行赋值,从而获得一个特征实例,下面是该特征实例的XML格式表示<signature>
<!--特征所引用的IP模板-->
<templates>
<IP>
<!--对引用的模板的参数进行赋值-->
<saddr><eq>10.1.1.1</eq></saddr>
<!--对引用的模板的参数tos进行赋值-->
<tos><eq>20</eq></tos>
<IP>
</templates>
</signature>
在本实施例中,当系统启动时,在步骤10a之后,将XML格式表示的攻击规则和特征读入到内存中,以供使用。
下面举出一个具体实例进行说明在会话流中有先后两个TCP报文,第一个报文源IP地址为“10.1.1.1”,目的端口为“80”,负载包含“%25%25../dir”,第二个报文源IP地址为“10.1.1.17”,包含负载“404not found”。在规则库中有这样两条规则,如下rule httpunicode<header>Http Unicode attack.</header>
<body>
<signature1 state=“request”>
<protocol>http</protocol>
<IP><sip>10.1.1.1</sip></IP>
<TCP><dport>80</dport></TCP>
<content>%25%25../dir</content>
</signature1>
<signature2 state=“response”>
<protocol>http</protocol>
<IP><sip>10.1.1.20</sip></IP>
<content>404 not found</content>
</signature2>
</body>
<action>block<action>
规则httpunicode的规则体(body)中包含两个特征(signature)signature1和signature2,其中signature1为HTTP请求,signature2为HTTP应答;signature1指定的协议层次为HTTP,其引用了IP模板的源IP地址,并为其赋值“10.1.1.1”,此外,还引用了TCP模板的目的IP端口参数,并为其赋值为“80”,signature1的负载为“%25%25../dir”;signature2指定的协议层次为HTTP,其引用了IP模板的源IP地址,并为其赋值“10.1.1.17”,signature1的负载为“404 not found”。
会话管理模块(会话管理模块主要是进行会话管理,建立、删除和维护会话信息)将报文1发送到IDS/IPS时,对特征进行匹配,并查找匹配的攻击规则,这时会发现报文1与signature1相匹配,在这个过程中要对该报文所属会话上的协议层次进行匹配(一般会话管理模块在会话建立时就能判断该会话的协议层次,比如通过端口识别或者固定模式识别等),如果该会话上的协议层次也为http协议,那么表明该报文命中signature1,然后相应的查找到对应的攻击规则httpunicode。
此时,在该会话的会话记录表查找该攻击规则,如果没有,则添加攻击规则httpunicode的记录,并记录该攻击规则已经命中了signature1,同时设定该特征的状态为request,然后让报文1通过。
当报文2通过会话管理模块送入时,发现与signature2匹配,再次查找到对应的攻击规则httpunicode。然后在该会话的会话记录表中查找该条攻击规则,当发现了攻击规则httpunicode的记录时,而且已匹配了signature1,这就表明该会话流中的报文已经完全匹配了攻击规则httpunicode中所有特征对应的状态,从而认为该会话流符合攻击规则httpunicode。然后根据规则httpunicode的攻击策略,执行动作,将该报文丢弃,并告知会话管理模块删除该会话,不允许后续报文发送。
如图7所示,为本发明网络攻击检测的装置的第一实施例,该装置包括报文接收模块101、特征匹配模块102、报文处理模块103、特征存储模块104、规则存储模块105,会话状态记录模块106和会话状态匹配模块107。其中报文接收模块101接收会话流中的数据报文,特征匹配模块102与报文接收模块101和特征存储模块104相连,将所述数据报文与特征存储模块104中的特征进行逐一比对。在会话状态记录模块106中存储有数据报文所属对话所匹配的攻击规则,会话状态匹配模块107在规则存储模块104中查询引用匹配特征的攻击规则,判断攻击规则是否已被记录在会话状态记录模块106中,是则根据会话状态记录模块中的攻击规则中特征之间的关系,并判断是否满足所有特征对应的会话状态;否则在会话状态记录模块中添加攻击规则,并为当前数据报文匹配的特征设置会话状态。报文处理模块103与会话状态匹配模块107相连,在会话状态匹配模块107中如果满足所有特征对应的会话状态,则对数据报文执行攻击规则中定义的操作;如果不满足所有特征对应的会话状态,则使数据报文通过。
如图8所示,为本发明网络攻击检测的装置的第二实施例,与上一实施例相比,本实施例中特征匹配模块104进一步包括第一匹配单元108和第二匹配单元109,其中第一匹配单元108与报文接收模块101和特征存储模块104相连,可将当前数据报文与特征存储模块中的特征进行逐一比对,比对内容包括所述当前数据报文的净荷部分和协议头信息。第二匹配单元109与第一匹配单元108和特征存储模块104相连,可在当前数据报文符合特征时,进一步对当前数据报文所属会话的协议层次与该特征中的协议层次信息是否匹配进行判断,是则将当前数据报文匹配的特征发送给会话状态匹配模块,否则使所述数据报文通过。
最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1.一种网络攻击检测方法,其特征在于,包括以下步骤步骤10、接收会话流的数据报文,并将当前数据报文与预设的特征库中的特征进行逐一比对;步骤20、当所述当前数据报文匹配所述特征时,在预设的规则库中查询引用该匹配特征的攻击规则,所述攻击规则中包括一个或数个特征、与特征对应的状态和定义的操作;步骤30、判断所述攻击规则是否已被记录在会话状态记录表中,是则执行步骤40,否则执行步骤50;步骤40、根据所述会话状态记录表中的攻击规则中特征之间的关系,判断是否满足所有特征对应的会话状态,是则执行步骤60,并结束操作;否则使所述当前数据报文通过,并结束操作;步骤50、在所述会话状态记录表中添加所述攻击规则,并为当前数据报文匹配的特征设置会话状态,然后使所述当前数据报文通过,并结束操作;步骤60、根据该攻击规则定义的操作对当前数据报文或会话流执行所述攻击规则中定义的操作。
2.根据权利要求
1所述的网络攻击检测方法,其特征在于,在步骤20和步骤30之间,还包括以下步骤当查询到攻击规则后,判断该攻击规则对应的规则体中是否具有所述匹配特征对应的状态条件,是则执行步骤30,否则直接执行步骤60。
3.根据权利要求
1或2所述的网络攻击检测方法,其特征在于,在步骤10中比对操作具体为将所述当前数据报文与预设的特征库中的特征进行逐一比对,比对内容包括所述当前数据报文的净荷部分和/或协议头信息,当所述当前数据报文符合所述特征时,进一步对当前数据报文所属会话的协议层次与该特征中的协议层次信息是否匹配进行判断,是则执行步骤20,否则使所述当前数据报文通过,并结束操作。
4.根据权利要求
1或2所述的网络攻击检测方法,其特征在于,所述步骤50中所述为当前数据报文匹配的特征设置会话状态的操作具体为为当前数据报文匹配的特征设置会话状态,该会话状态为无状态、请求、应答、可选、并列、顺序、结束、持续和释放中状态之一。
5.根据权利要求
3所述的网络攻击检测方法,其特征在于,所述进一步对当前数据报文所属会话的协议层次与该特征中的协议层次信息是否匹配进行判断的操作具体为根据当前数据报文中记录的端口信息或确认标志获得当前数据报文所属会话的协议层次,并判断所述协议层次与该特征中的协议层次信息是否匹配。
6.根据权利要求
1或2所述的网络攻击检测方法,其特征在于,在所述步骤10之前,包括构造XML格式的攻击规则和特征的步骤,具体为将攻击规则和特征以XML格式进行表示,并分别预先存储在规则库和特征库中。
7.根据权利要求
6所述的网络攻击检测方法,其特征在于,用XML格式进行表示的攻击规则包括规则头、规则体和规则策略。
8.根据权利要求
6所述的网络攻击检测方法,其特征在于,在所述步骤10之前,构造XML格式的攻击规则和特征之后,还包括下列步骤将XML格式的攻击规则和特征读入内存。
9.一种网络攻击检测装置,其特征在于,包括报文接收模块,用于接收会话流中的数据报文;特征存储模块,用于存储特征,该特征包括负载部分和协议层次信息;规则存储模块,与所述特征存储模块相连,用于存储攻击规则,该攻击规则包括引用的特征存储模块中存储的一个或数个特征、所述一个或数个特征的状态和处理策略;特征匹配模块,与所述报文接收模块和特征存储模块相连,用于将所述数据报文与特征存储模块中的特征进行逐一比对;会话状态记录模块,用于存储数据报文所属对话所匹配的攻击规则;会话状态匹配模块,与所述特征匹配模块、会话状态记录模块和规则存储模块相连,用于在规则存储模块中查询引用所述匹配特征的攻击规则,判断所述攻击规则是否已被记录在会话状态记录模块中,是则根据所述会话状态记录模块中的攻击规则中特征之间的关系,并判断是否满足所有特征对应的会话状态;否则在所述会话状态记录模块中添加所述攻击规则,并为当前数据报文匹配的特征设置会话状态;报文处理模块,与所述会话状态匹配模块相连,用于在所述会话状态匹配模块中如果满足所有特征对应的会话状态,则对数据报文执行所述攻击规则中定义的操作;如果不满足所有特征对应的会话状态,则使所述数据报文通过。
10.根据权利要求
9所述的网络攻击检测装置,其特征在于,所述特征匹配模块进一步包括第一匹配单元,与所述报文接收模块和特征存储模块相连,用于将当前数据报文与特征存储模块中的特征进行逐一比对,比对内容包括所述当前数据报文的净荷部分和协议头信息;第二匹配单元,与所述第一匹配单元、会话状态匹配模块和特征存储模块相连,用于在当前数据报文符合所述特征时,进一步对当前数据报文所属会话的协议层次与该特征中的协议层次信息是否匹配进行判断,是则将当前数据报文匹配的特征发送给会话状态匹配模块,否则使所述数据报文通过。
专利摘要
本发明涉及一种网络攻击检测方法,包括接收会话流的数据报文,找出与当前数据报文匹配的特征和攻击规则,然后判断攻击规则中所有特征对应的会话状态是否都满足,是则根据该攻击规则定义的操作对当前数据报文或会话流执行所述攻击规则中定义的操作。本发明还涉及一种网络攻击检测装置,包括报文接收模块、特征存储模块、规则存储模块、特征匹配模块、会话状态记录模块、会话状态匹配模块和报文处理模块。本发明提出了基于会话状态的上下文检测,并将特征或攻击规则与协议层次相关联,提高攻击检测规则的准确性,使攻击规则的误报率降低。
文档编号H04L12/56GK1996892SQ200610169606
公开日2007年7月11日 申请日期2006年12月25日
发明者雷公武, 胡华强 申请人:杭州华为三康技术有限公司导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1