張傳浩,谷學(xué)匯,孟彩霞
(鐵道警察學(xué)院 圖像與網(wǎng)絡(luò)偵查系,鄭州 450053)(*通信作者電子郵箱zhangchuanhao@rpc.edu.cn)
0 引言
網(wǎng)絡(luò)嗅探是一種捕獲網(wǎng)絡(luò)通信數(shù)據(jù)并進(jìn)行分析的攻擊手段。攻擊者能夠在網(wǎng)絡(luò)拓?fù)涞哪承┕?jié)點(diǎn)或者鏈路上竊聽(tīng)通信數(shù)據(jù)、監(jiān)視網(wǎng)絡(luò)狀態(tài)、竊取用戶賬號(hào)密碼等敏感數(shù)據(jù)。傳統(tǒng)網(wǎng)絡(luò)靜態(tài)的網(wǎng)絡(luò)配置,如通信端信息配置、路由配置等給網(wǎng)絡(luò)嗅探攻擊提供了便利,穩(wěn)定的路由配置和靜態(tài)的端信息便于攻擊者獲取通信數(shù)據(jù)以及對(duì)數(shù)據(jù)進(jìn)行分析。網(wǎng)絡(luò)嗅探在攻擊時(shí)的靜默特點(diǎn)使得防御方無(wú)法獲取攻擊特征,從而防御難度較大。通信加密是防御網(wǎng)絡(luò)嗅探的傳統(tǒng)方法,將通信數(shù)據(jù)加密傳輸,使得嗅探攻擊者難以破解通信內(nèi)容,然而該方法在實(shí)際應(yīng)用中存在一些局限性:首先,通信加密需要通信雙方都支持加密協(xié)議,否則通信無(wú)法正常進(jìn)行;其次,一些已經(jīng)被廣泛應(yīng)用的協(xié)議本身并沒(méi)有采用加密手段,如HTTP(HyperText Transfer Protocol)、 FTP(File Transfer Protocol)、Telent和SMTP(Simple Mail Transfer Protocol)等,這給基于這些協(xié)議的通信造成嚴(yán)重的安全隱患;再者,一些加密協(xié)議存在著安全缺陷,攻擊者可通過(guò)靜態(tài)的網(wǎng)絡(luò)配置獲取完整的通信數(shù)據(jù),并利用這些缺陷破解通信數(shù)據(jù)。
另一種防御嗅探攻擊的思路是從網(wǎng)絡(luò)數(shù)據(jù)獲取完整性入手,采用移動(dòng)目標(biāo)防御(Moving Target Defense, MTD)[1-2]思想,在通信中引入周期路徑跳變機(jī)制,利用多個(gè)不同的路徑傳輸通信數(shù)據(jù),并在網(wǎng)絡(luò)中將多個(gè)用戶的數(shù)據(jù)混雜,使得攻擊者“難以收集全,難以分離好”各個(gè)用戶的數(shù)據(jù),增加攻擊者準(zhǔn)確獲取數(shù)據(jù)的難度,提高網(wǎng)絡(luò)抵抗嗅探攻擊的能力。
1 相關(guān)工作
跳變通信是基于移動(dòng)目標(biāo)防御(MTD)的動(dòng)態(tài)性、隨機(jī)性思想的一類主動(dòng)網(wǎng)絡(luò)防御方法,旨在打破攻擊者對(duì)網(wǎng)絡(luò)靜態(tài)配置的假設(shè),變被動(dòng)防御為主動(dòng)防御。早在軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN)[3]出現(xiàn)之前,就有利用跳變技術(shù)進(jìn)行安全傳輸?shù)南嚓P(guān)研究,主要包括通信地址跳變與路徑跳變。
地址跳變又可以劃分為通信端口跳變與網(wǎng)絡(luò)地址跳變:Atighetchi等[4]提出了一種虛假的端口地址跳變方法,在數(shù)據(jù)傳輸中使用偽地址和端口迷惑攻擊者;Sifalakis等[5]提出了一種基于地址跳變的信息隱藏技術(shù),通過(guò)網(wǎng)絡(luò)地址跳變將數(shù)據(jù)流分散到多個(gè)端到端的連接進(jìn)行傳播,提高點(diǎn)到點(diǎn)數(shù)據(jù)傳輸?shù)陌踩?;Dunlop等[6]提出MT6D(Moving Target IPv6 Defense),利用地址空間巨大的IPv6實(shí)現(xiàn)了魯棒的IP跳變策略,該方法采用隧道技術(shù)將數(shù)據(jù)包封裝,反復(fù)變換隧道源和目的IP地址,使攻擊者難以嗅探到完整的通信流量。受限于分布式網(wǎng)絡(luò)的控制方式,端口跳變一直存在協(xié)同難、規(guī)模受限的問(wèn)題,上述方法實(shí)現(xiàn)跳變通信均需要在終端部署軟件或在網(wǎng)絡(luò)中增加硬件設(shè)備,這使得跳變通信難以部署; 并且這些方法僅對(duì)端信息進(jìn)行跳變,而網(wǎng)絡(luò)中的路由/路徑不變,攻擊者容易在關(guān)鍵節(jié)點(diǎn)上獲得完整的通信數(shù)據(jù)。
路徑跳變技術(shù)則是隨著SDN技術(shù)的發(fā)展而逐漸被關(guān)注,在傳統(tǒng)網(wǎng)絡(luò)中,分布式管理的路由協(xié)議使得通信路徑難以快速協(xié)同跳變,而SDN技術(shù)的集中化網(wǎng)絡(luò)管理方式為路徑跳變的系統(tǒng)協(xié)同提供了支撐。路徑跳變研究主要包含路徑隨機(jī)跳變[7]和多路徑隨機(jī)選擇[8]兩類:路徑隨機(jī)跳變是預(yù)先獲取所有符合要求的節(jié)點(diǎn),構(gòu)建跳變節(jié)點(diǎn)集合,從中隨機(jī)選取下一跳節(jié)點(diǎn)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)的跳變技術(shù)。多路徑隨機(jī)選擇是預(yù)先獲得盡可能多的中間節(jié)點(diǎn)不重復(fù)的路徑,構(gòu)建跳變路徑集合,從而在每次跳變時(shí)隨機(jī)選取不同轉(zhuǎn)發(fā)路徑的跳變技術(shù);在SDN架構(gòu)下,Jafarian等[9]提出了靈活的、對(duì)終端透明的IP跳變方法OF-RHM(OpenFlow Random Host Mutation),該方法實(shí)現(xiàn)了終端透明的節(jié)點(diǎn)IP地址跳變,降低了掃描攻擊的有效性,但該方法需要在一次連續(xù)通信中保持虛擬IP不變,攻擊者容易在一臺(tái)交換機(jī)上獲取某次通信的全部數(shù)據(jù); Duan等[8]基于SDN框架,提出一種動(dòng)態(tài)隨機(jī)路徑突變方法(Random Route Mutation, RRM),多條數(shù)據(jù)流的路徑能夠同時(shí)進(jìn)行隨機(jī)變化,但這種方法需要在源/目的地址間預(yù)先保留多條冗余的路徑,在實(shí)際條件下滿足該需求造成的網(wǎng)絡(luò)拓?fù)浯鷥r(jià)較大。
本文工作是在項(xiàng)目組之前提出一種基于SDN的節(jié)點(diǎn)/路徑雙重跳變通信(Double Hopping Communication, DHC)機(jī)制[10]基礎(chǔ)上進(jìn)行的改進(jìn),DHC方法實(shí)現(xiàn)了終端和路徑在有限網(wǎng)絡(luò)規(guī)模下終端IP地址與通信路徑的跳變。本文將主要關(guān)注路徑跳變,在DHC方法基礎(chǔ)上提出一種改進(jìn)的路徑跳變機(jī)制。
2 問(wèn)題定義
2.1 基本準(zhǔn)則
計(jì)算機(jī)網(wǎng)絡(luò)通信就是在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間建立一條滿足所有約束的通信鏈路。由于網(wǎng)絡(luò)拓?fù)涞奈锢項(xiàng)l件限制,這條鏈路(或者稱為路徑)一般將通過(guò)一個(gè)或者多個(gè)特定的節(jié)點(diǎn),這些特定節(jié)點(diǎn)擁有較高的節(jié)點(diǎn)度,能夠滿足網(wǎng)絡(luò)嗅探攻擊利益最大化需求,所以,網(wǎng)絡(luò)嗅探攻擊就是要找到并攻陷網(wǎng)絡(luò)通信路徑上節(jié)點(diǎn)度較高的節(jié)點(diǎn),實(shí)現(xiàn)嗅探攻擊的部署。
在現(xiàn)有的靜態(tài)配置網(wǎng)絡(luò)通信中,通信雙方在建立連接后,所有數(shù)據(jù)包在通信過(guò)程中均不改變通信鏈路信息,這一特點(diǎn)容易被攻擊者利用,在傳輸路徑上捕獲目標(biāo)節(jié)點(diǎn)從而獲取全部或者大量通信數(shù)據(jù)。本文從網(wǎng)絡(luò)通信的實(shí)際應(yīng)用情況出發(fā),在SDN框架下提出一種動(dòng)態(tài)路徑跳變(Dynamic Path Hopping, DPH)機(jī)制用以應(yīng)對(duì)攻擊者完全靜默狀態(tài)下的網(wǎng)絡(luò)嗅探攻擊。在該DPH中,通信雙方建立的路徑能夠周期性遷移,增強(qiáng)了通信的不可預(yù)測(cè)性,同時(shí)考慮數(shù)據(jù)傳輸可靠性。DPH在宏觀上將一次通信過(guò)程建立在多條通信信道上,即便不同于無(wú)線通信的多徑傳輸協(xié)議,也能夠倍增在單點(diǎn)進(jìn)行竊聽(tīng)攻擊的難度。DPH機(jī)制在通信初始態(tài)的路徑由運(yùn)行在SDN控制器上的傳統(tǒng)的IP路由協(xié)議建立和維持,控制器上DPH模塊對(duì)路徑通過(guò)的節(jié)點(diǎn)進(jìn)行識(shí)別,并按照計(jì)算實(shí)施動(dòng)態(tài)路徑遷移。路徑遷移空間和遷移通信協(xié)議是DPH的兩個(gè)關(guān)鍵子模塊。
2.2 路徑遷移機(jī)制相關(guān)定義


