一种检测报文攻击的方法及装置的制作方法

文档序号:7651669阅读:96来源:国知局
专利名称:一种检测报文攻击的方法及装置的制作方法
技术领域
本发明涉及固定通信网络,尤其涉及一种检测报文攻击的方法及装置。
背景技术
会话初始协议流(SIP Flood)攻击是指攻击者通过发送比正常IP多媒体系统(IMS)业务情况下的会话初始协议的(SIP)信令速率高出几十倍到成千上万倍的SIP信令速率攻击IMS网络设备,使得被攻击设备大量消耗处理能力和占用网络带宽,造成被攻击设备无法对其他用户正常提供服务,严重的情况下会导致IMS网络的瘫痪。
由于,目前在IMS网络中现有的SIP固定终端大多数仅仅支持HTTP摘要(HTTP Digest),而不支持IMS认证和安全协议(IMS AKA)认证或不支持IP协议安全扩展(IPSEC),因此,无法采用3GPP TS 33.20中建议的IPSEC方式保护固定终端和代理呼叫会话控制功能实体(P-CSCF)之间的SIP信令通道。网络运营商通常采用数字用户线路(XDSL)或专线方式接入个人用户或者企业用户,在多服务接入点(MSAN)、宽带远程接入服务器(BRAS)或路由器上提供源IP地址仿冒过滤,来保障SIP信令通道安全。
如图1所示,采用源IP地址标记每个IMS用户的SIP信令流来发现SIPFlood攻击,即在P-CSCF或者在P-CSCF和固定SIP终端之间的某个设备,通过统计基于源IP地址的SIP信令速率(即单位时间内的流量),当统计出的SIP信令速率超过预先设定的阈值,则判断从该源IP地址发出的SIP信令流为SIP Flood攻击。
相应的识别SIP Flood攻击的具体处理步骤包括接收报文,进行1-4层解析,然后检查是否是用户数据协议(UDP),且目的端口(PORT)是否是5060,如否则抛弃该报文,继续接收报文,如是则按照源IP地址进行分类统计速率,并检查从该源IP地址收到的SIP报文速率是否超过预先设定的阈值,如是则将该源IP地址收到的SIP信令流标记为SIPFlood攻击,然后继续接收报文,如否则转正常处理流程。
但是,采用此方案存在以下缺点若网络中在终端和P-CSCF之间设置有网络地址信息转换设备(NAT/PAT),且NAT/PAT设备后有多个固定SIP终端时,则无法区分转换后的单个SIP信令流,仍如图1所示,固定SIP终端A、B、C在经过PAT转换后具有相同的源IP地址IPf,因此,容易将正常的SIP信令流误判为SIP Flood攻击。
为了克服上述方案存在的缺陷,目前采用的另一种技术方案如图2所示,即采用源IP地址加源PORT标记每个IMS用户的SIP信令流,即在P-CSCF或者在P-CSCF和固定SIP终端之间的某个设备,通过统计基于源IP地址加源端口(PORT)的SIP信令速率,当统计出的SIP信令速率超过预先设定的阈值,则判断从该源IP地址发出的SIP信令流为SIP Flood攻击速率。
相应的识别SIP Flood攻击的具体处理步骤包括接收报文,进行1-4层解析,然后检查是否是用户数据协议(UDP),且目的端口(PORT)是否是5060,如否则抛弃该报文,继续接受报文,如是则按照源IP地址加源PORT进行分类统计速率,并检查从该源IP地址收到的SIP报文速率是否超过预先设定的阈值,如是则将该源IP地址收到的SIP信令流标记为SIP Flood攻击,然后继续接收报文,如否则转正常处理流程。
由于在该方案中采用基于源IP地址加源PORT进行分类统计SIP报文速率,即使固定SIP终端A、B、C在经过PAT转换后具有相同的源IP地址IPf,但是由于端口不同,也不会将正常的SIP信令流误判为SIP Flood攻击。
然而,在该技术实现方案中,正是由于采用基于源IP地址加源PORT进行分类统计SIP报文速率,当攻击者采用真实的源IP地址加不同的源PORT方式伪造NAT/PAT转换后的SIP信令报文时,便可以保证每个单独的源IP地址加源PORT的SIP信令速率都在正常的速率范围;但是,实际上,基于该源IP地址总的SIP信令速率已经构成SIP Flood攻击。也就是说,在该方案中,易将伪造的进行SIP Flood攻击的SIP信令流误判为正常的SIP信令流,从而无法有效过滤SIP Flood攻击。

