林玉香,王慧婷
(1.南陽理工學院 軟件學院,河南 南陽 473000;2.北京郵電大學 科學技術發(fā)展研究院,北京 100876)
移動通信網絡正逐漸趨于IP化,如4G中的IMS網絡和EPC網絡等。為保護用戶數(shù)據,IMS網絡在接入側采用AKA方法實現(xiàn)用戶與網絡間的雙向身份認證,并通過IPSec提供了接入安全保護;在網絡域引入了安全域的概念,為通信服務提供機密性、數(shù)據完整性保護。然而,IP網絡先天的脆弱性,導致移動通信網絡仍存在許多潛在的安全問題[1-3]:
(1)網絡監(jiān)聽攻擊。IMS網絡中用戶通信信息通常以明文形式進行傳輸,缺乏相關的保密機制,用戶數(shù)據易被非法監(jiān)聽。
(2)DDoS攻擊。攻擊者通過不斷產生偽造的請求發(fā)送給合法用戶,使其無法正常使用服務。
(3)重放攻擊和中間人攻擊。攻擊者可以通過一定的方法將自己偽裝成通信系統(tǒng)中的合法網元,對會話進行監(jiān)聽或者破壞。
通過對上述安全威脅進行分析發(fā)現(xiàn),攻擊者的攻擊過程一般包括系統(tǒng)探測、漏洞挖掘、系統(tǒng)突破、系統(tǒng)控制、信息獲取等環(huán)節(jié),并基于此形成一條攻擊鏈[4],完成攻擊目標。針對這一問題,本文提出一種用戶地址動態(tài)變化(address dynamic mutation,ADM)方法,動態(tài)改變網絡中用戶終端的IP地址,利用動態(tài)性帶來的隨機性和不確定性,使攻擊者很難建立起持續(xù)可靠的攻擊鏈,從而保護用戶信息安全。最后通過理論分析和仿真實驗驗證了該方法的有效性。
傳統(tǒng)網絡體系結構的靜態(tài)特征使得攻擊者能夠有足夠的時間分析網絡中潛在的漏洞,一旦攻擊者獲得某種權限,他們所發(fā)動的攻擊行為往往需要很長時間才能被檢測出來。這種滯后性的被動防御措施已經無法滿足網絡空間安全的需求,近幾年,美國研究人員提出了移動目標防御(moving target defense,MTD)[4,5]方法,其核心思想是通過動態(tài)改變系統(tǒng)的配置參數(shù),使內外部攻擊者觀察到的硬件執(zhí)行環(huán)境不確定,無法或者很難構建起基于漏洞的攻擊鏈,從而提高系統(tǒng)的安全性。其中的動態(tài)IP地址技術,已經取得了大量研究成果。
Antonatos等[6]提出一種稱為網絡地址空間隨機化(network address space randomization,NASR)的主動防御機制,通過配置DHCP(dynamic host configure protocol)服務器使主機在不同時刻的有效期失效,以此來支持地址隨機化。多個實驗證明NASR方法對于hit list蠕蟲攻擊有較好的防御效果。Groat等[7]提出一種保護可移動系統(tǒng)中靜態(tài)節(jié)點的MTD方法,通過構建同構移動目標網絡,使得系統(tǒng)中的所有節(jié)點定期改變其地址,將移動節(jié)點(如移動終端)和靜態(tài)關鍵節(jié)點(如網絡服務器)混合,從而達到隱藏靜態(tài)關鍵節(jié)點的目的。Chavez AR等[8]提出一種移動目標防御機制,利用基于地址、端口和網絡路徑的隨機化隱藏通信雙方的身份信息。然而該方法在IP變化過程中要求客戶端和服務器相互合作,所以它并非透明化而且僅適用于SDN網絡中。M.Dunlop等[9]中提出一種移動目標IPv6防御方法(moving target IPv6 defense,MT6D),通過重復輪換發(fā)送和接收者的地址來實現(xiàn)對用戶隱私和目標網絡的保護。Jafarian等[10]提出一種OF-RHM(OpenFlow-random host mutation)方法,在SDN中設計了一種IP地址動態(tài)變化技術,該技術對通信主機透明化并且可以提供較高的IP變化速率。然而上述兩種方法在傳統(tǒng)網絡中卻難以部署,而且,由于較高的延時,使其無法在對時延要求比較苛刻的移動通信系統(tǒng)中直接應用。
在當前移動通信網絡中,雖然已經兼容IPv6地址格式,但是目前分配給移動用戶的IP地址大部分仍然是IPv4格式。IPv4地址由32位2進制數(shù)值組成,其地址空間為2^32-1。它可以分為網絡地址和主機地址兩部分,本文通過生成一系列動態(tài)變化的虛假IP地址(virtual IP,vIP)代替用戶原IP地址在網絡中使用,從而達到隱藏用戶地址信息的目的,同時為了保證跳變后的地址仍能正常路由到服務器地址所在的地址段,只改變其主機地址部分。下面以B類地址為例介紹虛假IP地址生成過程,假設用戶m的原IP地址的16 bits主機地址為IDm,其在ti時刻的虛擬主機地址IDm(i)可以由IDm,共享秘鑰Ks和時間戳ti通過哈希函數(shù)計算而成。本文采用單向哈希函數(shù)MD5,并取其最后16 bits,計算方法如式(1)所示
(1)
其中,IDm表示用戶m的真實主機地址。那么用戶m在時刻ti的虛擬IP地址IPm(i)可由虛擬主機地址與原IP地址的真實網絡地址組合得到,如圖1所示。
圖1 生成虛擬IP地址
為了使攻擊者收集到的虛假地址隨時間推移而失效,我們?yōu)槊總€虛假地址定義其有效持續(xù)時間,有效期結束后用戶地址就會發(fā)生一次跳變。假設用戶m在ti時刻的虛假地址IPm(i)的有效時間范圍從Tmin,Tmax中隨機選擇,其中Tmin是虛假地址的最小允許持續(xù)時間(地址有效期小于Tmin將會使地址更新消息在下一個地址跳變觸發(fā)之前沒有足夠的時間發(fā)送到網絡中去),Tmax是虛假地址的最大允許持續(xù)時間(有效時間大于Tmax將會使ADM方法失去防御效果),Tmin和Tmax的值可由用戶根據網絡當前安全情況自行設定。即用戶在ti時刻使用的地址IPm(i)僅在當前有效時間ΔTm(i)(ΔTm(i)∈[Tmin,Tmax])內有效,當與此關聯(lián)的有效期結束時,用戶便使用ti+1時刻的虛假地址IPm(i+1)代替IPm(i),并隨機選擇下一個有效時間ΔTm(i+1)。
需要指出的是,本文所提出的ADM方法只是針對網絡中安全等級要求較高的部分用戶,稱之為移動目標用戶(moving target users,MTU)。每當MTU的IP地址發(fā)生變化時,它必須將自己的新地址發(fā)送給網絡DNS,這樣才能成功接收到來自其他用戶的請求消息,地址更新之后必須及時刪除過期的地址,以防止重放等攻擊。另外由于哈希函數(shù)固有的沖突特性,當子網中MTU數(shù)量比較大的時候,有可能產生與未實施ADM方法用戶重復的地址,這樣容易引起呼叫混亂,造成通信質量的嚴重下降。因此本文通過將MTU地址映射到動態(tài)地址空間的方法來解決該問題。
假設在子網S中,用戶地址空間大小為N,分配給MTU用戶作為動態(tài)地址空間為A={a1,…,an},剩下的地址作為用戶的靜態(tài)地址空間,記為B={b1,…,bm},其中有k個MTU用戶,一般k?m,則N=A∪B。為了方便計算,假設A空間為[0,a]的連續(xù)離散空間,則B空間為[a+1,b]。ti時刻,由式(1)計算出MTU用戶j的地址bj(i),如果bj(i)∈A,則令aj(i)=bj(i);如果bj(i)?A,對其由式(2)進行歸一化處理
(2)
aj(i)=[pn·a]
(3)
其中,p為需要進行歸一化處理的數(shù)據,minp為p中的最小值,maxp為p中的最大值,pn為歸一化的結果,且pn的取值范圍為[0,1], [·]為取整符號。
由式(3)將歸一化結果映射到A空間中,得出ti時刻用戶j的虛擬地址aj(i),并執(zhí)行地址檢測過程。我們?yōu)锳空間中的每一個地址占用與否進行標記,即如果在ti時刻該地址已被使用,則將其標記為1,未被占用則將其標記為0,所有地址的初始狀態(tài)標記為0。則地址檢測過程就是對地址aj(i)的狀態(tài)進行檢測,如果為0,則可以使用,如果為1,則將其舍棄,并令i=i+1,重新由式(1)計算,直到該用戶在A空間中的虛擬地址未被占用為止。當與其對應的有效時間ΔTj(i)將要結束時,用戶便由式(1)提前計算出下一個時刻ti+1將要使用的IP地址aj(i+1),并基于當前地址生成一張真假IP地址轉換表,見表1。
表1 真假IP地址轉換
表1中存儲用戶j的真實地址、當前使用的vIP和下一個時刻將要使用的vIP。當ti+1時刻到來時,用戶j的地址發(fā)生跳變,將aj(i+1)作為當前使用的IP地址(將該地址標記為1),更新轉換表中的內容,刪除上一時刻的地址aj(i)(將該地址標記為0)。同時將新地址發(fā)送給網絡DNS和網路由等設備,完成地址宣告過程。
本章首先對ADM方法防御攻擊的有效性進行理論分析,然后通過仿真實驗來驗證其對于基于掃描的攻擊類型有較好的防御效果,最后以IMS網絡為例測試其給用戶會話帶來的延遲影響。
3.1.1 理論分析
抵抗網絡監(jiān)聽攻擊:由于通信中雙方用戶的 IP 地址每隔一個跳變時間間隔就發(fā)生一次跳變,且地址的跳變是偽隨機的。即使攻擊者截獲了用戶某一時刻使用的IP地址,當其在該IP地址上進行監(jiān)聽時,用戶使用的IP地址在下一個時刻就會發(fā)生改變。又或者攻擊者通過一定方式獲取了用戶的真實IP地址,并偽造數(shù)據包發(fā)送給用戶,當該請求到達用戶MTG時,會被MTG認為是惡意請求而直接丟掉,故該方法能有效抵抗網絡監(jiān)聽攻擊。
抵抗DoS/DDoS攻擊:DoS/DDoS攻擊是向IMS網絡中的某一用戶發(fā)送大量服務請求,導致其正常業(yè)務的失敗。但是在該方法中,通信用戶的IP地址每隔一個跳變時間間隔就發(fā)生一次跳變,攻擊者無法連續(xù)地向同一用戶發(fā)送大量的服務請求,也就無法耗盡用戶的服務資源。故該方法能有效抵抗DoS/DDoS 攻擊。
3.1.2 仿真實驗
本文利用Open SER軟件搭建IMS網絡仿真環(huán)境如圖2所示,實驗環(huán)境為Intel(R)Core(TM)i7-4790 CPU@3.6 GHz,4 GB內存,Ubuntu 14.04.1操作系統(tǒng),C語言編程環(huán)境。通過配置openser.cfg文件中的相關參數(shù)實現(xiàn)IMS網絡中CSCF實體的基本會話功能。B用戶為MTU用戶,MTG的功能通過在用戶B處編程實現(xiàn)。
圖2 基本IMS網絡測試環(huán)境
實驗中用戶A和B的初始IP地址分別設為192.168.1.2和192.168.199.151。未施加ADM方法時,用戶之間基于靜態(tài)的地址進行通信,通過Wireshark抓取流量包如圖3(a)所示;對用戶B實施ADM方法之后,用戶B的地址動態(tài)變化,抓取的流量包如圖3(b)所示。
圖3 用戶間通信數(shù)據包
為了對地址動態(tài)跳變方法的有效性進行量化分析,我們采用文獻[11]提出的衡量標準:跳變成功率:用戶地址沒有被掃描探測器發(fā)現(xiàn)的概率。假設某MTU的隱藏地址空間大小為N,在每個地址跳變時刻ti選擇一個隱藏地址,則用戶地址跳變頻率fi=1/ti。假設采用非重復地址檢測方法對IMS網絡中用戶地址進行掃描,掃描的頻率為f,則網絡掃描速度與用戶地址跳變速度比k=f/fi。N次掃描之后,掃描探測器錯過目標用戶的概率P如式(4)
(4)
特別地,當k=1時,錯過目標用戶的概率為
(5)
在實驗中,當用戶所采用的隱藏地址數(shù)量N=300、600時,300次掃描對應的掃描比率σ分別為1、0.5,實驗結果如圖4所示,可以發(fā)現(xiàn),仿真結果與理論結果基本一致。當對用戶整個網絡地址空間進行掃描,改變成功率P可達到的最大值約為0.4;當無法對用戶的整個地址空間進行掃描時,改變成功率也會相應增加。
圖4 MTU的地址跳變成功率
另外,對于來自網絡外部的攻擊者來說,從目標發(fā)現(xiàn)到發(fā)起攻擊之間的時間過于漫長,所發(fā)現(xiàn)的MTU地址在此期間早已發(fā)生了改變。為了證明ADM方法對于外部攻擊者的有效性,本文采用Nmap軟件對網絡中所有用戶進行50次不同的掃描,共持續(xù)40 min。其中MTU所占的比例20%,掃描結果如圖5所示。在比較所有50次掃描結果之后發(fā)現(xiàn),只有不到3%的真實IP地址被識別出來。
為了分析ADM方法對用戶會話建立流程的影響,對用戶完成一次會話建立所使用的時間進行了測量。當用戶實施ADM方法時,測試從用戶發(fā)送INVITE消息到接收到表明會話建立成功的200 OK響應消息的時間,設為T1;當用戶不采用實施ADM時,用戶進行常規(guī)的會話建立流程,測試時間設為T2。分別對時間T1和T2進行20次測試,測試結果如圖6所示。
圖5 Nmap掃描結果
圖6 用戶會話建立時間比較
從圖6可以看出,ADM方法在一定程度上增加了用戶會話建立的時間。其中,會話建立時間差最大值Tmax=0.0858 s,最小值Tmin=0.0533 s。對T2的30次測量值取平均值可得用戶的正常會話建立流程平均運行時間,其值為1.2152 s。定義PΔ反映ADM方法對用戶會話建立時間的影響程度,其表達式如下
(6)
依據上述公式,對圖6所示的測量值進行分析可以看出
(7)
將具體數(shù)值代入式(7)可得:4.39%≤PΔ≤7.06%,因此,實驗結果表明ADM方法對用戶會話建立時間的影響不大。
針對基于IP的移動網絡中用戶固有地址信息容易泄露的問題,本文提出了一種基于用戶地址動態(tài)變化(ADM)的安全通信方法。該方法通過動態(tài)改變端用戶的IP地址,使得攻擊者獲得的地址信息隨時間增加而失效,從而防御基于地址探查類型的攻擊。文中還給出了基于ADM方法的通信流程。最后,實驗結果表明,提出的方法能在有限的通信時延中有效提高用戶的安全性。