交换机芯片中基于自定义字段分布式攻击检测方法及装置与流程

文档序号:12134714阅读:190来源:国知局
交换机芯片中基于自定义字段分布式攻击检测方法及装置与流程
本发明涉及网络安全领域,具体地,涉及一种分布式攻击检测方法及装置。
背景技术
:分布式拒绝服务(DDoS,DistributedDenialofService)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而大量占用目标服务器的网络资源,使其无法正常服务,达到攻击的目的。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行,使得目标服务器收到超过其服务承载能力的请求,进而导致崩溃或无法为正常请求提供服务。为屏蔽这类分布式攻击报文,交换机芯片一般会针对这类攻击报文的属性特征,如IP地址、报文类型(ICMP、TCP等)、分片(fragment)特征等,分别进行检测,然后根据统计特征来判断该类报文是否属于攻击报文,进而进行屏蔽。然而,现有针对分布式攻击的检测方法,一般是针对有限固定特征(如IP地址、报文类型、报文特殊属性等)进行检测和分析,不但针对的种类有限,而且一旦芯片逻辑确定后就不能更改,因而难以应对快速更新的攻击手段。技术实现要素:本发明的目的是提供一种分布式攻击检测方法及装置,以解决上述现有技术中的问题。为了实现上述目的,本发明提供一种分布式攻击检测方法,其中,该方法包括:从报文的报文头中选择部分或全部字节中的报文属性特征作为攻击检测对象;对所选择的部分或全部字节中的报文属性特征执行匹配操作;以及根据匹配操作结果判断所述报文是否为攻击报文。优选地,对所选择的部分或全部字节中的报文属性特征执行匹配操作包括:判断每个报文属性特征是否满足对应的预定条件并分别输出针对每个报文属性特征的判断结果;判断针对每个报文属性特征的判断结果之间的关系是否满足任意一个预设匹配条件;在针对每个报文属性特征的判断结果之间的关系满足任意一个预设匹配条件的情况下,确定所述匹配操作结果为匹配。优选地,根据匹配操作结果判断所述报文是否为攻击报文包括:在所述匹配操作结果为匹配的情况下,判断所述报文为攻击报文。优选地,根据匹配操作结果判断所述报文是否为攻击报文包括:在预定周期内对所述匹配操作结果为匹配的情况进行计数;将计数值与阈值进行比较;以及在所述计数值大于或等于所述阈值的情况下,判断所述报文为攻击报文。优选地,所述报文属性特征包括以下中的至少一者源/目的IP地址、报文类型、报文分片信息、源/目的端口号和报文长度。本发明还提供一种分布式攻击检测装置,其中,该装置包括:自定义模块,用于从报文的报文头中选择部分或全部字节中的报文属性特征作为攻击检测对象;匹配模块,用于对所选择的部分或全部字节中的报文属性特征执行匹配操作;以及判断模块,用于根据匹配操作结果判断所述报文是否为攻击报文。优选地,所述匹配模块对所选择的部分或全部字节中的报文属性特征执行匹配操作包括:判断每个报文属性特征是否满足对应的预定条件并分别输出针对每个报文属性特征的判断结果;判断针对每个报文属性特征的判断结果之间的关系是否满足任意一个预设匹配条件;在针对每个报文属性特征的判断结果之间的关系满足任意一个预设匹配条件的情况下,确定所述匹配操作结果为匹配。优选地,所述判断模块根据匹配操作结果判断所述报文是否为攻击报文包括:在所述匹配操作结果为匹配的情况下,所述判断模块判断所述报文为攻击报文。优选地,所述判断模块根据匹配操作结果判断所述报文是否为攻击报文包括:在预定周期内对所述匹配操作结果为匹配的情况进行计数;将计数值与阈值进行比较;以及在所述计数值大于或等于所述阈值的情况下,判断所述报文为攻击报文。优选地,所述报文属性特征包括以下中的至少一者:源/目的IP地址、报文类型、报文分片信息、源/目的端口号和报文长度。通过将上述技术方案例如应用于交换机芯片中,可以从报文的报文头中选择部分或全部字节中的报文属性特征作为攻击检测对象,然后可以对所选择的部分或全部字节中的报文属性特征执行匹配操作,进而可以根据匹配操作结果判断所述报文是否为攻击报文。由于报文的报文头中包括判断报文是否为攻击报文的各种属性特征信息,所以通过本发明上述的技术方案可以从报文的报文头中自定义选择报文属性特征作为攻击检测对象(也就是,可以例如根据可能的攻击报文类型自定义攻击检测对象,而不再局限于固定属性特征作为攻击检测对象检测有限类型的攻击报文,例如可以从报文头中选择一个、多个或全部报文属性特征作为攻击检测对象),从而实现交换机芯片对多种攻击报文的快速检测。本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:图1是根据本发明一种实施方式的分布式攻击检测方法的流程图;图2是根据本发明一种实施方式的分布式攻击检测装置的方框图;图3是根据本发明一种实施方式的分布式攻击检测装置中的可编程匹配逻辑的结构示意图;以及图4根据本发明一种实施方式的分布式攻击检测装置的示意图;具体实施方式以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。图1是根据本发明一种实施方式的分布式攻击检测方法的流程图。如图1所示,本发明一种实施方式提供的分布式攻击检测方法包括:S100,从报文的报文头中选择部分或全部字节中的报文属性特征作为攻击检测对象;S102,对所选择的部分或全部字节中的报文属性特征执行匹配操作;以及S104,根据匹配操作结果判断所述报文是否为攻击报文。通过将上述技术方案例如应用于交换机芯片中,可以从报文的报文头中选择部分或全部字节中的报文属性特征作为攻击检测对象,然后可以对所选择的部分或全部字节中的报文属性特征执行匹配操作,进而可以根据匹配操作结果判断所述报文是否为攻击报文。由于报文的报文头中包括判断报文是否为攻击报文的各种属性特征信息,所以通过本发明上述的技术方案可以从报文的报文头中自定义选择报文属性特征作为攻击检测对象(也就是,可以例如根据可能的攻击报文类型自定义攻击检测对象,而不再局限于固定属性特征作为攻击检测对象检测有限类型的攻击报文),从而实现交换机芯片对多种攻击报文的快速检测。根据本发明一种实施方式,根据现有主流网络协议,网络报文的头长度通常不超过128字节。因此,在本发明中,以128字节的报文头为例进行说明,但本发明不限于此。由于本发明只涉及对报文头的处理,所以为了不混淆本发明,省略了关于报文所携带的数据体中的内容的描述。其中,对于步骤S100中的从报文的报文头中选择部分或全部字节中的报文属性特征,例如可以指的是从报文头中选择一个、多个或全部报文属性特征作为攻击检测对象,具体选择的内容和数量可以根据实际情况自定义设定。在本发明中,举例来讲,报文头是指在以太网7层协议中,从L2、L3、L4层报文的头部字段中提取的部分信息组成的集合,这些信息包括L2层的源/目的MAC地址、VLANID,L3层的源/目的IP地址、IP报文长度、报文分片信息,L4层的源/目的端口号等等。对于L2层报文格式,目的和源MAC地址位于报文的前导码(Preamble)字段后,占12个字节。L2层报文的Payload字段包含L3层以上的报文内容,各层报文又有自己的头部字段格式。根据本发明一种实施方式,步骤S102可以包括:S1020,判断每个报文属性特征是否满足对应的预定条件并分别输出针对每个报文属性特征的判断结果;S1022,判断针对每个报文属性特征的判断结果之间的关系是否满足任意一个预设匹配条件;S1024,在针对每个报文属性特征的判断结果之间的关系满足任意一个预设匹配条件的情况下,确定所述匹配操作结果为匹配。由此,可以通过对每个报文属性特征的判断以及对判断结果之间的关系的判断来执行匹配操作,进而确定匹配操作结果。其中,本领域技术人员可以根据实际情况对所述预定条件和所述预设匹配条件进行设定,本发明不对此进行限定。例如,预定条件可以为以下中的至少一者:数值大于一预定值、数值大于或等于一预定值、数值等于一预定值、数值小于一预定值、数值小于或等于一预定值和数值处于一预定范围内等等。上述的预定值可以根据实际情况进行设定。预设匹配条件例如可以为针对每个报文属性特征的判断结果均为满足对应的预定条件或任意一个针对每个报文属性特征的判断结果为满足对应的预定条件等等。如果仅选择了一个报文属性特征作为攻击检测对象进行匹配操作,则在步骤S102中,省略步骤S1022的内容,步骤S1024直接根据S1020的判断结果确定匹配操作结果。例如,如果所选择的报文属性特征满足对应的预定条件,则确定匹配操作结果为匹配,否则为不匹配。根据本发明一种实施方式,步骤S104可以包括:在所述匹配操作结果为匹配的情况下,判断所述报文为攻击报文。由此,可以实现攻击报文的快速检测,进而防止攻击报文对目标网络的攻击。可替换地,根据本发明一种实施方式,步骤S104可以包括:在预定周期内对所述匹配操作结果为匹配的情况进行计数;将计数值与阈值进行比较;以及在所述计数值大于或等于所述阈值的情况下,判断所述报文为攻击报文。由此,可以利用计数器对匹配操作结果进行阈值判断,进而提高攻击报文的检测的适用性。其中,本领域技术人员可以根据实际情况对所述预定周期和所述阈值进行设定,本发明不对此进行限定。根据本发明一种实施方式,所述报文属性特征可以包括以下中的至少一者:源/目的IP地址、报文类型、报文分片信息、源/目的端口号和报文长度和报文长度。本领域技术人员应当理解,上述关于报文属性特征的描述仅仅是示例性的,并非用于限定本发明。换言之,本发明所述的报文属性特征不限于上述列举的内容。图2是根据本发明一种实施方式的分布式攻击检测装置的方框图。如图2所示,本发明一种实施方式提供的分布式攻击检测装置包括:自定义模块20,用于从报文的报文头中选择部分或全部字节中的报文属性特征作为攻击检测对象;匹配模块22,用于对所选择的部分或全部字节中的报文属性特征执行匹配操作;以及判断模块24,用于根据匹配操作结果判断所述报文是否为攻击报文。由于报文的报文头中包括判断报文是否为攻击报文的各种属性特征信息,所以通过在交换机芯片中设置本发明上述的检测装置可以从报文的报文头中自定义选择报文属性特征作为攻击检测对象(也就是,可以例如根据可能的攻击报文类型自定义攻击检测对象,而不再局限于固定属性特征作为攻击检测对象检测有限类型的攻击报文),从而实现交换机芯片对多种攻击报文的快速检测。其中,在自定义模块20中,可以包括多个自定义字段,自定义字段用来选择需要参与攻击条件检测的报文头字节。自定义字段的数量以及每个自定义字段包含的报文头字节数目可以根据实际情况进行设定。根据本发明一种实施方式,所述匹配模块22对所选择的部分或全部字节中的报文属性特征执行匹配操作包括:判断每个报文属性特征是否满足对应的预定条件并分别输出针对每个报文属性特征的判断结果;判断针对每个报文属性特征的判断结果之间的关系是否满足任意一个预设匹配条件;在针对每个报文属性特征的判断结果之间的关系满足任意一个预设匹配条件的情况下,确定所述匹配操作结果为匹配。由此,可以通过对每个报文属性特征的判断以及对判断结果之间的关系的判断来执行匹配操作,进而确定匹配操作结果。根据本发明一种实施方式,所述判断模块24根据匹配操作结果判断所述报文是否为攻击报文包括:在所述匹配操作结果为匹配的情况下,所述判断模块24判断所述报文为攻击报文。由此,可以实现攻击报文的快速检测,进而防止攻击报文对目标网络的攻击。根据本发明一种实施方式,所述判断模块24根据匹配操作结果判断所述报文是否为攻击报文包括:在预定周期内对所述匹配操作结果为匹配的情况进行计数;将计数值与阈值进行比较;以及在所述计数值大于或等于所述阈值的情况下,判断所述报文为攻击报文。其中,判断模块24可以通过可编程计数器实现。由此,可以利用计数器对匹配操作结果进行阈值判断,进而提高攻击报文的检测的适用性。根据本发明一种实施方式,所述报文属性特征包括以下中的至少一者:源/目的IP地址、报文类型、报文分片信息、源/目的端口号和报文长度和报文长度。本发明实施例上述的装置与上述的方法相对应,对于装置的详细描述请参见方法中对应部分,在此不再赘述。下面结合实例对本发明上述的分布式攻击检测方法及装置进行说明。在本示例中,匹配操作过程中涉及的可编程匹配逻辑(例如,预定条件和预设匹配条件)与自定义字段一一对应,用来判断自定义字段选择的报文属性特征是否满足预定条件和预设匹配条件,可编程匹配逻辑的结构如图3所示(图3示出了本发明一种实施方式的分布式攻击检测装置中的可编程匹配逻辑的结构示意图)。其中,图3中所示的可编程匹配逻辑300对应于图2中所示的匹配模块22。在图3中,自定义字段30可以包括N个字段。针对每个字段,都可以有对应的比较值和两个比较逻辑,产生的两位比较结果(通过两个比较器产生,0号比较器320和1号比较器322)随后送入一个二输入查找表34,然后产生1位的比较结果,作为对此单个字段(所选择的报文属性特征)的判断结果。之后,单个字段的判断结果将经过一组交叉选择网络36,送入(K+1)个具有m个输入的查找表38,产生对某种类型攻击报文的匹配操作结果。在本发明中,K决定着系统能够处理的攻击报文类型的数量,K越大,系统能够屏蔽的攻击类型越多。m则决定着对每种攻击类型所支持的判断逻辑的复杂程度,m越大,所支持的判断逻辑就可以越精细。比较逻辑可以屏蔽部分不关心的位,使用两组比较逻辑和二输入查找表可以实现对自定义字段选择的报文属性特征的绝大部分比较需求,包括大于/大于或等于、小于/小于或等于和位于某个区间等。虽然图3中示出的是使用两组比较逻辑和二输入查找表,但本领域技术人员应当理解,其仅仅是示例性的,并非用于限定本发明。为了更清晰地描述上述匹配逻辑的工作过程,在本示例中,可以假定判断报文为DDOS攻击报文的条件之一为“该报文是TCP报文且所在IP报文长度来自[5,15]号源端口”。并且,假设报文头中报文类型字段为5位(假设报文为TCP报文的编号为10),源端口号为8位,自定义字段中每个字段宽度为8位,共64个字段。设定字段0(例如可以记为Field0Sel[7:0])从报文头中选择的位为:3位不相关数据+5位报文类型;字段1从报文头中选择的为源端口号。由此,在可编程匹配逻辑中,字段0的比较值有两个,分别记为Field0Cmp0[7:0]和Field0Cmp1[7:0],因此字段只需用到1个比较器;相应地配置Field0Cmp0为10(TCP报文编号),相应地字段使能也有两个,分别记为Field0En0[7:0]和Field0En1[7:0],同样也只用到Field0En0,配置为0x1f(高3位为0,表示不关心其具体值)。两个比较器只用1个(例如,0号比较器320),逻辑设定为等于(即对应的预定条件设定为等于10),即0号比较器的逻辑为((Field0En0&Field0Sel)=(Field0En0&Field0Cmp0)),其中的“&”表示多位数值的按位与,逻辑比较结果为真则输出1,否则输出0。对应的二输入查找表34应该是直接输出0号比较器320的结果,因此二输入查找表34的表项0-3(分别对应着[1号比较器322结果,0号比较器320结果]的值为b00、b01、b10、b11)的内容应该依次填为0、1、0、1。对于字段1,其比较值Field1Cmp0和Field1Cmp1应分别被设定为5和15(分别对应源端口号的下限和上限),Field1En0和Field1En1均为0xff(8位全使能),0号比较器320的逻辑为大于或等于(即对应的预定条件设定为大于或等于5),1号比较器322的逻辑为小于或等于(即对应的预定条件设定为小于或等于15),二输入查找表34的逻辑可以设定为0号比较器320与1号322结果的与,因此二输入查找表34的表项0-3(分别对应着[1号比较器322结果,0号比较器320结果]的值为b00、b01、b10、b11)的值应依次填为0、0、0、1。针对字段0和1产生的判断结果,随后将被选择并送入第一个m输入查找表。在本发明示例中,可以假定m=3,3位输入从低到高依次为字段0-2的二输入查找表34的输出的判断结果。因判断逻辑只用到了低2位,高1位不影响结果,且低两位的逻辑应该是“与”逻辑(报文是TCP报文且源端口号在[5,15]范围内),故m输入查找表38的表项内容应按如下表1填写:表13个输入111110101100011010001000表项值10001000之后,第一个m输入查找表38的1位结果即作为前述“报文是TCP报文且所在IP报文长度来自[5,15]号源端口”这个攻击报文判别特征的匹配操作结果(即匹配操作结果为匹配),随后被送入到可编程计数器40如图4所示,图4示出了本发明一种实施方式的分布式攻击检测装置的示意图。图3中第一个m输入查找表38输出的1位的匹配操作结果送入对应的可编程计数器40,可以在预定周期内确定符合攻击报文特征条件的报文数量。其中,预定周期占用的硬件时钟周期个数、计数个数阈值可根据实际情况通过软件编程确定,达到计数阈值的计数器结果为1,否则为0。需要注意的是,虽然图4中示出了通过可编程计数器40进行阈值判断,但有些攻击报文特征不需要进行阈值控制,那么可编程计数器40可以置为旁路(Bypass)模式,即直接输出1位的匹配操作结果的值。全部可编程计数器40的结果输入到一个最终的“或”逻辑42中,即“或”逻辑42的任意一个输入为1,都表示当前报文属于攻击报文,标记为1。本领域技术人员应当理解,上述的N、K和m可以根据实际情况进行设定,且上述示例仅仅是示例性的,并非用于限定本发明。例如,N可以等于4,每个自定义字段可以包含16个字节,每个字节可以选取报文头128字节中的任意1个。以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1