发明内容
本发明实施例提供了一种检测报文攻击的方法及装置,从而可以根据实际的网络环境准确识别SIP Flood攻击。
本发明实施例提供了一种检测报文攻击的方法,包括判断收到的报文是否经过网络地址转换处理,若是,则基于源IP地址加源端口进行报文速率的统计,否则,基于源IP地址进行报文速率的统计;若统计结果超过预定的阈值,则确定基于该源IP地址或该源IP地址加源端口的报文为攻击报文。
本发明实施例提供了一种检测报文攻击的装置,包括第一网络地址转换判断单元用于对网络传输层收到的报文判断是否经过网络地址转换处理,若是,则将所接收的报文发送到第二报文速率统计单元处理;否则,将所接收的报文发送到第一报文速率统计单元处理;第一报文速率统计单元基于源IP地址对所接收的报文进行速率统计,并将统计结果发送到第一流报文攻击判断单元;第二报文速率统计单元基于源IP地址加源端口对所接收的报文进行速率统计,并将统计结果发送到第一流报文攻击判断单元;第一报文攻击判断单元将第一报文速率统计单元和第二报文速率统计单元统计出的报文速率与预先设定的阈值进行比较,如超出阈值则判断基于该源IP地址或源IP地址加源端口对应的报文为攻击报文。
由上述本发明实施例提供的技术方案可以看出,通过解析收到的报文判断终端和代理呼叫会话控制功能实体之间是否存在网络地址转换设备,以确定针对报文流的统计方式。因此,本发明实施例的实现可以根据实际网络环境中是否存在网络地址转换设备的情况,准确标记每个报文流的问题,进而准确识别会话初始协议流攻击。