1)路徑最大距離約束。主機(jī)H1與H2間的所有非環(huán)路路徑長(zhǎng)度均小于該依據(jù)該網(wǎng)絡(luò)拓?fù)錁?gòu)建的路徑集合PathSetH1→H2中的最大路徑長(zhǎng)度L。

網(wǎng)絡(luò)可以使用無(wú)向圖模型G=〈V,E〉來(lái)描述,其中V表示節(jié)點(diǎn),而E表示節(jié)點(diǎn)間的連接或邊。節(jié)點(diǎn)度N是指和該節(jié)點(diǎn)相關(guān)聯(lián)的邊的條數(shù),又稱關(guān)聯(lián)度??梢詫⒙窂竭x擇條件形式化定義為路徑權(quán)重,作為選擇該路徑的概率。定義路徑權(quán)重表達(dá)式為:
Weight(Pathk) =
(1)

考慮到Pathi權(quán)重分布得不均衡,如果僅考慮空間擾動(dòng),導(dǎo)致部分具有較大權(quán)重的路徑被選中的可能性比較大,而攻擊者可能在探測(cè)到某些關(guān)鍵路徑后,在該路徑上通過(guò)串并接、攻擊路徑節(jié)點(diǎn)等方式部署了嗅探探針,而這些路徑Pathi在連續(xù)的跳變周期中如果被重復(fù)選中就增加了被竊聽(tīng)探針捕獲的數(shù)據(jù)量,造成防御機(jī)制失效。本文為Pathi設(shè)定一個(gè)隨機(jī)計(jì)數(shù)器β,規(guī)定Pathi最近兩次被選中為傳輸路徑的間隔周期;用tPathi表示當(dāng)前Pathi被選中的迭代周期,則(t+1)-tPathi>β成為Pathi被再次選擇為傳輸路徑的必要條件(t為遞增變量,表示跳變周期)。設(shè)bi是一個(gè)布爾變量,則時(shí)間繞動(dòng)表達(dá)式為(2)所示,如果bi為真,則表示Pathi當(dāng)前滿足時(shí)間擾動(dòng)約束,可以作為待選路徑。從全局角度看,這使得各個(gè)路徑被選中為跳變路徑的概率均勻,增加了攻擊者對(duì)跳變路徑的預(yù)測(cè)難度。

(2)
通過(guò)定義上述1)~3)約束條件,兩個(gè)特定網(wǎng)絡(luò)節(jié)點(diǎn)的大部分通信流量都經(jīng)過(guò)某個(gè)單獨(dú)節(jié)點(diǎn)(除了源/目的節(jié)點(diǎn))的概率大大降低。
3 DPH的體系結(jié)構(gòu)與實(shí)現(xiàn)流程
3.1 跳變路徑選擇算法

算法1 WRPIS算法。
1)
WeightRamdomPathInterleavedSelect((Path1,Path2,…,Pathn),(b1,b2,…,bn),(w1,w2,…,wn),(tPath1,tPath2,…,tPathn),t,RP,β)
2)
sum = 0
3)
foriin (1,2,…,n)
4)
if (bi==true) and ((t+1)-tPathi>β)
5)
//時(shí)間擾動(dòng)約束
6)
new_sum=sum+wi
7)
ifsum