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