图1为现有技术一提供的识别攻击的方法的处理过程示意图;图2为现有技术二提供的识别攻击的方法的处理过程示意图;图3为本发明实施例提供的方法的处理流程示意图;图4为本发明实施例提供的装置的结构示意图。
具体实施例方式
本发明实施例提供的检测报文攻击的实现方案中,首先判断收到的报文是否经过网络地址转换处理,之后,根据判断结果,若收到的报文是经过网络地址转换处理,则基于源IP地址加源端口进行报文速率的统计,否则,基于源IP地址进行报文速率的统计;当确定获得的报文速率的统计结果超过预定的阈值后,则确定基于该源IP地址或该源IP地址加源端口的报文为攻击报文。因此,本发明实施例的实现可以有效克服现有技术存在的问题。
具体一点讲,本发明实施例提供的所述的检测报文攻击的方法可以包括以下处理过程(1)在网络传输层接收到该源IP地址的报文后,解析收到的报文,并判断是否经过网络地址转换处理;
其中,所述的网络地址转换处理具体可以包括地址转换(NAT)和端口转换(PAT)等;而且,相应的判断是否经过网络地址转换处理的过程如下可以为在网络传输层接收基于该源IP地址的第一个报文后,缺省判断所接收的该源IP地址第一个报文未经过网络地址转换处理,当解析出的该报文的网络传输层的源IP地址加源端口与经过应用层解析后的源IP地址加源端口进行比较,若所述源IP地址加源端口均相同,则确定该报文未经过网络地址转换处理;否则,确定该报文经过网络地址转换处理。
在该判断处理过程中,当应用层在确定所述的基于该源IP地址的第一个报文经过网络地址转换处理后,则记录该报文的源IP地址加源端口对应的报文为经过网络地址转换处理后的报文;同时,还需要将该记录信息通知网络传输层,以便于在网络传输层接收到后续报文时,若确定后续接收的报文中的网络传输层的源IP地址加源端口与所述的记录报文的源IP地址加端口匹配,则确定该后续接收的报文为经过网络地址转换处理的报文。
(2)根据上述判断结果,进行基于源IP地址或基于源IP地址加源端口的报文统计;具体可以为若所接收的报文没有经过网络地址转换处理时,则按源IP地址进行分类统计报文速率;若所接收的报文经过网络地址转换处理,则按源IP地址加源端口(PORT)进行分类统计报文速率。
(3)根据上述处理过程(2)中统计的速率值与预设的阈值进行比较,当所述的统计结果超过预定的阈值时,则判断按源IP地址或源IP地址加源PORT的报文为攻击报文。
在该处理过程(3)中,若统计的速率未超过阈值,则对所述接收的报文作进一步应用层解析,以进一步判断该报文是否经过网络地址转换处理,若经过网络地址转换处理,进一步识别所述接收的报文是否为伪造网络地址转换的报文攻击;其相应的识别伪造网络地址转换的报文攻击的具体处理步骤包括首先,对当前接收的报文作应用层解析,在确定所述报文为经过网络地址转换处理后的报文时,判断该报文的源IP地址加源端口是否注册,若确定未注册,且该报文不是注册报文,则统计该报文中的源IP地址下不同的端口数量,当所述端口数量超过预定的数量,则确定该源IP地址对应的报文为攻击报文。
为了便于理解本发明实施例的技术方案,现结合附图3对本发明的实施例提供的基于源IP地址和源IP地址加源PORT识别SIP Flood攻击的方法进行详细的说明。
如图3所示是本发明实施例提供的在网络传输层基于源IP地址和源IP地址加源PORT标记每个接收的报文,并实现识别SIP Flood攻击的流程图,具体包括以下步骤步骤31网络传输层开始接收报文,所述的报文包括基于该源IP地址的第一个报文或基于该源IP地址的后续报文;步骤32对所接收的报文进行网络传输层的1-4层解析;步骤33根据解析结果,判断是否是UDP,且目的PORT是否是5060,如否则抛弃报文,如是,则确定为SIP报文,并执行步骤34;步骤34判断终端和P-CSCF之间是否存在NAT/PAT设备,所述的NAT/PAT设备为网络地址转换设备,包括地址转换(NAT)设备和端口转换(PAT)设备,用于对所接收的报文进行IP地址转换和端口地址转换,若存在NAT/PAT设备则执行步骤35,否则执行步骤36;所述的判断终端和P-CSCF之间是否存在NAT/PAT设备的过程具体包括网络传输层接收基于该源IP地址的第一个报文后,缺省判断所接收的该源IP地址第一个报文不经过网络地址转换处理,当解析出的该第一个报文的网络传输层的源IP地址加源端口与经过应用层解析后的源IP地址加源端口进行比较,若所述源IP地址加源端口均相同,则确定该报文未经过网络地址转换处理,即不存在NAT/PAT设备;否则,确定该报文经过网络地址转换处理,即存在NAT/PAT设备。
当应用层在确定所述的基于该源IP地址的第一个报文经过网络地址转换处理后,则记录该报文的源IP地址加源端口对应的报文为经过网络地址转换处理后的报文,并将该记录信息通知网络传输层,在网络传输层接收到后续报文时,若后续接收的报文中的网络传输层的源IP地址加源端口与所述的记录报文的源IP地址加端口匹配后,则确定该后续接收的报文经过网络地址转换处理。
步骤35对接收到的报文按源IP地址加源PORT进行分类统计报文速率,并执行步骤37;步骤36对接收到的报文按源IP地址进行分类统计报文速率,并执行步骤37;步骤37判断按源IP地址和源IP加源PORT分类统计的报文速率是否超过预设的阈值,如是则执行步骤38,如否则执行步骤39,以便于对所述的报文进行进一步地解析判断;在确定所述报文速率未超过预设的阈值后需要执行步骤39,这是因为当按源IP地址进行速率统计,若统计的速率不超过阈值时,由于在网络传输层对基于该源IP地址的第一个报文做1-4层的解析,缺省判断为不存在网络地址信息转换设备,此时,应对所述的第一次接收的从该源IP地址发出的报文通过应用层作进一步5-7层的解析,判断是否经过网络地址转换处理,若是,将该源IP地址加端口对应的报文记录为经过网络地址转换处理的报文,并将记录信息通知网络传输层;当按源IP地址加源端口进行速率统计,若统计的速率不超过阈值时,对所述的基于该源IP地址的后续报文也应在应用层作进一步解析,判断是否为伪造网络地址转换处理的报文攻击。
步骤38确定相应报文为攻击报文,并按源IP地址或源IP地址加源PORT的速率标记为SIP Flood攻击。
步骤39对所接收的报文在应用层进行5-7层解析;步骤310根据解析结果,判断终端和P-CSCF之间是否存在NAT/PAT设备,如否则按正常流程处理,如是则执行步骤311;步骤311进一步判断该报文的源IP地址加源PORT是否已经注册,如是,则确定该源IP地址加源PORT对应的报文为正常报文,并可以按照正常流程对其进行处理,否则,执行步骤312;步骤312进一步判断该报文是否为注册报文,如是,则执行步骤313,否则,执行步骤314;步骤313待注册报文注册成功后,在应用层标记该源IP地址加源PORT已注册,并通知网络传输层标记该源IP地址加源PORT存在NAT/PAT设备,并按正常流程处理,例如,可以采用现有技术提供的处理进行相应后续处理。
步骤314统计该报文的源IP地址下不同PORT的数量,以便于根据该统计的数量确定是否为伪造的攻击报文,同时,抛弃所述的报文,并执行步骤315;步骤315判断不同的PORT数量是否超过预定的阈值,如是,则执行步骤316;步骤316确定相应报文为攻击报文,并将所述判断结果通知网络传输层,即通知网络传输层标记该源IP地址对应的报文为SIP Flood攻击。
综上所述,由于本发明实施例对SIP Flood攻击的检测分为网络传输层和应用层检测两个部分进行,在网络传输层通过采用基于源IP地址和源IP地址加源PORT统计收到的报文速率来检测SIP Flood攻击,在应用层通过识别终端和P-CSCF之间是否存在NAT/PAT和伪造NAT/PAT报文来检测SIP Flood攻击。因此,能够实现存在NAT/PAT环境且无法采用IPSEC情况下的SIP Flood攻击识别,同时具有准确性高,无需现有的固定SIP终端进行改动的特点,有利于IMS网络的快速部署。
本发明实施例还提供了一种检测报文攻击的装置,其具体实现结构如图4所示,具体可以包括以下单元(1)第一网络地址转换判断单元用于对网络传输层收到的报文判断是否经过网络地址转换处理,若是,则将所接收的报文发送到第二报文速率统计单元处理;否则,将所接收的报文发送到第一报文速率统计单元处理;所述的第一网络地址转换判断单元具体可以包括网络传输层解析单元、信息记录单元和判断处理单元,其中,网络传输层解析单元,用于在网络传输层解析获得报文中的网络传输层的源IP地址加源端口信息,并发送判断处理单元作为比较判断依据;信息记录单元,用于根据应用层第二网络地址转换判断单元确定所述的报文经过网络地址转换处理的结果,记录该报文的源IP地址加源端口对应的报文为经过网络地址转换处理后的报文,并发送判断处理单元作为判断依据;判断处理单元,用于将网络传输层接收的报文在网络传输层解析单元获得的报文源IP地址加源端口与所述信息记录单元记录的报文的源IP地址加端口进行匹配比较,若完全匹配,则判断所述接收的报文经过网络地址转换处理,否则判断所述接收的报文未经过网络地址转换处理。
(2)第一报文速率统计单元基于源IP地址对每个报文进行速率统计,并将统计结果发送到第一报文攻击判断单元;(3)第二报文速率统计单元基于源IP地址加源PORT对每个报文进行速率统计,并将统计结果发送到第一报文攻击判断单元;(4)第一报文攻击判断单元当根据第一报文速率统计单元和第二报文速率统计单元统计出的报文速率与预先设定的阈值进行比较,如超过阈值则判断按源IP地址或源IP地址加源PORT的报文为攻击报文。
可选地,所述的装置还可以包括第二网络地址转换判断单元和第二报文攻击判断单元,其中第二网络地址转换判断单元,用于在应用层对收到的报文判断是否经过网络地址转换处理,在确定该报文经过网络地址转换处理,将判断结果发送第一网络地址转换判断单元中所述的信息记录单元进行记录,并将所接收的报文发送第二报文攻击判断单元,用以判断所述接收的报文是否为伪造网络地址转换的报文攻击;所述的在应用层对收到的报文判断是否经过网络地址转换处理过程包括将网络传输层解析单元获得的报文中的网络传输层的源IP地址加源端口与应用层解析获得的该报文的应用层的源IP地址加源端口进行比较,若所述源IP地址加源端口均相同,则确定该报文未经过网络地址转换处理;否则,确定该报文经过网络地址转换处理;第二报文攻击判断单元,用于在确定接收的报文不是注册报文时,统计该源IP地址下不同端口的数量,并当统计出不同的端口数量超过阈值时,通知网络传输层标记该源IP地址对应的报文是伪造网络地址转换的报文攻击。
所述的装置还可以包括源IP地址加源端口注册判断单元,用于判断所接收的报文的源IP地址加源端口是否已经注册,若确定没有注册,则将所接收的报文发送到所述第二报文攻击判断单元。
所述的第二报文攻击判断单元还可以连接有注册报文判断单元,用于在判断接收到的报文是注册报文时,待注册报文注册成功后,在应用层标记该源IP地址加源端口已注册,并通知网络传输层标记该源IP地址加源端口对应的报文是经过网络地址转换的报文。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种检测报文攻击的方法,其特征在于,包括判断收到的报文是否经过网络地址转换处理,若是,则基于源IP地址加源端口进行报文速率的统计,否则,基于源IP地址进行报文速率的统计;若统计结果超过预定的阈值,则确定基于该源IP地址或该源IP地址加源端口的报文为攻击报文。
2.根据权利要求1所述的方法,其特征在于,所述的判断收到的报文是否经过网络地址转换处理的步骤包括将报文中的网络传输层的源IP地址加源端口与应用层的源IP地址加源端口进行比较,若所述源IP地址加源端口均相同,则确定该报文未经过网络地址转换处理;否则,确定该报文经过网络地址转换处理。
3.根据权利要求2所述的方法,其特征在于,在确定所述的报文经过网络地址转换处理后,则记录该报文的源IP地址加源端口对应的报文为经过网络地址转换处理后的报文,且所述的判断收到的报文是否经过网络地址转换处理的步骤还包括在确定后续接收的报文中的网络传输层的源IP地址加源端口与所述记录报文的源IP地址加端口匹配后,则确定后续接收的报文经过网络地址转换处理。
4.根据权利要求1、2或3所述的方法,其特征在于,在确定该报文经过网络地址转换处理且针对该报文的统计结果未超过所述预定的阈值后,所述方法还包括统计该报文中的源IP地址下不同的端口数量,若所述端口数量超过预定的数量,则确定该源IP地址对应的报文为攻击报文。
5.根据权利要求4所述的方法,其特征在于,所述统计该报文中的源IP地址下不同的端口数量的步骤具体包括确定接收到的报文的源IP地址加源端口未注册,且该报文不是注册报文,则统计该报文中的源IP地址下不同的端口数量。
6.根据权利要求5所述的方法,其特征在于,若接收到的报文是注册报文,则待注册成功后,在应用层标记该源IP地址加源端口已注册,并记录该源IP地址加源端口对应的报文为经过网络地址转换处理后的报文。
7.一种检测报文攻击的装置,其特征在于,包括第一网络地址转换判断单元用于对网络传输层收到的报文判断是否经过网络地址转换处理,若是,则将所接收的报文发送到第二报文速率统计单元处理;否则,将所接收的报文发送到第一报文速率统计单元处理;第一报文速率统计单元基于源IP地址对所接收的报文进行速率统计,并将统计结果发送到第一流报文攻击判断单元;第二报文速率统计单元基于源IP地址加源端口对所接收的报文进行速率统计,并将统计结果发送到第一流报文攻击判断单元;第一报文攻击判断单元将第一报文速率统计单元和第二报文速率统计单元统计出的报文速率与预先设定的阈值进行比较,如超出阈值则判断基于该源IP地址或源IP地址加源端口对应的报文为攻击报文。
8.根据权利要求7所述的装置,其特征在于,所述的第一网络地址转换判断单元包括网络传输层解析单元,用于在网络传输层解析获得报文中的网络传输层的源IP地址加源端口信息;信息记录单元,用于根据应用层解析后确定所述的报文经过网络地址转换处理的结果,记录该报文的源IP地址加源端口对应的报文为经过网络地址转换处理后的报文;判断处理单元,用于将网络传输层接收的报文在网络传输层解析单元获得的报文源IP地址加源端口与所述信息记录单元记录的报文的源IP地址加端口进行匹配比较,若完全匹配,则判断所述接收的报文经过网络地址转换处理,否则判断所述接收的报文未经过网络地址转换处理。
9.根据权利要求7所述的装置,其特征在于,所述的装置还包括第二网络地址转换判断单元,用于在应用层对收到的报文判断是否经过网络地址转换处理,并在确定该报文经过网络地址转换处理,将所接收的报文发送第二报文攻击判断单元;第二报文攻击判断单元,用于确定接收的报文不是注册报文时,统计该源IP地址下不同端口的数量,并当统计出不同的端口数量超过阈值时,通知网络传输层标记该源IP地址对应的报文为攻击报文。
10.根据权利要求9所述的装置,其特征在于,所述的装置还包括源IP地址加源端口注册判断单元,用于判断所接收的报文的源IP地址加源端口是否已经注册,若确定没有注册,则将所接收的报文发送到所述第二报文攻击判断单元。
11.根据权利要求9所述的装置,其特征在于,所述的第二报文攻击判断单元还连接有注册报文判断单元,用于判断接收到的报文是否为注册报文,若是注册报文,待注册报文注册成功后,在应用层标记该源IP地址加源端口已注册,并通知网络传输层标记该源IP地址加源端口对应的报文经过网络地址转换的报文。
全文摘要
本发明涉及一种检测报文攻击的方法及装置,具体包括判断收到的报文是否经过网络地址转换处理,若是,则基于源IP地址加源端口进行报文速率的统计,否则,基于源IP地址进行报文速率的统计;若统计结果超过预定的阈值,则确定基于该源IP地址或该源IP地址加源端口的报文为攻击报文;如不超过阈值时,则对所述的报文进一步解析判断,以便识别伪造网络地址转换的报文攻击。因此,本发明的实现可以解决存在地址转换或端口转换环境下准确标记每个报文流的问题,以便准确识别流攻击。
文档编号H04L12/56GK101035034SQ20071009624
公开日2007年9月12日 申请日期2007年4月2日 优先权日2007年4月2日
发明者纪涛 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1