范曉詩,李成海,王 昊
(空軍工程大學(xué) 防空反導(dǎo)學(xué)院,陜西 西安710051)
由于一般網(wǎng)絡(luò)攻擊行為必須通過端口發(fā)動,而端口通常暴露在通信鏈路中,端口的信息很容易獲得,所以保護(hù)端口不被攻擊是網(wǎng)絡(luò)防御的基本思想。近些年來,一種主動防御技術(shù)端口跳變 (port hopping)被提出。該技術(shù)的思想源泉來自通信中常用的跳頻通信技術(shù),將通信頻段隱藏在所有可用頻段,減弱攻擊者截獲,干擾和攻擊的能力。一些專家與學(xué)者已經(jīng)提出一般網(wǎng)絡(luò)通信端口跳變模型,其主要研究內(nèi)容包括端口跳變算法,同步策略等。目前此類模型通常是建立在固定時隙和固定時鐘漂移的基礎(chǔ)上,缺乏一定的普遍性與實用性,本文在研究前人成果的基礎(chǔ)上提出基于可變時隙與動態(tài)同步的算法和模型,進(jìn)一步提高端口跳變技術(shù)的適用范圍和有效性。
目前國內(nèi)外許多組織和個人涉及端口跳變技術(shù)的研究。美國陸軍研究室根據(jù)通信跳頻的思想,提出端口跳變的概念,并設(shè)想將其制定成協(xié)議并封裝于OSI模型的網(wǎng)絡(luò)層或傳輸層,以形成新的TCP/IP協(xié)議棧。但分析其實用性,在無法得到協(xié)議棧開源代碼的前提下,只能在應(yīng)用層實現(xiàn)。美國空軍研究室在其報告APOD中闡明端到端通信所用的固定IP地址和端口號是敏感信息,即使對其有效載荷加密的情況下,也能通過流量分析 (traffic analysis)對目標(biāo)端口進(jìn)行攻擊,于是引入地址跳變和端口跳變技術(shù),提出基于隧道和GAT網(wǎng)關(guān)的模型。Atighetchi等人根據(jù)APOD報告分析了該技術(shù)的適用性和Cyber防御的可行性。Sifalakis等人提出利用地址跳變保護(hù)端到端通信的數(shù)據(jù)安全。石樂義等人在文獻(xiàn) [1,2]中提出,由端口號、IP地址、加密算法、時隙、協(xié)議組成的端信息進(jìn)行跳變服務(wù)的概念,并提出了基于端信息的主動網(wǎng)絡(luò)防御模型。
端口跳變的一般模型主要包括 (偽)隨機端口序列生成函數(shù),加密、密鑰交換算法和通信同步策略。而通信同步策略是其關(guān)鍵技術(shù)。Lee等人提出的端口跳變模型,該模型將時間軸劃分為相等的時隙,為不同時隙分配不同端口。并為每個時隙結(jié)點前后使用的端口進(jìn)行一定程度的重疊開放,以防止傳輸延遲造成數(shù)據(jù)丟失。G.Badishi等人根據(jù)傳輸成功率分析了攻擊者由盲目攻擊 (blind attack)狀態(tài)到直接攻擊狀態(tài) (direct attack)狀態(tài)所需最短時間ε,提出了隨機端口跳變 (RPH)算法[5],證明其緩解DoS攻擊具有一定效果。該算法提出為通信雙方分配兩條通信通道,一條進(jìn)行數(shù)據(jù)通信,另一條傳遞Ack響應(yīng)消息,通過該消息攜帶的數(shù)據(jù)通知下一次跳變端口信息。該算法的缺點是Ack響應(yīng)消息暴露在通信鏈路中,易被截獲和篡改。Kousaburou Hari通過分析Ack丟失或被截獲的情況下,造成當(dāng)前端口延長開放時間而達(dá)到ε,攻擊模式由盲目攻擊轉(zhuǎn)為直接攻擊的幾種情況,提出了改進(jìn)的RPH算法[6]。其主要思想是分別賦予發(fā)送方和接受方兩套隨機端口跳變策略,當(dāng)其中一套端口跳變過程遭受盲目攻擊導(dǎo)致端口開放時間延長后依然可以通過備用端口進(jìn)行通信,從而保障通信端口跳變時隙小于ε。石樂義等人在文獻(xiàn) [2]中提出一種輕量級UDP公眾服務(wù)的時間戳同步方式,專門建立多個時間同步服務(wù)器發(fā)送UDP同步時間戳完成同步策略。趙春蕾等人在文獻(xiàn) [7]中提出端信息跳變系統(tǒng)自適應(yīng)策略。賈春福等人在該模型的基礎(chǔ)上,提出一種插件策略來抵抗服務(wù)器端信息被監(jiān)聽[8]。Zhang fu等人提出了HOPERAA算法來解決線性時鐘漂移對通信同步的影響[10,11],實現(xiàn)了不需要第三方參與的同步機制。我們稱該模型為Z模型。本文通過分析其可能存在的攻擊模型對該算法進(jìn)行了改進(jìn),提高其抗攻擊的能力。同時實現(xiàn)了端口跳變可變時隙控制,進(jìn)一步提高個該技術(shù)的適用性,并提出動態(tài)時鐘漂移同步算法,為可變時鐘漂移的同步問題提供了解決辦法。
文獻(xiàn) [10,11]中提出的Z模型由連接模塊,數(shù)據(jù)傳輸模塊和時間同步調(diào)整模塊組成。連接模塊中,服務(wù)器將可用端口空間N平均分成k部分,每一部分隨機開放一個守衛(wèi)端口 (guard port),并以等時隙τ跳變??蛻舳穗S機選擇第ki間隔,將N/k個連接請求消息發(fā)送到對應(yīng)ki,添加本地時間戳,如圖1所示。
圖1 Z模型連接模塊
服務(wù)器接受連接消息后添加本地時間,返回響應(yīng)消息??蛻舳私邮枕憫?yīng)消息后調(diào)用HOPERAA算法計算相對時間漂移率,進(jìn)行時間補償。最后計算下一次同步時間,在數(shù)據(jù)發(fā)送過程中,根據(jù)該時間重復(fù)執(zhí)行連接請求并進(jìn)行時間同步和端口序列生成。
我們假定攻擊者可以竊聽通信鏈路上的數(shù)據(jù)流并能截獲或復(fù)制數(shù)據(jù)。現(xiàn)在考慮如下攻擊過程,攻擊者竊聽通信過程,檢測到服務(wù)器經(jīng)過一定時間間隔開放k個守衛(wèi)端口,攻擊者將事先截取的連接請求報文向任意ki間隔發(fā)送,將可能造成連接成功,因此攻擊者可以發(fā)送大量請求報文,從而發(fā)動DoS攻擊。該算法進(jìn)行時間同步時必須發(fā)送連接請求,在可變時鐘漂移的情況下,必然需要進(jìn)行多次進(jìn)行同步,頻繁同時開放k個端口,留下了遭受DoS攻擊的隱患。所以本文認(rèn)為該算法雖然可以避免提前商定通信初始端口,但對于安全性要求較高的網(wǎng)絡(luò)并不適合,于是提出將連接模塊與同步分離開來,便于進(jìn)行可變時鐘漂移情況下的時間同步。
目前端口跳變技術(shù)均基于固定時隙實現(xiàn)其跳變策略,跳變策略的安全性必須依靠跳變序列加密,也沒有具體應(yīng)對攻擊的措施。在安全通信條件下跳變策略也增加了一定的系統(tǒng)開銷。而時鐘同步算法通常也基于固定時鐘漂移,在線性增長條件下,通過多次計算鐘漂移率以確定精確值,對于可變時鐘漂移精度并不理想。基于以上兩點問題,本文依據(jù)傳輸狀態(tài)和人工調(diào)節(jié)需要提出了可變時隙的端口跳變算法,其主要思想是在正常傳輸條件下延長端口傳輸時隙,以減少跳變造成的通信開銷。當(dāng)可疑入侵行為發(fā)生時加快跳變頻率,即使端口跳變序列被第三方分析得到,也因時隙難以同步到達(dá)抵抗攻擊的效果。同時提出一種動態(tài)時鐘漂移處理方法,將可變時鐘漂移曲線分隔成段,分段看作直線處理。由實測時鐘漂移率和前測時鐘漂移率動態(tài)的預(yù)測下一時段漂移率。通過試驗證明了該同步算法的可行性。
該模型由通信初始化階段,跳端口可變時隙算法,數(shù)據(jù)傳輸模塊和時間同步模塊組成,如圖2所示。
圖2 改進(jìn)的端口跳變模型
通信初始化階段完成客戶端和服務(wù)器的連接并發(fā)送時間戳進(jìn)行傳輸延遲計算??蛻舳税l(fā)送請求連接消息message<init,timestampc> 到初始端口P0。init參數(shù)結(jié)合相關(guān)加密算法進(jìn)行身份認(rèn)證,timestampc記錄客戶端發(fā)送消息時間。服務(wù)器接收到請求消息,記錄到達(dá)時間,計算發(fā)送延時u1。發(fā)送響應(yīng)消息 message<α,m,u1,timestamps> ,其中α為偽隨機函數(shù)fseq生成跳變端口序列種子,m為計算當(dāng)前端口參數(shù),timestamps記錄服務(wù)器發(fā)送響應(yīng)消息時間??蛻舳私邮枕憫?yīng)消息message<α,m,u1,timestamps> ,記錄到達(dá)時間,計算響應(yīng)延時u2。通信雙方計算ftime(λ,ρ)和fseq(α,m)進(jìn)行端口跳變。
傳輸過程中,服務(wù)器定時生成一個時隙影響因子ρ,這里ρ表示通信傳輸率,通過計算發(fā)送數(shù)據(jù)量和接受數(shù)據(jù)量的比值得到。服務(wù)器將ρ反饋給客戶端。fφ(ρ)表示通信因子調(diào)節(jié)函數(shù),由該函數(shù)調(diào)節(jié)端口跳變時隙。當(dāng)傳輸率處于良好狀態(tài),增加傳輸時隙,當(dāng)傳輸率下降到一定程度,則認(rèn)為發(fā)生了攻擊行為,將跳變時隙更新到最小。λ表示人工調(diào)節(jié)參數(shù),在沒有人工干預(yù)的條件下λ=0。
根據(jù)式 (1)和式 (2)計算當(dāng)前端口持續(xù)時間,其中ht表示端口跳變最小劃分時隙,取N·ht<ε,a為可變時隙增量參數(shù)
(1)通過fseq(α,m)計算當(dāng)前所用端口 Pc,fseq(α,m+1)計算下一跳變端口Pn。
(2)通過ftime(λ,ρ)計算當(dāng)前所用端口持續(xù)時間H。Hi表示第i個端口使用時間。
(3)在時間段 [Hi,Hi-umax]中發(fā)送數(shù)據(jù)到Pc,在[Hi-umax,Hi+1]發(fā)送數(shù)據(jù)到Pn,見圖3。umax為數(shù)據(jù)傳輸最大延時,Tc為當(dāng)前客戶端時間。
(4)當(dāng)Tc到達(dá)Hi+1時,更新Pc和Pn。
圖3 端口跳變時隙重疊
(1)我們將非線性時間漂移劃分成間隔L,分別進(jìn)行線性處理。設(shè)定初始線性時間同步間隔Lc=Ls,Lc,Ls分別表示客戶端和服務(wù)器同步時隙。
(2)客戶端在tc0發(fā)送初始化連接請求計算得到u1,u2,見圖4,客戶端在tc2發(fā)送同步測試消息,服務(wù)器收到消息后發(fā)送響應(yīng)消息并添加發(fā)送時間ts3,客戶機收到響應(yīng)消息后記錄到達(dá)客戶端時間tc3。定義計算線性誤時鐘漂移率于是得到 L1時鐘漂移率r1=(tc3-tc0)/(ts3-ts0+u1+u2),設(shè)下一段預(yù)測時鐘漂移率r′2=r1,并進(jìn)行下一段時間誤差預(yù)測補償,L2=r。我們在此考慮客戶端與服務(wù)器初始時間同步,發(fā)送延遲和響應(yīng)延遲受時鐘漂移影響很小,故由u1,u2代替。
圖4 動態(tài)時鐘漂移
(3)L2時間段內(nèi),同樣進(jìn)行時間同步請求和響應(yīng),計算發(fā)送延遲和響應(yīng)延遲u′1,u′2,計算實測時鐘漂移率r2=(tc5- tc2)/(ts5-ts2+u′1+u′2),見圖5。由前測漂移率r1和實測漂移率r2計算下一時段預(yù)測漂移率r′3=k1r1+k2r2。這里取k1=k2=。對下一時段進(jìn)行L3=時間補償。
(4)繼續(xù)計算ri,根據(jù)r′i+1=k1ri-1+k2ri迭代預(yù)測時鐘漂移率并進(jìn)行時間補償。
圖5 動態(tài)時鐘漂移預(yù)測
根據(jù)本文提出的端口跳變模型,在應(yīng)用層實現(xiàn)可變時隙算法和可變時鐘漂移率算法,并進(jìn)行了相關(guān)實驗。在實驗1中,我們在局域網(wǎng)中兩臺主機發(fā)送UDP報文進(jìn)行通信測試,選擇可用跳變端口空間M=65536,攻擊者可進(jìn)行盲目攻擊端口數(shù)Q=2000,5000,10000。初始端口跳變時隙ftime=2000 ms,ht=50 ms,a=4,N =10。定義客戶端發(fā)送數(shù)據(jù)為Ec,服務(wù)器接受數(shù)據(jù)Es,則發(fā)送數(shù)據(jù)成功率。在通信200s后進(jìn)行攻擊。
由圖6可以看出,當(dāng)遭受3種盲目攻擊條件下,可變時隙算法均較快躲避攻擊,保證了數(shù)據(jù)傳輸成功率。在實驗2中模擬攻擊者通過流量分析獲得跳變序列后進(jìn)行直接攻擊的情況。
圖6 可變時隙跳變算法抗攻擊效果
由圖7中可以看出,固定時隙策略在跳變序列被分析得到后,遭受到直接攻擊,數(shù)據(jù)傳輸成功率快速下降,使用可變跳變時隙策略,攻擊者無法同步發(fā)動攻擊,數(shù)據(jù)發(fā)送成功率會逐漸回歸,該算法在一定程度上抵抗了攻擊。通過實驗3,我們測試動態(tài)時鐘漂移算法的有效性。
圖7 已知跳變序列攻擊效果
在實驗中,我們給客戶端附加一個0.001<r<0.002的隨機時鐘漂移率以增加實驗效果。設(shè)定端口跳變時隙H=2000 ms恒定不變。分別測量動態(tài)預(yù)測時鐘漂移與線性預(yù)測時鐘漂移與標(biāo)準(zhǔn)時鐘漂移相比較,由圖8和圖9中可以看出,動態(tài)時鐘漂移算法測量的漂移率優(yōu)于線性測量。為進(jìn)一步說明動態(tài)時鐘漂移算法的有效性,在實驗4中,取消端口跳變重疊開放時間段,分別使用兩種算法進(jìn)行時鐘漂移預(yù)測并進(jìn)行時間補償,測量數(shù)據(jù)傳輸成功率。
由圖10中可以看出在動態(tài)時鐘漂移率預(yù)測下進(jìn)行的時間補償比線性漂移預(yù)測造成的丟包率更低,從而證明了動態(tài)預(yù)測更加準(zhǔn)確。
本文對端口跳變技術(shù)進(jìn)行了分析和研究,對Z模型進(jìn)行了改進(jìn),在固定端口跳變時隙的基礎(chǔ)上提出了可變跳變時隙算法并加以實現(xiàn),通過實驗證明該算法具有更強的抗DoS能力。改進(jìn)的時鐘同步算法,將時鐘漂移率分段處理,提供了一種可變時鐘漂移率對通信時間同步產(chǎn)生影響的解決方法,比線性時鐘漂移率預(yù)測更加準(zhǔn)確,適用范圍更廣。該端口跳變模型為后續(xù)建立更加完善的網(wǎng)絡(luò)防御機制打下了基礎(chǔ)。目前端口跳變技術(shù)主要構(gòu)建于實驗環(huán)境,其抗攻擊能力也基本在給定攻擊模型下測試,如何將該技術(shù)真正應(yīng)用于實踐環(huán)境中并與其他網(wǎng)絡(luò)防御技術(shù)更好的結(jié)合是今后研究的方向之一。
[1]Shi LY,Jia C F,Lv S W,et al.Port and address hopping for active cyber-defense [G].LNCS 4430:Proc Pacific Asia Workshop on Intelligence and Security Informatics,Springer-Verlag,2007:295-300.
[2]SHI Leyi,JIA Chunfu,LV Shuwang.Research on end hopping for active network confrontation [J].Journal on Communications,2008,29 (2):106-110 (in Chinese).[石樂義,賈春福,呂述望.基于端信息跳變的主動網(wǎng)絡(luò)防護(hù)研究 [J].通信學(xué)報,2008,29 (2):106-110.]
[3]Jia C F,Lin K,Lu K.Plug-in policy for DoS attack defense mechanism based on end hopping [J].Journal on Communications,2010,30(10A):114-118.
[4]MA Qi,DAI Hao,ZHAO Xinyu,et al.Using port hopping to realize information hiding [J].Journal on Communications,2007,28 (4):849-851 (in Chinese).[馬祺,戴浩,趙新昱,等.運用跳端口技術(shù)進(jìn)行信息隱藏 [J].計算機工程與設(shè)計,2007,28 (4):849-851.]
[5]Badishi G,Herzberg A,Keidar I.Keeping denial of service attackers in the dark [C]//IEEE Transctions on Dependable and Secure Computing,2007,4 (3):191-204.
[6]Hari K,Dohi T.Sensitivity analysis of random port hopping[C]//Proc Seventh Int’l Conf Ubiquitous Intelligence Com-puting and Seventh Int’l Conf.Autonomic and Trusted Computing,2010:316-321.
[7]ZHAO Chunlei,JIA Chunfu,WENG Chen.Technique and application of end-h(huán)opping in network defense [J].Journal on Communications,2011,32 (11A):51-57 (in Chinese).[趙春蕾,賈春福,翁臣.端信息跳變系統(tǒng)自適應(yīng)策略研究 [J].通信學(xué)報,2011,32 (11A):51-57.]
[8]JIA Chunfu,LIN Kai,LU Kai.Plug-in policy for DoS attack defense mechanism based on end hopping [J].Journal on Communications,2009,30 (10A):114-118 (in Chinese).[賈春福,林楷,魯凱.基于端信息跳變DoS攻擊防護(hù)機制中的插件策略 [J].通信學(xué)報,2009,30 (10A):114-118.]
[9]XIE Hui,ZHANG Zhigang,LI Jing.Port hopping technique and application in network covert communication [J].Journal of Nanjing University of Information Science and Technology,2012,4 (3):254-257 (in Chinese).[謝慧,張志剛,李靜.跳端口技術(shù)及其在網(wǎng)絡(luò)隱蔽通信中的應(yīng)用 [J].南京信息工程大學(xué)學(xué)報 (自然科學(xué)版),2012,4 (3):254-257.]
[10]Fu Z,Papatriantafilou M,Tsigas P.Mitigating distributed denial of service attacks in multiparty applications in the presence of clock drifts [C]//Proceedings of 27th IEEE International Symposium on Reliable Distributed Systems,2008:63-72.
[11]Fu Z,Papatriantafilou M,Tsigas P.Mitigating distributed denial of service attacks in multiparty applications in the presence of clock drifts [C]//Transactions on Dependable and Secure Computing,2012:401-413.
[12]Huang P,Desai M,Qiu X,et al.On the multihop performance of synchronization mechanisms in high propagation delay networks [C]//IEEE Trans on Computers,2009,58 (5):577-590.