專利名稱:一種過濾報(bào)文的方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)及其安全技術(shù)領(lǐng)域,特別涉及一種過濾報(bào)文的方法、裝置和系統(tǒng)。
背景技術(shù):
GTP ( General Packet Radio Service Tunnelling Protocol,通用無線分纟且月良務(wù)隧道協(xié)議)是應(yīng)用在GPRS ( General Packet Radio Service,通用無線分組服務(wù))網(wǎng)絡(luò)核心網(wǎng)或WCDMA ( Wideband Code Division Multiple Access,寬帶碼分多址)、TD-SCDMA ( Time Division-Synchronous Code Division MultipleAccess,時(shí)分同步碼分多址)網(wǎng)絡(luò)核心網(wǎng)PS (Packet Switched domain,分組域)域的隧道通信協(xié)議,在GPRS網(wǎng)絡(luò)中,它被定義在Gn ( Gn Interface, Gn接口 )、 Gp ( Gp Interface, Gp接口 )、 Ga ( Ga Interface, Ga接口 )接口 ,在核心網(wǎng)PS域,它還被定義在Iu國PS (interface Interface between CN(PS) andRNC, CN(PS)和RNC之間的接口 )接口 。
原GSM網(wǎng)絡(luò)基礎(chǔ)上增加了一系列功能實(shí)體,主要包括PCU (Packet ControlUnit,分組控制單元)、SGSN (Service GPRS Support Node,服務(wù)GPRS支持節(jié)點(diǎn))、GGSN (Gateway GPRS Support Node,關(guān)口 GPRS支持節(jié)點(diǎn))、CG(Charging Gateway,計(jì)費(fèi)網(wǎng)關(guān))等網(wǎng)元,并對GSM網(wǎng)絡(luò)的網(wǎng)絡(luò)實(shí)體進(jìn)行升級以支持分組業(yè)務(wù)。
GTP協(xié)議在Gn、 Gp、 Ga和核心網(wǎng)PS域的Iu-PS接口以隧道方式傳輸分組數(shù)據(jù),它支持隧道的創(chuàng)建和維護(hù),以及分組數(shù)據(jù)的傳輸。GTP標(biāo)準(zhǔn)定義了一系列GTP消息,來支持用戶的分組數(shù)據(jù)業(yè)務(wù)。
通常GTP協(xié)議使用IP (Internet Protocol,因特網(wǎng)協(xié)議)協(xié)議承載。由于TCP/IP協(xié)議(Transmission Control Protocol,傳輸控制協(xié)議)和GTP協(xié)議本身并未制定完善的安全機(jī)制,隨著移動分組業(yè)務(wù)的快速發(fā)展和3G網(wǎng)絡(luò)的來臨,GPRS支撐點(diǎn)GSN ( GPRS Supporting Node, GPRS支撐點(diǎn))i殳備無法全 面的防范具有相互關(guān)聯(lián)的消息形式的攻擊,于是就產(chǎn)生了在GPRS網(wǎng)絡(luò)中使 用基于隧道連接狀態(tài)的高級過濾技術(shù)。
對于基于會話狀態(tài)的安全威脅而言,傳統(tǒng)防火墻技術(shù)和GSN的安全功能 組件無能為力。
現(xiàn)有技術(shù)中的處理方式是在GSN設(shè)備上,利用GSN的狀態(tài)檢查功能, 嵌入到會話處理過程中,進(jìn)行安全檢查。其技術(shù)問題在于GSN的狀態(tài)檢查功 能比較弱,原因是
1、 抗DoS (Denial of Service,拒絕服務(wù))攻擊能力差。由于GSN設(shè)備 的處理Dos攻擊的能力有限,因此,對DoS的防范能力太差。
2、 狀態(tài)檢查機(jī)制存在缺陷。由于GSN的狀態(tài)檢查功能是嵌入到其會話 處理過程的,那么GSN對GTP報(bào)文的狀態(tài);險(xiǎn)查是由GTP會話信令的處理過 程決定,如果攻擊者利用GTP會話信令以外的方式進(jìn)行攻擊,那么這種防范 方式將無能為力。
而且,在GSN設(shè)備上能夠完成的GSN狀態(tài)檢查功能,由于防火墻不具
有GSN狀態(tài)檢查功能,所以,現(xiàn)有技術(shù)中的防火墻都不具備GTP狀態(tài)檢查功 臺匕H匕。
在現(xiàn)有技術(shù)中,防火墻主要是通過五元組過濾技術(shù)進(jìn)行安全檢查,可以 對傳輸層和應(yīng)用層進(jìn)行安全檢查,這些安全檢查都是根據(jù)傳輸層協(xié)議和應(yīng)用
層協(xié)議進(jìn)行的,現(xiàn)有的防火墻都無法對GTP協(xié)議進(jìn)行狀態(tài)檢查。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題 現(xiàn)有技術(shù)無法在防火墻上提供基于狀態(tài)檢查的GTP會話安全過濾技術(shù)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明一個(gè)或多個(gè)實(shí)施例的目的在于提供一種過濾報(bào)文的方 法、裝置和系統(tǒng),以實(shí)現(xiàn)基于狀態(tài)4全查機(jī)制,對GTP會話進(jìn)行深度4企查。
為解決上述問題,本發(fā)明實(shí)施例提供了一種過濾報(bào)文的方法,通用無線 分組服務(wù)隧道協(xié)議GTP消息包括隧道狀態(tài)特征消息和時(shí)序狀態(tài)特征消息,所 述方法包括檢查隧道狀態(tài)特征消息的隧道狀態(tài),如果隧道狀態(tài)正確,則根 據(jù)隧道狀態(tài)特征消息維護(hù)GTP隧道;如果隧道狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述隧道狀態(tài)特征消息;
根據(jù)時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄,檢查所述時(shí)序狀態(tài)特征消息的
時(shí)序狀態(tài);
如果時(shí)序狀態(tài)正確,根據(jù)所述時(shí)序狀態(tài)特征消息維護(hù)所述時(shí)序狀態(tài)記錄; 如果時(shí)序狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述時(shí)序狀態(tài)特征消息。還提供了 一種過濾報(bào)文的裝置,其特征在于,通用無線分組服務(wù)隧道協(xié)議GTP消息包 括隧道狀態(tài)特征消息和時(shí)序狀態(tài)特征消息,所述裝置包括
隧道狀態(tài)檢查單元,用于檢查隧道狀態(tài)特征消息的隧道狀態(tài); 第一處理單元,用于如果隧道狀態(tài)正確,則根據(jù)隧道狀態(tài)特征消息維護(hù) GTP隧道;
如果隧道狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述隧道狀態(tài)特征消息; 時(shí)序狀態(tài)檢查單元,用于根據(jù)時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄,檢查
所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài);
第二處理單元,用于如果時(shí)序狀態(tài)正確,根據(jù)所述時(shí)序狀態(tài)特征消息維
護(hù)所述時(shí)序狀態(tài)記錄;
如果時(shí)序狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述時(shí)序狀態(tài)特征消息。 一種過濾報(bào)文的系統(tǒng),通用無線分組服務(wù)隧道協(xié)議GTP消息包括隧道狀
態(tài)特征消息和時(shí)序狀態(tài)特征消息,所述系統(tǒng)包括 防火墻,所述防火墻包括
隧道狀態(tài)檢查單元,用于檢查隧道狀態(tài)特征消息的隧道狀態(tài); 第一處理單元,用于如果隧道狀態(tài)正確,則根據(jù)GTP消息維護(hù)GTP隧道; 如果隧道狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述隧道狀態(tài)特征消息; 時(shí)序狀態(tài)檢查單元,用于根據(jù)時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄,檢查
所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài);
第二處理單元,用于如果時(shí)序狀態(tài)正確,根據(jù)所述時(shí)序狀態(tài)特征消息維
護(hù)所述時(shí)序狀態(tài)記錄;
如果時(shí)序狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述時(shí)序狀態(tài)特征消息。
與現(xiàn)有^^支術(shù)相比,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)
通過對GTP消息進(jìn)行隧道狀態(tài)檢查和時(shí)序狀態(tài)檢查,根據(jù)GTP消息的隧道狀態(tài)和時(shí)序狀態(tài)之間的內(nèi)在聯(lián)系,識別正確報(bào)文和錯(cuò)誤報(bào)文,并根據(jù)用戶
配置策略進(jìn)行相應(yīng)的處理,實(shí)現(xiàn)了對GTP消息的安全過濾。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí) 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講, 在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖l所示,是本發(fā)明實(shí)施例的GTP會話隧道狀態(tài)切換示意圖2所示,是本發(fā)明實(shí)施例的GTP會話時(shí)序狀態(tài)切換示意圖3所示,是本發(fā)明的實(shí)施例一的流程圖4所示,是本發(fā)明實(shí)施例的隧道創(chuàng)建狀態(tài)維護(hù)和檢查的信令流程圖; 圖5所示,是本發(fā)明實(shí)施例的創(chuàng)建隧道響應(yīng)消息的信令流程圖; 圖6所示,是本發(fā)明實(shí)施例的隧道去激活狀態(tài)檢測過程的信令流程圖; 圖7所示,是本發(fā)明實(shí)施例的路由去更新隧道狀態(tài)維護(hù)和檢查的信令流 程圖8所示,是本發(fā)明實(shí)施例的原始分組數(shù)據(jù)單元消息狀態(tài)檢測過程的信 令流程圖9所示,是本發(fā)明實(shí)施例的時(shí)序狀態(tài)特征消息狀態(tài)檢測的信令流程圖10所示,是本發(fā)明實(shí)施例的裝置第一結(jié)構(gòu)框圖ll所示,是本發(fā)明實(shí)施例的裝置第二結(jié)構(gòu)框圖12所示,是本發(fā)明實(shí)施例的裝置第三結(jié)構(gòu)框圖13所示,是本發(fā)明實(shí)施例的裝置第四結(jié)構(gòu)框圖14所示,是本發(fā)明實(shí)施例的裝置第五結(jié)構(gòu)框圖15所示,是本發(fā)明實(shí)施例的裝置第六結(jié)構(gòu)框圖16所示,是本發(fā)明實(shí)施例的裝置第七結(jié)構(gòu)框圖17所示,是本發(fā)明實(shí)施例的裝置第八結(jié)構(gòu)框圖18所示,是本發(fā)明實(shí)施例的裝置第九結(jié)構(gòu)框圖19所示,是本發(fā)明實(shí)施例的裝置第十結(jié)構(gòu)框圖20所示,是本發(fā)明實(shí)施例的裝置第十一結(jié)構(gòu)框圖;圖21所示,是本發(fā)明實(shí)施例的實(shí)施例的系統(tǒng)結(jié)構(gòu)框圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行 清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而 不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作 出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
一、與本發(fā)明實(shí)施例有關(guān)的基本概念
1、 狀態(tài)防火墻本發(fā)明實(shí)施例中所使用的狀態(tài)防火墻,是一種高級防火 墻,能夠提供基于狀態(tài)的報(bào)文過濾技術(shù)。通過檢查應(yīng)用層協(xié)議信息并且監(jiān)控 基于連接的應(yīng)用層協(xié)議狀態(tài),使得每一個(gè)連接狀態(tài)信息都被防火墻維護(hù)并用 于動態(tài)地決定數(shù)據(jù)包是否被允許通過防火墻或丟棄。在進(jìn)行數(shù)據(jù)包的檢查時(shí), 會考慮數(shù)據(jù)包看成之間的時(shí)序關(guān)聯(lián)性,因此具有高安全性。
2、 GPRS用戶^^舌過程
GPRS MS (Mobile station,移動終端)向SGSN發(fā)出分組業(yè)務(wù)激活請求 消息,如果針對此MS執(zhí)行安全性規(guī)程通過,SGSN根據(jù)MS提供的信息解析 GGSN地址,在獲得GGSN地址后,為所請求的PDP (Packet Data Protocol, 分組數(shù)據(jù)協(xié)議)上下文創(chuàng)建本端隧道,并向GGSN發(fā)出創(chuàng)建PDP上下文請求消息。
GGSN利用SGSN ( Service GSN,服務(wù)GPRS支撐點(diǎn))提供的信息確定 外部PDN ( Packet Data Network,分組數(shù)據(jù)網(wǎng))主機(jī),并為MS分配動態(tài)地址、 啟動計(jì)費(fèi)、限定QoS等,然后創(chuàng)建本端隧道并向SGSN返回創(chuàng)建PDP上下文 響應(yīng)消息。
SGSN收到此響應(yīng)消息后,則在本端隧道中插入相關(guān)信息,完成GTP隧 道創(chuàng)建,然后向MS返回激活接受消息。此時(shí),就在SGSN和GGSN之間建 立了通信隧道,并建立起MS與GGSN之間的路由,開始計(jì)費(fèi)并進(jìn)行分組數(shù) 據(jù)傳送。
3、 狀態(tài)檢查的方法本發(fā)明實(shí)施例根據(jù)GTP會話的完整過程,可以把 狀態(tài)檢查分成兩個(gè)層次時(shí)序狀態(tài)檢查和隧道狀態(tài)檢查。
在本發(fā)明實(shí)施的時(shí)序狀態(tài)檢查過程中,在檢查請求消息和響應(yīng)消息的時(shí)序狀態(tài)時(shí),根據(jù)GTP消息的請求消息和響應(yīng)消息,來進(jìn)行時(shí)序狀態(tài)檢查。對 于符合GTP協(xié)議規(guī)定的會話狀態(tài)的消息,沿TCP/IP協(xié)議棧自上而下轉(zhuǎn)發(fā),否 則丟棄并進(jìn)行相關(guān)處理,如統(tǒng)計(jì)、報(bào)警和日志。
隧道狀態(tài)檢查是檢查與隧道維護(hù)有關(guān)的消息的狀態(tài),通過接收GTP消息 包,并沿TCP/IP協(xié)議棧自下而上傳進(jìn)行解析,來進(jìn)行隧道狀態(tài);險(xiǎn)查。
防火墻為了檢查GTP協(xié)議,防火墻位于Gn或Gp接口,在GSN之間流 動的GTP報(bào)文,也全部從防火墻上經(jīng)過。GSN之間通過GTP協(xié)議進(jìn)行信息 交互,那么防火墻可以實(shí)現(xiàn)GSN的GTP格式處理的主要功能,并模擬GSN 進(jìn)行隧道維護(hù)和檢查。
隧道是指GSN之間的GTP管道,在GTP協(xié)議中,GPRS網(wǎng)絡(luò)中的隧道 用隧道端點(diǎn)標(biāo)識符標(biāo)志。具體講,在R1997版本中,隧道用TID (Terminal Identification,終端標(biāo)識)標(biāo)志,在R1999中用GSN的IP地址和它分配的TEID (Tunnel End Point Identifier,隧道端點(diǎn)標(biāo)識)標(biāo)志。GSN之間通過GTP隧道 轉(zhuǎn)發(fā)數(shù)據(jù)。
4、 GTP消息的分類
在本發(fā)明實(shí)施例中,GTP消息包括
(1) 隧道狀態(tài)特征消息,是隧道維護(hù)直接相關(guān)的消息,包括創(chuàng)建隧道 請求(16),創(chuàng)建隧道響應(yīng)(17)、更新隧道請求(18)、更新隧道響應(yīng)(19)、刪 除隧道請求(20)、刪除隧道響應(yīng)(21)、 PDU通告請求(27)、 PDU通告響 應(yīng)(28)、 PDU通告拒絕請求(29)、 PDU通告拒絕響應(yīng)(30)、 SGSN上下文 請求(50 )、 SGSN上下文響應(yīng)(51)、 SGSN上下文確認(rèn)(52 )和T-PDU ( 255 )。 括號中的序號表示相應(yīng)消息的消息碼,在以上消息中,除了 T-PDU(255 )夕卜, 都屬于控制面消息;
(2) 時(shí)序狀態(tài)特征消息,是具有請求-響應(yīng)特征的消息,非請求-響應(yīng) 類型的消息以及不具有隧道狀態(tài)特征的消息不在此列。
5、 隧道狀態(tài)檢查及狀態(tài)轉(zhuǎn)換
隧道狀態(tài)檢查是4全查一個(gè)隧道狀態(tài)特征消息的GTP隧道狀態(tài)是否正確。 隧道狀態(tài)是指處理隧道狀態(tài)特征消息后,GTP隧道的特征總和。具體來 講包括以下狀態(tài)
171) 收到"創(chuàng)建PDP上下文請求"消息或"SGSN上下文請求"消息后, 為初始激活狀態(tài);
關(guān)于初始激活狀態(tài),也可以進(jìn)一步將"創(chuàng)建PDP上下文請求"消息和 "SGSN上下文請求,,消息區(qū)分開來處理,即分為"創(chuàng)建PDP上下文請求,, 消息的初始激活狀態(tài)和"SGSN上下文請求,,消息的初始激活狀態(tài)。
2) 收到"創(chuàng)建PDP上下文響應(yīng)"消息或收到"SGSN上下文確認(rèn)"后, 為完成激活狀態(tài);
完成激活狀態(tài)也可區(qū)分"創(chuàng)建PDP上下文響應(yīng)"消息的完成激活狀態(tài)和 "SGSN上下文確認(rèn)"消息的完成激活狀態(tài)。在本發(fā)明實(shí)施例中,由于這兩對 消息的處理特征類似,本發(fā)明實(shí)施例中不再對此區(qū)分。
3) 收到"更新PDP上下文請求"消息后,為初始更新狀態(tài);
4) 收到"更新PDP上下文響應(yīng)"消息后,為完成更新狀態(tài);
5) 收到"刪除PDP上下文請求"消息后,為初始去激活狀態(tài);
6) 收到"刪除PDP上下文響應(yīng)"消息后,為已去激活狀態(tài);
7) 收到"SGSN上下文響應(yīng)"消息后,為5^由去更新隧道半激活狀態(tài)。 防火墻根據(jù)收到的不同的GTP消息進(jìn)行隧道狀態(tài)維護(hù),各種狀態(tài)及其轉(zhuǎn)
換示意可以參見圖1所示.。其轉(zhuǎn)換過程如下
根據(jù)l),當(dāng)"創(chuàng)建PDP上下文請求"消息或"SGSN上下文請求"經(jīng)過 防火墻時(shí),防火墻自動創(chuàng)建GTP隧道,并置GTP隧道為初始激活狀態(tài),如果 收到的是前者,此時(shí)隧道的后續(xù)狀態(tài)是完成激活狀態(tài);如果收到的是后者, 此時(shí)隧道的后續(xù)狀態(tài)是半激活狀態(tài)。
根據(jù)7),當(dāng)"SGSN上下文響應(yīng)"消息經(jīng)過防火墻時(shí),防火墻自動根據(jù) 消息內(nèi)容完善GTP隧道,并置其狀態(tài)為半激活狀態(tài)。半激活狀態(tài)的后續(xù)狀態(tài) 為完成激活狀態(tài)。
#4居2),當(dāng)"創(chuàng)建PDP上下文響應(yīng)"消息或"SGSN上下文確iV,經(jīng)過 防火墻時(shí),防火墻自動根據(jù)GTP消息的內(nèi)容完成隧道創(chuàng)建,并置其為完成激 活狀態(tài)。處于完成激活狀態(tài)的GTP隧道的后續(xù)狀態(tài)是初始去激活狀態(tài)或初始 更新狀態(tài)。
根據(jù)3),當(dāng)"更新PDP上下文請求"消息經(jīng)過防火墻時(shí),防火墻自動根據(jù)GTP消息的IE內(nèi)容更新隧道,并置其為初始更新狀態(tài)。處于初始更新狀態(tài)
的隧道的后續(xù)狀態(tài)可以是完成更新狀態(tài)。
才艮據(jù)4),當(dāng)"更新PDP上下文響應(yīng)"消息經(jīng)過防火墻時(shí),防火墻自動才艮 據(jù)GTP消息完成GTP隧道的更新,并置其為完成更新狀態(tài)。處于完成更新狀 態(tài)的的GTP隧道的可以轉(zhuǎn)換為初始去激活狀態(tài),或者重新轉(zhuǎn)換為初始更新狀 態(tài)。
根據(jù)5),當(dāng)"刪除PDP上下文請求"消息經(jīng)過防火墻時(shí),防火墻會根據(jù) 消息的頭和IE的值,自動把GTP隧道置為初始去激活狀態(tài)。
根據(jù)6),當(dāng)處于初始去激活狀態(tài)的防火墻收到"刪除PDP上下文響應(yīng)" 消息后,把GTP隧道置為已去激活狀態(tài),并刪除此GTP隧道消息有關(guān)內(nèi)容。
本發(fā)明實(shí)施例中,當(dāng)用戶分組業(yè)務(wù)數(shù)據(jù)經(jīng)過防火墻時(shí),防火墻才艮據(jù)GTP 消息頭中的字段查詢是否存在傳輸它的隧道。如果存在,則使用此隧道轉(zhuǎn)發(fā) GTP分組數(shù)據(jù)。如果不存在,則表明此用戶分組業(yè)務(wù)數(shù)據(jù)狀態(tài)錯(cuò)誤,可以丟 棄此t艮文。
6、維護(hù)GTP隧道的方式
防火墻在狀態(tài)轉(zhuǎn)換的過程中,同步維護(hù)GTP隧道。對GTP隧道的維護(hù)包 括下列方式
在本發(fā)明實(shí)施例中,隧道查詢是隧道維護(hù)的基礎(chǔ)。為了查詢隧道和維護(hù) 隧道,對隧道查詢關(guān)4建字^L如下定義 1) TEID的區(qū)分
為了進(jìn)行隧道狀態(tài)維護(hù),本發(fā)明實(shí)施例^^用以下標(biāo)志來區(qū)分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。 為了進(jìn)行隧道狀態(tài)維護(hù),需要區(qū)分TEID是在正中還是頭中,為此定義 以下TEID取值分類
(1 ) TEID HEADER,從消息頭中獲取的TEID;(2 ) TEID—IE,從正(Information Element,信息元素)中獲取的TEID; 2) NSAPI標(biāo)志
為了進(jìn)行隧道狀態(tài)維護(hù),需要區(qū)分首次激活和二次激活的NSAPI (Network Service Access Point Identifier,網(wǎng)絡(luò)服務(wù)接入點(diǎn)標(biāo)識)類型,本發(fā) 明實(shí)施例通過以下NSAPI標(biāo)志進(jìn)4亍區(qū)分
(1 ) NSAPI—USER,首次激活時(shí)的NSAPI ,也指R1997版本即TID中 的NSAPI;
(2) NSAPI—USER—SEC, 二次激活時(shí)的NSAPI, R1997版本中沒有。 為了進(jìn)行隧道狀態(tài)維護(hù),需要區(qū)分不同GSN的信令和業(yè)務(wù)地址,為此定 義了以下GSN i也址才示志
(1 ) SGSN_IP_CTRL, SGSN控制面地址;
(2) SGSN—IPJJSER, SGSN用戶面地址;
(3) GGSN—IP_CTRL, GGSN控制面地址; (4 ) GGSN_IP_USER, GGSN用戶面地址;
由于各個(gè)GTP消息的頭和所攜帶正不一樣,本發(fā)明定義了兩種方式進(jìn)行 隧道查詢和維護(hù)
6.1隧道查詢方式 第一方式IMSI+NSAPI
如果GTP消息中含有IMSI (International Mobile Subscriber Identity,國際
移動用戶識別碼)和NSAPI,則可使用第一方式定位維護(hù)隧道。NSAPI的取
值見上面的NSAPI標(biāo)志定義。
第二方式TEID +IP +TEID分配標(biāo)志+ NSAPI + Sequence TEID、 IP、 TEID分配標(biāo)志三個(gè)字段的取值見上面的定義。 關(guān)于NSAPI,如果GTP消息包括,則可以用來在二次激活時(shí)區(qū)分首次/
各二次激活所創(chuàng)建的隧道。
關(guān)于Sequence (消息序號),根據(jù)需要使用,此字段保存最新的對此隧道
進(jìn)行維護(hù)的消息的序號,主要用在二次激活時(shí)使用它區(qū)分首次/各二次激活所
創(chuàng)建的隧道。
由于不同的隧道維護(hù)消息的頭字段和所攜帶的信息元素的差異較大,本
20發(fā)明實(shí)施例提供了一種數(shù)據(jù)結(jié)構(gòu),這種數(shù)據(jù)結(jié)構(gòu)能夠同時(shí)支持按兩種關(guān)鍵字
(IMSI或TEID),及其相關(guān)聯(lián)字段(IP、 NSAPI、序號等)進(jìn)行隧道維護(hù)。這樣 就能夠分別使用第一方式(包含IMSI時(shí))或第二方式(包含TEID時(shí))進(jìn)行 隧道維護(hù)。這種數(shù)據(jù)結(jié)構(gòu)可由哈希鏈表實(shí)現(xiàn)。
把IMSI或TEID(及其關(guān)聯(lián)字段)放入本發(fā)明實(shí)施例的數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵字 中,是建立查找索引,把IMSI或TEID(及其關(guān)聯(lián)字段)從本發(fā)明實(shí)施例的數(shù)據(jù) 結(jié)構(gòu)中刪除,稱為刪除索引。
在本發(fā)明實(shí)施例中,需要先查詢到隧道,然后才能對隧道進(jìn)行維護(hù)。如 果查詢不到隧道,那就說明或者需要?jiǎng)?chuàng)建隧道,或者消息不合法。
7、 隧道狀態(tài)檢查的流程 7.1獲取隧道維護(hù)信息
對GTP消息進(jìn)行解碼和協(xié)議合法性檢查,對于檢查通過的GTP消息,從 消息頭和IE中獲得其隧道查詢關(guān)鍵字的值和隧道維護(hù)相關(guān)字段的值,開始隧 道狀態(tài)檢查。
7.2查詢隧道
使用隧道查詢關(guān)鍵字查詢隧道,根據(jù)消息類型不同,查詢處于不同狀態(tài) 的隧道。
7.3隧道狀態(tài)維護(hù)
對于不同的查詢結(jié)果,根據(jù)不同的消息的類型進(jìn)行不同的隧道維護(hù),并 編制或刪除查詢索引。
7.4結(jié)果處理根據(jù)隧道查詢和維護(hù)結(jié)果,進(jìn)行轉(zhuǎn)發(fā)或丟包處理;
8、 時(shí)序狀態(tài)檢查流程
參考圖2所示,是時(shí)序狀態(tài)及其轉(zhuǎn)換示意圖。在時(shí)序狀態(tài)^r查過程中, 當(dāng)接收到請求消息后,進(jìn)入請求狀態(tài),如果再收到合法響應(yīng)消息,則進(jìn)入已 完成狀態(tài),表示一個(gè)完整的時(shí)序狀態(tài)進(jìn)行完畢。在時(shí)序狀態(tài)檢查過程中,使 用第三方式進(jìn)行時(shí)序狀態(tài)檢查。
8.1第三方式路徑+ Sequence及其關(guān)聯(lián)字段
對于收到的請求或響應(yīng)消息,可以使用路徑+ Sequence來查找其對應(yīng)的應(yīng) 答或者請求消息。當(dāng)然,如果有需要,還可以同時(shí)使用應(yīng)答消息或者請求消息的關(guān)聯(lián)字段。
基于IP的GTP協(xié)議固定使用端口 (2123、 2152、 3386)進(jìn)行通信,所以, 也可使用源IP+目的IP+ Sequence及其關(guān)聯(lián)字段來查找其對應(yīng)的應(yīng)答或者請求 消息。具體查找方式是
對于請求消息,檢查GSN是否在短時(shí)間內(nèi)發(fā)送過完全重復(fù)的請求消息。 通常,GSN發(fā)送的GTP消息其序號字段是不一樣的,如果在極短的時(shí)間內(nèi)收 到完全重復(fù)的消息多次,則可以認(rèn)定為攻擊消息。
對于響應(yīng)消息,檢查是否存在合法的請求消息,如果存在,則為合法消 息,否則為攻擊消息。
8.2檢查流程
8.2.1. 對GTP消息進(jìn)行解碼和協(xié)議合法性檢查,對于檢查通過的GTP消 息,獲得此消息的路徑、序號和消息值,開始時(shí)序狀態(tài)檢查;
8.2.2. 使用第三方式查詢本消息對應(yīng)的時(shí)序狀態(tài)記錄;
8.2.3. 根據(jù)查詢結(jié)果進(jìn)行狀態(tài)維護(hù),查詢結(jié)果包括請求消息和響應(yīng)消息
a) 如果被;險(xiǎn)查的消息是一個(gè)請求消息
i. 如果查到相同的請求消息,則時(shí)序狀態(tài)錯(cuò)誤;
ii. 如果未查到相同的請求消息,則狀態(tài)正確,創(chuàng)建此消息的時(shí)序狀態(tài)記 錄,并置其狀態(tài)為請求狀態(tài)。
b) 如果被檢查的消息是一個(gè)響應(yīng)消息
i. 如果查到此響應(yīng)消息對應(yīng)的請求消息,則狀態(tài)正確,置其狀態(tài)為完成 狀態(tài),并從內(nèi)存中刪除此時(shí)序狀態(tài)記錄。
ii. 如果未查到對應(yīng)的請求消息,則狀態(tài)錯(cuò)誤。
8.2.4. 根據(jù)檢查結(jié)果進(jìn)行報(bào)文處理
a) 如果狀態(tài)正確,則轉(zhuǎn)發(fā);
b) 如果狀態(tài)錯(cuò)誤,則可根據(jù)用戶配置丟棄或轉(zhuǎn)發(fā)報(bào)文。
8.2.5. 其他類型的消息
對于"版本不支持"、"支持的擴(kuò)展投通告"和"故障指示"等沒有應(yīng)答 的消息外,都可以-使用第三方式進(jìn)^f于時(shí)序狀態(tài)4全測。 9、隧道狀態(tài)檢查與時(shí)序狀態(tài)檢查的關(guān)系
22綜上所述可知,隧道狀態(tài)特征消息都是時(shí)序狀態(tài)特征消息,具有請求-應(yīng) 答特征。因此,本發(fā)明實(shí)施例中,隧道狀態(tài)檢查的同時(shí),就相當(dāng)于同時(shí)進(jìn)行 了時(shí)序狀態(tài)檢查。隧道狀態(tài)檢查不僅檢查了消息的前后關(guān)聯(lián)性,對于非前后 直接關(guān)聯(lián)的消息,由于其前后繼狀態(tài)之間同時(shí)也具有時(shí)序特征,所以,對隧 道狀態(tài)的檢查過程相當(dāng)于同時(shí)檢查了時(shí)序狀態(tài),因此具有更深的層次。
由于防火墻具有識別隧道狀態(tài)特征消息和時(shí)序狀態(tài)特征消息的能力,所 以,本發(fā)明實(shí)施例可以根據(jù)防火墻的識別結(jié)果,對隧道狀態(tài)特征消息和時(shí)序 狀態(tài)特征消息分別進(jìn)行隧道狀態(tài)檢查和時(shí)序狀態(tài)檢查。所以,對于非隧道狀 態(tài)特征消息進(jìn)行時(shí)序狀態(tài)檢查就可以判斷其是否為合法消息。
二、本發(fā)明實(shí)施例的實(shí)現(xiàn)過程
參考圖3所示,是本發(fā)明的實(shí)施例一,本實(shí)施例對GTP消息進(jìn)行隧道狀 態(tài)檢查和時(shí)序狀態(tài)檢查,GTP消息包括隧道狀態(tài)特征消息和時(shí)序狀態(tài)特征消 息,所述方法包括步驟
301、檢查隧道狀態(tài)特征消息的隧道狀態(tài),如果隧道狀態(tài)正確,進(jìn)入步驟 302,否則進(jìn)入步驟303;
其中,檢查隧道狀態(tài)特征消息的隧道狀態(tài)之前,還可以包括在獲取所 述GTP隧道的GTP消息關(guān)鍵字信息和所述GTP隧道地址,所述GTP消息關(guān)鍵 字信息和所述GTP隧道地址用于檢查隧道狀態(tài)。
所述關(guān)鍵字信息可以根據(jù)實(shí)際情況選擇,例如,在使用第一方式進(jìn)行檢 查和第二方式進(jìn)行才企查的時(shí)候,分別可以將IMSI +NSAPI或TEID +IP +TEID 分配標(biāo)志+ NSAPI + Sequence作為關(guān)4定字信息。
其中,所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄包括
所述時(shí)序狀態(tài)特征消息的路徑和序號;或
所述時(shí)序狀態(tài)特征消息的路徑、序號和關(guān)聯(lián)字段。
所述關(guān)聯(lián)字段可以根據(jù)所述時(shí)序狀態(tài)特征消息的具體情況,進(jìn)行具體設(shè)置。
其中,檢查所述所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)包括
對于收到的GTP請求消息,如果查到同樣的GTP請求消息,則時(shí)序狀態(tài)
錯(cuò)誤;
23如果沒有查到同樣的GTP請求消息,則時(shí)序狀態(tài)正確,則所述才艮據(jù)所述 時(shí)序狀態(tài)特征消息維護(hù)所述時(shí)序狀態(tài)記錄包括維護(hù)所述GTP請求消息的時(shí) 序狀態(tài)記錄,設(shè)置所述GTP請求消息狀態(tài)為請求狀態(tài);
對于收到的GTP響應(yīng)消息,如果查到對應(yīng)的GTP請求消息,則時(shí)序狀態(tài) 正確,則所述根據(jù)所述時(shí)序狀態(tài)特征消息維護(hù)所述時(shí)序狀態(tài)記錄包括設(shè)置 所述GTP請求消息狀態(tài)為完成狀態(tài),刪除所述GTP響應(yīng)消息的時(shí)序狀態(tài)記錄;
如果沒有查到與所述收到的GTP響應(yīng)消息對應(yīng)的GTP請求消息,則時(shí)序 狀態(tài)錯(cuò)誤。
在完成狀態(tài),通常不再進(jìn)行時(shí)序狀態(tài)檢查,為了釋放系統(tǒng)資源,應(yīng)盡快 刪除所述時(shí)序狀態(tài)記錄。
302、 則根據(jù)隧道狀態(tài)特征消息維護(hù)GTP隧道,進(jìn)入步驟304; 維護(hù)GTP隧道是指,根據(jù)GTP消息,轉(zhuǎn)換GTP隧道的狀態(tài),例如收到
"更新PDP上下文請求"消息后,設(shè)置為初始更新狀態(tài);收到"更新PDP上 下文響應(yīng)"消息后,設(shè)置為完成更新狀態(tài);收到"刪除PDP上下文請求"消 息后,設(shè)置為初始去激活狀態(tài)。其他的GTP消息,也都是根據(jù)GTP隧道的狀 態(tài)轉(zhuǎn)換關(guān)系,設(shè)置其相應(yīng)的GTP隧道。
303、 如果隧道狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述隧道狀態(tài)特征消息;
304、 根據(jù)時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄,檢查所述時(shí)序狀態(tài)特征消 息的時(shí)序狀態(tài);如果時(shí)序狀態(tài)正確,進(jìn)入步驟3Q5,如果時(shí)序狀態(tài)錯(cuò)誤,進(jìn)入 步驟306;
305、 一艮據(jù)所述時(shí)序狀態(tài)特征消息維護(hù)所述時(shí)序狀態(tài)記錄; 維護(hù)所述時(shí)序狀態(tài)記錄是指,根據(jù)時(shí)序狀態(tài)特征消息,進(jìn)行時(shí)序狀態(tài)的
切換。例如,可以參照圖2所示的狀態(tài)切換關(guān)系,在時(shí)序狀態(tài)檢查過程中, 當(dāng)接收到請求消息后,進(jìn)入請求狀態(tài),如果再收到合法響應(yīng)消息,則進(jìn)入已 完成狀態(tài),表示一個(gè)完整的時(shí)序狀態(tài)進(jìn)行完畢。
306、 按預(yù)設(shè)條件處理所述時(shí)序狀態(tài)特征消息。
其中,通常情況下,按預(yù)設(shè)條件處理可以是如果隧道狀態(tài)檢查或時(shí)序 狀態(tài)檢查正確,則予以轉(zhuǎn)發(fā);如果隧道狀態(tài)檢查或時(shí)序狀態(tài)檢查錯(cuò)誤,則予 以拋棄,也可以按用戶配置進(jìn)行轉(zhuǎn)發(fā)。其中,如果使用第一方式進(jìn)行隧道狀態(tài)檢查,則所述檢查隧道狀態(tài)特征
消息的隧道狀態(tài)包括如果所述隧道關(guān)鍵字信息中包括國際移動用戶識別碼 IMSI和網(wǎng)絡(luò)層業(yè)務(wù)接入點(diǎn)標(biāo)識NSAPI,則使用IMSI+NSAPI檢查隧道狀態(tài)特征 消息的隧道狀態(tài)。
其中,能夠使用第一方式進(jìn)行隧道狀態(tài)的所述隧道狀態(tài)特征消息包括 創(chuàng)建分組數(shù)據(jù)協(xié)議PDP上下文請求消息,創(chuàng)建PDP上下文響應(yīng)消息,更 新PDP上下文請求消息,更新PDP上下文響應(yīng)消息,刪除PDP上下文請求消 息,刪除PDP上下文響應(yīng)消息,創(chuàng)建服務(wù)GPRS支持節(jié)點(diǎn)SGSN上下文請求消 息,創(chuàng)建SGSN上下文響應(yīng)消息,創(chuàng)建SGSN上下文確認(rèn)消息,原始分組數(shù)據(jù) 單元T-PDU消息,創(chuàng)建PDP上下文請求消息的首次激活消息。
使用第二方式進(jìn)行隧道狀態(tài)特征檢查的具體方式可以參見圖4-圖8及其 對應(yīng)的實(shí)施例。
利用本發(fā)明的實(shí)施例一,通過對GTP消息進(jìn)行隧道狀態(tài)檢查和時(shí)序狀態(tài) 檢查,根據(jù)GTP消息的隧道狀態(tài)和時(shí)序狀態(tài)之間的內(nèi)在聯(lián)系,通過狀態(tài)檢查 的報(bào)文,就識別為正確報(bào)文,否則就識別為錯(cuò)誤報(bào)文,并根據(jù)用戶配置策略 進(jìn)行相應(yīng)的處理,實(shí)現(xiàn)了對GTP消息的安全過濾。
本發(fā)明實(shí)施例不但能夠檢查單個(gè)GTP消息的協(xié)議合法性,還能監(jiān)控整個(gè) GTP會話過程,能夠防范各種基于會話的深層次的GTP攻擊。
本發(fā)明實(shí)施例能檢查所有具有請求-應(yīng)答特征的GTP消息的時(shí)序狀態(tài)及 其內(nèi)在聯(lián)系,從而能夠使防火墻針對GTP協(xié)議,進(jìn)行有效的安全過濾,為移 動分組業(yè)務(wù)的網(wǎng)絡(luò)安全提供了安全保障。保障移動分組網(wǎng)絡(luò)設(shè)備及用戶業(yè)務(wù), 為移動分組業(yè)務(wù)的網(wǎng)絡(luò)安全4是供了深層次的安全保障。
總之,本發(fā)明實(shí)施例所能夠有效防范來自移動終端、其他通信網(wǎng)和分組 數(shù)據(jù)網(wǎng)的各種基于GTP會話的攻擊。
下面,以實(shí)施例二提供更為詳細(xì)的實(shí)現(xiàn)過程,在本實(shí)施例中,隧道狀態(tài) 維護(hù)數(shù)據(jù)結(jié)構(gòu),可以使用哈希表。時(shí)序狀態(tài)維護(hù)數(shù)據(jù)結(jié)構(gòu),也可以使用哈希 表。本實(shí)施例中,處理的GTP消息狀態(tài)包括創(chuàng)建隧道狀態(tài)、更新隧道狀態(tài)、 去激活隧道狀態(tài)、路由去更新隧道狀態(tài)和T-PDU消息隧道狀態(tài),以及時(shí)序特 征消息的時(shí)序狀態(tài)檢查。下面分別結(jié)合附圖進(jìn)行逐一說明。
25A.創(chuàng)建隧道狀態(tài)
在隧道創(chuàng)建狀態(tài)下,本發(fā)明實(shí)施例處理的消息包括創(chuàng)建隧道請求消息 (16)和創(chuàng)建隧道響應(yīng)消息(17)。在防火墻上的處理過程如圖4所示,包括 401 、 MS發(fā)起激活PDP上下文請求消息;
402、 SGSN返回安全處理結(jié)果;
403、 SGSN向GGSN發(fā)送創(chuàng)建PDP上下文請求消息;
404、 GTP防火墻對PDP上下文請求消息進(jìn)行隧道狀態(tài)檢查;使用所述 TEID+GGSN分配的控制面隧道端點(diǎn)標(biāo)識GGSNC—TEID_FLAG+GGSN控制面地址 GGSN_IP_CTRL,檢查所述PDP上下文請求消息對應(yīng)的首次激活隧道;由于本 實(shí)施例中是首次激活消息,所以,不存在對應(yīng)的首次激活消息,進(jìn)入步驟405;
在其他的運(yùn)用中,如果存在首次激活消息,且隧道狀態(tài)正確,則可以按 預(yù)設(shè)條件處理所述隧道狀態(tài)特征消息,如轉(zhuǎn)發(fā)所述創(chuàng)建PDP上下文請求消息;
在其他的運(yùn)用中,如果存在首次激活消息,且隧道狀態(tài)錯(cuò)誤,則按預(yù)設(shè) 條件處理所述隧道狀態(tài)特征消息可以是根據(jù)用戶配置拋棄或轉(zhuǎn)發(fā)所述創(chuàng)建 PDP上下文請求消息;
如果應(yīng)用環(huán)境是R1997版本,還可以對IMSI(及其關(guān)聯(lián)字段)建立查找索 引,以方便后續(xù)消息對它進(jìn)行查找。而對于R1999版本而言,如果是首次激 活還可以對IMSI、 SGSN控制面TEID、 SGSN用戶面TEID建立查找索引, 二次激活要獲得相關(guān)信息,然后創(chuàng)建新隧道,并對IMSI和TEID關(guān)鍵字(及其 關(guān)聯(lián)字段)建立查找索引。
405、 若隧道狀態(tài)檢查通過,GTP防火墻創(chuàng)建隧道;
406、 GTP狀態(tài)防火墻轉(zhuǎn)發(fā)創(chuàng)建PDP上下文請求消息;
407、 GGSN回應(yīng)PDP上下文響應(yīng)消息;
408 - 409、 GTP狀態(tài)防火墻對創(chuàng)建PDP上下文響應(yīng)消息進(jìn)行隧道狀態(tài)檢 查,若檢查通過,則更新隧道;
隧道狀態(tài)檢查的方式可以是使用SGSN分配的控制面隧道端點(diǎn)標(biāo)識 SGSNC-TEID—FLAG+所述TEID—HEADER+SGSN控制面地址SGSN—IP—CTRL+所述創(chuàng) 建PDP上下文響應(yīng)消息序號Sequence, 4企查是否存在與所述創(chuàng)建PDP上下文 響應(yīng)消息對應(yīng)的隧道;其中,Sequence用于本消息對應(yīng)的請求消息是沒有TEID (C)的二次激
活請求消息時(shí)區(qū)分二次激活請求所創(chuàng)建的隧道;
如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;如果存在隧道,則隧道狀態(tài)正確; 在實(shí)際運(yùn)用中,如果隧道狀態(tài)正確,還可以包括如果"原因"IE值為
非"接受請求"的其他值,則將隧道狀態(tài)置為去激活狀態(tài)后刪除隧道;如果 "原因"正值為"接受請求",則更新隧道的GGSN信息后置隧道狀態(tài)為完
成激活狀態(tài),這時(shí)此隧道可進(jìn)行基于隧道的信令和數(shù)據(jù)傳輸。
410、 GTP狀態(tài)防火墻轉(zhuǎn)發(fā)創(chuàng)建PDP上下文響應(yīng)消息給SGSN;
411、 SGSN向MS返回上下文激活成功消息,創(chuàng)建隧道狀態(tài)下的隧道牙企 查過程完成。
其中,在上述隧道狀態(tài)斗全查的過程中,如果應(yīng)用環(huán)境是R1997版本,則 可以4吏用第一方式,即TID中的IMSI+NSAPI查詢隧道。如果應(yīng)用環(huán)境是 R1999版本,那么對首次激活消息使用第一方式,即IE中的IMSI+NSAPI查 隧道,對于二次激活消息可以使用第二方式,即TEID—HEADER + GGSNC—TEID—FLAG + GGSN—IP—CTRL沖企查首次激活的隧道。
在本發(fā)明實(shí)施例中,從創(chuàng)建隧道的角度來講,會先進(jìn)行首次激活,再進(jìn) 行二次激活。首次激活的隧道和隨后二次激活的隧道是各自獨(dú)立維護(hù)的,所 以,有可能先發(fā)消息刪除首次激活的隧道,而二次激活的隧道如果沒有刪除, 則仍然存在并使用。這時(shí)如果檢查到二次激活的隧道,就會出現(xiàn)首次激活的 隧道不存在的情況。所以,收到二次激活消息后,可以檢查是否存在首次激 活消息,同時(shí)再檢查首次激活消息所創(chuàng)建的隧道狀態(tài)是否正確。
B.更新隧道狀態(tài)
如圖5所示,是本發(fā)明實(shí)施例處理更新隧道狀態(tài)的信令流程圖,共處理 更新PDP上下文請求消息(18)和更新PDP上下文響應(yīng)消息(19)。包括 501 、 SGSN發(fā)起更新PDP上下文請求消息;
502、 GTP狀態(tài)防火墻對更新PDP上下文請求消息進(jìn)行隧道狀態(tài)檢查 如果所述更新PDP上下文請求消息由SGSN發(fā)起,則使用
TEID—HEADER+GGSN纟空制面i也址GGSN_IP_CTRL+GGSN分配的4空制面隧道端點(diǎn)標(biāo)
識GGSNC—TEID—FLAG+NSAPI, 4全查是否存在隧道;如果所述更新PDP上下文請求消息由GGSN發(fā)起,則使用 TEID_HEADER+SGSN控制面地址SGSN_IP_CTRL+SGSN分配的控制面隧道端點(diǎn)標(biāo) 識SGSNC-TEID-FLAG+NSAPI, 4企查是否存在隧道;
如果存在隧道,則隧道狀態(tài)正確;
如果不存在隧道,則隧道狀態(tài)一睹誤;
503、 若隧道狀態(tài)檢查通過,GTP狀態(tài)防火墻更新隧道;
504、 GTP狀態(tài)防火墻轉(zhuǎn)發(fā)更新PDP上下文請求消息;
505、 GGSN回應(yīng)更新PDP上下文響應(yīng)消息;
506-507、 GTP狀態(tài)防火墻對更新PDP上下文響應(yīng)消息進(jìn)行隧道狀態(tài)檢 查,若檢查通過,則更新隧道;隧道狀態(tài)檢查包括
收到更新PDP上下文響應(yīng)消息后,如果所述更新PDP上下文響應(yīng)消息由 GGSN發(fā)出,則4吏用TEID—HEADER+SGSN控制面地址SGSN-IP—CTRL+SGSN分配的 控制面隧道端點(diǎn)標(biāo)識SGSNC-TEID-FLAG+所述更新PDP上下文響應(yīng)消息序號 Sequence,檢查是否存在隨道;
如果所述更新PDP上下文響應(yīng)消息由SGSN發(fā)出,則使用 TEID_HEADER+GGSN控制面地址GGSN-IP_CTRL+GGSN分配的控制面隧道端點(diǎn)標(biāo) 識GGSNC-TEID-FLAG+所述更新PDP上下文響應(yīng)消息序號Sequence,;險(xiǎn)查是否 存在隧道;
其中,Sequence用于本消息對應(yīng)的請求消息是沒有TEID (C)的二次激 活請求消息時(shí)區(qū)分二次激活請求所創(chuàng)建的隧道; 如果存在隧道,則隧道狀態(tài)正確; 如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;
508、 GTP狀態(tài)防火墻轉(zhuǎn)發(fā)更新PDP上下文響應(yīng)消息給SGSN。 在實(shí)際運(yùn)用中,隧道狀態(tài)檢查后,還可以包括若"原因"正值為非"接 受請求"的其他值,則去掉隧道刪除標(biāo)記,回退其狀態(tài)為"完成更新"或"完 成激活狀態(tài)";若"原因"IE值為"接受請求",則置隧道狀態(tài)為去激活狀態(tài) 后,從內(nèi)存中刪除所述隧道。 C.隧道去激活狀態(tài)
參考圖6所示,是本發(fā)明實(shí)施例對隧道去激活狀態(tài)的處理過程,處理的消息包括刪除PDP上下文請求消息和刪除PDP上下文響應(yīng)消息。包括步驟
601、 SGSN發(fā)起刪除PDP上下文請求消息;
602、 GTP狀態(tài)防火墻對刪除PDP上下文請求消息進(jìn)行隧道狀態(tài);險(xiǎn)查 如果所述刪除PDP上下文請求消息是由SGSN發(fā)給GGSN,則使用
TEID—HEADER+ GGSN—IP—CTRL +GGSNC—TEID—FLAG + NSAPI, ^全查是否存在隧
道;
如果所述刪除PDP上下文請求消息是由GGSN發(fā)給SGSN,則使用 TEID—HEADER+GGSN—IP-CTRL+GGSNC—TEID—FLAG+NSAPI,片全查是否存在隧道; 如果存在隧道,則隧道狀態(tài)正確; 如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;
上述檢查的對象是指處于"完成激活"或"完成更新"狀態(tài)的隧道,R1997 版本使用第一方式,即TID中的IMSI+NSAPI查隧道;R1999版本使用第二 方式查詢隧道,如果是SGSN發(fā)給GGSN,則使用TEID—HEADER + GGSNjP—CTRL + GGSNC—TEID—FLAG + NSAPI進(jìn)行檢查;如果是GGSN 發(fā)給SGSN,則使用TEID—HEADER + SGSN—IP—CTRL + SGSNC—TEID—FLAG + NSAPI進(jìn)行4全查;
603、 若隧道狀態(tài);險(xiǎn)查通過,GTP狀態(tài)防火墻對隧道進(jìn)行初始刪除;置隧 道狀態(tài)為"初始去激活狀態(tài)";
604、 GTP狀態(tài)防火墻轉(zhuǎn)發(fā)刪除PDP上下文請求消息;
605、 GGSN回應(yīng)刪除PDP上下文響應(yīng)消息;
606-607、 GTP狀態(tài)防火墻對刪除PDP上下文響應(yīng)消息進(jìn)4于隧道狀態(tài)斗全 查,若檢查通過,則更新隧道;所述隧道狀態(tài);險(xiǎn)查包括
如果所述刪除PDP上下文響應(yīng)消息是由GGSN發(fā)給SGSN,則使用 TEID-HEADER+SGSN-IP-CTRL+SGSNC-TEID—FLAG+所述刪除PDP上下文響應(yīng)消息 序號Sequence,檢查是否存在隧道;
如果所述刪除PDP上下文響應(yīng)消息是由SGSN發(fā)給GGSN,則使用 TEID—HEADER+GGSN-IP-CTRL+GGSNC-TEID—FLAG+所述刪除PDP上下文響應(yīng)消息 序號Sequence,檢查是否存在隧道;
如果存在隧道,則隧道狀態(tài)正確;
29如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;
所述Sequence用于在二次激活時(shí),區(qū)分首次激活和各個(gè)二次激活所創(chuàng)建 的隧道;
608、 GTP狀態(tài)防火墻轉(zhuǎn)發(fā)刪除PDP上下文響應(yīng)消息給SGSN。 在實(shí)際運(yùn)用中,隧道狀態(tài)4全查后,如果存在隧道,還可以包括若"原
因,,正值為非"接受請求,,的其他值,則去掉隧道刪除標(biāo)記,回退其狀態(tài)為 "完成更新"或"完成激活狀態(tài)";若"原因"正值為"接受請求",則置隧
道狀態(tài)為去激活狀態(tài)后,從內(nèi)存中刪除所述隧道。 D.路由去更新隧道狀態(tài)
如圖7所示,是本發(fā)明實(shí)施例處理路由去更新隧道狀態(tài)的過程,此過程 處理的消息包括創(chuàng)建SGSN上下文請求消息(50)、創(chuàng)建SGSN上下文響應(yīng) 消息(51)和創(chuàng)建SGSN上下文確認(rèn)消息(52),包括步驟
701 、新SGSN發(fā)起SGSN上下文請求消息;
702、 GTP狀態(tài)防火墻對創(chuàng)建SGSN上下文請求消息進(jìn)行隧道狀態(tài)^r查 使用從信息元素獲取的隧道端點(diǎn)標(biāo)識TEID_IE +SGSN-IP—CTRL +
SGSNC—TEID—FLAG,檢查是否存在隧道;SGSIIP-CTRL是所述消息所在數(shù)據(jù)包 的源IP地址;
如果存在隧道,說明此TEID已經(jīng)使用過,則隧道狀態(tài)錯(cuò)誤,可轉(zhuǎn)發(fā)或拋 棄所述報(bào)文;
如果不存在隧道,則創(chuàng)建隧道,以及置所述隧道的狀態(tài)為初始激活狀態(tài);
收到創(chuàng)建SGSN上下文響應(yīng)消息后,則使用TEID-HEADER+SGSN—IP—CTRL + SGSNC—TEID-FLAG, 4全查是否存在隧道;
如果存在隧道,且處于所述初始激活狀態(tài)的隧道由所述創(chuàng)建SGSN上下文 請求消息創(chuàng)建,則所述隧道狀態(tài)正確,更新所述隧道中SGSN信息,以及置所 述隧道狀態(tài)為半激活狀態(tài);
如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;
703、 若隧道狀態(tài);險(xiǎn)查通過,GTP狀態(tài)防火墻創(chuàng)建隧道;
704、 GTP狀態(tài)防火墻轉(zhuǎn)發(fā)創(chuàng)建SGSN上下文請求消息;
705、 GGSN回應(yīng)創(chuàng)建SGSN上下文響應(yīng)消息;200910117850.9 706、 GTP狀態(tài)防火墻對創(chuàng)建SGSN上下文響應(yīng)消息進(jìn)行隧道狀態(tài)檢查; 隧道狀態(tài)檢查包括
使用TEID-HEADER +SGSN_IP_CTRL + SGSNC-TEID—FLAG, 4全查是否存在隧
道;
如果存在隧道,且處于所述初始激活狀態(tài)的隧道由所述創(chuàng)建SGSN上下文 請求消息創(chuàng)建,則所述隧道狀態(tài)正確,更新所述隧道中SGSN信息,以及置所 述隧道狀態(tài)為半激活狀態(tài);
如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;
707、 若隧道狀態(tài);險(xiǎn)查通過,GTP狀態(tài)防火墻更新隧道;
708、 GTP狀態(tài)防火墻轉(zhuǎn)發(fā)創(chuàng)建SGSN上下文響應(yīng)消息;
709、 SGSN向GGSN回應(yīng)創(chuàng)建SGSN上下文確i人消息;
710、 GTP狀態(tài)防火墻對創(chuàng)建SGSN上下文確認(rèn)消息進(jìn)行隧道狀態(tài)檢查; 隧道狀態(tài)^r查包括
使用TEID-HEADER +GGSN_IP_CTRL + GGSNC—TEID—FLAG, 4全查是否存在隧
道;
如果存在隧道,則隧道狀態(tài)正確,更新所述隧道狀態(tài)中所述SGSN隧道信 息,并置所述隧道的狀態(tài)為完成激活狀態(tài); 如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;
711、 若隧道狀態(tài)檢查通過,GTP狀態(tài)防火墻更新隧道;
712、 GTP狀態(tài)防火墻轉(zhuǎn)發(fā)創(chuàng)建SGSN上下文確認(rèn)消息。 D.T-PDU消息
如圖8所示,是T-PDU消息隧道狀態(tài)檢查示意圖,T-PDU消息用于承載 用戶數(shù)據(jù)。處理包括
圖中,801 - 805是下行分組數(shù)據(jù)傳輸,806 - 810是上行分組數(shù)據(jù)傳輸。 下行數(shù)據(jù)傳輸包括
801、 分組數(shù)據(jù)網(wǎng)絡(luò)主機(jī)向GGSN發(fā)送用戶業(yè)務(wù)數(shù)據(jù);
802、 GGSN把收到的用戶業(yè)務(wù)數(shù)據(jù)封裝成GTP的T-PDU消息,發(fā)送給 SGSN;
803、 GTP狀態(tài)防火墻對T-PDU消息進(jìn)行隧道狀態(tài);險(xiǎn)查;包括
31乂使用SGSN—TEID—FLAG+TEID—HEADER+SGSN用戶控制面地址SGSN—IP—USER; 如果存在隧道,則所述隧道狀態(tài)正確; 如果不存在隧道,則所述隧道狀態(tài)錯(cuò)誤;
上述檢查過程中,還可以同時(shí)檢查所述T-PDU消息的序號,序號檢查是 對T-PDU消息更進(jìn)一步的檢測,可以檢測出消息本身前后的時(shí)序狀態(tài)是否合 法,能夠進(jìn)一步防止利用承載數(shù)據(jù)消息進(jìn)行的網(wǎng)絡(luò)攻擊。序號檢測的具體實(shí) 施方式可以參考GTP協(xié)i義標(biāo)準(zhǔn);
804、 若隧道狀態(tài)4全查通過,GTP狀態(tài)防火墻轉(zhuǎn)發(fā)T-PDU消息給SGSN;
805、 SGSN收到T-PDU消息后,解封裝此消息為用戶業(yè)務(wù)數(shù)據(jù),發(fā)送給MS。
上行數(shù)據(jù)傳輸包括
806、 MS向SGSN發(fā)送用戶業(yè)務(wù)數(shù)據(jù);
807、 SGSN把收到的用戶業(yè)務(wù)數(shù)據(jù)封裝成GTP的T-PDU消息,發(fā)送給 GGSN;
808、 GTP狀態(tài)防火墻對T-PDU消息進(jìn)行隧道狀態(tài);險(xiǎn)查;
使用GGSN—TEID—FLAG+TEID—HEADER+GGSN用戶控制面地址GGSN—IP_USER,
檢查是否存在隧道;
如果存在隧道,則所述隧道狀態(tài)正確; 如果不存在隧道,則所述隧道狀態(tài)錯(cuò)誤;
上述檢查過程中,還可以同時(shí)檢查所述T-PDU消息的序號,序號4企查是 對T-PDU消息更進(jìn)一步的檢測,可以檢測出消息本身前后的時(shí)序狀態(tài)是否合 法,能夠進(jìn)一步防止利用承載數(shù)據(jù)消息進(jìn)行的網(wǎng)絡(luò)攻擊,轉(zhuǎn)發(fā)合法的T-PDU 消息,拋棄不合法的T-PDU消息。序號檢測的具體實(shí)施方式
可以參考GTP協(xié) 議標(biāo)準(zhǔn);
809、 若隧道狀態(tài)4企查通過,GTP狀態(tài)防火墻轉(zhuǎn)發(fā)T-PDU消息給GGSN;
810、 GGSN收到T-PDU消息后,解封裝此消息為用戶業(yè)務(wù)數(shù)據(jù),發(fā)送給 分組數(shù)據(jù)網(wǎng)絡(luò)主機(jī)。
E.時(shí)序狀態(tài)特征消息
如圖9所示,是對Echo Request和Echo Response消息的處理過程,包括
32步驟
901 、 SGSN向GGSN發(fā)送Echo請求消息;
902、 GTP狀態(tài)防火墻對Echo請求消息進(jìn)行時(shí)序狀態(tài)檢查;時(shí)序狀態(tài)檢 查可以參考前述第三方式進(jìn)行
獲取所述Echo請求消息的路徑、序號和消息值; 如果查到同樣的Echo請求消息,則時(shí)序狀態(tài)錯(cuò)誤; 如果沒有查到同樣的Echo請求消息,則時(shí)序狀態(tài)正確;
903、 若時(shí)序狀態(tài)檢查通過,GTP狀態(tài)防火墻建時(shí)序狀態(tài)記錄,維護(hù)所述 GTP請求消息的時(shí)序狀態(tài)記錄,設(shè)置所述GTP請求消息狀態(tài)為請求狀態(tài);
對于其他的GTP請求消息,也可以采用本步驟同樣的方法進(jìn)行處理。
904、 GTP狀態(tài)防火墻轉(zhuǎn)發(fā)Echo請求消息給GGSN; 905 、 GGSN回應(yīng)Echo響應(yīng)消息給SGSN;
906、 GTP狀態(tài)防火墻對Echo響應(yīng)消息進(jìn)行時(shí)序狀態(tài)檢查;包括 對于收到的Echo響應(yīng)消息,如果查到對應(yīng)的Echo ^"求消息,則時(shí)序狀
態(tài)正確;
如果沒有查到對應(yīng)的GTP請求消息,則時(shí)序狀態(tài)錯(cuò)誤;對于其他的GTP響 應(yīng)消息,可以進(jìn)行同樣的處理;
907、 若隧道狀態(tài)檢查通過,設(shè)置所述GTP請求消息狀態(tài)為完成狀態(tài),刪 除所述Echo響應(yīng)消息的時(shí)序狀態(tài)記錄;
卯8、 GTP狀態(tài)防火墻轉(zhuǎn)發(fā)Echo響應(yīng)消息給SGSN。 本發(fā)明實(shí)施例具有以下有益效果
首先,通過本發(fā)明實(shí)施例的狀態(tài)檢查,能夠過濾狀態(tài)錯(cuò)誤的GTP消息, 保證GTP會話不被黑客利用和攻擊,從而保障GTP業(yè)務(wù)的安全。通過控制面 消息隧道狀態(tài)^r查,能夠有效防范以下攻擊
大量消耗GSN設(shè)備資源直到其無法4是供服務(wù)的PDP上下文擁塞攻擊、各 種路徑擁塞攻擊、使用GTP消息的DDoS (Distributed Denial of Service,分布 式服務(wù)拒絕)攻擊和各種擾亂合法用戶會話和擾亂GPRS網(wǎng)絡(luò)狀態(tài)的攻擊, 也就是說,本發(fā)明實(shí)施例能夠有效防范各種基于GTP會話消息發(fā)起的攻擊。
其次,通過用戶業(yè)務(wù)數(shù)據(jù)狀態(tài)檢查,能夠抵抗利用錯(cuò)誤指示消息(ErrorIndication)的網(wǎng)絡(luò)掃描攻擊,以及基于此消息的DDoS攻擊、計(jì)費(fèi)狀態(tài)攻擊 以及其他基于此消息的各種攻擊。
再次,通過時(shí)序狀態(tài)檢查,能夠防范路徑擁塞攻擊、網(wǎng)絡(luò)掃描攻擊、 對關(guān)聯(lián)網(wǎng)絡(luò)設(shè)施的攻擊,以及對關(guān)聯(lián)網(wǎng)絡(luò)所保存的用戶信息的攻擊、計(jì)費(fèi)狀 態(tài)攻擊和4吏用時(shí)序特征消息的DDoS攻擊。
最后,雖然基于狀態(tài)的攻擊手段比較隱秘,后果十分嚴(yán)重。但是,通過 采用本發(fā)明實(shí)施例所提供的報(bào)文過濾的各個(gè)技術(shù)方案,實(shí)現(xiàn)了對用戶會話的 完整過程進(jìn)行全部檢查,從而達(dá)到了從深層次上防范黑客的技術(shù)效果,能夠 提供細(xì)化的安全需求保障。
一言概之,只要存在GTP會話,本發(fā)明實(shí)施例就可以對與此GTP會話有 關(guān)的所有業(yè)務(wù)都提供安全可靠的深度保障。
參考圖IO所示,是本發(fā)明實(shí)施例所提供的一種GTP協(xié)議報(bào)文過濾裝置的 第一結(jié)構(gòu)框圖,可以安裝在防火墻上,用于處理GTP消息,GTP消息包括隧 道狀態(tài)特征消息和時(shí)序狀態(tài)特征消息,所述裝置包括
隧道狀態(tài);險(xiǎn)查單元1001,用于^r查隧道狀態(tài)特征消息的隧道狀態(tài);
第一處理單元1002,用于如果所述隧道狀態(tài)特征消息的隧道狀態(tài)正確, 才艮據(jù)所述隧道狀態(tài)特征消息維護(hù)GTP隧道;
如果所述隧道狀態(tài)特征消息隧道狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述隧道狀
態(tài)特征消息,如將所述隧道狀態(tài)特征消息轉(zhuǎn)發(fā)或拋棄;
維護(hù)GTP隧道是指,根據(jù)GTP消息,轉(zhuǎn)換GTP隧道的狀態(tài),例如收到
"更新PDP上下文請求"消息后,-沒置為初始更新狀態(tài);收到"更新PDP上 下文響應(yīng)"消息后,設(shè)置為完成更新狀態(tài);收到"刪除PDP上下文請求"消 息后,設(shè)置為初始去激活狀態(tài)。其他的GTP消息,也都是根據(jù)GTP隧道的狀 態(tài)轉(zhuǎn)換關(guān)系,設(shè)置其相應(yīng)的GTP隧道。
時(shí)序狀態(tài)檢查單元1003,用于根據(jù)時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄, 一全查所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài);
第二處理單元1004,用于如果時(shí)序狀態(tài)正確,根據(jù)所述時(shí)序狀態(tài)特征消 息維護(hù)所述時(shí)序狀態(tài)記錄;
維護(hù)所述時(shí)序狀態(tài)記錄是指,根據(jù)時(shí)序狀態(tài)特征消息,進(jìn)行時(shí)序狀態(tài)的切換。例如,可以參照圖2所示的狀態(tài)切換關(guān)系,在時(shí)序狀態(tài)檢查過程中,
當(dāng)接收到請求消息后,進(jìn)入請求狀態(tài),如果再收到合法響應(yīng)消息,則進(jìn)入已 完成狀態(tài),表示一個(gè)完整的時(shí)序狀態(tài)進(jìn)行完畢。
其中,所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄可以包括 所述時(shí)序狀態(tài)特征消息的路徑和序號;或 所述時(shí)序狀態(tài)特征消息的路徑、序號和關(guān)聯(lián)字段。
如果時(shí)序狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述時(shí)序狀態(tài)特征消息,如將所述 隧道狀態(tài)特征消息轉(zhuǎn)發(fā)或拋棄。其中,如圖11所示,是本發(fā)明實(shí)施例的裝置 第二結(jié)構(gòu)框圖,還可以包括獲取單元1105,用于獲取所述GTP隧道的GTP消 息關(guān)^l建字信息和所述GTP隧道地址,所述GTP消息關(guān)^l建字信息和所述GTP隧 道地址用于4全查隧道狀態(tài)。
所述關(guān)鍵字信息可以根據(jù)實(shí)際情況選擇,例如,在使用第一方式進(jìn)行檢 查和第二方式進(jìn)行檢查的時(shí)候,分別可以將IMSI +NSAPI或TEID +IP +TEID 分配標(biāo)志+ NSAPI + Sequence作為關(guān)4建字信息。
其中,所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄可以包括
所述時(shí)序狀態(tài)特征消息的路徑和序號;或
所述時(shí)序狀態(tài)特征消息的路徑、序號和關(guān)聯(lián)字段。
如果時(shí)序狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述時(shí)序狀態(tài)特征消息,如將所述 隧道狀態(tài)特征消息轉(zhuǎn)發(fā)或拋棄。
其中,如圖12所示,是本發(fā)明實(shí)施例的裝置第三結(jié)構(gòu)框圖,所述時(shí)序狀
態(tài);險(xiǎn)查單元可以包括
第一;^查才莫塊i201,用于對于收到的GTP請求消息,如果查到同樣的GTP
請求消息,則時(shí)序狀態(tài)錯(cuò)誤;
第一設(shè)置模塊1202,用于如果沒有查到同樣的GTP請求消息,則時(shí)序狀 態(tài)正確,指示所述第二處理單元維護(hù)所述GTP請求消息的時(shí)序狀態(tài)記錄,設(shè) 置所述GTP請求消息狀態(tài)為請求狀態(tài);
第二設(shè)置模塊1203,用于對于收到的GTP響應(yīng)消息,如果查到對應(yīng)的GTP 請求消息,則時(shí)序狀態(tài)正確,指示所述第二處理單元設(shè)置所述GTP請求消息 狀態(tài)為完成狀態(tài),刪除所述GTP響應(yīng)消息的時(shí)序狀態(tài)記錄;
35第二4全查才莫塊1204,用于如果沒有查到對應(yīng)的GTP請求消息,則時(shí)序狀 態(tài)錯(cuò)誤。
其中,如圖13所示,是本發(fā)明實(shí)施例的裝置第四結(jié)構(gòu)框圖,如果使用第 一方式進(jìn)行隧道狀態(tài)檢查,則所述隧道狀態(tài)檢查單元可以包括第三#全查模 塊1301,用于如果隧道關(guān)鍵字信息中包括國際移動用戶識別碼IMSI和網(wǎng)絡(luò)層 業(yè)務(wù)接入點(diǎn)標(biāo)識NSAPI,則使用IMSI+NSAPI檢查隧道狀態(tài)特征消息的隧道狀 態(tài)。
其中,如果使用第一方式進(jìn)行隧道狀態(tài)特征檢查,則所述隧道狀態(tài)特征 消息包4舌
創(chuàng)建分組數(shù)據(jù)協(xié)議PDP上下文請求消息,創(chuàng)建PDP上下文響應(yīng)消息,更 新PDP上下文請求消息,更新PDP上下文響應(yīng)消息,刪除PDP上下文請求消 息,刪除PDP上下文響應(yīng)消息,創(chuàng)建服務(wù)GPRS支持節(jié)點(diǎn)SGSN上下文請求消 息,創(chuàng)建SGSN上下文響應(yīng)消息,創(chuàng)建SGSN上下文確認(rèn)消息,原始分組數(shù)據(jù) 單元T-PDU消息,創(chuàng)建PDP上下文請求消息的首次激活消息。
使用第一方式可以對上述各個(gè)消息進(jìn)行隧道狀態(tài)檢查,檢查其是否符合 隧道狀態(tài)特征。
在本發(fā)明實(shí)施例中,第四檢查模塊和第五檢查模塊可以根據(jù)應(yīng)用的需要 擇一使用或共同使用。
其中,如圖14所示,是本發(fā)明實(shí)施例的裝置第五結(jié)構(gòu)框圖,如果使用第 二方式進(jìn)行隧道狀態(tài)特征檢查,則所述隧道狀態(tài)檢查單元可以包括第四檢 查模塊1401,用于如果隧道關(guān)鍵字信息中包括隧道端點(diǎn)標(biāo)識符TEID、因特網(wǎng) 協(xié)議IP地址、TEID分配標(biāo)志和GTP消息序號Sequence,則使用所述隧道關(guān) 鍵字信息檢查隧道狀態(tài);或
第五檢查模塊1402,用于如果所述隧道關(guān)鍵字信息中包括隧道端點(diǎn)標(biāo)識 符TEID、因特網(wǎng)協(xié)議IP地址、TEID分配標(biāo)志、NSAPI和GTP消息序號Sequence, 則使用所述隧道關(guān)鍵字信息檢查隧道狀態(tài)。
其中,如圖15所示,是本發(fā)明實(shí)施例的裝置第六結(jié)構(gòu)框圖,如果使用第 二方式進(jìn)行隧道狀態(tài)特征檢查隧道創(chuàng)建狀態(tài)是否合法,則所述隧道狀態(tài)檢查 單元還包括第六檢查模塊1501,用于收到創(chuàng)建PDP上下文請求消息的二次激活消息
后,使用所述TEID+GGSN分配的控制面隧道端點(diǎn)標(biāo)識GGSNC-TEID-FLAG+GGSN 控制面地址GGSN_IP_CTRL, 4全查所述二次激活消息對應(yīng)的首次激活隧道;
第一創(chuàng)建模塊1502,用于如果沒有首次激活消息,則根據(jù)所述創(chuàng)建PDP 上下文請求消息創(chuàng)建隧道;
第七檢查模塊1503,用于收到創(chuàng)建PDP上下文響應(yīng)消息后,使用SGSN分 配的控制面隧道端點(diǎn)標(biāo)識SGSNC _ TEID- FLAG+所述TEID _ HE ADER+SGSN控制面;也 址SGSN—IP—CTRL+所述創(chuàng)建PDP上下文響應(yīng)消息序號Sequence, 4僉查是否存 在與所述創(chuàng)建PDP上下文響應(yīng)消息對應(yīng)的隧道,如果不存在隧道,則隧道狀 態(tài)錯(cuò)誤,如杲存在隧道,則隧道狀態(tài)正確;
所述第一處理單元包括第一處理子單元1504和第二處理子單元1505, 第一處理子單元1504,用于如果存在首次激活消息,且首次激活消息對應(yīng)的 隧道狀態(tài)正確,轉(zhuǎn)發(fā)所述創(chuàng)建PDP上下文請求消息;
第二處理子單元1505,用于如果存在首次激活消息,且首次激活消息對 應(yīng)的隧道狀態(tài)錯(cuò)誤,根據(jù)用戶配置拋棄或轉(zhuǎn)發(fā)所述創(chuàng)建PDP上下文請求消息。
其中,如圖16所示,是本發(fā)明實(shí)施例的裝置第七結(jié)構(gòu)框圖,如果使用第 二方式進(jìn)行隧道狀態(tài)特征檢查隧道更新狀態(tài)是否合法,則所述隧道狀態(tài)檢查 單元還包括
第八檢查模塊1601,用于收到更新PDP上下文請求消息后,如果所述更 新PDP上下文請求消息由SGSN發(fā)起,則使用TEID-HEADER+GGSN控制面地址 GGSN_IP_CTRL+GGSN分配的控制面隧道端點(diǎn)標(biāo)識GGSNC—TEID_FLAG+NSAPI ,才企 查是否存在隧道;
第九檢查模塊1602,用于如果所述更新PDP上下文請求消息由GGSN發(fā)起, 則使用TEID-HEADER+SGSN控制面地址SGSN-IP-CTRL+SGSN分配的控制面隧道 端點(diǎn)標(biāo)識SGSNC-TEID_FLAG+NSAPI,檢查是否存在隧道;
如果存在隧道,則隧道狀態(tài)正確;
如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;
第十檢查模塊1603,用于收到更新PDP上下文響應(yīng)消息后,如果所述更 新PDP上下文響應(yīng)消息由GGSN發(fā)出,則使用TEID_HEADER+SGSN控制面地址SGSN-IP-CTRL+SGSN分配的控制面隧道端點(diǎn)標(biāo)識SGSNC—TEID—FLAG+所述更新 PDP上下文響應(yīng)消息序號Sequence,檢查是否存在隧道;
第十一檢查模塊1604,用于如果所述更新PDP上下文響應(yīng)消息由SGSN發(fā) 出,則4吏用TEID-HEADER+GGSN控制面地址GGSN_IP_CTRL+GGSN分配的控制面 隧道端點(diǎn)標(biāo)識GGSNC_TEID—FLAG+所述更新PDP上下文響應(yīng)消息序號 Sequence,;險(xiǎn)查是否存在隧道;
如果存在隧道,則隧道狀態(tài)正確;
如果不存在隧道,則隧道狀態(tài)錯(cuò)誤。
其中,如圖17所示,是本發(fā)明實(shí)施例的裝置第八結(jié)構(gòu)框圖,如果使用第 二方式進(jìn)行隧道狀態(tài)特征檢查隧道去激活狀態(tài)是否合法,則所述隧道狀態(tài)檢 查單元還可以包4舌
第十二檢查模塊1701,用于收到刪除PDP上下文請求消息后,如果所述 刪除PDP上下文請求消息是由SGSN發(fā)給GGSN,則使用TEID—HEADER+ GGSN_IP_CTRL +GGSNC-TEID—FLAG + NSAPI,;險(xiǎn)查是否存在隧道;
第十三檢查模塊1702,用于如果所述刪除PDP上下文請求消息是由GGSN 發(fā)纟合SGSN,則^f吏用TEID_HEADER+GGSN_IP—CTRL+GGSNC_TEID-FLAG+NSAPI,才企
查是否存在隧道;
如果存在隧道,則隧道狀態(tài)正確;
如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;
第十四;f企查;f莫塊1703,用于收到刪除PDP上下文響應(yīng)消息后,如果所述 刪除PDP上下文響應(yīng)消息是由 GGSN發(fā)給SGSN ,則使用 TEID-HEADER+SGSN-IP-CTRL+SGSNC-TEID—FLAG+所述刪除PDP上下文響應(yīng)消息 序號Sequence,;險(xiǎn)查是否存在隧道;
第十五檢查模塊1704,用于如果所述刪除PDP上下文響應(yīng)消息是由SGSN 發(fā)纟會GGSN,則<吏用TEID_HEADER+GGSN_IP—CTRL+GGSNC—TEID—FLAG+所述刪除 PDP上下文響應(yīng)消息序號Sequence,檢查是否存在隧道;
如果存在隧道,則隧道狀態(tài)正確;
如果不存在隧道,則隧道狀態(tài)錯(cuò)誤。
其中,如圖18所示,是本發(fā)明實(shí)施例的裝置第九結(jié)構(gòu)框圖,如果使用第二方式進(jìn)行隧道狀態(tài)特征檢查隧道路由去更新狀態(tài)是否合法,則所述隧道狀
態(tài)檢查單元還包括
第十六檢查模塊1801,用于收到創(chuàng)建SGSN上下文請求消息后,則使用從 信息元素獲取的隧道端點(diǎn)標(biāo)識TEID_IE+SGSN_IP—CTRL+SGSNC-TEID_FLAG, 4企
查是否存在隧道;
如果存在隧道,則隧道狀態(tài)錯(cuò)誤;
如果不存在隧道,則指示所述第一處理單元?jiǎng)?chuàng)建隧道,以及置所述隧道
的狀態(tài)為初始激活狀態(tài);
第十七檢查模塊1802,用于收到創(chuàng)建SGSN上下文響應(yīng)消息后,則使用 TEID-HEADER +SGSN_IP—CTRL + SGSNC-TEID—FLAG, 4全查是否存在隧道;
如果存在隧道,且處于所述初始激活狀態(tài)的隧道由所述創(chuàng)建SGSN上下文 請求消息創(chuàng)建,則所述隧道狀態(tài)正確,以及指示所述第一處理單元更新所述 隧道中SGSN信息,以及置所述隧道狀態(tài)為半激活狀態(tài);
如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;
第十八檢查模塊1803,用于收到創(chuàng)建SGSN上下文確認(rèn)消息后,則使用 TEID-HEADER +GGSN—IP—CTRL + GGSNC—TEID—FLAG,檢查是否存在隧道;
如果存在隧道,則隧道狀態(tài)正確,則指示所述第一處理單元更新所述隧 道狀態(tài)中所述SGSN隧道信息,并置所述隧道的狀態(tài)為完成激活狀態(tài);
如果不存在隧道,則隧道狀態(tài)錯(cuò)誤。
其中,如圖19所示,是本發(fā)明實(shí)施例的裝置第十結(jié)構(gòu)框圖,如果使用第 二方式進(jìn)行隧道狀態(tài)特征4全查T-PDU消息狀態(tài)是否合法,則所述隧道狀態(tài)檢 查單元還包括
第十九檢查模塊1901,用于收到原始分組數(shù)據(jù)單元消息T-PDU后,則使 用SGSN—TEID—FLAG+TEID—HEADER+SGSN用戶控制面地址SGSN_IP_USER,或者
第二十檢查模塊1902,用于使用GGSN—TEID_FLAG+TEID_HEADER+GGSN用 戶控制面地址GGSN_IP-USER,檢查是否存在隧道;
如果存在隧道,則所述隧道狀態(tài)正確;
如果不存在隧道,則所述隧道狀態(tài)錯(cuò)誤。
其中,如圖20所示,是本發(fā)明實(shí)施例的裝置第十一結(jié)構(gòu)框圖,所述裝置
39還可以包4舌
序號檢查單元2001,用于如果存在隧道,檢查所述T-PDU消息序號; 第三處理單元2002,用于轉(zhuǎn)發(fā)合法的T-PDU消息,拋棄不合法的T-PDU 消息。
其中,如圖20所示,是本發(fā)明實(shí)施例的裝置第十一結(jié)構(gòu)框圖,所述裝置 還可以包括獲取單元2005,用于獲取所述GTP隧道的GTP消息關(guān)鍵字信息 和所述GTP隧道地址,所述GTP消息關(guān)鍵字信息和所述GTP隧道地址用于檢 查隧道狀態(tài)。
所述關(guān)鍵字信息可以根據(jù)實(shí)際情況選擇,例如,在使用第一方式進(jìn)行檢 查和第二方式進(jìn)行檢查的時(shí)候,分別可以將IMSI+NSAPI或TEID +IP +TEID 分配標(biāo)志+ NSAPI + Sequence作為關(guān)4建字信息。
本發(fā)明實(shí)施例提供的裝置具有與方法部分相同的技術(shù)效果,不再重復(fù)。 如圖21所示,是本發(fā)明實(shí)施例所提供的過濾報(bào)文的系統(tǒng)的結(jié)構(gòu)框圖,用于處 理GTP消息,GTP消息包括隧道狀態(tài)特征消息和時(shí)序狀態(tài)特征消息,所述系 統(tǒng)包括
防火墻2101,所述防火墻包括
隧道狀態(tài)檢查單元,用于檢查隧道狀態(tài)特征消息的隧道狀態(tài); 第一處理單元,用于如果隧道狀態(tài)正確,則根據(jù)GTP消息維護(hù)GTP隧道; 如果隧道狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述隧道狀態(tài)特征消息; 時(shí)序狀態(tài)檢查單元,用于根據(jù)時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄,檢查
所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài);
第二處理單元,用于如果時(shí)序狀態(tài)正確,根據(jù)所述時(shí)序狀態(tài)特征消息維
護(hù)所述時(shí)序狀態(tài)記錄;
如果時(shí)序狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述時(shí)序狀態(tài)特征消息。
本發(fā)明實(shí)施例所提供的系統(tǒng),由于防火墻具有與裝置實(shí)施例相同的技術(shù)
效果,所以本發(fā)明的系統(tǒng)具有與前述各個(gè)實(shí)施例相同的技術(shù)效果。
通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本
發(fā)明可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,
但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來, 該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算 機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí) 施例所述的方法。
以上所述的本發(fā)明實(shí)施方式,并不構(gòu)成對本發(fā)明保護(hù)范圍的限定。任何 在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本 發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種過濾報(bào)文的方法,其特征在于,通用無線分組服務(wù)隧道協(xié)議GTP消息包括隧道狀態(tài)特征消息和時(shí)序狀態(tài)特征消息,所述方法包括檢查隧道狀態(tài)特征消息的隧道狀態(tài),如果隧道狀態(tài)正確,則根據(jù)隧道狀態(tài)特征消息維護(hù)GTP隧道;如果隧道狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述隧道狀態(tài)特征消息;根據(jù)時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄,檢查所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài);如果時(shí)序狀態(tài)正確,根據(jù)所述時(shí)序狀態(tài)特征消息維護(hù)所述時(shí)序狀態(tài)記錄;如果時(shí)序狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述時(shí)序狀態(tài)特征消息。
2、 如權(quán)利要求l所述的方法,其特征在于,所述時(shí)序狀態(tài)特征消息的時(shí) 序狀態(tài)記錄包括所述時(shí)序狀態(tài)特征消息的路徑和序號;或 所述時(shí)序狀態(tài)特征消息的路徑、序號和關(guān)聯(lián)字段。
3、 如權(quán)利要求1或2任一項(xiàng)所述的方法,其特征在于,檢查所述所述時(shí) 序狀態(tài)特征消息的時(shí)序狀態(tài)包括對于收到的GTP請求消息,如果查到同樣的GTP請求消息,則時(shí)序狀態(tài) 錯(cuò)誤;如果沒有查到同樣的GTP請求消息,則時(shí)序狀態(tài)正確,則所述根據(jù)所述 時(shí)序狀態(tài)特征消息維護(hù)所述時(shí)序狀態(tài)記錄包括維護(hù)所述GTP請求消息的時(shí) 序狀態(tài)記錄,設(shè)置所述GTP請求消息狀態(tài)為請求狀態(tài);對于收到的GTP響應(yīng)消息,如果查到對應(yīng)的GTP請求消息,則時(shí)序狀態(tài) 正確,則所述根據(jù)所述時(shí)序狀態(tài)特征消息維護(hù)所述時(shí)序狀態(tài)記錄包括設(shè)置 所述GTP請求消息狀態(tài)為完成狀態(tài),刪除所述GTP響應(yīng)消息的時(shí)序狀態(tài)記錄;如果沒有查到對應(yīng)的GTP請求消息,則時(shí)序狀態(tài)錯(cuò)誤。
4、 如權(quán)利要求l所述的方法,其特征在于,所述檢查隧道狀態(tài)特征消息 的隧道狀態(tài)包括如果隧道關(guān)鍵字信息中包括國際移動用戶識別碼工MSI和網(wǎng)絡(luò)層業(yè)務(wù)接入 點(diǎn)標(biāo)識NSAPI,則使用IMSI和NSAPI檢查隧道狀態(tài)特征消息的隧道狀態(tài)。
5、 如權(quán)利要求4所述的方法,其特征在于,所述隧道狀態(tài)特征消息包括創(chuàng)建分組數(shù)據(jù)協(xié)議PDP上下文請求消息,創(chuàng)建PDP上下文響應(yīng)消息,更新PDP上下文請求消息,更新PDP上下文響應(yīng)消息,刪除PDP上下文請求消息,刪除PDP上下文響應(yīng)消息,創(chuàng)建服務(wù)GPRS支持節(jié)點(diǎn)SGSN上下文請求消息,創(chuàng)建SGSN上下文響應(yīng)消息,創(chuàng)建SGSN上下文確認(rèn)消息,原始分組數(shù)據(jù)單元T-PDU消息,創(chuàng)建PDP上下文請求消息的首次激活消息。
6、 如權(quán)利要求l所述的方法,其特征在于,所述^r查隧道狀態(tài)特征消息的隧道狀態(tài)包括如果隧道關(guān)鍵字信息中包括隧道端點(diǎn)標(biāo)識符TEID、因特網(wǎng)協(xié)議IP地址、TEID分配標(biāo)志和GTP消息序號Sequence,則4吏用所述隧道關(guān)4建字信息;險(xiǎn)查隧道狀態(tài);或如果隧道關(guān)鍵字信息中包括隧道端點(diǎn)標(biāo)識符TEID、因特網(wǎng)協(xié)議IP地址、TEID分配標(biāo)志、NSAPI和GTP消息序號Sequence,則使用所述隧道關(guān)鍵字信息檢查隧道狀態(tài)。
7、 如權(quán)利要求6所述的方法,其特征在于,所述檢查隧道狀態(tài)特征消息的隧道狀態(tài)包括當(dāng)收到創(chuàng)建PDP上下文請求消息的二次激活消息后,使用所述TEID和GGSN分配的控制面隧道端點(diǎn)標(biāo)識GGSNC-TEID—FLAG和GGSN控制面地址GGSN_IP_CTRL,檢查所述二次激活消息對應(yīng)的首次激活隧道;如果沒有首次激活消息,則才艮據(jù)所述創(chuàng)建PDP上下文請求消息創(chuàng)建隧道;如果存在首次激活消息,且首次激活消息對應(yīng)的隧道狀態(tài)正確,則轉(zhuǎn)發(fā)所述創(chuàng)建PDP上下文請求消息;如果存在首次激活消息,且首次激活消息對應(yīng)的隧道狀態(tài)錯(cuò)誤,則按預(yù)設(shè)條件處理所述隧道狀態(tài)特征消息具體為根據(jù)用戶配置拋棄或轉(zhuǎn)發(fā)所述創(chuàng)建PDP上下文請求消息;當(dāng)收到創(chuàng)建PDP上下文響應(yīng)消息后,使用SGSN分配的控制面隧道端點(diǎn)標(biāo)識SGSNC-TEID-FLAG、所述TEID_HEADER、 SGSN控制面地址SGSN_IP_CTRL和所述創(chuàng)建PDP上下文響應(yīng)消息序號Sequence,檢查是否存在與所述創(chuàng)建PDP上下文響應(yīng)消息對應(yīng)的隧道;如果不存在隧道,則隧道狀態(tài)4普誤;如果存在隧道,則隧道狀態(tài)正確。
8、 如權(quán)利要求6所述的方法,其特征在于,所述檢查隧道狀態(tài)特征消息的隧道狀態(tài)包括收到更新PDP上下文請求消息后,如果所述更新PDP上下文請求消息由SGSN發(fā)起,則使用TEID_HEADER、 GGSN控制面地址GGSN—IP_CTRL、 GGSN分配的控制面隧道端點(diǎn)標(biāo)識GGSNC—TEID-FLAG和NSAPI, 4企查是否存在隧道;如果所述更新PDP上下文請求消息由GGSN發(fā)起,則使用TEID_HEADER、SGSN控制面地址SGSN_ IP-CTRL 、 SGSN分配的控制面隧道端點(diǎn)標(biāo)識SGSNC-TEID-FLAG和NSAPI, 4全查是否存在隧道;如果存在隧道,則隧道狀態(tài)正確;如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;收到更新PDP上下文響應(yīng)消息后,如果所述更新PDP上下文響應(yīng)消息由GGSN發(fā)出,則使用TEID_HEADER、 SGSN控制面地址SGSN_IP_CTRL、 SGSN分配的控制面隧道端點(diǎn)標(biāo)識SGSNC-TEID-FLAG和所述更新PDP上下文響應(yīng)消息序號Sequence, 4企查是否存在隧道;如果所述更新PDP上下文響應(yīng)消息由SGSN發(fā)出,則使用TEID_HEADER、GGSN控制面地址GGSN_ IP-CTRL 、 GGSN分配的控制面隧道端點(diǎn)標(biāo)識GGSNC-TEID-FLAG和所述更新PDP上下文響應(yīng)消息序號Sequence,檢查是否存在隧道;如果存在隧道,則隧道狀態(tài)正確;如果不存在隧道,則隧道狀態(tài)錯(cuò)誤。
9、 如權(quán)利要求6所述的方法,其特征在于,所述檢查隧道狀態(tài)特征消息的隧道狀態(tài)包括收到刪除PDP上下文請求消息后,如果所述刪除PDP上下文請求消息是由SGSN發(fā)給GGSN,則使用TEID-HEADER、 GGSN_IP—CTRL 、 GGSNC_TEID_FLAG和NSAPI, 4企查是否存在隧道;如果所述刪除PDP上下文請求消息是由GGSN發(fā)給SGSN,則使用TEID_HEADER、 GGSN—IP—CTRL、 GGSNC—TEID—FLAG和NSAPI,檢查是否存在隧道;如果存在隧道,則隧道狀態(tài)正確;如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;收到刪除PDP上下文響應(yīng)消息后,如果所述刪除PDP上下文響應(yīng)消息是由GGSN發(fā)給SGSN,則使用TEID—HEADER、 SGSN_IP_CTRL、 SGSNC—TEID—FLAG和所述刪除PDP上下文響應(yīng)消息序號Sequence,;險(xiǎn)查是否存在隧道;如果所述刪除PDP上下文響應(yīng)消息是由SGSN發(fā)給GGSN,則使用TEID—HEADER、 GGSN_IP—CTRL、 GGSNC_TEID_FLAG和所述刪除PDP上下文響應(yīng)消息序號Sequence,檢查是否存在隧道;如果存在隧道,則隧道狀態(tài)正確;如果不存在隧道,則隧道狀態(tài)錯(cuò)誤。
10、 如權(quán)利要求6所述的方法,其特征在于,所述檢查隧道狀態(tài)特征消息的隧道狀態(tài)包括收到創(chuàng)建SGSN上下文請求消息后,則使用從信息元素獲取的隧道端點(diǎn)標(biāo)識TEID一IE、 SGSN—IP—CTRL和SGSNC-TEID-FLAG,沖企查是否存在隧道;如果存在隧道,則隧道狀態(tài)錯(cuò)誤;如果不存在隧道,則創(chuàng)建隧道,以及置所述隧道的狀態(tài)為初始激活狀態(tài);收到創(chuàng)建SGSN上下文響應(yīng)消息后,則使用TEID-HEADER 、 SGSN_IP_CTRL和SGSNC-TEID-FLAG,;險(xiǎn)查是否存在隧道;如果存在隧道,且處于所述初始激活狀態(tài)的隧道由所述創(chuàng)建SGSN上下文請求消息創(chuàng)建,則所述隧道狀態(tài)正確,更新所述隧道中SGSN信息,以及置所述隧道狀態(tài)為半激活狀態(tài);如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;收到創(chuàng)建SGSN上下文確認(rèn)消息后,則使用TEID-HEADER 、 GGSN_IP_CTRL和GGSNC-TEID-FLAG, 4全查是否存在隧道;如果存在隧道,則隧道狀態(tài)正確,更新所述隧道狀態(tài)中所述SGSN隧道信息,并置所述隧道的狀態(tài)為完成激活狀態(tài);如果不存在隧道,則隧道狀態(tài)錯(cuò)誤。
11、 如權(quán)利要求6所述的方法,其特征在于,所述檢查隧道狀態(tài)特征消息的隧道狀態(tài)包括收到原始分組數(shù)據(jù)單元消息T-PDU后,則使用SGSN_TEID_FLAG、TEID-HEADER和SGSN用戶控制面地址SGSN_IP_USER,或者^使用 GGSN—TEID—FLAG 、 TEID—HEADER和GGSN用戶控制面地址GGSN_IP_USER, 4全查是否存在隧道;如果存在隧道,則所述隧道狀態(tài)正確;如果不存在隧道,則所述隧道狀態(tài)錯(cuò)誤。
12、 如權(quán)利要求11所述的方法,其特征在于,如果存在隧道,還包括檢查所述T-PDU消息序號,轉(zhuǎn)發(fā)合法的T-PDU消息,拋棄不合法的T-PDU消息。
13、 如權(quán)利要求1所述的方法,其特征在于,在所述檢查隧道狀態(tài)特征消息的隧道狀態(tài)之前,還包括獲取所述GTP隧道的GTP消息關(guān)鍵字信息和所述GTP隧道地址,所述GTP消息關(guān)鍵字信息和所述GTP隧道地址用于檢查隧道狀態(tài)。
14、 一種過濾報(bào)文的裝置,其特征在于,通用無線分組服務(wù)隧道協(xié)議GTP消息包括隧道狀態(tài)特征消息和時(shí)序狀態(tài)特征消息,所述裝置包括隧道狀態(tài)檢查單元,用于檢查隧道狀態(tài)特征消息的隧道狀態(tài);第一處理單元,用于如果隧道狀態(tài)正確,則根據(jù)隧道狀態(tài)特征消息維護(hù)GTP隧道;如果隧道狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述隧道狀態(tài)特征消息;時(shí)序狀態(tài)檢查單元,用于根據(jù)時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄,檢查所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài);第二處理單元,用于如果時(shí)序狀態(tài)正確,根據(jù)所述時(shí)序狀態(tài)特征消息維護(hù)所述時(shí)序狀態(tài)記錄;如果時(shí)序狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述時(shí)序狀態(tài)特征消息。
15、 如權(quán)利要求14所述的裝置,其特征在于,所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄包括所述時(shí)序狀態(tài)特征消息的路徑和序號;或所述時(shí)序狀態(tài)特征消息的路徑、序號和關(guān)聯(lián)字段。
16、 如權(quán)利要求14或15任一項(xiàng)所述的裝置,其特征在于,所述時(shí)序狀態(tài)檢查單元包括第一檢查沖莫塊,用于對于收到的GTP請求消息,如果查到同樣的GTP請求消息,則時(shí)序狀態(tài)錯(cuò)誤;第一設(shè)置模塊,用于如果沒有查到同樣的GTP請求消息,則時(shí)序狀態(tài)正確,指示所述第二處理單元維護(hù)所述GTP請求消息的時(shí)序狀態(tài)記錄,設(shè)置所述GTP請求消息狀態(tài)為請求狀態(tài);第二設(shè)置才莫塊,用于對于收到的GTP響應(yīng)消息,如果查到對應(yīng)的GTP請求消息,則時(shí)序狀態(tài)正確,指示所述第二處理單元設(shè)置所述GTP請求消息狀態(tài)為完成狀態(tài),刪除所述GTP響應(yīng)消息的時(shí)序狀態(tài)記錄;第二檢查模塊,用于如果沒有查到對應(yīng)的GTP請求消息,則時(shí)序狀態(tài)錯(cuò)誤。
17、 如權(quán)利要求14所述的裝置,其特征在于,所述隧道狀態(tài)檢查單元包括第三檢查模塊,用于如果隧道關(guān)鍵字信息中包括國際移動用戶識別碼IMSI和網(wǎng)絡(luò)層業(yè)務(wù)接入點(diǎn)標(biāo)識NSAPI,則使用IMSI和NSAPI檢查隧道狀態(tài)特征消息的隧道狀態(tài)。
18、 如權(quán)利要求17所述的裝置,其特征在于,所述隧道狀態(tài)特征消息包括創(chuàng)建分組數(shù)據(jù)協(xié)議PDP上下文請求消息,創(chuàng)建PDP上下文響應(yīng)消息,更新PDP上下文請求消息,更新PDP上下文響應(yīng)消息,刪除PDP上下文請求消息,刪除PDP上下文響應(yīng)消息,創(chuàng)建服務(wù)GPRS支持節(jié)點(diǎn)SGSN上下文請求消息,創(chuàng)建SGSN上下文響應(yīng)消息,創(chuàng)建SGSN上下文確認(rèn)消息,原始分組數(shù)據(jù)單元T-PDU消息,創(chuàng)建PDP上下文請求消息的首次激活消息。
19、 如權(quán)利要求14所述的裝置,其特征在于,所述隧道狀態(tài)檢查單元包括第四檢查模塊,用于如果隧道關(guān)鍵字信息中包括隧道端點(diǎn)標(biāo)識符TEID、因特網(wǎng)協(xié)議IP地址、TEID分配標(biāo)志和GTP消息序號Sequence,則使用所述隧道關(guān)鍵字信息檢查隧道狀態(tài);或第五檢查模塊,用于如果所述隧道關(guān)鍵字信息中包括隧道端點(diǎn)標(biāo)識符TEID、因特網(wǎng)協(xié)議IP地址、TEID分配標(biāo)志、NSAPI和GTP消息序號Sequence,則使用所述隧道關(guān)鍵字信息檢查隧道狀態(tài)。
20、 如權(quán)利要求19所述的裝置,其特征在于,所述隧道狀態(tài)檢查單元還包括第六4全查模塊,用于收到創(chuàng)建PDP上下文請求消息的二次激活消息后,使用所述TEID、 GGSN分配的控制面隧道端點(diǎn)標(biāo)識GGSNC-TEID-FLAG和GGSN控制面地址GGSN_IP_CTRL,;險(xiǎn)查所述二次激活消息對應(yīng)的首次激活隧道;第一創(chuàng)建模塊,用于如果沒有首次激活消息,則根據(jù)所述創(chuàng)建PDP上下文請求消息創(chuàng)建隧道;第七片企查模塊,用于收到創(chuàng)建PDP上下文響應(yīng)消息后,使用SGSN分配的控制面隧道端點(diǎn)標(biāo)識SGSNC-TEID-FLAG、所述TEID—HEADER、 SGSN控制面地址SGSN-IP-CTRL和所述創(chuàng)建PDP上下文響應(yīng)消息序號Sequence, 4全查是否存在與所述創(chuàng)建PDP上下文響應(yīng)消息對應(yīng)的隧道,如果不存在隧道,則隧道狀態(tài)錯(cuò)誤,如果存在隧道,則隧道狀態(tài)正確;所述第一處理單元包括第一處理子單元,用于如果存在首次激活消息,且首次激活消息對應(yīng)的隧道狀態(tài)正確,轉(zhuǎn)發(fā)所述創(chuàng)建PDP上下文請求消息;第二處理子單元,用于如果存在首次激活消息,且首次激活消息對應(yīng)的隧道狀態(tài)錯(cuò)誤,根據(jù)用戶配置拋棄或轉(zhuǎn)發(fā)所述創(chuàng)建PDP上下文請求消息。
21、 如權(quán)利要求19所述的裝置,其特征在于,所述隧道狀態(tài)檢查單元還包括第八檢查模塊,用于收到更新PDP上下文請求消息后,如果所述更新PDP上下文請求消息由SGSN發(fā)起,則使用TEID-HEADER、 GGSN控制面地址GGSN-IP-CTRL、 GGSN分配的控制面隧道端點(diǎn)標(biāo)識GGSNC-TEID-FLAG和NSAPI,檢查是否存在隧道;第九檢查模塊,用于如果所述更新PDP上下文請求消息由GGSN發(fā)起,則使用TEID_HEADER、 SGSN控制面地址SGSN_IP_CTRL、 SGSN分配的控制面隧道端點(diǎn)標(biāo)識SGSNC-TEID_FLAG和NSAPI,檢查是否存在隧道;如果存在隧道,則隧道狀態(tài)正確;如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;第十4企查4莫塊,用于收到更新PDP上下文響應(yīng)消息后,如果所迷更新PDP上下文響應(yīng)消息由GGSN發(fā)出,則使用TEID-HEADER、 SGSN控制面地址SGSN-IP-CTRL、 SGSN分配的控制面隧道端點(diǎn)標(biāo)識SGSNC_TEID_FLAG和所述更新PDP上下文響應(yīng)消息序號Sequence, 4企查是否存在隧道;第十一檢查模塊,用于如果所述更新PDP上下文響應(yīng)消息由SGSN發(fā)出,則使用TEID_HEADER、 GGSN控制面地址GGSN_IP_CTRL、 GGSN分配的控制面隧道端點(diǎn)標(biāo)識GGSNC-TEID-FLAG和所述更新PDP上下文響應(yīng)消息序號Sequence,檢查是否存在隧道;如果存在隧道,則隧道狀態(tài)正確;如果不存在隧道,則隧道狀態(tài)錯(cuò)誤。
22、 如權(quán)利要求19所述的裝置,其特征在于,所述隧道狀態(tài);險(xiǎn)查單元還包括第十二檢查模塊,用于收到刪除PDP上下文請求消息后,如果所述刪除PDP上下文請求消息是由SGSN發(fā)給GGSN,則使用TEID_HEADER 、GGSN_IP_CTRL 、 GGSNC—TEID—FLAG和NSAPI, -險(xiǎn)查是否存在隧道;第十三檢查模塊,用于如果所述刪除PDP上下文請求消息是由GGSN發(fā)給SGSN,則4吏用TEID_HEADER、 GGSN_IP_CTRL、 GGSNC—TEID—FLAG和NSAPI,才全查是否存在隧道;如果存在隧道,則隧道狀態(tài)正確;如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;第十四檢查模塊,用于收到刪除PDP上下文響應(yīng)消息后,如果所述刪除PDP上下文響應(yīng)消息是由GGSN發(fā)給SGSN,則使用TEID_HEADER、SGSN_IP_CTRL、SGSNC_TEID_FLAG和所述刪除PDP上下文響應(yīng)消息序號Sequence, 4企查是否存在隧道;第十五檢查模塊,用于如果所述刪除PDP上下文響應(yīng)消息是由SGSN發(fā)給GGSN,則使用TEID-HEADER、 GGSN_IP_CTRL、 GGSNC—TEID—FLAG和所述刪除PDP上下文響應(yīng)消息序號Sequence,沖全查是否存在隧道;如果存在隧道,則隧道狀態(tài)正確;如果不存在隧道,則隧道狀態(tài)錯(cuò)誤。
23、 如權(quán)利要求19所述的裝置,其特征在于,所述隧道狀態(tài)檢查單元還包括第十六檢查模塊,用于收到創(chuàng)建SGSN上下文請求消息后,則使用從信息元素獲耳又的隧道端點(diǎn)標(biāo)識TEID_IE、 SGSN—IP—CTRL和SGSNC_TEID_FLAG,;險(xiǎn)查是否存在隧道;如果存在隧道,則隧道狀態(tài)錯(cuò)誤;如果不存在隧道,則指示所述第一處理單元?jiǎng)?chuàng)建隧道,以及置所述隧道的狀態(tài)為初始激活狀態(tài);第十七檢查模塊,用于收到創(chuàng)建SGSN上下文響應(yīng)消息后,則使用TEID—HEADER 、 SGSN—IP—CTRL和SGSNC—TEID—FLAG,才全查是否存在隧道;如果存在隧道,且處于所述初始激活狀態(tài)的隧道由所述創(chuàng)建SGSN上下文請求消息創(chuàng)建,則所述隧道狀態(tài)正確,以及指示所述第一處理單元更新所述隧道中SGSN信息,以及置所述隧道狀態(tài)為半激活狀態(tài);如果不存在隧道,則隧道狀態(tài)錯(cuò)誤;第十八檢查模塊,用于收到創(chuàng)建SGSN上下文確認(rèn)消息后,則使用TEID-HEADER 、 GGSN—IP—CTRL和GGSNC—TEID_FLAG, 4企查是否存在隧道;如果存在隧道,則隧道狀態(tài)正確,則指示所述第一處理單元更新所述隧道狀態(tài)中所述SGSN隧道信息,并置所述隧道的狀態(tài)為完成激活狀態(tài);如果不存在隧道,則隧道狀態(tài)錯(cuò)誤。
24、 如權(quán)利要求19所述的裝置,其特征在于,所述隧道狀態(tài)^r查單元還包括第十九檢查模塊,用于收到原始分組數(shù)據(jù)單元消息T-PDU后,則使用SGSN_TEID_FLAG、 TEID_HEADER和SGSN用戶控制面地址SGSN—IP_USER,或者第二十檢查模塊,用于使用GGSN-TEID-FLAG和TEID—HEADER+GGSN用戶控制面地址GGSN-IP-USER,;險(xiǎn)查是否存在隧道;如果存在隧道,則所述隧道狀態(tài)正確;如果不存在隧道,則所述隧道狀態(tài)4晉誤。
25、 如權(quán)利要求24所述的裝置,其特征在于,還包括序號檢查單元,用于如果存在隧道,檢查所述T-PDU消息序號;第三處理單元,用于轉(zhuǎn)發(fā)合法的T-PDU消息,拋棄不合法的T-PDU消息。
26、 如權(quán)利要求14所述的裝置,其特征在于,還包括獲取單元,用于獲取所述GTP隧道的GTP消息關(guān)鍵字信息和所述GTP隧道地址,所述GTP消息關(guān)鍵字信息和所述GTP隧道地址用于檢查隧道狀態(tài)。
27、 一種過濾報(bào)文的系統(tǒng),其特征在于,通用無線分組服務(wù)隧道協(xié)議GTP消息包括隧道狀態(tài)特征消息和時(shí)序狀態(tài)特征消息,所述系統(tǒng)包括防火墻,所述防火墻包括隧道狀態(tài)檢查單元,用于檢查隧道狀態(tài)特征消息的隧道狀態(tài);第一處理單元,用于如果隧道狀態(tài)正確,則根據(jù)GTP消息維護(hù)GTP隧道;如果隧道狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述隧道狀態(tài)特征消息;時(shí)序狀態(tài)檢查單元,用于根據(jù)時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄,檢查所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài);第二處理單元,用于如果時(shí)序狀態(tài)正確,根據(jù)所述時(shí)序狀態(tài)特征消息維護(hù)所述時(shí)序狀態(tài)記錄;如果時(shí)序狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述時(shí)序狀態(tài)特征消息。
全文摘要
本發(fā)明實(shí)施例公開了一種過濾報(bào)文的系統(tǒng),包括防火墻,所述防火墻包括隧道狀態(tài)檢查單元,用于檢查隧道狀態(tài)特征消息的隧道狀態(tài);第一處理單元,用于如果隧道狀態(tài)正確,則根據(jù)GTP消息維護(hù)GTP隧道;如果隧道狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述隧道狀態(tài)特征消息;時(shí)序狀態(tài)檢查單元,用于根據(jù)時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài)記錄,檢查所述時(shí)序狀態(tài)特征消息的時(shí)序狀態(tài);第二處理單元,用于如果時(shí)序狀態(tài)正確,根據(jù)所述時(shí)序狀態(tài)特征消息維護(hù)所述時(shí)序狀態(tài)記錄;如果時(shí)序狀態(tài)錯(cuò)誤,按預(yù)設(shè)條件處理所述時(shí)序狀態(tài)特征消息。還公布了報(bào)文過濾的方法和裝置,利用本發(fā)明實(shí)施例,實(shí)現(xiàn)了防火墻上進(jìn)行基于會話狀態(tài)過濾的安全技術(shù)。
文檔編號H04W24/04GK101505478SQ200910117850
公開日2009年8月12日 申請日期2009年3月6日 優(yōu)先權(quán)日2009年3月6日
發(fā)明者賀書琦 申請人:成都市華為賽門鐵克科技有限公司