专利名称:一种基于用户防攻击的装置以及方法
技术领域:
本发明涉及网络安全技术,尤指一种基于用户防攻击的装置以及方法。
背景技术:
随着通信技术的发展,下一代网络(NGN)技术已经得到了广泛的应用,语音、图像、视频和数据业务通过IP承载已经成为一个大趋势。而语音、图像、视频和数据业务报文传输的前提是信令连接的维持,在目前网络攻击越来越多的情况下,对信令报文的攻击也越来越多,如何保证合法注册用户即使在网络受到攻击时也不掉线,保证合法用户的通信质量成为目前网络服务质量中的重要内容。
图1所示为现有技术中NGN网络代理设备防攻击装置的结构图。NGN网络中的代理设备在网络中的主要功能为代理NGN网络中的核心设备处理用户终端发送来的报文,并代替用户终端接收核心设备返回的报文,对接收到的报文进行地址转换;代理设备还具有隔离病毒、防攻击、保证核心设备的正常运行以及协助用户终端安全注册的功能。代理设备中的防攻击装置包括IP防攻击单元110、处理单元120和配置单元130。在代理设备中又分转发平面和控制平面,转发平面主要负责根据报文的各种表项以及设定的转发流程对报文进行转发处理;控制平面主要负责根据报文的内容,协议,转换关系以及状态等信息对信令报文进行的管理和操作。防攻击装置中的IP防攻击单元110位于转发平面内、处理单元120和配置单元130则位于控制平面内。
IP防攻击单元110,用于接收NGN网络到达代理设备的报文,依照配置单元130下发的阈值、以及到达报文的协议类型和特征,对到达报文进行防攻击处理,丢弃超出阈值的报文。当报文的防攻击处理完毕之后,IP防攻击单元110再根据内部存储的转发信息表,确定需要转发以及上送的报文;将需要上送的报文上送给处理单元120进行处理;将需要转发的报文发送到该报文下一跳的网络设备。其中,信息转发表用于存放报文下一跳信息以及一般转发动作信息内容的表项,根据信息转发表,报文可以准确知道报文下一跳的位置。
处理单元120,接收并处理IP防攻击单元110上送的信令报文。
配置单元130,配置阈值,并在NGN网络代理设备开始运行时,下发到IP防攻击单元110。
从如图1所示的装置中可以看出,现有技术对报文的防攻击处理不区分该报文是属于合法用户或是非法用户,这样,对于已注册和未注册的合法用户所使用的信令报文,也许会由于该信令报文满足一定的特征而被丢弃,进而致使合法用户失去与网络设备之间的联系,使合法用户无法正常使用网络设备提供的服务,严重影响了网络的服务质量。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于用户防攻击的装置,应用该装置能够保证合法用户的安全,实现基于用户的防攻击。
本发明的又一主要目的在于提供一种基于用户防攻击的方法,应用该方法能够区别合法用户和非合法用户,保证合法用户的安全,实现基于用户的防攻击。
为达到上述目的,本发明的技术方案是这样实现的一种基于用户防攻击的装置,该装置包括用户识别单元、入队操作单元、QOS信息管理单元和用户分析单元,用户识别单元,用于接收报文,获得并根据报文的源特征组得到报文的优先级,将携带优先级的报文发送至入队操作单元;根据QOS信息管理单元发送的报文的优先级,更新自身存储的报文的优先级;
入队操作单元,用于接收用户识别单元发送的报文,根据报文中携带的优先级对报文进行流量控制后,将报文发送至用户分析单元;用户分析单元,用于接收入队操作单元发送的报文;获得报文的攻击状态,并将报文的攻击状态发送至QOS信息管理单元;并将接收到的报文发送至处理单元;QOS信息管理单元,用于接收用户分析单元发送的报文攻击状态,根据报文的攻击状态,调整该报文所对应的优先级,并将调整后的优先级发送给用户识别单元。
其中,所述用户分析单元,用于获得报文的源特征组,根据报文的源特征组判断该报文为新用户报文时,为新用户报文进行注册,并将报文的源特征组发送至QOS信息管理单元;所述QOS信息管理单元,根据报文的源特征组为该报文分配优先级,并将报文的优先级发送至用户识别单元。
其中,所述用户分析单元,获得报文的上送速率,根据报文的上送速率获得报文的攻击状态。
另外,该装置进一步包括信令识别单元;所述信令识别单元用于接收到达报文,判断报文是否为信令报文,将信令报文发送至用户识别单元;将非信令报文发送至IP防攻击单元。
其中,所述信令识别单元,获得报文的目的三元组,根据报文的目的三元组判断报文是否为信令报文;并获得该信令报文的信令类型,将携带信令类型的信令报文发送至用户识别单元。
其中,所述信令识别单元,用于获得并根据报文的目的四元组判断当前收到的报文是否为信令报文,当报文为信令报文,则获得该信令报文的信令类型,将携带信令类型的信令报文发送至用户识别单元;接收并记录用户分析单元下发的目的四元组以及协议类型的对应关系。
其中,所述用户分析单元,用于对接收到的信令报文进行地址转换,并在地址转换的过程中确定是否需要下发针对当前信令报文的目的四元组以及协议类型的对应关系,当需要下发时,则将针对当前收到信令报文的目的四元组以及协议类型下发给信令识别单元。
一种基于用户防攻击的方法,设置用户分拣表,包括以下步骤A、获得到达报文的源特征组,根据报文的源特征组查找用户分拣表,获得对应的优先级;B、根据报文的优先级,对报文进行流量控制;C、获得经过流量控制的报文的攻击状态,根据报文的攻击状态,分配该报文的优先级,并将分配后的优先级与该报文的源特征组的对应关系保存到用户分拣表,返回步骤A。
其中,所述源特征组为,源IP地址、源端口、协议类型。
另外,设置端口表,在执行步骤A之前,该方法进一步包括接收到达报文,判断当前到达的报文是否为信令报文,如果是,则根据设置的端口表获得当前到达报文的信令类型,执行步骤A;否则,按照现有技术防攻击处理该报文。
步骤A中所述源特征组为,源IP地址、源端口、协议类型及信令类型。
其中,所述设置端口表为知名端口表,所述判断报文是否为信令报文为,执行以下步骤A1、获得报文的目的三元组,根据报文的目的三元组在知名端口表中查找,判断是否存在相应的表项,如果存在,则当前到达的报文为信令报文,否则,为非信令报文。
其中,所述目的三元组为,目的IP地址、目的端口、协议类型。
其中,进一步设置地址端口表,在判断报文是否为信令报文时,执行步骤A1之前,进一步包括获得报文的目的四元组,在地址端口表中查找,判断是否存在相应的表项,如果存在,则当前到达的报文为信令报文;否则,执行步骤A1。
其中,所述目的四元组为目的IP地址、目的端口、源IP地址、协议类型。
另外,设置地址转换表,在执行步骤C的同时,进一步执行以下步骤D、判断当前收到的信令报文是否为从知名端口表中查找得到,如果是,则执行步骤E;否则,执行步骤F;E、获得信令报文的源地址,判断地址转换表中是否存在相应的表项,如果存在,则执行步骤F;否则,为该信令报文分配转换地址,将源地址和转换地址的对应关系记录在地址转换表内,并将转换地址后的信令报文与该报文的信令类型之间的对应关系记录在地址端口表内,再执行步骤F;F、获得并根据信令报文的转换地址,对信令报文进行地址转换。
其中,记录地址端口范围,步骤D中,所述判断当前收到的信令报文是否为从知名端口表中查找得到,具体为获得信令报文的目的IP地址和目的端口,在地址端口范围内查找是否存在相应的目的IP地址和目的端口,如果存在,则不是从知名端口表中查找得到;否则,则从知名端口表中查找得到。
其中,所述源地址为信令报文自身的源IP地址、源端口、目的IP地址、目的端口;所述转换地址为将代理设备内分配自身的IP地址和端口为源IP地址源端口;将代理设备分配核心设备的IP地址及端口为目的IP地址和目的端口;所述将转换地址后的信令报文与该报文的信令类型之间的对应关系记录在地址端口表内为获得信令报文的协议类型和信令类型,将代理设备分配的自身的IP地址和端口,分配的核心设备的IP地址、获得的协议类型,与信令类型之间的对应关系记录在地址端口表内。
其中,其特征在于,设置攻击阈值,所述获得信令报文的攻击状态为获得从流队列出来信令报文的速率,判断信令报文的速率是否小于攻击阈值,如果是,则该信令报文为非攻击状态;如果不是,则该信令报文为攻击状态。
其中,所述根据信令报文的攻击状态,调整信令报文的优先级为判断信令报文的攻击状态,当信令报文为攻击状态时,则降低该报文对应的优先级等级;当信令报文为非攻击状态时,提升该信令报文对应的优先级等级。
其中,所述提升该信令报文对应的优先级等级为,当该信令报文在一段时间内为非攻击状态时,提升该信令报文对应的优先级的等级。
另外,设置用户注册表,在执行步骤C之前,该方法进一步包括获得经过流量控制报文的源特征组,在用户注册表中查找是否存在相同的源特征组,如果存在,则执行步骤C;否则,在执行步骤C的同时,为该源特征组分配优先级,并将分配后的优先级与该报文的源特征组的对应关系保存到用户分拣表。
本发明所提供的一种基于用户防攻击的装置,通过在网络设备内部设置用户识别单元、以及信令识别单元,用于根据报文所对应的用户对报文进行流量控制,实现基于用户的防攻击,保证了合法用户使用网络服务的质量,提高了合法用户使用网络的效率。
另外,本发明所提供的一种基于用户防攻击的方法,根据报文所对应的用户对报文进行流量控制,实现了基于用户的防攻击处理,保证了合法用户使用网络服务的质量,提高了合法用户使用网络的效率。
图1为现有技术NGN中代理设备的防攻击装置结构图;图2为本发明防攻击装置结构图;图3为本发明防攻击方法的流程图。
具体实施例方式
本发明的核心思想是当报文进入网络设备后,根据报文所对应的用户对报文进行流量控制,实现基于用户的防攻击处理。
以下为本发明一个优选实施例,该优选实施例为在NGN网络中的代理设备上实现本发明防攻击的装置以及方法。
为实现本发明所提出的装置以及方法,需在本实施例的代理设备中设置用户分拣表、用户注册表以及端口表。所述,用户分拣表用于记录已注册用户报文的源特征组以及相应的优先级。用户注册表,用于记录已注册用户的源特征组。其中,在本实施例中设置的端口表包括知名端口表和地址端口表。这里,知名端口表用于根据到达报文的目的三元组判断该报文是否为信令报文;并当该报文为信令报文时,根据报文的目的三元组查找得到该报文的信令类型。知名端口表主要针对用户终端向代理设备发送的信令报文。地址端口表用于根据到达报文的目的四元组判断该报文是否为信令报文;并当该报文为信令报文时,根据报文的目的四元组查找得到该报文的信令类型。地址端口表主要针对从NGN网络中核心设备返回给代理设备的信令报文。NGN网络中的核心设备,如软交换设备。
在本实施例中,所述的目的三元组为报文的目的IP地址、目的端口以及协议类型;所述的目的四元组为报文的目的IP地址、目的端口、源IP地址以及协议类型;在此,也称目的三元组和目的四元组为目的特征组。所述的源特征组为源四元组包括报文的源IP地址、源端口、协议类型以及信令类型,用于唯一确定报文所对应的用户。在不同的应用环境中,目的特征组以及源特征组也可以包括不同的内容。
本实施例中,可以将知名端口表和地址端口表所包含的表项设置在一张端口表中,也可以将知名端口表和地址端口表设置成在独立的两张端口表。在本实施例中,采用将知名端口表和地址端口表的表项记录在一张端口表内,该端口表表项的数据格式如表一所示
表一如表一所示,表一中的标志位确定了该标志位所对应的表项为知名端口表还是地址端口表,这里可以设置标志位为01的表项为知名端口表;标志位为10的表项为地址端口表;还可以用标志位为00表示该表项为无效表项。当标志位为01时,所对应的关键值内容为目的三元组,则相应的信令类型则为代理设备在网络刚开始运行时预先根据报文的目的三元组所确定的信令类型;当标志位为10时,则相应的关键值内容为目的四元组,相应的信令类型根据报文目的四元组所确定的信令类型。
在具体的应用环境中,网络设备可以根据自身所处的网络环境只设置知名端口表,而选择设置类似本实施例中的地址端口表。
另外,用户分拣表表项的数据格式如表二所示
表二用户分拣表表项的数据格式包括关键值内容、标志位和QOS信息,其中,关键值的内容为源四元组,源四元组包括报文的源IP地址、源端口、协议类型以及信令类型,属于源特征组的范围;标志位,用来表示该表项是否为有效,可以设置标志位为0时,该表项无效;标志位为1时,该表项有效;QOS信息,为报文所对应的优先级,用来根据报文的源四元组查找得到该报文的优先级。
由于本实施例中针对的网络设备为NGN网络中的代理设备,因此在设置端口表时,需要针对从用户终端发送来的以及从核心设备返回的信令报文分别设置不同类型的端口表。主要原因为代理设备对于用户终端来说为核心设备,而对核心设备来说为用户终端,代理设备在处理从用户终端发送来的信令报文时,需要针对信令报文进行地址转换,再发送到核心设备;而代理设备在收到核心设备返回的信令报文时,也同样需要代理设备根据返回信令报文的地址进行地址转换后,再发送给用户终端。在这种情况下,会使得从用户终端接收到的、以及从核心设备返回的信令报文虽然拥有不同的目的特征组,但是对应着相同的信令类型,如果不针对从用户终端发送的信令报文以及从核心设备返回的信令报文分别设置不同的端口表,则会使根据端口表查找报文对应的信令类型时发生错误,导致从核心设备返回的信令报文无法根据自身的目的四元组匹配到正确的信令类型。
知名端口表和地址端口表的另外一个不同之处在于,代理设备在设置知名端口表时,主要根据代理设备经常处理的或代理设备能够处理的用户终端发送来信令报文,将信令报文的目的三元以及相应的信令类型预先记录在知名端口表中,在代理设备开始运行后,就不再更新其中的表项。而代理设备在设置的地址端口表,在代理设备刚开始运行时,地址端口表中并没有相关表项的,地址端口表是代理设备在运行的过程中,由用户不断注册、以及用户使用不同类型的信令报文,而不断下发设置的。
为实现本实施例的装置以及方法,还需在代理设备中设置攻击阈值以及地址转换表。其中,攻击阈值用于判断当前接收的报文是否为攻击状态。本实施例判断当前接收到的报文是否为攻击状态主要根据当前到达报文的速率,因此这里设置的攻击阈值主要是针对速率的。如果当前接收的报文的速率大于或等于攻击阈值,则当前接收的报文为攻击状态;如果当前接收到的报文的速率小于攻击阈值,则当前接收到的报文为非攻击状态。攻击阈值的设定,通常可以参考网络正常运行情况下,网络设备接收报文的平均速率,可以设置相对于平均速率较高的速率为攻击阈值。
其中,地址转换表中记录了源地址和转换地址之间的对应关系,源地址记录的是用户终端的信令报文在通过代理设备转换之前的源IP地址、源端口、目的IP地址和目的端口;转换地址记录的是用户终端的信令报文在通过代理设备转换之后的源IP地址、源端口、目的IP地址和目的端口。转换地址中的源IP地址和源端口为代理设备分配的自身的IP地址和端口,目的IP地址和目的端口为代理设备分配的核心设备的IP地址和端口。从用户终端发送来的信令报文通过自身的源IP地址、源端口、目的IP地址和目的端口通过源地址匹配到转换地址,进行地址转换;从核心设备返回的信令报文通过自身的目的IP地址、目的端口、源IP地址和源端口从转换地址匹配到源地址,进行地址转换,但对于从核心设备返回的信令报文来说,是将地址转换表中的转换地址作为源地址、而地址转换表中的源地址作为转换地址。在进行地址转换的过程中,由于代理设备需要对收到的新信令报文分配转换地址中的源IP地址以及源端口,因此在代理设备内部设置一个可选择的IP地址以及端口的范围,在此,称这个IP地址和端口范围为地址端口范围,代理设备在这个范围内为新信令报文选择转换地址中的源IP地址及源端口。这里,所述的新信令报文为在地址转换表中没有相关记录的信令报文。
本实施例的防攻击装置的结构如图2所示,包括IP防攻击单元110、处理单元120、信令识别单元231、用户识别单元232、入队操作单元233、用户分析单元234和QOS信息管理单元235。在本实施例中,用户分析单元234和处理单元120位于代理设备的控制平面;IP防攻击单元110、信令识别单元231、用户识别单元232、入队操作单元233以及QOS信息管理单元235位于转发平面。以下对各单元的功能进行详细说明信令识别单元231,在信令识别单元231中设置端口表,端口表包括知名端口表和地址端口表,信令识别单元231接收到达代理设备的报文,获得到达报文的目的四元组,在地址端口表中进行查找,判断是否存在相应的表项,如果存在,则为信令报文,同时根据到达报文的目的四元组查找地址端口表得到该信令报文所对应的信令类型;如果不存在,则获得该报文的目的三元组,在知名端口表中进行查找,判断在知名端口表是否存在相应的表项,如果存在,则为信令报文,同时根据到达报文的目的三元组查找知名端口表得到该信令报文所对应的信令类型,如果不存在,则将该报文发送至IP防攻击单元110中进行处理。当当前到达的报文为信令报文时,则将信令报文的信令类型写入该信令报文内,发送至用户识别单元232;信令识别单元231接收用户分析单元234下发的地址端口表表项,并将接收到的地址端口表表项记录在信令识别单元231内部的端口表内。
IP防攻击单元110,用于接收信令识别单元231发送来的非信令报文,按照现有技术流程对接收到的报文进行防攻击处理,并根据信息转发表,将需要上送给处理单元120处理的报文发送给处理单元120。
用户识别单元232,在用户识别单元232中设置用户分拣表。用户识别单元232接收信令识别单元231发送来的信令报文,获得信令报文的源四元组,根据信令报文的源四元组查找用户分拣表得到当前到达的信令报文的优先级,并将该信令报文的优先级写入该信令报文内,发送至入队操作单元233;接收QOS信息管理单元233下发的用户分拣表表项,并根据下发的表项更新自身设置的用户分拣表。
入队操作单元233,用于接收用户识别单元232发送来的信令报文,获得信令报文内中携带的优先级,并根据该信令报文所携带的优先级,将该信令报文分配至相应的流队列。在入队操作单元233中,存在多个不同等级的流队列,每个流队列对应一个优先级,不同的优先级对应着不同等级的流队列,而不同等级的流队列具有不同的带宽。等级高的流队列具有高的带宽,等级低的流队列具有相对较低的带宽,每个报文所携带的优先级确定了该报文在进入入队操作单元233后所能得到的带宽,带宽越高则上送到用户分析单元234的速率越大。其中,默认优先级对应一个中等队列,具有一般的带宽。入队操作单元233将从流队列出来的信令报文上送到用户分析单元234。
入队操作单元233中的队列调度可以采用一般延迟保证带宽(Normal-latency sustainable bandwidth,NLS),NLS将上送到用户分析单元234的端口的带宽根据最合理的配置,按照不同比例分配给不同的队列,则不同的优先级对应不同的队列,因此具有不同的上送到用户分析单元234的带宽。本发明还可以使用加权公平队列(weighted fair queuing,WFQ)、低延迟保证带宽队列(Low-latency sustainable bandwidth,LLS)、以及各种队列相配合的方式。
用户分析单元234,在用户分析单元234中设置地址转换表、攻击阈值、用户注册表、记录地址端口范围。用户分析单元234接收从入队操作单元233发送来的信令报文,获得该信令报文的源四元组,根据自身设置的用户注册表判断是否为新用户注册,如果为新用户注册,则将该新用户的源四元组添加至自身的用户注册表,为该新用户进行注册,并向QOS信息管理单元235下发该新注册用户的源四元组;对接收到的信令报文进行地址转换,且在地址转换中的过程中判断是否需要下发新的地址端口表项;用户分析单元234还需获得到达报文的攻击状态,并将信令报文的攻击状态以及该信令报文源四元组下发给QOS信息管理单元235;用户分析单元234在分析完当前接收到的信令报文后,将接收到的信令报文发送处理单元120中行处理。这里,所述的新用户为由报文的源四元组所对应的用户。
用户分析单元234对接收到的信令报文进行地址转换,并在地址转换中的过程中判断是否需要下发新的地址端口表项。具体为首先获得当前接收到的信令报文的目的端口和目的IP,在地址端口范围内进行查找,判断当前获得的目的端口和目的IP是否在该范围内,如果在该范围内,则为在信令识别单元231中的地址端口表查找得到,为从核心设备返回的信令报文,因此,获得该报文的源IP地址、源端口、目的IP地址和目的端口,根据地址转换表转换地址后,发送至处理单元120进行处理;如果不在该范围内,则为在信令识别单元231中的知名端口表中查找得到,为从用户终端发送来的信令报文,获得该信令报文的源地址,根据源地址在地址转换表中进行查找,判断是否存在相应的表项,如果存在,则根据信令报文的源地址在地址转换表查找到得到转换地址进行地址转换,并在转换地址后将信令报文发送至处理单元120进行处理,如果不存在,则获得该信令报文的源IP地址、源端口、目的IP地址和目的端口作为源地址,并为该信令报文分配转换地址,分配转换地址具体为在代理设备内分配IP地址和端口,以及为该信令报文分配核心设备的IP地址及端口,将代理设备的IP地址和端口作为该信令报文的源IP地址及源端口,将核心设备的IP地址和端口作为该信令报文的目的IP地址和目的端口,对信令报文的源、目地址进行转换。用户分析单元234将源地址与转换地址的对应关系记录在地址转换表内;并获得该信令报文的协议类型及携带的信令类型,将分配的代理设备的IP地址和端口、核心设备的IP地址以及协议类型与信令类型之间的对应关系下发给信令识别单元231。
另外,用户分析单元234获得当前到达报文的攻击状态并下发给信令识别单元231可以为,根据上送速率获得信令报文的攻击状态,如果信令报文的速率大于或等于攻击阈值,则该信令报文为攻击状态;如果信令报文的速率小于攻击阈值,则该信令报文为非攻击状态。这里测量信令报文的速率可以是对于每类信令报文设置一个计数器,这个计数器每过一秒钟则重新开始计数,计数的内容为,在这一秒钟内收到的这类信令报文的个数,当用户分析单元234需要获得当前到达的这类信令报文的上送速率,直接读取这类信令报文所对应的计数器。这里,所述的一类信令报文为当两个信令报文具有相同的源四元组时,称这两个信令报文为一类信令报文。
QOS信息管理单元235,在QOS信息管理单元235中备份用户分拣表,QOS信息管理单元235用于接收用户分析单元234下发的新注册用户信令报文的源四元组,为新注册用户分配相应的优先级,并将新注册用户的源四元组以及优先级下发给用户识别单元232;接收用户分析单元234下发的信令报文的源四元组以及该信令报文的攻击状态;当该信令报文为攻击状态时,则查找自身备份的用户分拣表,根据收到用户报文的攻击状态降低该源四元组对应的信令报文的优先级,并将更新后的用户分拣表表项下发给用户识别单元232。
QOS信息管理单元235还可以对某一源四元组进行监视,即是对一类用户报文进行监视,当这类四元组在一段时间,均为非攻击状态时,则升高该源四元组对应的优先级。
处理单元120,用于接收并用户分析单元234发送来的信令报文。
以上为对本实施例中防攻击装置的详细介绍,以下则是针对本实施例中防攻击方法进行详细说明。在本实施例的用户分拣表中设置默认表项,默认表项对应默认优先级,供当前没有注册的用户报文使用。参见图3,如图3所示为本发明优选实施例防攻击方法的流程图,该流程包括以下步骤步骤301~304报文到达代理设备,进入代理设备中的信令识别单元231。信令识别单元231首先获得该报文的目的三元组和目的四元组,并根据到达报文的目的三元组和目的四元组判断该报文是否为信令报文。
对于本实施例的端口表包括知名端口表和地址端口表情况,具体判断当前到达是否为信令报文的过程为先根据报文的目的四元组,在端口表中查找标志位为10的表项,判断是否存在与该目的四元组相同的关键值内容,如果存在,则该到达报文为从NGN网络核心设备发送过来的信令报文,则同时根据该报文的目的四元组获得该信令报文的信令类型,并将信令类型写入该信令报文内;如果不存在,再根据该报文的目的三元组在端口表中查找标志位为01的表项,判断是否存在与该目的三元组相同的关键值内容,如果存在,则该到达报文为从用户终端发送过来的信令报文,则同时根据该报文的目的三元组获得该信令报文的信令类型,并将信令类型写入该信令报文内,如果不存在,则将该当前收到的报文发送至IP防攻击单元110进行处理。
信令识别单元231在判断出信令报文后,则将信令报文发送至用户识别单元232中进行处理。
步骤305用户识别单元232根据当前收到的信令报文以及携带的信令类型,获得由当前收到的信令报文的源IP地址、源端口、协议类型以及信令类型组成的源四元组。根据源四元组查找用户识别单元232中设置的用户分拣表,得到该信令报文的优先级;对于在用户分拣表中没有查找得到相应表项的信令报文,则根据用户分拣表中的默认表项,获得相应的默认优先级。信令报文在得到优先级后,用户识别单元232则将获得的优先级写入该信令报文内,并将该信令报文发送至入队操作单元233进行处理。
步骤306入队操作单元233根据信令报文携带的优先级,将信令报文送至相应的流队列。通过每个流队列带宽的不同对信令报文进行防攻击处理。队列的调度可以采用NLS队列、WFQ队列、以及几种队列混合的形式。
步骤307用户分析单元234接收从入队操作单元233出来的信令报文,获得当前接收到信令报文的源四元组,并查找在用户分析单元234中的用户注册表,判断是否存在相同的源四元组,如果存在,则获得该信令报文的攻击状态,并将信令报文的攻击状态以及该信令报文源四元组下发给QOS信息管理单元235;如果不存在,则将源四元组下发给QOS信息管理单元235,并在用户注册表中,加入信令报文的源四元组,为该信令报文的用户进行注册,再获得该信令报文的攻击状态,并将信令报文的攻击状态以及该信令报文源四元组下发给QOS信息管理单元235。
同时,用户分析单元234还需要对接收到的信令报文进行地址转换,并在地址转换中的过程中判断是否需要下发新的地址端口表项。
用户分析单元234根据信令报文的上送速率判断该信令报文的攻击状态,可以为以下过程获得当前收到信令报文的源四元组,判断该信令报文是否为同类报文中用户分析单元234收到的第一个信令报文,如果是,则针对当前收到的信令报文设置并启动计数器,这个计数器每过一秒钟则重新开始计数,计数的内容为在这一秒钟内收到的这类信令报文的个数;如果不是,则读取该信令报文所对应计数器的计数值。用户分析单元234根据得到的上送速率以及事先设置的攻击阈值,对该类信令报文进行是否为攻击状态的判断。当当前的信令报文的速率大于或等于攻击阈值时,则该信令报文为攻击状态;当该信令报文的速率小于攻击阈值时,则该信令报文为非攻击状态。在确定信令报文的攻击状态之后,将该信令报文的源四元组以及该报文的攻击状态下发给QOS信息管理单元235。
用户分析单元234对接收到的信令报文进行地址转换,并在地址转换中的过程中判断是否需要下发新的地址端口表项,可以为以下过程首先获得当前接收到的信令报文的目的端口和目的IP,在地址端口范围内进行查找,判断是否当前获得目的端口和目的IP是否在该范围内,如果在该范围内,则为在信令识别单元231中的地址端口表查找得到,为从核心设备返回的信令报文,因此,获得该报文的源IP地址、源端口、目的IP地址和目的端口,根据地址转换表,转换地址发送至处理单元120进行处理;如果不在该范围内,则为在信令识别单元231的知名端口表中查找得到,为用户终端发送来的信令报文,获得该信令报文的源地址,根据源地址在地址转换表中进行查找,判断是否存在相应的表项,如果存在,则根据地址转换表进行地址转换,将转换地址后的信令报文发送至处理单元120进行处理,如果不存在,则获得该信令报文的源IP地址、源端口、目的IP地址和目的端口作为源地址,并为该信令报文分配转换地址,分配转换地址具体为在代理设备内分配IP地址和端口,以及为该信令报文分配核心设备的IP地址及端口,将代理设备的IP地址和端口作为该信令报文的源IP地址及源端口,将核心设备的IP地址和端口作为该信令报文的目的IP地址和目的端口对信令报文的源、目地址进行转换。用户分析单元将源地址与转换地址的对应关系记录在地址转换表内;并获得该信令报文的协议类型及携带的信令类型,将分配的代理设备的IP地址和端口,以及协议类型和信令类型下发信令识别单元231。
步骤308QOS信息管理单元235接收到用户分析单元234下发的源四元组、或源四元组和攻击状态的对应关系时,为源四元组、或源四元组和源四元组对应的攻击状态分配相应的优先级。
当QOS信息管理单元235收到的是信令报文的源四元组时,则该源四元组为新注册用户的源四元组,则QOS信息管理单元235为该源四元组分配相应的优先级,并下发给用户识别单元232。此处,为新注册用户分配的优先级可以是一个具有中等级别的优先级。用户识别单元232接收并根据下发的源四元组以及优先级,更新自身内部设置的用户分拣表。
当QOS信息管理单元235收到的是信令报文的源四元组以及对应的攻击状态,则判断当前收到的源四元组的攻击状态,如果源四元组对应为非攻击状态时,则认为该源四元组对应的用户为合法用户,不执行任何操作;如果源四元组对应为攻击状态时,则认为该源四元组对应的用户为非法用户,并根据当前收到的源四元组,在自身备份的用户分拣表中查找得到该源四元组所对应的优先级,降低该源四元组所对应的优先级,并将该源四元组以及降低后的优先级下发给用户识别单元232。用户识别单元232接收并根据下发的源四元组以及更新后的优先级,更新自身内部设置的用户分拣表。这里,当源四元组对应攻击状态时,具体降低源四元组对应的优先级的等级,可以根据网络的具体的情况进行决定。
在本实施例的步骤308中,当QOS信息管理单元235收到的是信令报文的源四元组以及对应的攻击状态,还可以进行如下操作判断当前收到的源四元组对应的攻击状态,如果源四元组对应为非攻击状态时,还可以进一步判断该攻击状态是否为针对该源四元组的第一个非攻击状态,如果是,则针对该源四元组启动计数器,并在计数器上加1;如果不是,则在已经设置的该源四元的计数器上加1,并判断针对该信令报文的计数器是否到达了升级计数值,如果到达了升级计数值,QOS信息管理单元235则提升该源四元组所对应的优先级,并向用户识别单元232下发源四元组以及新的优先级,用户识别单元232根据下发源四元组以及新的优先级更新自身存储的用户分拣表;如果源四元组对应为攻击状态时,除了需要向用户识别单元232下发相应的表项外,还需将计数器归零。其中,升级计数值可以根据用户对网络安全的要求进行确定。
本实施例中,也可以将信令识别单元231、用户识别单元232、入队操作单元233、用户分析单元234和QOS信息管理单元235都放置在控制平面中,而只将IP防攻击单元110放置在转发平面,在这种情况下,每个功能单元的功能和连接关系,以及实现防攻击的方法均本实施中的介绍完全相同,在此不再详述。
本实施例中防攻击装置的结构图以及实现流程同样可以应用到NGN网络中的核心设备中,如软交换设备。由于软交换设备处理的报文均为信令报文,因此在软交换设备中的信令识别单元中只需设置知名端口表,信令识别单元接收从软交换设备中的IP收包单元发送来的信令报文,根据知名端口表查找得到相应的信令类型;不需要判断该报文是否为信令报文。软交换设备中的用户分析单元与本实施例中用户分析单元234的功能区别在于,核心设备中的用户分析单元不需要判断是否要针对当前到达的信令报文下发地址端口表表项的判断,也就不需要进行源、目的IP地址的转换,其他均与与本实施例中的相同,在此不再详述。
在本发明实施例的介绍中,信令报文携带信令类型以及优先级的方法,也可以不采用在信令报文中写入的方法,而采用增加一个寄存单元的方法,将查找得到的信令类型以及优先级寄存在寄存,而在需要使用的时候,直接取出即可。
在本实施例的装置中,还可以不使用信令识别单元,在此情况下,这种实现方案与本实施例的不同之处在于,将到达代理设备的报文直接送入用户识别单元中进行处理,用户直接根据报文的源IP地址、源端口、以及协议类型所组成的源特征组,在用户分拣表中查找得到相应的表项;用户分析单元也不需要下发地址端口表表项;其它的处理过程与本实施例中相同,在此不再详述。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种基于用户防攻击的装置,其特征在于,该装置包括用户识别单元、入队操作单元、QOS信息管理单元和用户分析单元,用户识别单元,用于接收报文,获得并根据报文的源特征组得到报文的优先级,将携带优先级的报文发送至入队操作单元;根据QOS信息管理单元发送的报文的优先级,更新自身存储的报文的优先级;入队操作单元,用于接收用户识别单元发送的报文,根据报文中携带的优先级对报文进行流量控制后,将报文发送至用户分析单元;用户分析单元,用于接收入队操作单元发送的报文;获得报文的攻击状态,并将报文的攻击状态发送至QOS信息管理单元;并将接收到的报文发送至处理单元;QOS信息管理单元,用于接收用户分析单元发送的报文攻击状态,根据报文的攻击状态,调整该报文所对应的优先级,并将调整后的优先级发送给用户识别单元。
2.根据权利要求1所述的装置,其特征在于,所述用户分析单元,用于获得报文的源特征组,根据报文的源特征组判断该报文为新用户报文时,为新用户报文进行注册,并将报文的源特征组发送至QOS信息管理单元;所述QOS信息管理单元,根据报文的源特征组为该报文分配优先级,并将报文的优先级发送至用户识别单元。
3.根据权利要求1所述的装置,其特征在于,所述用户分析单元,获得报文的上送速率,根据报文的上送速率获得报文的攻击状态。
4.根据权利要求1所述的装置,其特征在于,该装置进一步包括信令识别单元;所述信令识别单元用于接收到达报文,判断报文是否为信令报文,将信令报文发送至用户识别单元;将非信令报文发送至IP防攻击单元。
5.根据权利要求4所述的装置,其特征在于,所述信令识别单元,获得报文的目的三元组,根据报文的目的三元组判断报文是否为信令报文;并获得该信令报文的信令类型,将携带信令类型的信令报文发送至用户识别单元。
6.根据权利要求5所述的装置,其特征在于,所述信令识别单元,用于获得并根据报文的目的四元组判断当前收到的报文是否为信令报文,当报文为信令报文,则获得该信令报文的信令类型,将携带信令类型的信令报文发送至用户识别单元;接收并记录用户分析单元下发的目的四元组以及协议类型的对应关系。
7.根据权利要求6所述的装置,其特征在于,所述用户分析单元,用于对接收到的信令报文进行地址转换,并在地址转换的过程中确定是否需要下发针对当前信令报文的目的四元组以及协议类型的对应关系,当需要下发时,则将针对当前收到信令报文的目的四元组以及协议类型下发给信令识别单元。
8.一种基于用户防攻击的方法,其特征在于,设置用户分拣表,包括以下步骤A、获得到达报文的源特征组,根据报文的源特征组查找用户分拣表,获得对应的优先级;B、根据报文的优先级,对报文进行流量控制;C、获得经过流量控制的报文的攻击状态,根据报文的攻击状态,分配该报文的优先级,并将分配后的优先级与该报文的源特征组的对应关系保存到用户分拣表,返回步骤A。
9.根据权利要求8所述的方法,其特征在于,所述源特征组为,源IP地址、源端口、协议类型。
10.根据权利要求8所述的方法,其特征在于,设置端口表,在执行步骤A之前,该方法进一步包括接收到达报文,判断当前到达的报文是否为信令报文,如果是,则根据设置的端口表获得当前到达报文的信令类型,执行步骤A;否则,按照现有技术防攻击处理该报文。步骤A中所述源特征组为,源IP地址、源端口、协议类型及信令类型。
11.根据权利要求10所述的方法,其特征在于,所述设置端口表为知名端口表,所述判断报文是否为信令报文为,执行以下步骤A1、获得报文的目的三元组,根据报文的目的三元组在知名端口表中查找,判断是否存在相应的表项,如果存在,则当前到达的报文为信令报文,否则,为非信令报文。
12.根据权利要求11所述的方法,其特征在于,所述目的三元组为,目的IP地址、目的端口、协议类型。
13.根据权利要求12所述的方法,其特征在于,进一步设置地址端口表,在判断报文是否为信令报文时,执行步骤A1之前,进一步包括获得报文的目的四元组,在地址端口表中查找,判断是否存在相应的表项,如果存在,则当前到达的报文为信令报文;否则,执行步骤A1。
14.根据权利要求13所述的方法,其特征在于,所述目的四元组为目的IP地址、目的端口、源IP地址、协议类型。
15.根据权利要求13所述的方法,其特征在于,设置地址转换表,在执行步骤C的同时,进一步执行以下步骤D、判断当前收到的信令报文是否为从知名端口表中查找得到,如果是,则执行步骤E;否则,执行步骤F;E、获得信令报文的源地址,判断地址转换表中是否存在相应的表项,如果存在,则执行步骤F;否则,为该信令报文分配转换地址,将源地址和转换地址的对应关系记录在地址转换表内,并将转换地址后的信令报文与该报文的信令类型之间的对应关系记录在地址端口表内,再执行步骤F;F、获得并根据信令报文的转换地址,对信令报文进行地址转换。
16.根据权力要求15所述的方法,其特征在于,记录地址端口范围,步骤D中,所述判断当前收到的信令报文是否为从知名端口表中查找得到,具体为获得信令报文的目的IP地址和目的端口,在地址端口范围内查找是否存在相应的目的IP地址和目的端口,如果存在,则不是从知名端口表中查找得到;否则,则从知名端口表中查找得到。
17.根据权力要求15所述的方法,其特征在于,所述源地址为信令报文自身的源IP地址、源端口、目的IP地址、目的端口;所述转换地址为将代理设备内分配自身的IP地址和端口为源IP地址源端口;将代理设备分配核心设备的IP地址及端口为目的IP地址和目的端口;所述将转换地址后的信令报文与该报文的信令类型之间的对应关系记录在地址端口表内为获得信令报文的协议类型和信令类型,将代理设备分配的自身的IP地址和端口,分配的核心设备的IP地址、获得的协议类型,与信令类型之间的对应关系记录在地址端口表内。
18.根据权利要求8至17中任一权利要求所述的方法,其特征在于,设置攻击阈值,所述获得信令报文的攻击状态为获得从流队列出来信令报文的速率,判断信令报文的速率是否小于攻击阈值,如果是,则该信令报文为非攻击状态;如果不是,则该信令报文为攻击状态。
19.根据权利要求18所述的方法,其特征在于,所述根据信令报文的攻击状态,调整信令报文的优先级为判断信令报文的攻击状态,当信令报文为攻击状态时,则降低该报文对应的优先级等级;当信令报文为非攻击状态时,提升该信令报文对应的优先级等级。
20.根据权利要求19所述的方法,其特征在于,所述提升该信令报文对应的优先级等级为,当该信令报文在一段时间内为非攻击状态时,提升该信令报文对应的优先级的等级。
21.根据权利要求8所述的方法,其特征在于,设置用户注册表,在执行步骤C之前,该方法进一步包括获得经过流量控制报文的源特征组,在用户注册表中查找是否存在相同的源特征组,如果存在,则执行步骤C;否则,在执行步骤C的同时,为该源特征组分配优先级,并将分配后的优先级与该报文的源特征组的对应关系保存到用户分拣表。
全文摘要
本发明公开了一种基于用户防攻击的方法,设置用户分拣表,包括以下步骤A.获得到达报文的源特征组,根据报文的源特征组查找用户分拣表,获得对应的优先级;B.根据报文的优先级,对报文进行流量控制;C.获得经过流量控制的报文的攻击状态,根据报文的攻击状态,分配该报文的优先级,并将分配后的优先级与该报文的源特征组的对应关系保存到用户分拣表,返回步骤A。本发明同时公开了一种基于用户防攻击的装置。本发明的装置以及方法,根据报文所对应的用户对报文进行流量控制,实现了基于用户的防攻击处理,保证了合法用户使用网络服务的质量,提高了合法用户使用网络的效率。
文档编号H04L12/56GK1933420SQ200510126098
公开日2007年3月21日 申请日期2005年11月24日 优先权日2005年11月24日
发明者魏建雄, 孙长庆, 石晓峰 申请人:华为技术有限公司