专利名称:一种过滤报文的方法、装置和系统的制作方法
技术领域:
本发明涉及通信技术及其安全技术领域,特别涉及一种过滤报文的方法、装置和系统。
背景技术:
GTP ( General Packet Radio Service Tunnelling Protocol,通用无线分纟且月良务隧道协议)是应用在GPRS ( General Packet Radio Service,通用无线分组服务)网络核心网或WCDMA ( Wideband Code Division Multiple Access,宽带码分多址)、TD-SCDMA ( Time Division-Synchronous Code Division MultipleAccess,时分同步码分多址)网络核心网PS (Packet Switched domain,分组域)域的隧道通信协议,在GPRS网络中,它被定义在Gn ( Gn Interface, Gn接口 )、 Gp ( Gp Interface, Gp接口 )、 Ga ( Ga Interface, Ga接口 )接口 ,在核心网PS域,它还被定义在Iu國PS (interface Interface between CN(PS) andRNC, CN(PS)和RNC之间的接口 )接口 。
原GSM网络基础上增加了一系列功能实体,主要包括PCU (Packet ControlUnit,分组控制单元)、SGSN (Service GPRS Support Node,服务GPRS支持节点)、GGSN (Gateway GPRS Support Node,关口 GPRS支持节点)、CG(Charging Gateway,计费网关)等网元,并对GSM网络的网络实体进行升级以支持分组业务。
GTP协议在Gn、 Gp、 Ga和核心网PS域的Iu-PS接口以隧道方式传输分组数据,它支持隧道的创建和维护,以及分组数据的传输。GTP标准定义了一系列GTP消息,来支持用户的分组数据业务。
通常GTP协议使用IP (Internet Protocol,因特网协议)协议承载。由于TCP/IP协议(Transmission Control Protocol,传输控制协议)和GTP协议本身并未制定完善的安全机制,随着移动分组业务的快速发展和3G网络的来临,GPRS支撑点GSN ( GPRS Supporting Node, GPRS支撑点)i殳备无法全 面的防范具有相互关联的消息形式的攻击,于是就产生了在GPRS网络中使 用基于隧道连接状态的高级过滤技术。
对于基于会话状态的安全威胁而言,传统防火墙技术和GSN的安全功能 组件无能为力。
现有技术中的处理方式是在GSN设备上,利用GSN的状态检查功能, 嵌入到会话处理过程中,进行安全检查。其技术问题在于GSN的状态检查功 能比较弱,原因是
1、 抗DoS (Denial of Service,拒绝服务)攻击能力差。由于GSN设备 的处理Dos攻击的能力有限,因此,对DoS的防范能力太差。
2、 状态检查机制存在缺陷。由于GSN的状态检查功能是嵌入到其会话 处理过程的,那么GSN对GTP报文的状态;险查是由GTP会话信令的处理过 程决定,如果攻击者利用GTP会话信令以外的方式进行攻击,那么这种防范 方式将无能为力。
而且,在GSN设备上能够完成的GSN状态检查功能,由于防火墙不具
有GSN状态检查功能,所以,现有技术中的防火墙都不具备GTP状态检查功 台匕H匕。
在现有技术中,防火墙主要是通过五元组过滤技术进行安全检查,可以 对传输层和应用层进行安全检查,这些安全检查都是根据传输层协议和应用
层协议进行的,现有的防火墙都无法对GTP协议进行状态检查。
发明人在实现本发明的过程中,发现现有技术中至少存在如下问题 现有技术无法在防火墙上提供基于状态检查的GTP会话安全过滤技术。
发明内容
有鉴于此,本发明一个或多个实施例的目的在于提供一种过滤报文的方 法、装置和系统,以实现基于状态4全查机制,对GTP会话进行深度4企查。
为解决上述问题,本发明实施例提供了一种过滤报文的方法,通用无线 分组服务隧道协议GTP消息包括隧道状态特征消息和时序状态特征消息,所 述方法包括检查隧道状态特征消息的隧道状态,如果隧道状态正确,则根 据隧道状态特征消息维护GTP隧道;如果隧道状态错误,按预设条件处理所述隧道状态特征消息;
根据时序状态特征消息的时序状态记录,检查所述时序状态特征消息的
时序状态;
如果时序状态正确,根据所述时序状态特征消息维护所述时序状态记录; 如果时序状态错误,按预设条件处理所述时序状态特征消息。还提供了 一种过滤报文的装置,其特征在于,通用无线分组服务隧道协议GTP消息包 括隧道状态特征消息和时序状态特征消息,所述装置包括
隧道状态检查单元,用于检查隧道状态特征消息的隧道状态; 第一处理单元,用于如果隧道状态正确,则根据隧道状态特征消息维护 GTP隧道;
如果隧道状态错误,按预设条件处理所述隧道状态特征消息; 时序状态检查单元,用于根据时序状态特征消息的时序状态记录,检查
所述时序状态特征消息的时序状态;
第二处理单元,用于如果时序状态正确,根据所述时序状态特征消息维
护所述时序状态记录;
如果时序状态错误,按预设条件处理所述时序状态特征消息。 一种过滤报文的系统,通用无线分组服务隧道协议GTP消息包括隧道状
态特征消息和时序状态特征消息,所述系统包括 防火墙,所述防火墙包括
隧道状态检查单元,用于检查隧道状态特征消息的隧道状态; 第一处理单元,用于如果隧道状态正确,则根据GTP消息维护GTP隧道; 如果隧道状态错误,按预设条件处理所述隧道状态特征消息; 时序状态检查单元,用于根据时序状态特征消息的时序状态记录,检查
所述时序状态特征消息的时序状态;
第二处理单元,用于如果时序状态正确,根据所述时序状态特征消息维
护所述时序状态记录;
如果时序状态错误,按预设条件处理所述时序状态特征消息。
与现有^^支术相比,本发明实施例具有以下优点
通过对GTP消息进行隧道状态检查和时序状态检查,根据GTP消息的隧道状态和时序状态之间的内在联系,识别正确报文和错误报文,并根据用户
配置策略进行相应的处理,实现了对GTP消息的安全过滤。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图l所示,是本发明实施例的GTP会话隧道状态切换示意图2所示,是本发明实施例的GTP会话时序状态切换示意图3所示,是本发明的实施例一的流程图4所示,是本发明实施例的隧道创建状态维护和检查的信令流程图; 图5所示,是本发明实施例的创建隧道响应消息的信令流程图; 图6所示,是本发明实施例的隧道去激活状态检测过程的信令流程图; 图7所示,是本发明实施例的路由去更新隧道状态维护和检查的信令流 程图8所示,是本发明实施例的原始分组数据单元消息状态检测过程的信 令流程图9所示,是本发明实施例的时序状态特征消息状态检测的信令流程图10所示,是本发明实施例的装置第一结构框图ll所示,是本发明实施例的装置第二结构框图12所示,是本发明实施例的装置第三结构框图13所示,是本发明实施例的装置第四结构框图14所示,是本发明实施例的装置第五结构框图15所示,是本发明实施例的装置第六结构框图16所示,是本发明实施例的装置第七结构框图17所示,是本发明实施例的装置第八结构框图18所示,是本发明实施例的装置第九结构框图19所示,是本发明实施例的装置第十结构框图20所示,是本发明实施例的装置第十一结构框图;图21所示,是本发明实施例的实施例的系统结构框图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一、与本发明实施例有关的基本概念
1、 状态防火墙本发明实施例中所使用的状态防火墙,是一种高级防火 墙,能够提供基于状态的报文过滤技术。通过检查应用层协议信息并且监控 基于连接的应用层协议状态,使得每一个连接状态信息都被防火墙维护并用 于动态地决定数据包是否被允许通过防火墙或丟弃。在进行数据包的检查时, 会考虑数据包看成之间的时序关联性,因此具有高安全性。
2、 GPRS用户^^舌过程
GPRS MS (Mobile station,移动终端)向SGSN发出分组业务激活请求 消息,如果针对此MS执行安全性规程通过,SGSN根据MS提供的信息解析 GGSN地址,在获得GGSN地址后,为所请求的PDP (Packet Data Protocol, 分组数据协议)上下文创建本端隧道,并向GGSN发出创建PDP上下文请求消息。
GGSN利用SGSN ( Service GSN,服务GPRS支撑点)提供的信息确定 外部PDN ( Packet Data Network,分组数据网)主机,并为MS分配动态地址、 启动计费、限定QoS等,然后创建本端隧道并向SGSN返回创建PDP上下文 响应消息。
SGSN收到此响应消息后,则在本端隧道中插入相关信息,完成GTP隧 道创建,然后向MS返回激活接受消息。此时,就在SGSN和GGSN之间建 立了通信隧道,并建立起MS与GGSN之间的路由,开始计费并进行分组数 据传送。
3、 状态检查的方法本发明实施例根据GTP会话的完整过程,可以把 状态检查分成两个层次时序状态检查和隧道状态检查。
在本发明实施的时序状态检查过程中,在检查请求消息和响应消息的时序状态时,根据GTP消息的请求消息和响应消息,来进行时序状态检查。对 于符合GTP协议规定的会话状态的消息,沿TCP/IP协议栈自上而下转发,否 则丢弃并进行相关处理,如统计、报警和日志。
隧道状态检查是检查与隧道维护有关的消息的状态,通过接收GTP消息 包,并沿TCP/IP协议栈自下而上传进行解析,来进行隧道状态;险查。
防火墙为了检查GTP协议,防火墙位于Gn或Gp接口,在GSN之间流 动的GTP报文,也全部从防火墙上经过。GSN之间通过GTP协议进行信息 交互,那么防火墙可以实现GSN的GTP格式处理的主要功能,并模拟GSN 进行隧道维护和检查。
隧道是指GSN之间的GTP管道,在GTP协议中,GPRS网络中的隧道 用隧道端点标识符标志。具体讲,在R1997版本中,隧道用TID (Terminal Identification,终端标识)标志,在R1999中用GSN的IP地址和它分配的TEID (Tunnel End Point Identifier,隧道端点标识)标志。GSN之间通过GTP隧道 转发数据。
4、 GTP消息的分类
在本发明实施例中,GTP消息包括
(1) 隧道状态特征消息,是隧道维护直接相关的消息,包括创建隧道 请求(16),创建隧道响应(17)、更新隧道请求(18)、更新隧道响应(19)、删 除隧道请求(20)、删除隧道响应(21)、 PDU通告请求(27)、 PDU通告响 应(28)、 PDU通告拒绝请求(29)、 PDU通告拒绝响应(30)、 SGSN上下文 请求(50 )、 SGSN上下文响应(51)、 SGSN上下文确认(52 )和T-PDU ( 255 )。 括号中的序号表示相应消息的消息码,在以上消息中,除了 T-PDU(255 )夕卜, 都属于控制面消息;
(2) 时序状态特征消息,是具有请求-响应特征的消息,非请求-响应 类型的消息以及不具有隧道状态特征的消息不在此列。
5、 隧道状态检查及状态转换
隧道状态检查是4全查一个隧道状态特征消息的GTP隧道状态是否正确。 隧道状态是指处理隧道状态特征消息后,GTP隧道的特征总和。具体来 讲包括以下状态
171) 收到"创建PDP上下文请求"消息或"SGSN上下文请求"消息后, 为初始激活状态;
关于初始激活状态,也可以进一步将"创建PDP上下文请求"消息和 "SGSN上下文请求,,消息区分开来处理,即分为"创建PDP上下文请求,, 消息的初始激活状态和"SGSN上下文请求,,消息的初始激活状态。
2) 收到"创建PDP上下文响应"消息或收到"SGSN上下文确认"后, 为完成激活状态;
完成激活状态也可区分"创建PDP上下文响应"消息的完成激活状态和 "SGSN上下文确认"消息的完成激活状态。在本发明实施例中,由于这两对 消息的处理特征类似,本发明实施例中不再对此区分。
3) 收到"更新PDP上下文请求"消息后,为初始更新状态;
4) 收到"更新PDP上下文响应"消息后,为完成更新状态;
5) 收到"删除PDP上下文请求"消息后,为初始去激活状态;
6) 收到"删除PDP上下文响应"消息后,为已去激活状态;
7) 收到"SGSN上下文响应"消息后,为5^由去更新隧道半激活状态。 防火墙根据收到的不同的GTP消息进行隧道状态维护,各种状态及其转
换示意可以参见图1所示.。其转换过程如下
根据l),当"创建PDP上下文请求"消息或"SGSN上下文请求"经过 防火墙时,防火墙自动创建GTP隧道,并置GTP隧道为初始激活状态,如果 收到的是前者,此时隧道的后续状态是完成激活状态;如果收到的是后者, 此时隧道的后续状态是半激活状态。
根据7),当"SGSN上下文响应"消息经过防火墙时,防火墙自动根据 消息内容完善GTP隧道,并置其状态为半激活状态。半激活状态的后续状态 为完成激活状态。
#4居2),当"创建PDP上下文响应"消息或"SGSN上下文确iV,经过 防火墙时,防火墙自动根据GTP消息的内容完成隧道创建,并置其为完成激 活状态。处于完成激活状态的GTP隧道的后续状态是初始去激活状态或初始 更新状态。
根据3),当"更新PDP上下文请求"消息经过防火墙时,防火墙自动根据GTP消息的IE内容更新隧道,并置其为初始更新状态。处于初始更新状态
的隧道的后续状态可以是完成更新状态。
才艮据4),当"更新PDP上下文响应"消息经过防火墙时,防火墙自动才艮 据GTP消息完成GTP隧道的更新,并置其为完成更新状态。处于完成更新状 态的的GTP隧道的可以转换为初始去激活状态,或者重新转换为初始更新状 态。
根据5),当"删除PDP上下文请求"消息经过防火墙时,防火墙会根据 消息的头和IE的值,自动把GTP隧道置为初始去激活状态。
根据6),当处于初始去激活状态的防火墙收到"删除PDP上下文响应" 消息后,把GTP隧道置为已去激活状态,并删除此GTP隧道消息有关内容。
本发明实施例中,当用户分组业务数据经过防火墙时,防火墙才艮据GTP 消息头中的字段查询是否存在传输它的隧道。如果存在,则使用此隧道转发 GTP分组数据。如果不存在,则表明此用户分组业务数据状态错误,可以丢 弃此t艮文。
6、维护GTP隧道的方式
防火墙在状态转换的过程中,同步维护GTP隧道。对GTP隧道的维护包 括下列方式
在本发明实施例中,隧道查询是隧道维护的基础。为了查询隧道和维护 隧道,对隧道查询关4建字^L如下定义 1) TEID的区分
为了进行隧道状态维护,本发明实施例^^用以下标志来区分TEID的分配 来源.-
(1) SGSNC—TEID_FLAG,为SGSN分配的控制面TEID; (2 ) SGSNU—TEID—FLAG,为SGSN分配的用户面TEID; (3 ) GGSNC—TEID—FLAG,为GGSN分配的控制面TEID; (4 ) GGSNU—TEID_FLAG,为GGSN分配的用户面TEID。 为了进行隧道状态维护,需要区分TEID是在正中还是头中,为此定义 以下TEID取值分类
(1 ) TEID HEADER,从消息头中获取的TEID;(2 ) TEID—IE,从正(Information Element,信息元素)中获取的TEID; 2) NSAPI标志
为了进行隧道状态维护,需要区分首次激活和二次激活的NSAPI (Network Service Access Point Identifier,网络服务接入点标识)类型,本发 明实施例通过以下NSAPI标志进4亍区分
(1 ) NSAPI—USER,首次激活时的NSAPI ,也指R1997版本即TID中 的NSAPI;
(2) NSAPI—USER—SEC, 二次激活时的NSAPI, R1997版本中没有。 为了进行隧道状态维护,需要区分不同GSN的信令和业务地址,为此定 义了以下GSN i也址才示志
(1 ) SGSN_IP_CTRL, SGSN控制面地址;
(2) SGSN—IPJJSER, SGSN用户面地址;
(3) GGSN—IP_CTRL, GGSN控制面地址; (4 ) GGSN_IP_USER, GGSN用户面地址;
由于各个GTP消息的头和所携带正不一样,本发明定义了两种方式进行 隧道查询和维护
6.1隧道查询方式 第一方式IMSI+NSAPI
如果GTP消息中含有IMSI (International Mobile Subscriber Identity,国际
移动用户识别码)和NSAPI,则可使用第一方式定位维护隧道。NSAPI的取
值见上面的NSAPI标志定义。
第二方式TEID +IP +TEID分配标志+ NSAPI + Sequence TEID、 IP、 TEID分配标志三个字段的取值见上面的定义。 关于NSAPI,如果GTP消息包括,则可以用来在二次激活时区分首次/
各二次激活所创建的隧道。
关于Sequence (消息序号),根据需要使用,此字段保存最新的对此隧道
进行维护的消息的序号,主要用在二次激活时使用它区分首次/各二次激活所
创建的隧道。
由于不同的隧道维护消息的头字段和所携带的信息元素的差异较大,本
20发明实施例提供了一种数据结构,这种数据结构能够同时支持按两种关键字
(IMSI或TEID),及其相关联字段(IP、 NSAPI、序号等)进行隧道维护。这样 就能够分别使用第一方式(包含IMSI时)或第二方式(包含TEID时)进行 隧道维护。这种数据结构可由哈希链表实现。
把IMSI或TEID(及其关联字段)放入本发明实施例的数据结构的关键字 中,是建立查找索引,把IMSI或TEID(及其关联字段)从本发明实施例的数据 结构中删除,称为删除索引。
在本发明实施例中,需要先查询到隧道,然后才能对隧道进行维护。如 果查询不到隧道,那就说明或者需要创建隧道,或者消息不合法。
7、 隧道状态检查的流程 7.1获取隧道维护信息
对GTP消息进行解码和协议合法性检查,对于检查通过的GTP消息,从 消息头和IE中获得其隧道查询关键字的值和隧道维护相关字段的值,开始隧 道状态检查。
7.2查询隧道
使用隧道查询关键字查询隧道,根据消息类型不同,查询处于不同状态 的隧道。
7.3隧道状态维护
对于不同的查询结果,根据不同的消息的类型进行不同的隧道维护,并 编制或删除查询索引。
7.4结果处理根据隧道查询和维护结果,进行转发或丢包处理;
8、 时序状态检查流程
参考图2所示,是时序状态及其转换示意图。在时序状态^r查过程中, 当接收到请求消息后,进入请求状态,如果再收到合法响应消息,则进入已 完成状态,表示一个完整的时序状态进行完毕。在时序状态检查过程中,使 用第三方式进行时序状态检查。
8.1第三方式路径+ Sequence及其关联字段
对于收到的请求或响应消息,可以使用路径+ Sequence来查找其对应的应 答或者请求消息。当然,如果有需要,还可以同时使用应答消息或者请求消息的关联字段。
基于IP的GTP协议固定使用端口 (2123、 2152、 3386)进行通信,所以, 也可使用源IP+目的IP+ Sequence及其关联字段来查找其对应的应答或者请求 消息。具体查找方式是
对于请求消息,检查GSN是否在短时间内发送过完全重复的请求消息。 通常,GSN发送的GTP消息其序号字段是不一样的,如果在极短的时间内收 到完全重复的消息多次,则可以认定为攻击消息。
对于响应消息,检查是否存在合法的请求消息,如果存在,则为合法消 息,否则为攻击消息。
8.2检查流程
8.2.1. 对GTP消息进行解码和协议合法性检查,对于检查通过的GTP消 息,获得此消息的路径、序号和消息值,开始时序状态检查;
8.2.2. 使用第三方式查询本消息对应的时序状态记录;
8.2.3. 根据查询结果进行状态维护,查询结果包括请求消息和响应消息
a) 如果被;险查的消息是一个请求消息
i. 如果查到相同的请求消息,则时序状态错误;
ii. 如果未查到相同的请求消息,则状态正确,创建此消息的时序状态记 录,并置其状态为请求状态。
b) 如果被检查的消息是一个响应消息
i. 如果查到此响应消息对应的请求消息,则状态正确,置其状态为完成 状态,并从内存中删除此时序状态记录。
ii. 如果未查到对应的请求消息,则状态错误。
8.2.4. 根据检查结果进行报文处理
a) 如果状态正确,则转发;
b) 如果状态错误,则可根据用户配置丟弃或转发报文。
8.2.5. 其他类型的消息
对于"版本不支持"、"支持的扩展投通告"和"故障指示"等没有应答 的消息外,都可以-使用第三方式进^f于时序状态4全测。 9、隧道状态检查与时序状态检查的关系
22综上所述可知,隧道状态特征消息都是时序状态特征消息,具有请求-应 答特征。因此,本发明实施例中,隧道状态检查的同时,就相当于同时进行 了时序状态检查。隧道状态检查不仅检查了消息的前后关联性,对于非前后 直接关联的消息,由于其前后继状态之间同时也具有时序特征,所以,对隧 道状态的检查过程相当于同时检查了时序状态,因此具有更深的层次。
由于防火墙具有识别隧道状态特征消息和时序状态特征消息的能力,所 以,本发明实施例可以根据防火墙的识别结果,对隧道状态特征消息和时序 状态特征消息分别进行隧道状态检查和时序状态检查。所以,对于非隧道状 态特征消息进行时序状态检查就可以判断其是否为合法消息。
二、本发明实施例的实现过程
参考图3所示,是本发明的实施例一,本实施例对GTP消息进行隧道状 态检查和时序状态检查,GTP消息包括隧道状态特征消息和时序状态特征消 息,所述方法包括步骤
301、检查隧道状态特征消息的隧道状态,如果隧道状态正确,进入步骤 302,否则进入步骤303;
其中,检查隧道状态特征消息的隧道状态之前,还可以包括在获取所 述GTP隧道的GTP消息关键字信息和所述GTP隧道地址,所述GTP消息关键 字信息和所述GTP隧道地址用于检查隧道状态。
所述关键字信息可以根据实际情况选择,例如,在使用第一方式进行检 查和第二方式进行才企查的时候,分别可以将IMSI +NSAPI或TEID +IP +TEID 分配标志+ NSAPI + Sequence作为关4定字信息。
其中,所述时序状态特征消息的时序状态记录包括
所述时序状态特征消息的路径和序号;或
所述时序状态特征消息的路径、序号和关联字段。
所述关联字段可以根据所述时序状态特征消息的具体情况,进行具体设置。
其中,检查所述所述时序状态特征消息的时序状态包括
对于收到的GTP请求消息,如果查到同样的GTP请求消息,则时序状态
错误;
23如果没有查到同样的GTP请求消息,则时序状态正确,则所述才艮据所述 时序状态特征消息维护所述时序状态记录包括维护所述GTP请求消息的时 序状态记录,设置所述GTP请求消息状态为请求状态;
对于收到的GTP响应消息,如果查到对应的GTP请求消息,则时序状态 正确,则所述根据所述时序状态特征消息维护所述时序状态记录包括设置 所述GTP请求消息状态为完成状态,删除所述GTP响应消息的时序状态记录;
如果没有查到与所述收到的GTP响应消息对应的GTP请求消息,则时序 状态错误。
在完成状态,通常不再进行时序状态检查,为了释放系统资源,应尽快 删除所述时序状态记录。
302、 则根据隧道状态特征消息维护GTP隧道,进入步骤304; 维护GTP隧道是指,根据GTP消息,转换GTP隧道的状态,例如收到
"更新PDP上下文请求"消息后,设置为初始更新状态;收到"更新PDP上 下文响应"消息后,设置为完成更新状态;收到"删除PDP上下文请求"消 息后,设置为初始去激活状态。其他的GTP消息,也都是根据GTP隧道的状 态转换关系,设置其相应的GTP隧道。
303、 如果隧道状态错误,按预设条件处理所述隧道状态特征消息;
304、 根据时序状态特征消息的时序状态记录,检查所述时序状态特征消 息的时序状态;如果时序状态正确,进入步骤3Q5,如果时序状态错误,进入 步骤306;
305、 一艮据所述时序状态特征消息维护所述时序状态记录; 维护所述时序状态记录是指,根据时序状态特征消息,进行时序状态的
切换。例如,可以参照图2所示的状态切换关系,在时序状态检查过程中, 当接收到请求消息后,进入请求状态,如果再收到合法响应消息,则进入已 完成状态,表示一个完整的时序状态进行完毕。
306、 按预设条件处理所述时序状态特征消息。
其中,通常情况下,按预设条件处理可以是如果隧道状态检查或时序 状态检查正确,则予以转发;如果隧道状态检查或时序状态检查错误,则予 以抛弃,也可以按用户配置进行转发。其中,如果使用第一方式进行隧道状态检查,则所述检查隧道状态特征
消息的隧道状态包括如果所述隧道关键字信息中包括国际移动用户识别码 IMSI和网络层业务接入点标识NSAPI,则使用IMSI+NSAPI检查隧道状态特征 消息的隧道状态。
其中,能够使用第一方式进行隧道状态的所述隧道状态特征消息包括 创建分组数据协议PDP上下文请求消息,创建PDP上下文响应消息,更 新PDP上下文请求消息,更新PDP上下文响应消息,删除PDP上下文请求消 息,删除PDP上下文响应消息,创建服务GPRS支持节点SGSN上下文请求消 息,创建SGSN上下文响应消息,创建SGSN上下文确认消息,原始分组数据 单元T-PDU消息,创建PDP上下文请求消息的首次激活消息。
使用第二方式进行隧道状态特征检查的具体方式可以参见图4-图8及其 对应的实施例。
利用本发明的实施例一,通过对GTP消息进行隧道状态检查和时序状态 检查,根据GTP消息的隧道状态和时序状态之间的内在联系,通过状态检查 的报文,就识别为正确报文,否则就识别为错误报文,并根据用户配置策略 进行相应的处理,实现了对GTP消息的安全过滤。
本发明实施例不但能够检查单个GTP消息的协议合法性,还能监控整个 GTP会话过程,能够防范各种基于会话的深层次的GTP攻击。
本发明实施例能检查所有具有请求-应答特征的GTP消息的时序状态及 其内在联系,从而能够使防火墙针对GTP协议,进行有效的安全过滤,为移 动分組业务的网络安全提供了安全保障。保障移动分组网络设备及用户业务, 为移动分组业务的网络安全4是供了深层次的安全保障。
总之,本发明实施例所能够有效防范来自移动终端、其他通信网和分组 数据网的各种基于GTP会话的攻击。
下面,以实施例二提供更为详细的实现过程,在本实施例中,隧道状态 维护数据结构,可以使用哈希表。时序状态维护数据结构,也可以使用哈希 表。本实施例中,处理的GTP消息状态包括创建隧道状态、更新隧道状态、 去激活隧道状态、路由去更新隧道状态和T-PDU消息隧道状态,以及时序特 征消息的时序状态检查。下面分别结合附图进行逐一说明。
25A.创建隧道状态
在隧道创建状态下,本发明实施例处理的消息包括创建隧道请求消息 (16)和创建隧道响应消息(17)。在防火墙上的处理过程如图4所示,包括 401 、 MS发起激活PDP上下文请求消息;
402、 SGSN返回安全处理结果;
403、 SGSN向GGSN发送创建PDP上下文请求消息;
404、 GTP防火墙对PDP上下文请求消息进行隧道状态检查;使用所述 TEID+GGSN分配的控制面隧道端点标识GGSNC—TEID_FLAG+GGSN控制面地址 GGSN_IP_CTRL,检查所述PDP上下文请求消息对应的首次激活隧道;由于本 实施例中是首次激活消息,所以,不存在对应的首次激活消息,进入步骤405;
在其他的运用中,如果存在首次激活消息,且隧道状态正确,则可以按 预设条件处理所述隧道状态特征消息,如转发所述创建PDP上下文请求消息;
在其他的运用中,如果存在首次激活消息,且隧道状态错误,则按预设 条件处理所述隧道状态特征消息可以是根据用户配置抛弃或转发所述创建 PDP上下文请求消息;
如果应用环境是R1997版本,还可以对IMSI(及其关联字段)建立查找索 引,以方便后续消息对它进行查找。而对于R1999版本而言,如果是首次激 活还可以对IMSI、 SGSN控制面TEID、 SGSN用户面TEID建立查找索引, 二次激活要获得相关信息,然后创建新隧道,并对IMSI和TEID关键字(及其 关联字段)建立查找索引。
405、 若隧道状态检查通过,GTP防火墙创建隧道;
406、 GTP状态防火墙转发创建PDP上下文请求消息;
407、 GGSN回应PDP上下文响应消息;
408 - 409、 GTP状态防火墙对创建PDP上下文响应消息进行隧道状态检 查,若检查通过,则更新隧道;
隧道状态检查的方式可以是使用SGSN分配的控制面隧道端点标识 SGSNC-TEID—FLAG+所述TEID—HEADER+SGSN控制面地址SGSN—IP—CTRL+所述创 建PDP上下文响应消息序号Sequence, 4企查是否存在与所述创建PDP上下文 响应消息对应的隧道;其中,Sequence用于本消息对应的请求消息是没有TEID (C)的二次激
活请求消息时区分二次激活请求所创建的隧道;
如果不存在隧道,则隧道状态错误;如果存在隧道,则隧道状态正确; 在实际运用中,如果隧道状态正确,还可以包括如果"原因"IE值为
非"接受请求"的其他值,则将隧道状态置为去激活状态后删除隧道;如果 "原因"正值为"接受请求",则更新隧道的GGSN信息后置隧道状态为完
成激活状态,这时此隧道可进行基于隧道的信令和数据传输。
410、 GTP状态防火墙转发创建PDP上下文响应消息给SGSN;
411、 SGSN向MS返回上下文激活成功消息,创建隧道状态下的隧道牙企 查过程完成。
其中,在上述隧道状态斗全查的过程中,如果应用环境是R1997版本,则 可以4吏用第一方式,即TID中的IMSI+NSAPI查询隧道。如果应用环境是 R1999版本,那么对首次激活消息使用第一方式,即IE中的IMSI+NSAPI查 隧道,对于二次激活消息可以使用第二方式,即TEID—HEADER + GGSNC—TEID—FLAG + GGSN—IP—CTRL冲企查首次激活的隧道。
在本发明实施例中,从创建隧道的角度来讲,会先进行首次激活,再进 行二次激活。首次激活的隧道和随后二次激活的隧道是各自独立维护的,所 以,有可能先发消息删除首次激活的隧道,而二次激活的隧道如果没有删除, 则仍然存在并使用。这时如果检查到二次激活的隧道,就会出现首次激活的 隧道不存在的情况。所以,收到二次激活消息后,可以检查是否存在首次激 活消息,同时再检查首次激活消息所创建的隧道状态是否正确。
B.更新隧道状态
如图5所示,是本发明实施例处理更新隧道状态的信令流程图,共处理 更新PDP上下文请求消息(18)和更新PDP上下文响应消息(19)。包括 501 、 SGSN发起更新PDP上下文请求消息;
502、 GTP状态防火墙对更新PDP上下文请求消息进行隧道状态检查 如果所述更新PDP上下文请求消息由SGSN发起,则使用
TEID—HEADER+GGSN纟空制面i也址GGSN_IP_CTRL+GGSN分配的4空制面隧道端点标
识GGSNC—TEID—FLAG+NSAPI, 4全查是否存在隧道;如果所述更新PDP上下文请求消息由GGSN发起,则使用 TEID_HEADER+SGSN控制面地址SGSN_IP_CTRL+SGSN分配的控制面隧道端点标 识SGSNC-TEID-FLAG+NSAPI, 4企查是否存在隧道;
如果存在隧道,则隧道状态正确;
如果不存在隧道,则隧道状态一睹误;
503、 若隧道状态检查通过,GTP状态防火墙更新隧道;
504、 GTP状态防火墙转发更新PDP上下文请求消息;
505、 GGSN回应更新PDP上下文响应消息;
506-507、 GTP状态防火墙对更新PDP上下文响应消息进行隧道状态检 查,若检查通过,则更新隧道;隧道状态检查包括
收到更新PDP上下文响应消息后,如果所述更新PDP上下文响应消息由 GGSN发出,则4吏用TEID—HEADER+SGSN控制面地址SGSN-IP—CTRL+SGSN分配的 控制面隧道端点标识SGSNC-TEID-FLAG+所述更新PDP上下文响应消息序号 Sequence,检查是否存在随道;
如果所述更新PDP上下文响应消息由SGSN发出,则使用 TEID_HEADER+GGSN控制面地址GGSN-IP_CTRL+GGSN分配的控制面隧道端点标 识GGSNC-TEID-FLAG+所述更新PDP上下文响应消息序号Sequence,;险查是否 存在隧道;
其中,Sequence用于本消息对应的请求消息是没有TEID (C)的二次激 活请求消息时区分二次激活请求所创建的隧道; 如果存在隧道,则隧道状态正确; 如果不存在隧道,则隧道状态错误;
508、 GTP状态防火墙转发更新PDP上下文响应消息给SGSN。 在实际运用中,隧道状态检查后,还可以包括若"原因"正值为非"接 受请求"的其他值,则去掉隧道删除标记,回退其状态为"完成更新"或"完 成激活状态";若"原因"IE值为"接受请求",则置隧道状态为去激活状态 后,从内存中删除所述隧道。 C.隧道去激活状态
参考图6所示,是本发明实施例对隧道去激活状态的处理过程,处理的消息包括删除PDP上下文请求消息和删除PDP上下文响应消息。包括步骤
601、 SGSN发起删除PDP上下文请求消息;
602、 GTP状态防火墙对删除PDP上下文请求消息进行隧道状态;险查 如果所述删除PDP上下文请求消息是由SGSN发给GGSN,则使用
TEID—HEADER+ GGSN—IP—CTRL +GGSNC—TEID—FLAG + NSAPI, ^全查是否存在隧
道;
如果所述删除PDP上下文请求消息是由GGSN发给SGSN,则使用 TEID—HEADER+GGSN—IP-CTRL+GGSNC—TEID—FLAG+NSAPI,片全查是否存在隧道; 如果存在隧道,则隧道状态正确; 如果不存在隧道,则隧道状态错误;
上述检查的对象是指处于"完成激活"或"完成更新"状态的隧道,R1997 版本使用第一方式,即TID中的IMSI+NSAPI查隧道;R1999版本使用第二 方式查询隧道,如果是SGSN发给GGSN,则使用TEID—HEADER + GGSNjP—CTRL + GGSNC—TEID—FLAG + NSAPI进行检查;如果是GGSN 发给SGSN,则使用TEID—HEADER + SGSN—IP—CTRL + SGSNC—TEID—FLAG + NSAPI进行4全查;
603、 若隧道状态;险查通过,GTP状态防火墙对隧道进行初始删除;置隧 道状态为"初始去激活状态";
604、 GTP状态防火墙转发删除PDP上下文请求消息;
605、 GGSN回应删除PDP上下文响应消息;
606-607、 GTP状态防火墙对删除PDP上下文响应消息进4于隧道状态斗全 查,若检查通过,则更新隧道;所述隧道状态;险查包括
如果所述删除PDP上下文响应消息是由GGSN发给SGSN,则使用 TEID-HEADER+SGSN-IP-CTRL+SGSNC-TEID—FLAG+所述删除PDP上下文响应消息 序号Sequence,检查是否存在隧道;
如果所述删除PDP上下文响应消息是由SGSN发给GGSN,则使用 TEID—HEADER+GGSN-IP-CTRL+GGSNC-TEID—FLAG+所述删除PDP上下文响应消息 序号Sequence,检查是否存在隧道;
如果存在隧道,则隧道状态正确;
29如果不存在隧道,则隧道状态错误;
所述Sequence用于在二次激活时,区分首次激活和各个二次激活所创建 的隧道;
608、 GTP状态防火墙转发删除PDP上下文响应消息给SGSN。 在实际运用中,隧道状态4全查后,如果存在隧道,还可以包括若"原
因,,正值为非"接受请求,,的其他值,则去掉隧道删除标记,回退其状态为 "完成更新"或"完成激活状态";若"原因"正值为"接受请求",则置隧
道状态为去激活状态后,从内存中删除所述隧道。 D.路由去更新隧道状态
如图7所示,是本发明实施例处理路由去更新隧道状态的过程,此过程 处理的消息包括创建SGSN上下文请求消息(50)、创建SGSN上下文响应 消息(51)和创建SGSN上下文确认消息(52),包括步骤
701 、新SGSN发起SGSN上下文请求消息;
702、 GTP状态防火墙对创建SGSN上下文请求消息进行隧道状态^r查 使用从信息元素获取的隧道端点标识TEID_IE +SGSN-IP—CTRL +
SGSNC—TEID—FLAG,检查是否存在隧道;SGSIIP-CTRL是所述消息所在数据包 的源IP地址;
如果存在隧道,说明此TEID已经使用过,则隧道状态错误,可转发或抛 弃所述报文;
如果不存在隧道,则创建隧道,以及置所述隧道的状态为初始激活状态;
收到创建SGSN上下文响应消息后,则使用TEID-HEADER+SGSN—IP—CTRL + SGSNC—TEID-FLAG, 4全查是否存在隧道;
如果存在隧道,且处于所述初始激活状态的隧道由所述创建SGSN上下文 请求消息创建,则所述隧道状态正确,更新所述隧道中SGSN信息,以及置所 述隧道状态为半激活状态;
如果不存在隧道,则隧道状态错误;
703、 若隧道状态;险查通过,GTP状态防火墙创建隧道;
704、 GTP状态防火墙转发创建SGSN上下文请求消息;
705、 GGSN回应创建SGSN上下文响应消息;200910117850.9 706、 GTP状态防火墙对创建SGSN上下文响应消息进行隧道状态检查; 隧道状态检查包括
使用TEID-HEADER +SGSN_IP_CTRL + SGSNC-TEID—FLAG, 4全查是否存在隧
道;
如果存在隧道,且处于所述初始激活状态的隧道由所述创建SGSN上下文 请求消息创建,则所述隧道状态正确,更新所述隧道中SGSN信息,以及置所 述隧道状态为半激活状态;
如果不存在隧道,则隧道状态错误;
707、 若隧道状态;险查通过,GTP状态防火墙更新隧道;
708、 GTP状态防火墙转发创建SGSN上下文响应消息;
709、 SGSN向GGSN回应创建SGSN上下文确i人消息;
710、 GTP状态防火墙对创建SGSN上下文确认消息进行隧道状态检查; 隧道状态^r查包括
使用TEID-HEADER +GGSN_IP_CTRL + GGSNC—TEID—FLAG, 4全查是否存在隧
道;
如果存在隧道,则隧道状态正确,更新所述隧道状态中所述SGSN隧道信 息,并置所述隧道的状态为完成激活状态; 如果不存在隧道,则隧道状态错误;
711、 若隧道状态检查通过,GTP状态防火墙更新隧道;
712、 GTP状态防火墙转发创建SGSN上下文确认消息。 D.T-PDU消息
如图8所示,是T-PDU消息隧道状态检查示意图,T-PDU消息用于承载 用户数据。处理包括
图中,801 - 805是下行分组数据传输,806 - 810是上行分组数据传输。 下行数据传输包括
801、 分组数据网络主机向GGSN发送用户业务数据;
802、 GGSN把收到的用户业务数据封装成GTP的T-PDU消息,发送给 SGSN;
803、 GTP状态防火墙对T-PDU消息进行隧道状态;险查;包括
31乂使用SGSN—TEID—FLAG+TEID—HEADER+SGSN用户控制面地址SGSN—IP—USER; 如果存在隧道,则所述隧道状态正确; 如果不存在隧道,则所述隧道状态错误;
上述检查过程中,还可以同时检查所述T-PDU消息的序号,序号检查是 对T-PDU消息更进一步的检测,可以检测出消息本身前后的时序状态是否合 法,能够进一步防止利用承载数据消息进行的网络攻击。序号检测的具体实 施方式可以参考GTP协i义标准;
804、 若隧道状态4全查通过,GTP状态防火墙转发T-PDU消息给SGSN;
805、 SGSN收到T-PDU消息后,解封装此消息为用户业务数据,发送给MS。
上行数据传输包括
806、 MS向SGSN发送用户业务数据;
807、 SGSN把收到的用户业务数据封装成GTP的T-PDU消息,发送给 GGSN;
808、 GTP状态防火墙对T-PDU消息进行隧道状态;险查;
使用GGSN—TEID—FLAG+TEID—HEADER+GGSN用户控制面地址GGSN—IP_USER,
检查是否存在隧道;
如果存在隧道,则所述隧道状态正确; 如果不存在隧道,则所述隧道状态错误;
上述检查过程中,还可以同时检查所述T-PDU消息的序号,序号4企查是 对T-PDU消息更进一步的检测,可以检测出消息本身前后的时序状态是否合 法,能够进一步防止利用承载数据消息进行的网络攻击,转发合法的T-PDU 消息,抛弃不合法的T-PDU消息。序号检测的具体实施方式
可以参考GTP协 议标准;
809、 若隧道状态4企查通过,GTP状态防火墙转发T-PDU消息给GGSN;
810、 GGSN收到T-PDU消息后,解封装此消息为用户业务数据,发送给 分组数据网络主机。
E.时序状态特征消息
如图9所示,是对Echo Request和Echo Response消息的处理过程,包括
32步骤
901 、 SGSN向GGSN发送Echo请求消息;
902、 GTP状态防火墙对Echo请求消息进行时序状态检查;时序状态检 查可以参考前述第三方式进行
获取所述Echo请求消息的路径、序号和消息值; 如果查到同样的Echo请求消息,则时序状态错误; 如果没有查到同样的Echo请求消息,则时序状态正确;
903、 若时序状态检查通过,GTP状态防火墙建时序状态记录,维护所述 GTP请求消息的时序状态记录,设置所述GTP请求消息状态为请求状态;
对于其他的GTP请求消息,也可以采用本步骤同样的方法进行处理。
904、 GTP状态防火墙转发Echo请求消息给GGSN; 905 、 GGSN回应Echo响应消息给SGSN;
906、 GTP状态防火墙对Echo响应消息进行时序状态检查;包括 对于收到的Echo响应消息,如果查到对应的Echo ^"求消息,则时序状
态正确;
如果没有查到对应的GTP请求消息,则时序状态错误;对于其他的GTP响 应消息,可以进行同样的处理;
907、 若隧道状态检查通过,设置所述GTP请求消息状态为完成状态,删 除所述Echo响应消息的时序状态记录;
卯8、 GTP状态防火墙转发Echo响应消息给SGSN。 本发明实施例具有以下有益效果
首先,通过本发明实施例的状态检查,能够过滤状态错误的GTP消息, 保证GTP会话不被黑客利用和攻击,从而保障GTP业务的安全。通过控制面 消息隧道状态^r查,能够有效防范以下攻击
大量消耗GSN设备资源直到其无法4是供服务的PDP上下文拥塞攻击、各 种路径拥塞攻击、使用GTP消息的DDoS (Distributed Denial of Service,分布 式服务拒绝)攻击和各种扰乱合法用户会话和扰乱GPRS网络状态的攻击, 也就是说,本发明实施例能够有效防范各种基于GTP会话消息发起的攻击。
其次,通过用户业务数据状态检查,能够抵抗利用错误指示消息(ErrorIndication)的网络扫描攻击,以及基于此消息的DDoS攻击、计费状态攻击 以及其他基于此消息的各种攻击。
再次,通过时序状态检查,能够防范路径拥塞攻击、网络扫描攻击、 对关联网络设施的攻击,以及对关联网络所保存的用户信息的攻击、计费状 态攻击和4吏用时序特征消息的DDoS攻击。
最后,虽然基于状态的攻击手段比较隐秘,后果十分严重。但是,通过 采用本发明实施例所提供的报文过滤的各个技术方案,实现了对用户会话的 完整过程进行全部检查,从而达到了从深层次上防范黑客的技术效果,能够 提供细化的安全需求保障。
一言概之,只要存在GTP会话,本发明实施例就可以对与此GTP会话有 关的所有业务都提供安全可靠的深度保障。
参考图IO所示,是本发明实施例所提供的一种GTP协议报文过滤装置的 第一结构框图,可以安装在防火墙上,用于处理GTP消息,GTP消息包括隧 道状态特征消息和时序状态特征消息,所述装置包括
隧道状态;险查单元1001,用于^r查隧道状态特征消息的隧道状态;
第一处理单元1002,用于如果所述隧道状态特征消息的隧道状态正确, 才艮据所述隧道状态特征消息维护GTP隧道;
如果所述隧道状态特征消息隧道状态错误,按预设条件处理所述隧道状
态特征消息,如将所述隧道状态特征消息转发或抛弃;
维护GTP隧道是指,根据GTP消息,转换GTP隧道的状态,例如收到
"更新PDP上下文请求"消息后,-没置为初始更新状态;收到"更新PDP上 下文响应"消息后,设置为完成更新状态;收到"删除PDP上下文请求"消 息后,设置为初始去激活状态。其他的GTP消息,也都是根据GTP隧道的状 态转换关系,设置其相应的GTP隧道。
时序状态检查单元1003,用于根据时序状态特征消息的时序状态记录, 一全查所述时序状态特征消息的时序状态;
第二处理单元1004,用于如果时序状态正确,根据所述时序状态特征消 息维护所述时序状态记录;
维护所述时序状态记录是指,根据时序状态特征消息,进行时序状态的切换。例如,可以参照图2所示的状态切换关系,在时序状态检查过程中,
当接收到请求消息后,进入请求状态,如果再收到合法响应消息,则进入已 完成状态,表示一个完整的时序状态进行完毕。
其中,所述时序状态特征消息的时序状态记录可以包括 所述时序状态特征消息的路径和序号;或 所述时序状态特征消息的路径、序号和关联字段。
如果时序状态错误,按预设条件处理所述时序状态特征消息,如将所述 隧道状态特征消息转发或抛弃。其中,如图11所示,是本发明实施例的装置 第二结构框图,还可以包括获取单元1105,用于获取所述GTP隧道的GTP消 息关^l建字信息和所述GTP隧道地址,所述GTP消息关^l建字信息和所述GTP隧 道地址用于4全查隧道状态。
所述关键字信息可以根据实际情况选择,例如,在使用第一方式进行检 查和第二方式进行检查的时候,分别可以将IMSI +NSAPI或TEID +IP +TEID 分配标志+ NSAPI + Sequence作为关4建字信息。
其中,所述时序状态特征消息的时序状态记录可以包括
所述时序状态特征消息的路径和序号;或
所述时序状态特征消息的路径、序号和关联字段。
如果时序状态错误,按预设条件处理所述时序状态特征消息,如将所述 隧道状态特征消息转发或抛弃。
其中,如图12所示,是本发明实施例的装置第三结构框图,所述时序状
态;险查单元可以包括
第一;^查才莫块i201,用于对于收到的GTP请求消息,如果查到同样的GTP
请求消息,则时序状态错误;
第一设置模块1202,用于如果没有查到同样的GTP请求消息,则时序状 态正确,指示所述第二处理单元维护所述GTP请求消息的时序状态记录,设 置所述GTP请求消息状态为请求状态;
第二设置模块1203,用于对于收到的GTP响应消息,如果查到对应的GTP 请求消息,则时序状态正确,指示所述第二处理单元设置所述GTP请求消息 状态为完成状态,删除所述GTP响应消息的时序状态记录;
35第二4全查才莫块1204,用于如果没有查到对应的GTP请求消息,则时序状 态错误。
其中,如图13所示,是本发明实施例的装置第四结构框图,如果使用第 一方式进行隧道状态检查,则所述隧道状态检查单元可以包括第三#全查模 块1301,用于如果隧道关键字信息中包括国际移动用户识别码IMSI和网络层 业务接入点标识NSAPI,则使用IMSI+NSAPI检查隧道状态特征消息的隧道状 态。
其中,如果使用第一方式进行隧道状态特征检查,则所述隧道状态特征 消息包4舌
创建分组数据协议PDP上下文请求消息,创建PDP上下文响应消息,更 新PDP上下文请求消息,更新PDP上下文响应消息,删除PDP上下文请求消 息,删除PDP上下文响应消息,创建服务GPRS支持节点SGSN上下文请求消 息,创建SGSN上下文响应消息,创建SGSN上下文确认消息,原始分组数据 单元T-PDU消息,创建PDP上下文请求消息的首次激活消息。
使用第一方式可以对上述各个消息进行隧道状态检查,检查其是否符合 隧道状态特征。
在本发明实施例中,第四检查模块和第五检查模块可以根据应用的需要 择一使用或共同使用。
其中,如图14所示,是本发明实施例的装置第五结构框图,如果使用第 二方式进行隧道状态特征检查,则所述隧道状态检查单元可以包括第四检 查模块1401,用于如果隧道关键字信息中包括隧道端点标识符TEID、因特网 协议IP地址、TEID分配标志和GTP消息序号Sequence,则使用所述隧道关 键字信息检查隧道状态;或
第五检查模块1402,用于如果所述隧道关键字信息中包括隧道端点标识 符TEID、因特网协议IP地址、TEID分配标志、NSAPI和GTP消息序号Sequence, 则使用所述隧道关键字信息检查隧道状态。
其中,如图15所示,是本发明实施例的装置第六结构框图,如果使用第 二方式进行隧道状态特征检查隧道创建状态是否合法,则所述隧道状态检查 单元还包括第六检查模块1501,用于收到创建PDP上下文请求消息的二次激活消息
后,使用所述TEID+GGSN分配的控制面隧道端点标识GGSNC-TEID-FLAG+GGSN 控制面地址GGSN_IP_CTRL, 4全查所述二次激活消息对应的首次激活隧道;
第一创建模块1502,用于如果没有首次激活消息,则根据所述创建PDP 上下文请求消息创建隧道;
第七检查模块1503,用于收到创建PDP上下文响应消息后,使用SGSN分 配的控制面隧道端点标识SGSNC _ TEID- FLAG+所述TEID _ HE ADER+SGSN控制面;也 址SGSN—IP—CTRL+所述创建PDP上下文响应消息序号Sequence, 4佥查是否存 在与所述创建PDP上下文响应消息对应的隧道,如果不存在隧道,则隧道状 态错误,如杲存在隧道,则隧道状态正确;
所述第一处理单元包括第一处理子单元1504和第二处理子单元1505, 第一处理子单元1504,用于如果存在首次激活消息,且首次激活消息对应的 隧道状态正确,转发所述创建PDP上下文请求消息;
第二处理子单元1505,用于如果存在首次激活消息,且首次激活消息对 应的隧道状态错误,根据用户配置抛弃或转发所述创建PDP上下文请求消息。
其中,如图16所示,是本发明实施例的装置第七结构框图,如果使用第 二方式进行隧道状态特征检查隧道更新状态是否合法,则所述隧道状态检查 单元还包括
第八检查模块1601,用于收到更新PDP上下文请求消息后,如果所述更 新PDP上下文请求消息由SGSN发起,则使用TEID-HEADER+GGSN控制面地址 GGSN_IP_CTRL+GGSN分配的控制面隧道端点标识GGSNC—TEID_FLAG+NSAPI ,才企 查是否存在隧道;
第九检查模块1602,用于如果所述更新PDP上下文请求消息由GGSN发起, 则使用TEID-HEADER+SGSN控制面地址SGSN-IP-CTRL+SGSN分配的控制面隧道 端点标识SGSNC-TEID_FLAG+NSAPI,检查是否存在隧道;
如果存在隧道,则隧道状态正确;
如果不存在隧道,则隧道状态错误;
第十检查模块1603,用于收到更新PDP上下文响应消息后,如果所述更 新PDP上下文响应消息由GGSN发出,则使用TEID_HEADER+SGSN控制面地址SGSN-IP-CTRL+SGSN分配的控制面隧道端点标识SGSNC—TEID—FLAG+所述更新 PDP上下文响应消息序号Sequence,检查是否存在隧道;
第十一检查模块1604,用于如果所述更新PDP上下文响应消息由SGSN发 出,则4吏用TEID-HEADER+GGSN控制面地址GGSN_IP_CTRL+GGSN分配的控制面 隧道端点标识GGSNC_TEID—FLAG+所述更新PDP上下文响应消息序号 Sequence,;险查是否存在隧道;
如果存在隧道,则隧道状态正确;
如果不存在隧道,则隧道状态错误。
其中,如图17所示,是本发明实施例的装置第八结构框图,如果使用第 二方式进行隧道状态特征检查隧道去激活状态是否合法,则所述隧道状态检 查单元还可以包4舌
第十二检查模块1701,用于收到删除PDP上下文请求消息后,如果所述 删除PDP上下文请求消息是由SGSN发给GGSN,则使用TEID—HEADER+ GGSN_IP_CTRL +GGSNC-TEID—FLAG + NSAPI,;险查是否存在隧道;
第十三检查模块1702,用于如果所述删除PDP上下文请求消息是由GGSN 发纟合SGSN,则^f吏用TEID_HEADER+GGSN_IP—CTRL+GGSNC_TEID-FLAG+NSAPI,才企
查是否存在隧道;
如果存在隧道,则隧道状态正确;
如果不存在隧道,则隧道状态错误;
第十四;f企查;f莫块1703,用于收到删除PDP上下文响应消息后,如果所述 删除PDP上下文响应消息是由 GGSN发给SGSN ,则使用 TEID-HEADER+SGSN-IP-CTRL+SGSNC-TEID—FLAG+所述删除PDP上下文响应消息 序号Sequence,;险查是否存在隧道;
第十五检查模块1704,用于如果所述删除PDP上下文响应消息是由SGSN 发纟会GGSN,则<吏用TEID_HEADER+GGSN_IP—CTRL+GGSNC—TEID—FLAG+所述删除 PDP上下文响应消息序号Sequence,检查是否存在隧道;
如果存在隧道,则隧道状态正确;
如果不存在隧道,则隧道状态错误。
其中,如图18所示,是本发明实施例的装置第九结构框图,如果使用第二方式进行隧道状态特征检查隧道路由去更新状态是否合法,则所述隧道状
态检查单元还包括
第十六检查模块1801,用于收到创建SGSN上下文请求消息后,则使用从 信息元素获取的隧道端点标识TEID_IE+SGSN_IP—CTRL+SGSNC-TEID_FLAG, 4企
查是否存在隧道;
如果存在隧道,则隧道状态错误;
如果不存在隧道,则指示所述第一处理单元创建隧道,以及置所述隧道
的状态为初始激活状态;
第十七检查模块1802,用于收到创建SGSN上下文响应消息后,则使用 TEID-HEADER +SGSN_IP—CTRL + SGSNC-TEID—FLAG, 4全查是否存在隧道;
如果存在隧道,且处于所述初始激活状态的隧道由所述创建SGSN上下文 请求消息创建,则所述隧道状态正确,以及指示所述第一处理单元更新所述 隧道中SGSN信息,以及置所述隧道状态为半激活状态;
如果不存在隧道,则隧道状态错误;
第十八检查模块1803,用于收到创建SGSN上下文确认消息后,则使用 TEID-HEADER +GGSN—IP—CTRL + GGSNC—TEID—FLAG,检查是否存在隧道;
如果存在隧道,则隧道状态正确,则指示所述第一处理单元更新所述隧 道状态中所述SGSN隧道信息,并置所述隧道的状态为完成激活状态;
如果不存在隧道,则隧道状态错误。
其中,如图19所示,是本发明实施例的装置第十结构框图,如果使用第 二方式进行隧道状态特征4全查T-PDU消息状态是否合法,则所述隧道状态检 查单元还包括
第十九检查模块1901,用于收到原始分组数据单元消息T-PDU后,则使 用SGSN—TEID—FLAG+TEID—HEADER+SGSN用户控制面地址SGSN_IP_USER,或者
第二十检查模块1902,用于使用GGSN—TEID_FLAG+TEID_HEADER+GGSN用 户控制面地址GGSN_IP-USER,检查是否存在隧道;
如果存在隧道,则所述隧道状态正确;
如果不存在隧道,则所述隧道状态错误。
其中,如图20所示,是本发明实施例的装置第十一结构框图,所述装置
39还可以包4舌
序号检查单元2001,用于如果存在隧道,检查所述T-PDU消息序号; 第三处理单元2002,用于转发合法的T-PDU消息,抛弃不合法的T-PDU 消息。
其中,如图20所示,是本发明实施例的装置第十一结构框图,所述装置 还可以包括获取单元2005,用于获取所述GTP隧道的GTP消息关键字信息 和所述GTP隧道地址,所述GTP消息关键字信息和所述GTP隧道地址用于检 查隧道状态。
所述关键字信息可以根据实际情况选择,例如,在使用第一方式进行检 查和第二方式进行检查的时候,分别可以将IMSI+NSAPI或TEID +IP +TEID 分配标志+ NSAPI + Sequence作为关4建字信息。
本发明实施例提供的装置具有与方法部分相同的技术效果,不再重复。 如图21所示,是本发明实施例所提供的过滤报文的系统的结构框图,用于处 理GTP消息,GTP消息包括隧道状态特征消息和时序状态特征消息,所述系 统包括
防火墙2101,所述防火墙包括
隧道状态检查单元,用于检查隧道状态特征消息的隧道状态; 第一处理单元,用于如果隧道状态正确,则根据GTP消息维护GTP隧道; 如果隧道状态错误,按预设条件处理所述隧道状态特征消息; 时序状态检查单元,用于根据时序状态特征消息的时序状态记录,检查
所述时序状态特征消息的时序状态;
第二处理单元,用于如果时序状态正确,根据所述时序状态特征消息维
护所述时序状态记录;
如果时序状态错误,按预设条件处理所述时序状态特征消息。
本发明实施例所提供的系统,由于防火墙具有与装置实施例相同的技术
效果,所以本发明的系统具有与前述各个实施例相同的技术效果。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本
发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,
但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算 机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实 施例所述的方法。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何 在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本 发明的保护范围之内。
权利要求
1、一种过滤报文的方法,其特征在于,通用无线分组服务隧道协议GTP消息包括隧道状态特征消息和时序状态特征消息,所述方法包括检查隧道状态特征消息的隧道状态,如果隧道状态正确,则根据隧道状态特征消息维护GTP隧道;如果隧道状态错误,按预设条件处理所述隧道状态特征消息;根据时序状态特征消息的时序状态记录,检查所述时序状态特征消息的时序状态;如果时序状态正确,根据所述时序状态特征消息维护所述时序状态记录;如果时序状态错误,按预设条件处理所述时序状态特征消息。
2、 如权利要求l所述的方法,其特征在于,所述时序状态特征消息的时 序状态记录包括所述时序状态特征消息的路径和序号;或 所述时序状态特征消息的路径、序号和关联字段。
3、 如权利要求1或2任一项所述的方法,其特征在于,检查所述所述时 序状态特征消息的时序状态包括对于收到的GTP请求消息,如果查到同样的GTP请求消息,则时序状态 错误;如果没有查到同样的GTP请求消息,则时序状态正确,则所述根据所述 时序状态特征消息维护所述时序状态记录包括维护所述GTP请求消息的时 序状态记录,设置所述GTP请求消息状态为请求状态;对于收到的GTP响应消息,如果查到对应的GTP请求消息,则时序状态 正确,则所述根据所述时序状态特征消息维护所述时序状态记录包括设置 所述GTP请求消息状态为完成状态,删除所述GTP响应消息的时序状态记录;如果没有查到对应的GTP请求消息,则时序状态错误。
4、 如权利要求l所述的方法,其特征在于,所述检查隧道状态特征消息 的隧道状态包括如果隧道关键字信息中包括国际移动用户识别码工MSI和网络层业务接入 点标识NSAPI,则使用IMSI和NSAPI检查隧道状态特征消息的隧道状态。
5、 如权利要求4所述的方法,其特征在于,所述隧道状态特征消息包括创建分组数据协议PDP上下文请求消息,创建PDP上下文响应消息,更新PDP上下文请求消息,更新PDP上下文响应消息,删除PDP上下文请求消息,删除PDP上下文响应消息,创建服务GPRS支持节点SGSN上下文请求消息,创建SGSN上下文响应消息,创建SGSN上下文确认消息,原始分组数据单元T-PDU消息,创建PDP上下文请求消息的首次激活消息。
6、 如权利要求l所述的方法,其特征在于,所述^r查隧道状态特征消息的隧道状态包括如果隧道关键字信息中包括隧道端点标识符TEID、因特网协议IP地址、TEID分配标志和GTP消息序号Sequence,则4吏用所述隧道关4建字信息;险查隧道状态;或如果隧道关键字信息中包括隧道端点标识符TEID、因特网协议IP地址、TEID分配标志、NSAPI和GTP消息序号Sequence,则使用所述隧道关键字信息检查隧道状态。
7、 如权利要求6所述的方法,其特征在于,所述检查隧道状态特征消息的隧道状态包括当收到创建PDP上下文请求消息的二次激活消息后,使用所述TEID和GGSN分配的控制面隧道端点标识GGSNC-TEID—FLAG和GGSN控制面地址GGSN_IP_CTRL,检查所述二次激活消息对应的首次激活隧道;如果没有首次激活消息,则才艮据所述创建PDP上下文请求消息创建隧道;如果存在首次激活消息,且首次激活消息对应的隧道状态正确,则转发所述创建PDP上下文请求消息;如果存在首次激活消息,且首次激活消息对应的隧道状态错误,则按预设条件处理所述隧道状态特征消息具体为根据用户配置抛弃或转发所述创建PDP上下文请求消息;当收到创建PDP上下文响应消息后,使用SGSN分配的控制面隧道端点标识SGSNC-TEID-FLAG、所述TEID_HEADER、 SGSN控制面地址SGSN_IP_CTRL和所述创建PDP上下文响应消息序号Sequence,检查是否存在与所述创建PDP上下文响应消息对应的隧道;如果不存在隧道,则隧道状态4普误;如果存在隧道,则隧道状态正确。
8、 如权利要求6所述的方法,其特征在于,所述检查隧道状态特征消息的隧道状态包括收到更新PDP上下文请求消息后,如果所述更新PDP上下文请求消息由SGSN发起,则使用TEID_HEADER、 GGSN控制面地址GGSN—IP_CTRL、 GGSN分配的控制面隧道端点标识GGSNC—TEID-FLAG和NSAPI, 4企查是否存在隧道;如果所述更新PDP上下文请求消息由GGSN发起,则使用TEID_HEADER、SGSN控制面地址SGSN_ IP-CTRL 、 SGSN分配的控制面隧道端点标识SGSNC-TEID-FLAG和NSAPI, 4全查是否存在隧道;如果存在隧道,则隧道状态正确;如果不存在隧道,则隧道状态错误;收到更新PDP上下文响应消息后,如果所述更新PDP上下文响应消息由GGSN发出,则使用TEID_HEADER、 SGSN控制面地址SGSN_IP_CTRL、 SGSN分配的控制面隧道端点标识SGSNC-TEID-FLAG和所述更新PDP上下文响应消息序号Sequence, 4企查是否存在隧道;如果所述更新PDP上下文响应消息由SGSN发出,则使用TEID_HEADER、GGSN控制面地址GGSN_ IP-CTRL 、 GGSN分配的控制面隧道端点标识GGSNC-TEID-FLAG和所述更新PDP上下文响应消息序号Sequence,检查是否存在隧道;如果存在隧道,则隧道状态正确;如果不存在隧道,则隧道状态错误。
9、 如权利要求6所述的方法,其特征在于,所述检查隧道状态特征消息的隧道状态包括收到删除PDP上下文请求消息后,如果所述删除PDP上下文请求消息是由SGSN发给GGSN,则使用TEID-HEADER、 GGSN_IP—CTRL 、 GGSNC_TEID_FLAG和NSAPI, 4企查是否存在隧道;如果所述删除PDP上下文请求消息是由GGSN发给SGSN,则使用TEID_HEADER、 GGSN—IP—CTRL、 GGSNC—TEID—FLAG和NSAPI,检查是否存在隧道;如果存在隧道,则隧道状态正确;如果不存在隧道,则隧道状态错误;收到删除PDP上下文响应消息后,如果所述删除PDP上下文响应消息是由GGSN发给SGSN,则使用TEID—HEADER、 SGSN_IP_CTRL、 SGSNC—TEID—FLAG和所述删除PDP上下文响应消息序号Sequence,;险查是否存在隧道;如果所述删除PDP上下文响应消息是由SGSN发给GGSN,则使用TEID—HEADER、 GGSN_IP—CTRL、 GGSNC_TEID_FLAG和所述删除PDP上下文响应消息序号Sequence,检查是否存在隧道;如果存在隧道,则隧道状态正确;如果不存在隧道,则隧道状态错误。
10、 如权利要求6所述的方法,其特征在于,所述检查隧道状态特征消息的隧道状态包括收到创建SGSN上下文请求消息后,则使用从信息元素获取的隧道端点标识TEID一IE、 SGSN—IP—CTRL和SGSNC-TEID-FLAG,冲企查是否存在隧道;如果存在隧道,则隧道状态错误;如果不存在隧道,则创建隧道,以及置所述隧道的状态为初始激活状态;收到创建SGSN上下文响应消息后,则使用TEID-HEADER 、 SGSN_IP_CTRL和SGSNC-TEID-FLAG,;险查是否存在隧道;如果存在隧道,且处于所述初始激活状态的隧道由所述创建SGSN上下文请求消息创建,则所述隧道状态正确,更新所述隧道中SGSN信息,以及置所述隧道状态为半激活状态;如果不存在隧道,则隧道状态错误;收到创建SGSN上下文确认消息后,则使用TEID-HEADER 、 GGSN_IP_CTRL和GGSNC-TEID-FLAG, 4全查是否存在隧道;如果存在隧道,则隧道状态正确,更新所述隧道状态中所述SGSN隧道信息,并置所述隧道的状态为完成激活状态;如果不存在隧道,则隧道状态错误。
11、 如权利要求6所述的方法,其特征在于,所述检查隧道状态特征消息的隧道状态包括收到原始分组数据单元消息T-PDU后,则使用SGSN_TEID_FLAG、TEID-HEADER和SGSN用户控制面地址SGSN_IP_USER,或者^使用 GGSN—TEID—FLAG 、 TEID—HEADER和GGSN用户控制面地址GGSN_IP_USER, 4全查是否存在隧道;如果存在隧道,则所述隧道状态正确;如果不存在隧道,则所述隧道状态错误。
12、 如权利要求11所述的方法,其特征在于,如果存在隧道,还包括检查所述T-PDU消息序号,转发合法的T-PDU消息,抛弃不合法的T-PDU消息。
13、 如权利要求1所述的方法,其特征在于,在所述检查隧道状态特征消息的隧道状态之前,还包括获取所述GTP隧道的GTP消息关键字信息和所述GTP隧道地址,所述GTP消息关键字信息和所述GTP隧道地址用于检查隧道状态。
14、 一种过滤报文的装置,其特征在于,通用无线分组服务隧道协议GTP消息包括隧道状态特征消息和时序状态特征消息,所述装置包括隧道状态检查单元,用于检查隧道状态特征消息的隧道状态;第一处理单元,用于如果隧道状态正确,则根据隧道状态特征消息维护GTP隧道;如果隧道状态错误,按预设条件处理所述隧道状态特征消息;时序状态检查单元,用于根据时序状态特征消息的时序状态记录,检查所述时序状态特征消息的时序状态;第二处理单元,用于如果时序状态正确,根据所述时序状态特征消息维护所述时序状态记录;如果时序状态错误,按预设条件处理所述时序状态特征消息。
15、 如权利要求14所述的装置,其特征在于,所述时序状态特征消息的时序状态记录包括所述时序状态特征消息的路径和序号;或所述时序状态特征消息的路径、序号和关联字段。
16、 如权利要求14或15任一项所述的装置,其特征在于,所述时序状态检查单元包括第一检查冲莫块,用于对于收到的GTP请求消息,如果查到同样的GTP请求消息,则时序状态错误;第一设置模块,用于如果没有查到同样的GTP请求消息,则时序状态正确,指示所述第二处理单元维护所述GTP请求消息的时序状态记录,设置所述GTP请求消息状态为请求状态;第二设置才莫块,用于对于收到的GTP响应消息,如果查到对应的GTP请求消息,则时序状态正确,指示所述第二处理单元设置所述GTP请求消息状态为完成状态,删除所述GTP响应消息的时序状态记录;第二检查模块,用于如果没有查到对应的GTP请求消息,则时序状态错误。
17、 如权利要求14所述的装置,其特征在于,所述隧道状态检查单元包括第三检查模块,用于如果隧道关键字信息中包括国际移动用户识别码IMSI和网络层业务接入点标识NSAPI,则使用IMSI和NSAPI检查隧道状态特征消息的隧道状态。
18、 如权利要求17所述的装置,其特征在于,所述隧道状态特征消息包括创建分组数据协议PDP上下文请求消息,创建PDP上下文响应消息,更新PDP上下文请求消息,更新PDP上下文响应消息,删除PDP上下文请求消息,删除PDP上下文响应消息,创建服务GPRS支持节点SGSN上下文请求消息,创建SGSN上下文响应消息,创建SGSN上下文确认消息,原始分组数据单元T-PDU消息,创建PDP上下文请求消息的首次激活消息。
19、 如权利要求14所述的装置,其特征在于,所述隧道状态检查单元包括第四检查模块,用于如果隧道关键字信息中包括隧道端点标识符TEID、因特网协议IP地址、TEID分配标志和GTP消息序号Sequence,则使用所述隧道关键字信息检查隧道状态;或第五检查模块,用于如果所述隧道关键字信息中包括隧道端点标识符TEID、因特网协议IP地址、TEID分配标志、NSAPI和GTP消息序号Sequence,则使用所述隧道关键字信息检查隧道状态。
20、 如权利要求19所述的装置,其特征在于,所述隧道状态检查单元还包括第六4全查模块,用于收到创建PDP上下文请求消息的二次激活消息后,使用所述TEID、 GGSN分配的控制面隧道端点标识GGSNC-TEID-FLAG和GGSN控制面地址GGSN_IP_CTRL,;险查所述二次激活消息对应的首次激活隧道;第一创建模块,用于如果没有首次激活消息,则根据所述创建PDP上下文请求消息创建隧道;第七片企查模块,用于收到创建PDP上下文响应消息后,使用SGSN分配的控制面隧道端点标识SGSNC-TEID-FLAG、所述TEID—HEADER、 SGSN控制面地址SGSN-IP-CTRL和所述创建PDP上下文响应消息序号Sequence, 4全查是否存在与所述创建PDP上下文响应消息对应的隧道,如果不存在隧道,则隧道状态错误,如果存在隧道,则隧道状态正确;所述第一处理单元包括第一处理子单元,用于如果存在首次激活消息,且首次激活消息对应的隧道状态正确,转发所述创建PDP上下文请求消息;第二处理子单元,用于如果存在首次激活消息,且首次激活消息对应的隧道状态错误,根据用户配置抛弃或转发所述创建PDP上下文请求消息。
21、 如权利要求19所述的装置,其特征在于,所述隧道状态检查单元还包括第八检查模块,用于收到更新PDP上下文请求消息后,如果所述更新PDP上下文请求消息由SGSN发起,则使用TEID-HEADER、 GGSN控制面地址GGSN-IP-CTRL、 GGSN分配的控制面隧道端点标识GGSNC-TEID-FLAG和NSAPI,检查是否存在隧道;第九检查模块,用于如果所述更新PDP上下文请求消息由GGSN发起,则使用TEID_HEADER、 SGSN控制面地址SGSN_IP_CTRL、 SGSN分配的控制面隧道端点标识SGSNC-TEID_FLAG和NSAPI,检查是否存在隧道;如果存在隧道,则隧道状态正确;如果不存在隧道,则隧道状态错误;第十4企查4莫块,用于收到更新PDP上下文响应消息后,如果所迷更新PDP上下文响应消息由GGSN发出,则使用TEID-HEADER、 SGSN控制面地址SGSN-IP-CTRL、 SGSN分配的控制面隧道端点标识SGSNC_TEID_FLAG和所述更新PDP上下文响应消息序号Sequence, 4企查是否存在隧道;第十一检查模块,用于如果所述更新PDP上下文响应消息由SGSN发出,则使用TEID_HEADER、 GGSN控制面地址GGSN_IP_CTRL、 GGSN分配的控制面隧道端点标识GGSNC-TEID-FLAG和所述更新PDP上下文响应消息序号Sequence,检查是否存在隧道;如果存在隧道,则隧道状态正确;如果不存在隧道,则隧道状态错误。
22、 如权利要求19所述的装置,其特征在于,所述隧道状态;险查单元还包括第十二检查模块,用于收到删除PDP上下文请求消息后,如果所述删除PDP上下文请求消息是由SGSN发给GGSN,则使用TEID_HEADER 、GGSN_IP_CTRL 、 GGSNC—TEID—FLAG和NSAPI, -险查是否存在隧道;第十三检查模块,用于如果所述删除PDP上下文请求消息是由GGSN发给SGSN,则4吏用TEID_HEADER、 GGSN_IP_CTRL、 GGSNC—TEID—FLAG和NSAPI,才全查是否存在隧道;如果存在隧道,则隧道状态正确;如果不存在隧道,则隧道状态错误;第十四检查模块,用于收到删除PDP上下文响应消息后,如果所述删除PDP上下文响应消息是由GGSN发给SGSN,则使用TEID_HEADER、SGSN_IP_CTRL、SGSNC_TEID_FLAG和所述删除PDP上下文响应消息序号Sequence, 4企查是否存在隧道;第十五检查模块,用于如果所述删除PDP上下文响应消息是由SGSN发给GGSN,则使用TEID-HEADER、 GGSN_IP_CTRL、 GGSNC—TEID—FLAG和所述删除PDP上下文响应消息序号Sequence,冲全查是否存在隧道;如果存在隧道,则隧道状态正确;如果不存在隧道,则隧道状态错误。
23、 如权利要求19所述的装置,其特征在于,所述隧道状态检查单元还包括第十六检查模块,用于收到创建SGSN上下文请求消息后,则使用从信息元素获耳又的隧道端点标识TEID_IE、 SGSN—IP—CTRL和SGSNC_TEID_FLAG,;险查是否存在隧道;如果存在隧道,则隧道状态错误;如果不存在隧道,则指示所述第一处理单元创建隧道,以及置所述隧道的状态为初始激活状态;第十七检查模块,用于收到创建SGSN上下文响应消息后,则使用TEID—HEADER 、 SGSN—IP—CTRL和SGSNC—TEID—FLAG,才全查是否存在隧道;如果存在隧道,且处于所述初始激活状态的隧道由所述创建SGSN上下文请求消息创建,则所述隧道状态正确,以及指示所述第一处理单元更新所述隧道中SGSN信息,以及置所述隧道状态为半激活状态;如果不存在隧道,则隧道状态错误;第十八检查模块,用于收到创建SGSN上下文确认消息后,则使用TEID-HEADER 、 GGSN—IP—CTRL和GGSNC—TEID_FLAG, 4企查是否存在隧道;如果存在隧道,则隧道状态正确,则指示所述第一处理单元更新所述隧道状态中所述SGSN隧道信息,并置所述隧道的状态为完成激活状态;如果不存在隧道,则隧道状态错误。
24、 如权利要求19所述的装置,其特征在于,所述隧道状态^r查单元还包括第十九检查模块,用于收到原始分组数据单元消息T-PDU后,则使用SGSN_TEID_FLAG、 TEID_HEADER和SGSN用户控制面地址SGSN—IP_USER,或者第二十检查模块,用于使用GGSN-TEID-FLAG和TEID—HEADER+GGSN用户控制面地址GGSN-IP-USER,;险查是否存在隧道;如果存在隧道,则所述隧道状态正确;如果不存在隧道,则所述隧道状态4晉误。
25、 如权利要求24所述的装置,其特征在于,还包括序号检查单元,用于如果存在隧道,检查所述T-PDU消息序号;第三处理单元,用于转发合法的T-PDU消息,抛弃不合法的T-PDU消息。
26、 如权利要求14所述的装置,其特征在于,还包括获取单元,用于获取所述GTP隧道的GTP消息关键字信息和所述GTP隧道地址,所述GTP消息关键字信息和所述GTP隧道地址用于检查隧道状态。
27、 一种过滤报文的系统,其特征在于,通用无线分组服务隧道协议GTP消息包括隧道状态特征消息和时序状态特征消息,所述系统包括防火墙,所述防火墙包括隧道状态检查单元,用于检查隧道状态特征消息的隧道状态;第一处理单元,用于如果隧道状态正确,则根据GTP消息维护GTP隧道;如果隧道状态错误,按预设条件处理所述隧道状态特征消息;时序状态检查单元,用于根据时序状态特征消息的时序状态记录,检查所述时序状态特征消息的时序状态;第二处理单元,用于如果时序状态正确,根据所述时序状态特征消息维护所述时序状态记录;如果时序状态错误,按预设条件处理所述时序状态特征消息。
全文摘要
本发明实施例公开了一种过滤报文的系统,包括防火墙,所述防火墙包括隧道状态检查单元,用于检查隧道状态特征消息的隧道状态;第一处理单元,用于如果隧道状态正确,则根据GTP消息维护GTP隧道;如果隧道状态错误,按预设条件处理所述隧道状态特征消息;时序状态检查单元,用于根据时序状态特征消息的时序状态记录,检查所述时序状态特征消息的时序状态;第二处理单元,用于如果时序状态正确,根据所述时序状态特征消息维护所述时序状态记录;如果时序状态错误,按预设条件处理所述时序状态特征消息。还公布了报文过滤的方法和装置,利用本发明实施例,实现了防火墙上进行基于会话状态过滤的安全技术。
文档编号H04W24/04GK101505478SQ200910117850
公开日2009年8月12日 申请日期2009年3月6日 优先权日2009年3月6日
发明者贺书琦 申请人:成都市华为赛门铁克科技有限公司