常國鋒 ,焦大軍 ,孫 悅
(1.新鄉(xiāng)學院 新鄉(xiāng) 453003;2.北京郵電大學網(wǎng)絡(luò)與交換技術(shù)國家重點實驗室 北京 100876)
IMS是3GPP在R5版本標準中提出的支持IP多媒體業(yè)務(wù)的子系統(tǒng)。它基于SIP的體系,使用SIP呼叫控制機制創(chuàng)建、管理和終結(jié)各種類型的多媒體業(yè)務(wù)。各種類型的客戶端通過IMS都可以建立起端到端的IP通信,并可獲得所需要的服務(wù)質(zhì)量。在網(wǎng)絡(luò)融合的發(fā)展趨勢下,IMS技術(shù)為基于IP的移動和固定通信融合提供了基礎(chǔ),并被業(yè)界認為是網(wǎng)絡(luò)演進的一個重要階段。
在傳統(tǒng)的電信網(wǎng)中,由于網(wǎng)絡(luò)封閉組網(wǎng)的特性,安全問題并不突出,然而當網(wǎng)絡(luò)融合的趨勢逐漸明顯,網(wǎng)絡(luò)IP化、組網(wǎng)開放式的特性逐漸顯著時,電信網(wǎng)將迎來原有互聯(lián)網(wǎng)上各種安全威脅的挑戰(zhàn),IMS的引入將使電信領(lǐng)域進入互聯(lián)網(wǎng)時代,安全問題將成為電信運營商的頭號大敵。
在眾多安全問題中,互聯(lián)網(wǎng)中較為常見的DoS(denial of service)攻擊將成為IMS網(wǎng)絡(luò)中比較主要的安全威脅。DoS往往是針對網(wǎng)絡(luò)協(xié)議中的弱點或者系統(tǒng)存在的漏洞,對系統(tǒng)發(fā)起攻擊,通過消耗系統(tǒng)有限的不可恢復(fù)的資源,使合法用戶的服務(wù)性能降低或者遭到拒絕。攻擊者不正當?shù)夭捎脴藴蕝f(xié)議或連接方法,向目標發(fā)送大量的信息,消耗攻擊目標的資源,使攻擊目標不能正常地為用戶服務(wù)。DoS中最典型的是泛洪攻擊?;ヂ?lián)網(wǎng)中常見的傳輸層TCP SYN/UDP泛洪攻擊在IMS網(wǎng)絡(luò)中將繼續(xù)存在,同時應(yīng)用層基于SIP協(xié)議的SIP消息泛洪攻擊、錯誤的SIP消息體攻擊也將嚴重地威脅IMS網(wǎng)絡(luò),在消耗系統(tǒng)資源的同時,對IMS網(wǎng)絡(luò)造成巨大的威脅[1]。
DoS在互聯(lián)網(wǎng)上出現(xiàn)已久,隨著入侵檢測技術(shù)的發(fā)展,各種針對DoS的攻擊檢測技術(shù)和防范技術(shù)也層出不窮。然而,針對IMS網(wǎng)絡(luò)攻擊檢測尤其是SIP泛洪攻擊檢測的技術(shù)普遍較少,目前尚沒有令人滿意的研究成果[2]。
[3]將IMS網(wǎng)絡(luò)中會話功能實體CPU的利用率作為檢測特征,如果利用率超過設(shè)定的閾值,表明遭到SIP泛洪攻擊。該方法雖然簡單,但存在以下兩個缺點:其一,攻擊者可以通過手工構(gòu)造攻擊數(shù)據(jù)分組,在保持CPU利用率低于設(shè)定閾值的情況下發(fā)動攻擊,上述檢測方法將失效;其二,該方法無法區(qū)分瞬間擁塞與泛洪攻擊,可能導(dǎo)致誤報。參考文獻[4]提出了一種基于人工免疫系統(tǒng)算法的檢測框架,用于檢測IMS網(wǎng)絡(luò)中的SIP泛洪攻擊,并將其檢測性能與基于特征的檢測算法進行比較。該方法的缺點是不能在攻擊的早期檢測到攻擊,導(dǎo)致檢測時間過長。參考文獻[5]將互聯(lián)網(wǎng)泛洪攻擊檢測常用的3種算法(即門限值算法、累計和算法(cumulative sum,CUSUM)和Hellinger距離算法)用于IMS網(wǎng)絡(luò)中SIP泛洪攻擊的檢測,并對3種算法的性能進行比較,3種算法各有優(yōu)勢,本文選擇第2種。參考文獻[6]針對IMS網(wǎng)絡(luò)中的移動多媒體通信面臨的與SIP、RTP、IP有關(guān)的DoS攻擊進行了分析,并在IMS已有的標準安全機制的基礎(chǔ)上提出一種安全體系架構(gòu)機制,用來為客戶和服務(wù)提供商提供可靠的通信環(huán)境,但該框架仍然無法有效解決SIP攻擊問題。
針對上述分析,為高效準確地檢測出IMS網(wǎng)絡(luò)中面臨的SIP泛洪攻擊,本文提出一種新的SIP泛洪攻擊的檢測方法。該方法的核心是對invite消息流進行分析,將抽樣間隔內(nèi)進入IMS網(wǎng)絡(luò)中的所有初始invite請求消息的數(shù)量與正常 (信令)消息流數(shù)量的差作為檢測特征,使用累積和算法檢測上述差值所包含的信息,以判決攻擊是否發(fā)生。實驗結(jié)果表明,本文提出的方法具有較高的檢測率。
SIP協(xié)議的信令連接方式也基于3次握手策略,與TCP的連接方式有相似之處,因此,在IMS網(wǎng)絡(luò)上對SIP消息發(fā)起泛洪攻擊也是主要的攻擊方式。SIP消息泛洪攻擊主要有invite消息泛洪和register消息泛洪,攻擊者向攻擊目標發(fā)送大量的SIP invite消息(源IP地址使用IP地址欺騙),被攻擊的服務(wù)器忙于處理大量的invite消息,從而耗盡服務(wù)器資源無法處理正常合法的消息。攻擊原理如圖1所示。register消息泛洪攻擊與invite消息泛洪攻擊相似。
圖2(a)的消息流程代表的是呼叫過程因出現(xiàn)錯誤而中斷的情況,可以看出,沒有出現(xiàn) (invite,200 OK,ACK)消息序列,取代200 OK的是4XX的錯誤消息,例如目的地正忙 (486 destination busy)、目的地服務(wù)拒絕(403 destination service denied)、目的地在覆蓋范圍內(nèi)(480 destination currently out of coverage)或者其他的錯誤。
圖2(b)的消息流程代表的是用戶會話終止或資源預(yù)留失敗,可以看出,主叫方可能在呼叫會話建立之前主動發(fā)送cancel消息終止會話,也可能是因為資源預(yù)留失敗發(fā)送cancel消息終止會話。如果是用戶主動終止,cancel消息可能出現(xiàn)在(2)~(12),如果是因為資源預(yù)留失敗,cancel消息可能出現(xiàn)在 (4)~(12)。同時,該流程中也沒有出現(xiàn)(invite,200 OK,ACK)消息序列,取代 200 OK 的是請求中止(487 request terminated)消息。
這兩種呼叫失敗的過程并不是惡意的invite泛洪攻擊的特征。相反,如果終端與IMS網(wǎng)絡(luò)出現(xiàn)上述交互流程,表明該終端發(fā)起的是正常的呼叫。invite泛洪通過攻擊端發(fā)送大量的invite消息,試圖在IMS網(wǎng)絡(luò)中建立大量的半開放連接以耗盡資源。攻擊端不會對IMS網(wǎng)絡(luò)的請求響應(yīng)作相應(yīng)的回復(fù)。因此,如果簡單地使用(invite,200 OK,ACK)消息序列作為正常呼叫的特征,將會把用戶合法的呼叫終端的會話終止或資源預(yù)留失敗情況當作泛洪攻擊。
總結(jié)上述流程,本文使用(invite,RES,ACK)作為正常呼叫的消息序列進行消息提取。其中,RES代表所有可能出現(xiàn)的IMS網(wǎng)絡(luò)側(cè)響應(yīng),如正常的200 OK響應(yīng),異常的486、403、406、487 響應(yīng)等。
將 Tn時間段內(nèi)(invite,RES,ACK)消息序列數(shù)目記為Sinvite,將該時間段內(nèi)所有invite消息的數(shù)目記為Tinvite,攻擊出現(xiàn)時,Tinvite>Sinvite,并且該數(shù)值差將出現(xiàn)激增。
分析可知,Reinvite 消息也會形成(invite,RES,ACK)消息序列,也就是說REinvite消息對Sinvite和Tinvite產(chǎn)生的影響相同,因此當Tinvite與Sinvite數(shù)值相減之后,該影響即會消除。通過監(jiān)控Tinvite和Sinvite的數(shù)量差判斷該網(wǎng)絡(luò)是否正在接收異常的invite連接,是本文invite泛洪攻擊檢測機制的主要思想。
累積和算法是在統(tǒng)計過程控制中常用的算法,它可以檢測統(tǒng)計過程均值的變化。CUSUM基于這樣一個事實:如果有變化發(fā)生,隨機序列的概率分布也會改變。通常CUSUM需要隨機序列的參數(shù)模型,以便可以用概率密度函數(shù)監(jiān)控序列。不幸的是,互聯(lián)網(wǎng)是一個非常動態(tài)而復(fù)雜的實體,其業(yè)務(wù)模型的理論結(jié)構(gòu)非常復(fù)雜,因而,一個主要的難題是如何模擬隨機序列{Xn}。CUSUM背后的主要思想是:累積明顯比正常運行情況下平均水平高的Xn的值。這一算法的優(yōu)點是能以連續(xù)方式監(jiān)控輸入隨機變量,從而達到實時檢測的目的。
設(shè)△n為第n個抽樣間隔內(nèi)檢測到的SYN分組與FIN(RST active)分組的數(shù)量差。在實際情況中,隨機序列{△n,n=0,1,…}的均值有一定的依賴性,隨著網(wǎng)絡(luò)規(guī)模大小的變化而變化,并且抽樣時刻不同,結(jié)果也不一樣。因此為降低相關(guān)性,使檢測適用于大部分情況,就要對△n作歸一化定義。用定義抽樣間隔內(nèi)FIN(RST active)數(shù)據(jù)分組數(shù)量的平均值,即抽樣時間間隔內(nèi)成功連接并釋放的會話數(shù)定義為:
其中,0<λ<1。
為了保證短時間內(nèi)高數(shù)據(jù)量的攻擊和長時間內(nèi)低數(shù)據(jù)量的攻擊都能被正確地檢測出來,該算法在抽樣時間序列的技術(shù)上增加了一個累積和的模塊。Yn定義如下:
攻擊的檢測由Yn的值確定。如果Yn超過了預(yù)定義的閾值N,說明該系統(tǒng)現(xiàn)在正在遭受攻擊。
本仿真實驗環(huán)境部署在一臺CPU為Intel Pentium○R2、主頻為2 GHz、內(nèi)存為2 GB的PC機上,采用Windows XP SP2操作系統(tǒng),開發(fā)語言采用Java,運行的Java虛擬機為J2SE 1.4.2-05,在Eclipse 3.2.1上運行。該實驗的目的在于驗證本文提出的CUSUM檢測SIP消息泛洪攻擊的有效性。圖3給出了仿真實驗的實驗架構(gòu)。
在圖3中,SIP消息泛洪攻擊生成器負責向消息總線發(fā)送正常的消息序列(invite,200 OK,ACK)和泛洪攻擊消息(大量的invite消息),分別用來模擬正常的呼叫會話和可能發(fā)生的泛洪攻擊;事件隊列管理器維護整體檢測模塊的消息事件總線,在緩存大量消息事件的同時,根據(jù)事件格式中的參數(shù)將事件發(fā)送至invite泛洪檢測模塊和CUSUM及輸出模塊,維持消息總線的正常運作;invite泛洪檢測模塊緩存事件隊列管理器發(fā)送的消息事件,并維護invite泛洪檢測的狀態(tài)機,用以判定正常和異常的invite信令建立流程,并將每一次的檢測結(jié)果按其消息結(jié)構(gòu)的格式發(fā)送至事件總線;CUSUM及輸出模塊對檢測模塊發(fā)送的結(jié)果事件進行統(tǒng)計,在模塊內(nèi)實現(xiàn)CUSUM的思想,維護時鐘對統(tǒng)計值進行抽樣計算,達到相應(yīng)閾值則調(diào)用輸出函數(shù),將威脅的細節(jié)報告輸出,并使用恢復(fù)函數(shù)將模塊內(nèi)部的中間結(jié)果值恢復(fù)。
表1為本文提出方法中的實驗參數(shù)設(shè)置。
表1 仿真實驗參數(shù)設(shè)置
根據(jù)圖4設(shè)計的仿真系統(tǒng),對本文方法進行了大量的實驗驗證,其中的一個實驗結(jié)果如圖4所示。
從檢測結(jié)果可以看出,在抽樣間隔150 s以前,由于沒有發(fā)生攻擊,正常的呼叫不影響Yn值的變化,所以Yn一直為0,當攻擊發(fā)生時,由于攻擊生成器發(fā)送大量的invite消息并沒有后續(xù)響應(yīng),Yn值將發(fā)生激變,Yn的值遠遠大于1(當前的閾值設(shè)定為1)。因此從圖4中可以看出,攻擊發(fā)生后,在不超過60 s的時間內(nèi),本文提出的方法能夠有效地檢測到泛洪攻擊的存在。
另外,其他的大量實驗結(jié)果表明,本文提出的方法的平均檢測率為94%,平均誤報率不超過5%,平均檢測時間為67 s。因此,可以看出,本文提出的方法對于IMS網(wǎng)絡(luò)中的SIP消息泛洪攻擊的檢測是有效的。
根據(jù)取得的實驗結(jié)果,如圖4所示,可以看出,CUSUM能夠有效地檢測出SIP消息泛洪攻擊的發(fā)生。當正常呼叫進行時,Yn的值不受影響;當攻擊發(fā)生時,Yn能在較短的時間內(nèi)發(fā)生激變,能在較短時間內(nèi)準確地發(fā)現(xiàn)攻擊,從而為防御系統(tǒng)的啟動贏得了寶貴的時間,有利于最大化地減少SIP消息泛洪攻擊對系統(tǒng)造成的破壞。
另外,由于篇幅限制,本實驗旨在驗證CUSUM的正確性,對正常情況的消息序列只模擬了(invite,200 OK,ACK)消息序列,沒有對IMS網(wǎng)絡(luò)中出現(xiàn)的各種消息形式進行驗證,而這將在本文后續(xù)的研究中做進一步的實驗分析。
參考文獻
1 孫悅.IMS網(wǎng)絡(luò)中SIP泛洪檢測方法的研究與實現(xiàn).北京郵電大學碩士學位論文,2008
2 王尚廣,孫其博,楊放春.IMS網(wǎng)絡(luò)中的SIP泛洪攻擊檢測.軟件學報,2011,22(4):761~772
3 Sher M.Secure service provisioning (SSP)framework for IP multimedia subsystem (IMS).In:Technical University Berlin,2007
4 AwaisA,Farooq M,Younus Javed M.Attack analysis bio-inspired security framework for IP multimedia subsystem.In:the 10th Annual Conf on Genetic and Evolutionary Computation,2008
5 Akbar M A,Tariq Z,Farooq M.A comparative study of anomaly detection algorithms for detection of SIP flooding in IMS.In:Proc of the 2nd Int’l Conf on Internet Multimedia Services Architecture and Application,2008
6 Sher M, Magedanz T. Mobile multimedia broadcasting vulnerability threats,attacks and security solutions.In:the 9th Int’l Conf on Mobile and Wireless Communications Networks,2007