国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

PrNet:一種應(yīng)對(duì)鏈路洪泛攻擊的機(jī)制

2023-08-15 02:02:10楊智威林梓钘
關(guān)鍵詞:網(wǎng)絡(luò)拓?fù)?/a>瓶頸攻擊者

楊智威,林梓钘,李 睿

(東莞理工學(xué)院 網(wǎng)絡(luò)空間安全學(xué)院,廣東 東莞 523808)

0 引 言

分布式拒絕服務(wù)(Distribution Denial of Service,DDoS)攻擊是當(dāng)今互聯(lián)網(wǎng)主要的威脅之一[1],其主要通過(guò)控制大量僵尸主機(jī)向目標(biāo)節(jié)點(diǎn)發(fā)送大量數(shù)據(jù)包,消耗目標(biāo)節(jié)點(diǎn)的資源,以影響合法用戶的正常使用。例如,在2016年Mirai惡意軟件利用了受損的IoT設(shè)備向DNS提供商Dyn發(fā)起的DDoS攻擊,造成了美國(guó)大規(guī)模網(wǎng)絡(luò)癱瘓[2]。而鏈路洪泛攻擊(Link-Flooding Attack,LFA)[3]作為新型的DDoS攻擊,不同于以服務(wù)器為目標(biāo)的傳統(tǒng)DDoS攻擊,LFA通過(guò)控制大量僵尸主機(jī)向網(wǎng)絡(luò)中的關(guān)鍵路由器和關(guān)鍵鏈路注入大量低速率流量,目的在于切斷盡可能多的網(wǎng)絡(luò)連接,破壞合法用戶與服務(wù)器之間的正常通信。由于LFA發(fā)送的是具有真實(shí)IP地址的低速率流量,這種流量與合法流量的特征基本一致,因此諸如檢測(cè)虛假I(mǎi)P地址和特定簽名[4]之類(lèi)的傳統(tǒng)對(duì)策是不起作用的,與傳統(tǒng)DDoS攻擊相比,LFA具有更強(qiáng)的隱蔽性。

根據(jù)網(wǎng)絡(luò)拓?fù)涞奶匦?節(jié)點(diǎn)之間的連接并不是均勻分布的。無(wú)論規(guī)模如何,一個(gè)片區(qū)中大多數(shù)節(jié)點(diǎn)的流量會(huì)匯聚到少部分關(guān)鍵節(jié)點(diǎn)和鏈路上,通過(guò)關(guān)鍵節(jié)點(diǎn)和鏈路與其他片區(qū)的節(jié)點(diǎn)進(jìn)行通信[5]。也就是說(shuō),在真實(shí)的網(wǎng)絡(luò)拓?fù)渲?大多數(shù)節(jié)點(diǎn)和鏈路的重要性較低,而少數(shù)節(jié)點(diǎn)和鏈路具備較高的重要性,從對(duì)抗性的角度來(lái)看,節(jié)點(diǎn)和鏈路的重要性越大,其越可能成為導(dǎo)致網(wǎng)絡(luò)癱瘓的網(wǎng)絡(luò)瓶頸。攻擊者只需要在攻擊前利用網(wǎng)絡(luò)空間資源測(cè)繪技術(shù)探測(cè)目標(biāo)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),把關(guān)鍵節(jié)點(diǎn)或鏈路作為L(zhǎng)FA的攻擊目標(biāo),在破壞少數(shù)關(guān)鍵資源的情況下就可以對(duì)整個(gè)網(wǎng)絡(luò)的連通性造成嚴(yán)重影響。隱藏拓?fù)涞木W(wǎng)絡(luò)瓶頸是目前主流的防御機(jī)制之一,但是現(xiàn)有的拓?fù)淦垓_系統(tǒng)普遍存在一些局限性。首先,計(jì)算網(wǎng)絡(luò)瓶頸的度量標(biāo)準(zhǔn)較為單一,他們多數(shù)只考慮了靜態(tài)部分的度量指標(biāo)(如路由路徑數(shù)量),但是在網(wǎng)絡(luò)正常運(yùn)行過(guò)程中的動(dòng)態(tài)度量(如鏈路使用率)同樣會(huì)導(dǎo)致網(wǎng)絡(luò)瓶頸的出現(xiàn)。其次,現(xiàn)有的拓?fù)淦垓_系統(tǒng)多數(shù)只考慮了應(yīng)對(duì)攻擊者發(fā)起的拓?fù)錅y(cè)繪行為,但是當(dāng)攻擊者發(fā)起不依賴測(cè)繪結(jié)果的盲攻擊時(shí),他們的防御行為就變得毫無(wú)意義。因此,目前應(yīng)對(duì)攻擊者發(fā)起的LFA主要面臨以下挑戰(zhàn):(1)如何豐富網(wǎng)絡(luò)瓶頸的度量指標(biāo),準(zhǔn)確定位瓶頸節(jié)點(diǎn)和鏈路;(2)如何利用拓?fù)浠煜夹g(shù)以較低的成本有效地隱藏網(wǎng)絡(luò)瓶頸;(3)如何應(yīng)對(duì)攻擊者發(fā)起的盲攻擊。

為解決以上問(wèn)題,該文基于軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)[6]提出了PrNet。貢獻(xiàn)如下:(1)該系統(tǒng)綜合考慮了網(wǎng)絡(luò)拓?fù)涞牟煌卣?從靜態(tài)和動(dòng)態(tài)的角度定義網(wǎng)絡(luò)瓶頸度量指標(biāo);(2)該系統(tǒng)會(huì)生成針對(duì)測(cè)繪流量的混淆拓?fù)?通過(guò)識(shí)別測(cè)繪流量并將其引向繞開(kāi)網(wǎng)絡(luò)瓶頸的混淆路徑,使攻擊者得到錯(cuò)誤的信息;(3)提出一個(gè)概率路徑轉(zhuǎn)發(fā)算法,該算法會(huì)為節(jié)點(diǎn)之間的所有可達(dá)路徑分配概率,根據(jù)概率選擇數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑,通過(guò)主動(dòng)使網(wǎng)絡(luò)流量分散,降低對(duì)度量指標(biāo)值較高的節(jié)點(diǎn)和鏈路的使用,減少網(wǎng)絡(luò)瓶頸的產(chǎn)生;(4)在流行的SDN控制器Ryu上部署PrNet,并在現(xiàn)實(shí)網(wǎng)絡(luò)拓?fù)渖线M(jìn)行了模擬和仿真,證明了PrNet在應(yīng)對(duì)攻擊者發(fā)起鏈路洪泛攻擊時(shí)具有可行性,并且能夠有效緩解攻擊者發(fā)起的盲攻擊。

1 相關(guān)工作

現(xiàn)有的LFA防御方法主要分為兩種:被動(dòng)防御和主動(dòng)防御。被動(dòng)防御的重點(diǎn)在于捕捉LFA,針對(duì)出現(xiàn)擁塞的鏈路執(zhí)行各種反應(yīng)式的操作。在Wang等提出的LFADefender[7]和Kang等提出的SPIFFY[8]中,通過(guò)在系統(tǒng)中部署專(zhuān)門(mén)檢測(cè)鏈路擁塞的模塊來(lái)檢測(cè)網(wǎng)絡(luò)中是否出現(xiàn)LFA。針對(duì)出現(xiàn)擁塞的鏈路,對(duì)其中的流量執(zhí)行重路由操作以將流量分散至其他鏈路,在邏輯上臨時(shí)增加鏈路帶寬來(lái)緩解LFA造成的鏈路堵塞。Aydeger等[9]提出了一個(gè)基于SDN的模型,該模型通過(guò)收集統(tǒng)計(jì)測(cè)繪流量來(lái)推測(cè)可疑的目標(biāo)鏈路,當(dāng)統(tǒng)計(jì)的數(shù)量超過(guò)閾值時(shí),則會(huì)啟動(dòng)重路由功能使流量流向替代鏈路。但是,被動(dòng)防御主要用于發(fā)生LFA后,其本身并不會(huì)阻止攻擊者獲取目標(biāo)網(wǎng)絡(luò)的信息以發(fā)現(xiàn)網(wǎng)絡(luò)瓶頸。

與被動(dòng)防御方法相比,LFA的主動(dòng)防御利用拓?fù)浠煜夹g(shù)在攻擊者的偵察階段進(jìn)行干預(yù),使其形成與真實(shí)拓?fù)湎嗨菩暂^低的攻擊視圖,從而誤導(dǎo)其攻擊非瓶頸目標(biāo),增加攻擊成本。Trassare等[10]首先通過(guò)添加虛擬鏈路使關(guān)鍵節(jié)點(diǎn)的瓶頸度量最小化的方式形成虛擬拓?fù)?然后在網(wǎng)絡(luò)中部署智能路由器來(lái)識(shí)別并攔截測(cè)繪流量,由智能路由器對(duì)測(cè)繪流量根據(jù)虛擬拓?fù)渖煞祷氐臄?shù)據(jù)包。Liu等提出的TopoObfu[11]首先將部分路由器替換為SDN交換機(jī),通過(guò)修改IP數(shù)據(jù)包的TTL字段來(lái)實(shí)現(xiàn)在拓?fù)渲刑砑犹摂M鏈路,使攻擊者獲得虛假的拓?fù)錅y(cè)繪結(jié)果。Kim等提出的SDHoneyNet[12]首先在瓶頸節(jié)點(diǎn)的附近節(jié)點(diǎn)上部署符合冪律分布的誘餌網(wǎng)絡(luò),當(dāng)真實(shí)網(wǎng)絡(luò)中出現(xiàn)TTL值為1的traceroute測(cè)繪流量時(shí),將其引入到誘餌網(wǎng)絡(luò)中。這三種方法有一個(gè)共性在于少數(shù)的部署節(jié)點(diǎn)需要處理大量的測(cè)繪流量,則這些少數(shù)的部署節(jié)點(diǎn)就成為了瓶頸本身。Liu等提出了一個(gè)輕量級(jí)、低消耗的防御系統(tǒng)NetObfu[13],其首先針對(duì)網(wǎng)絡(luò)中的瓶頸鏈路均生成對(duì)應(yīng)的虛擬鏈路,以降低瓶頸鏈路的流密度,然后將盡可能多的流量引向安全性較高的鏈路,誘導(dǎo)攻擊者向其發(fā)起進(jìn)攻。Ding等提出的Linkbait[14]首先根據(jù)各鏈路的流量密度來(lái)推測(cè)潛在的目標(biāo)鏈路,然后將攻擊者發(fā)送的測(cè)繪流量重路由至目標(biāo)鏈路附近的誘餌鏈路,以增加誘餌鏈路的流量密度,達(dá)到誤導(dǎo)攻擊者的效果。這些機(jī)制在應(yīng)對(duì)攻擊者發(fā)起的拓?fù)錅y(cè)繪行為上均能夠達(dá)到一定的混淆效果,但是當(dāng)攻擊者發(fā)起不依賴測(cè)繪結(jié)果的盲攻擊時(shí),針對(duì)于測(cè)繪階段的拓?fù)浠煜齽t無(wú)法發(fā)揮作用了。由Kim等提出的BottleNet[15]在緩解盲攻擊問(wèn)題上提供了一個(gè)思路,在瓶頸鏈路附近部署虛擬拓?fù)?當(dāng)瓶頸鏈路出現(xiàn)擁塞的時(shí)候,將一部分流量重路由至虛擬拓?fù)?讓其經(jīng)過(guò)足夠多的虛擬節(jié)點(diǎn)后再轉(zhuǎn)發(fā)至目標(biāo)節(jié)點(diǎn)。但是該方法在防御過(guò)程中欠缺主動(dòng)性,而且需要額外部署虛擬節(jié)點(diǎn),當(dāng)瓶頸鏈路發(fā)生改變后,需要花費(fèi)較大的部署成本。

2 應(yīng)對(duì)鏈路洪泛攻擊的機(jī)制PrNet

2.1 威脅模型概述

假設(shè)攻擊者控制著一組可以在網(wǎng)絡(luò)中注入流量的主機(jī)bots,拓?fù)渲械墓?jié)點(diǎn)和鏈路均可成為網(wǎng)絡(luò)瓶頸,每個(gè)節(jié)點(diǎn)和鏈路的瓶頸值由聚合流量、路由路徑和鏈路使用率等多種因素定義。要發(fā)起LFA,攻擊者需要執(zhí)行三個(gè)步驟:(1)攻擊者控制bots多次使用測(cè)繪工具探測(cè)節(jié)點(diǎn)之間的路徑,并形成攻擊視圖;(2)將流量匯聚的節(jié)點(diǎn)和鏈路確定為網(wǎng)絡(luò)瓶頸;(3)攻擊者控制bots向選定的節(jié)點(diǎn)發(fā)送大量合法的、低速率的流量來(lái)淹沒(méi)網(wǎng)絡(luò)瓶頸。如此一來(lái),這些擁塞的網(wǎng)絡(luò)瓶頸會(huì)嚴(yán)重影響整個(gè)網(wǎng)絡(luò)的連通性。

traceroute[16]和iperf[17]是攻擊者常用的拓?fù)錅y(cè)繪工具。traceroute具有定位主機(jī)之間所有路由器的功能,其通過(guò)向目標(biāo)發(fā)送TTL值從零遞增的數(shù)據(jù)包,并收集沿途節(jié)點(diǎn)返回的“超時(shí)”信息來(lái)刻畫(huà)數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑。攻擊者通過(guò)在不同的bot上執(zhí)行traceroute并分析其結(jié)果,可以確定目標(biāo)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)[18]。iperf可用于測(cè)量端到端之間的帶寬,這意味著攻擊者可以大致發(fā)現(xiàn)帶寬使用率大的鏈路。這兩個(gè)工具是合法用戶常用的主機(jī)在線狀態(tài)和網(wǎng)絡(luò)故障的檢測(cè)工具,因此攻擊者可將其測(cè)繪行為偽裝成合法用戶發(fā)起的故障檢測(cè)行為,以繞過(guò)防御者的檢測(cè)機(jī)制。此外,該文還假設(shè)攻擊者會(huì)發(fā)起不依賴拓?fù)錅y(cè)繪結(jié)果的盲攻擊,通過(guò)向隨機(jī)目標(biāo)發(fā)送大量低速流量,以消耗沿途鏈路的剩余帶寬,進(jìn)而使得網(wǎng)絡(luò)出現(xiàn)擁塞甚至癱瘓的情況。

2.2 PrNet系統(tǒng)設(shè)計(jì)

PrNet的整體架構(gòu)分為路徑權(quán)重計(jì)算、混淆拓?fù)渖伤惴?、測(cè)繪流量識(shí)別和概率路徑轉(zhuǎn)發(fā)算法4個(gè)模塊,如圖1所示。

圖1 PrNet系統(tǒng)架構(gòu)

其中,路徑權(quán)重計(jì)算和混淆拓?fù)渖伤惴ㄖ饕饔檬欠治鼍W(wǎng)絡(luò)拓?fù)?。路徑?quán)重計(jì)算模塊定期收集拓?fù)湫畔?包括連接結(jié)構(gòu)和流量統(tǒng)計(jì)信息,基于各節(jié)點(diǎn)和鏈路的瓶頸指標(biāo)與配置文件信息,計(jì)算得出當(dāng)前各節(jié)點(diǎn)之間可達(dá)路徑的瓶頸權(quán)重,混淆拓?fù)渖伤惴ǜ鶕?jù)計(jì)算結(jié)果生成用于欺騙攻擊者的混淆拓?fù)?。測(cè)繪流量識(shí)別和概率拓?fù)滢D(zhuǎn)發(fā)算法主要作用是拓?fù)溥\(yùn)行過(guò)程中為數(shù)據(jù)包選擇轉(zhuǎn)發(fā)路徑。測(cè)繪流量識(shí)別模塊會(huì)識(shí)別網(wǎng)絡(luò)中具有追蹤功能的數(shù)據(jù)包,并為其分配對(duì)應(yīng)的混淆路徑。對(duì)于非測(cè)繪流量,由概率路徑轉(zhuǎn)發(fā)算法根據(jù)節(jié)點(diǎn)之間可達(dá)路徑的瓶頸權(quán)重分別形成概率值,并按概率為非測(cè)繪流量選擇轉(zhuǎn)發(fā)路徑。

2.2.1 路徑權(quán)重計(jì)算

PrNet綜合考慮了網(wǎng)絡(luò)拓?fù)涞牟煌卣?從靜態(tài)和動(dòng)態(tài)的角度定義節(jié)點(diǎn)和鏈路的瓶頸度量指標(biāo)。靜態(tài)度量指標(biāo)的定義主要從網(wǎng)絡(luò)拓?fù)涞幕窘Y(jié)構(gòu)入手,不同的特征可以從不同的角度決定節(jié)點(diǎn)的重要性,參考BottleNet[15]中提出的3個(gè)靜態(tài)指標(biāo)來(lái)識(shí)別網(wǎng)絡(luò)瓶頸,具體定義如下:

介數(shù)中心性(Betweenness Centrality,BC)表示在兩個(gè)節(jié)點(diǎn)的可達(dá)路徑中,經(jīng)過(guò)某個(gè)節(jié)點(diǎn)的路徑數(shù)量。節(jié)點(diǎn)的介數(shù)中心性越大,意味著它是越多路徑的中間節(jié)點(diǎn),該節(jié)點(diǎn)的故障將會(huì)造成許多路徑的連接中斷。對(duì)于任意節(jié)點(diǎn)u的介數(shù)中心性,其定義為:

(1)

其中,pathst表示節(jié)點(diǎn)s和t之間的可達(dá)路徑的數(shù)量,而pathst(u)表示這些路徑中經(jīng)過(guò)節(jié)點(diǎn)u的數(shù)量。

緊密中心性(Closeness Centrality,CC)可以用來(lái)表示一個(gè)節(jié)點(diǎn)到所有其他可達(dá)節(jié)點(diǎn)的平均距離,節(jié)點(diǎn)的緊密中心性越大,其所在拓?fù)渲械奈恢迷娇拷行?。?duì)于任意節(jié)點(diǎn)u的緊密中心性,其定義為:

(2)

其中,d(u,v)表示節(jié)點(diǎn)u和v之間的最短距離。

度中心性(Degree Centrality,DC)可以用來(lái)表示一個(gè)節(jié)點(diǎn)與其他節(jié)點(diǎn)的相關(guān)性程度。若一個(gè)節(jié)點(diǎn)具有較高的度,則意味著該節(jié)點(diǎn)與鄰居節(jié)點(diǎn)存在著較多連接,那么該節(jié)點(diǎn)的故障將會(huì)對(duì)網(wǎng)絡(luò)連通性造成很大的影響。對(duì)于任意節(jié)點(diǎn)u的度中心性,其定義為:

(3)

其中,deg(u)表示節(jié)點(diǎn)u的度。此外,根據(jù)網(wǎng)絡(luò)拓?fù)溥\(yùn)行過(guò)程中節(jié)點(diǎn)和鏈路的流量變化情況定義動(dòng)態(tài)度量指標(biāo),通過(guò)OpenFlow協(xié)議[19]收集以下2個(gè)動(dòng)態(tài)指標(biāo)來(lái)識(shí)別網(wǎng)絡(luò)瓶頸,具體定義如下:

聚合流量比例(Aggregate Traffic Ratio,ATR)用于表示一個(gè)節(jié)點(diǎn)在一定時(shí)間內(nèi)接收到的字節(jié)總數(shù)的比例,能夠反映出拓?fù)渲懈鞴?jié)點(diǎn)的使用率。使用REST API[20]來(lái)實(shí)現(xiàn)與底層OpenFlow交換機(jī)的通信,定期獲取各個(gè)節(jié)點(diǎn)的聚合統(tǒng)計(jì)信息,對(duì)于任意節(jié)點(diǎn)u的聚合流量比例,其計(jì)算公式為:

(4)

(5)

其中,fu(t)表示節(jié)點(diǎn)u在t時(shí)間戳接收的字節(jié)總數(shù),F(u)表示節(jié)點(diǎn)u在t2-t1時(shí)間間隔接收字節(jié)總數(shù)的變化率。

鏈路使用率(Consumed Link Ratio,CLR)表示一條鏈路的使用帶寬占鏈路總帶寬的比例,能夠反映出該鏈路的使用情況。運(yùn)用OpenFlow協(xié)議的Port_Statistics消息收集SDN交換機(jī)中所有端口的流量統(tǒng)計(jì)信息,對(duì)于任意鏈路e(u,v)的使用率,其計(jì)算公式為:

(6)

其中,TXu,v(t)表示在t時(shí)間內(nèi)e(u,v)傳輸?shù)淖止?jié)數(shù)量,bw(u,v)表示e(u,v)的總帶寬。

PrNet會(huì)在部署階段使用深度優(yōu)先算法計(jì)算兩兩節(jié)點(diǎn)之間所有的可達(dá)路徑Pathu,v,然后在網(wǎng)絡(luò)拓?fù)涔ぷ鬟^(guò)程中定期收集各個(gè)節(jié)點(diǎn)和鏈路的度量指標(biāo)信息來(lái)計(jì)算每一條可達(dá)路徑的瓶頸權(quán)重。不同指標(biāo)對(duì)路徑權(quán)重計(jì)算的影響程度由影響因子M=(mBC,mCC,mDC,mATR,mCLR)T決定。例如當(dāng)M取值為[1,1,1,0,0]時(shí),表示該路徑的權(quán)重只由靜態(tài)指標(biāo)BC、CC和DC決定。對(duì)于每個(gè)節(jié)點(diǎn)的度量指標(biāo)信息使用矩陣D來(lái)表示:

(7)

其中,r表示節(jié)點(diǎn)度量指標(biāo)的類(lèi)型,n表示節(jié)點(diǎn)的數(shù)量,dij表示第i個(gè)節(jié)點(diǎn)的第j類(lèi)指標(biāo)的度量值。

對(duì)于每條鏈路的使用率,使用矩陣C來(lái)表示:

C=(c1…ce…cn)T

(8)

其中,n表示鏈路的數(shù)量,ce表示鏈路e的使用率。

因此,對(duì)于每條可達(dá)路徑path的瓶頸權(quán)重path_w可表示為:

(9)

其中,mj表示第j類(lèi)指標(biāo)的影響因子。

2.2.2 混淆拓?fù)渖伤惴?/p>

拓?fù)浠煜构粽咝纬膳c實(shí)際流量拓?fù)洳灰恢碌囊晥D,從而達(dá)到隱藏網(wǎng)絡(luò)瓶頸的目的。該實(shí)際流量拓?fù)湟鉃楫?dāng)前時(shí)間數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑形成的拓?fù)湟晥D,攻擊者只有掌握流量的走向和分布,才能實(shí)施有效的攻擊,因此隱藏?cái)?shù)據(jù)包的實(shí)際轉(zhuǎn)發(fā)路徑是拓?fù)浠煜年P(guān)鍵所在。攻擊者可能會(huì)在不同的時(shí)間段發(fā)起多次測(cè)繪行為,測(cè)繪結(jié)果的不一致會(huì)引起攻擊者的懷疑,進(jìn)而發(fā)起盲攻擊,因此PrNet根據(jù)靜態(tài)度量指標(biāo)來(lái)生成混淆拓?fù)?并且混淆拓?fù)渚烧鎸?shí)的網(wǎng)絡(luò)節(jié)點(diǎn)和鏈路形成,避免額外的部署開(kāi)銷(xiāo)。針對(duì)攻擊者的測(cè)繪流量,PrNet會(huì)分配一條包含最少瓶頸節(jié)點(diǎn)的最遠(yuǎn)的轉(zhuǎn)發(fā)路徑,因此測(cè)繪流量會(huì)經(jīng)過(guò)更多的非瓶頸節(jié)點(diǎn),使得非瓶頸節(jié)點(diǎn)在攻擊者的攻擊視圖中呈現(xiàn)更高的瓶頸度量。用Bu表示每個(gè)節(jié)點(diǎn)的瓶頸權(quán)重,Ib表示一條可達(dá)路徑中包含的瓶頸節(jié)點(diǎn),Wb表示一條可達(dá)路徑中瓶頸節(jié)點(diǎn)的權(quán)重和。

(10)

混淆拓?fù)渖伤惴∣bfu-Topology的工作流程如算法1所示,輸入為網(wǎng)絡(luò)拓?fù)銰、節(jié)點(diǎn)度量指標(biāo)D、瓶頸節(jié)點(diǎn)個(gè)數(shù)K、影響因子M=[1,1,1,0,0],輸出為混淆拓?fù)銰'?;煜?fù)渖伤惴ㄊ紫热u中最大的K個(gè)節(jié)點(diǎn)形成瓶頸節(jié)點(diǎn)集合Vb,優(yōu)先選擇不包含瓶頸節(jié)點(diǎn)的路徑作為混淆路徑,若一對(duì)節(jié)點(diǎn)中所有的可達(dá)路徑都需要經(jīng)過(guò)瓶頸節(jié)點(diǎn),則選擇Wb最小的路徑作為混淆路徑。并且PrNet會(huì)對(duì)瓶頸節(jié)點(diǎn)的選擇進(jìn)行負(fù)載均衡處理,適當(dāng)調(diào)整被選中的瓶頸節(jié)點(diǎn)的權(quán)重值Bu。

圖2為網(wǎng)絡(luò)拓?fù)銭unetworks,假設(shè)K取值為網(wǎng)絡(luò)拓?fù)涔?jié)點(diǎn)總數(shù)的15%,根據(jù)計(jì)算可得出(S5,S7)為瓶頸節(jié)點(diǎn)。當(dāng)S4中的主機(jī)向S3發(fā)起traceroute測(cè)繪時(shí),會(huì)分配不經(jīng)過(guò)瓶頸節(jié)點(diǎn)的路徑path=(S4,S1,S2,S3)作為混淆路徑;對(duì)于S4到S11的混淆路徑,會(huì)分配為經(jīng)過(guò)最少的瓶頸節(jié)點(diǎn)且最遠(yuǎn)的路徑,即path=(S4,S5,S8,S9,S10,S11);而對(duì)于S4到S12的混淆路徑,系統(tǒng)會(huì)進(jìn)行負(fù)載均衡處理,將其分配為path=(S4,S1,S2,S3,S7,S12)。

圖2 拓?fù)銭unetworks

Algorithm 1:Obfu-Topology

Input: Physical topologyG; Node MetricsD; Number of bottleneck nodesK; Impact FactorM=[1,1,1,0,0]

Output:Obfuscated TopologyG'

1.Bu←D*M

2.Vb← TheKlargest value inBu

3.foru,v∈G

4.for path in Pathu,v

5.Ib← path∩Vb

6.ifIb=?

7.Ou,v←path

8.else

10.Ou,v←The path with the smallestWb

11.Bu(Ib)←Bu(Ib)+1

12.end if

13.end for

14.G'← The largest path_w inOu,v

15.end for

16.returnG'

2.2.3 測(cè)繪流量識(shí)別

測(cè)繪流量識(shí)別模塊主要用于識(shí)別網(wǎng)絡(luò)中的測(cè)繪數(shù)據(jù)包,當(dāng)新的數(shù)據(jù)包進(jìn)入OpenFlow交換機(jī)時(shí),因?yàn)槿鄙籴槍?duì)該數(shù)據(jù)包的轉(zhuǎn)發(fā)流表,所以交換機(jī)會(huì)觸發(fā)table_miss向SDN控制器請(qǐng)求下發(fā)相應(yīng)的流表,此時(shí)測(cè)繪流量識(shí)別模塊會(huì)對(duì)該數(shù)據(jù)包的內(nèi)容進(jìn)行特征分析,若為測(cè)繪流量,則分配混淆路徑。攻擊者能夠使用traceroute工具進(jìn)行拓?fù)浒l(fā)現(xiàn),其通過(guò)向目標(biāo)主機(jī)發(fā)送目的端口為33 434-33 534并且TTL=1的UDP數(shù)據(jù)包,再根據(jù)沿途路由器返回的“超時(shí)”信息刻畫(huà)數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑。一個(gè)簡(jiǎn)單的解決方案是部署蜜罐檢測(cè)所有TTL=1的UDP數(shù)據(jù)包,但是如果攻擊者精心設(shè)計(jì)數(shù)據(jù)包使其在蜜罐節(jié)點(diǎn)上的TTL值大于1,或者使用其他類(lèi)型的數(shù)據(jù)包,則可繞過(guò)蜜罐的檢測(cè)。為了使檢測(cè)規(guī)則更加完善,PrNet讓所有OpenFlow交換機(jī)都成為檢測(cè)節(jié)點(diǎn),捕捉網(wǎng)絡(luò)中目的端口大于33 434并且TTL值小于6的所有類(lèi)型的數(shù)據(jù)包,再由SDN控制器為相應(yīng)的節(jié)點(diǎn)下發(fā)高優(yōu)先級(jí)的特定流表用于轉(zhuǎn)發(fā)該測(cè)繪數(shù)據(jù)包。

2.2.4 概率路徑轉(zhuǎn)發(fā)算法

經(jīng)過(guò)測(cè)繪流量識(shí)別模塊的過(guò)濾后,需要為合法的流量分配轉(zhuǎn)發(fā)路徑,該部分工作由概率路徑轉(zhuǎn)發(fā)算法完成。在傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)中,路由轉(zhuǎn)發(fā)路徑是固定的,當(dāng)網(wǎng)絡(luò)中出現(xiàn)鏈路擁塞或者攻擊者的惡意盲攻擊時(shí),路由器沒(méi)法靈活調(diào)整流量的走向,從而影響了數(shù)據(jù)的傳輸效率。為了提高網(wǎng)絡(luò)的靈活性和可用性,PrNet會(huì)在源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間選擇L條最優(yōu)的可達(dá)路徑作為備選路徑As,d,定期變更數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑,使網(wǎng)絡(luò)中的流量盡可能實(shí)現(xiàn)負(fù)載均衡,減少網(wǎng)絡(luò)瓶頸的產(chǎn)生。

可達(dá)路徑的瓶頸權(quán)重path_w越大,則代表經(jīng)過(guò)的節(jié)點(diǎn)和鏈路越多,或者經(jīng)過(guò)的節(jié)點(diǎn)和鏈路正處于高負(fù)荷狀態(tài),選擇path_w較大的路徑將使得數(shù)據(jù)包的轉(zhuǎn)發(fā)延遲增大??紤]到轉(zhuǎn)發(fā)效率的問(wèn)題,概率路徑轉(zhuǎn)發(fā)算法需要先對(duì)數(shù)據(jù)包的源地址s和目的地址d之間所有的可達(dá)路徑Paths, d根據(jù)用戶自定義的備選路徑數(shù)量L進(jìn)行篩選,排除掉path_w較大的路徑,再對(duì)剩下的路徑進(jìn)行概率值分配。備選路徑的概率值Probpath計(jì)算公式為:

(11)

最后從備選路徑中選擇一條路徑作為數(shù)據(jù)包在T時(shí)間的轉(zhuǎn)發(fā)路徑,確保轉(zhuǎn)發(fā)路徑的分配會(huì)根據(jù)網(wǎng)絡(luò)拓?fù)淞髁康膶?shí)際情況進(jìn)行調(diào)整。概率路徑轉(zhuǎn)發(fā)算法Prob-Path的工作流程如算法2所示,輸入為數(shù)據(jù)包的源地址s、目的地址d和備選路徑的數(shù)量L,輸出為數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑pathforward。

例如,在網(wǎng)絡(luò)拓?fù)銭unetworks中,與S7直連的H7向與S8直連的H8發(fā)送UDP數(shù)據(jù)包,節(jié)點(diǎn)S7到S8一共有4條可達(dá)路徑,分別是path=(S7,S6,S5,S8)、path=(S7,S12,S11,S13,S8)、path=(S7,S12,S11,S10,S9,S8)、path=(S7,S3,S2,S1,S4,S5,S8), 其path_w分別為1.3、1.6、3.2、4.5,假設(shè)此時(shí)備選路徑數(shù)量為3,則path=(S7,S3,S2,S1,S4,S5,S8)在該時(shí)間段會(huì)被剔除,而剩下的3條路徑作為備選路徑,其被選中的概率分別為0.45、0.37、0.18,根據(jù)概率值組成三個(gè)區(qū)間(1,45)(45,82)(82,100),假設(shè)由隨機(jī)算法產(chǎn)生的隨機(jī)值為56,位于第二個(gè)區(qū)間,則將path=(S7,S12,S11,S13,S8)分配為數(shù)據(jù)包(H7,H8,UDP)的轉(zhuǎn)發(fā)路徑。SDN控制器會(huì)向路徑沿途的交換機(jī)S7、S12、S11、S13和S8下發(fā)相應(yīng)的流表,在T時(shí)間內(nèi)該類(lèi)型的數(shù)據(jù)包可在網(wǎng)絡(luò)拓?fù)渲兄苯愚D(zhuǎn)發(fā)而無(wú)需經(jīng)過(guò)控制器,在T時(shí)間后,先前分配的流表超時(shí),控制器需要重新計(jì)算出新的轉(zhuǎn)發(fā)路徑,并將流表下發(fā)至對(duì)應(yīng)的交換機(jī)中。PrNet以數(shù)據(jù)包的源地址、目的地址和協(xié)議區(qū)分不同的數(shù)據(jù)包,若H7向H8同時(shí)發(fā)送UDP和TCP數(shù)據(jù)包,控制器會(huì)為兩種數(shù)據(jù)包類(lèi)型進(jìn)行獨(dú)立計(jì)算,并下發(fā)不同的流表。

Algorithm2:Prob-Path

Input: Source Addresss; Destination Addressd; Number of alternative pathsL

Output: Forwarding path pathforward

1.As,d←TheLsmallest values of path_w in Paths,d

2.for path inAs,d

4.Set[i]←Set[i-1]+Probpath

5.end for

6.r←random(1,100)

7.foriin Set

8.if Set[i-1]

9.pathforward←Thei-th path inAs,d

10.end if

11.end for

12.return pathforward

3 實(shí)驗(yàn)評(píng)估

該文使用基于OpenFlow1.3協(xié)議的Ryu作為SDN控制器,使用Mininet對(duì)數(shù)據(jù)集Topology Zoo[21]中3種不同規(guī)模的網(wǎng)絡(luò)拓?fù)溥M(jìn)行模擬仿真,其網(wǎng)絡(luò)節(jié)點(diǎn)與鏈路的數(shù)量如表1所示。主要從以下幾個(gè)方面來(lái)評(píng)估PrNet:(1)驗(yàn)證混淆拓?fù)涞陌踩?(2)驗(yàn)證概率路徑轉(zhuǎn)發(fā)算法的有效性;(3)PrNet性能基準(zhǔn)測(cè)試。對(duì)下面給出的每項(xiàng)評(píng)估均重復(fù)實(shí)驗(yàn)30次,并展示出最終的平均值。

表1 網(wǎng)絡(luò)拓?fù)湫畔?/p>

3.1 驗(yàn)證混淆拓?fù)涞陌踩?/h3>

混淆拓?fù)涞陌踩钥梢酝ㄟ^(guò)比較混淆拓?fù)渑c實(shí)際流量拓?fù)涞南嗨菩詠?lái)衡量。該文引入編輯距離(Levenshtein distance)表示混淆路徑與實(shí)際流量路徑之間的差異,路徑的差異性可以表示為編輯距離和實(shí)際流量路徑的長(zhǎng)度比,實(shí)際流量路徑為備選路徑的概率的加權(quán)和,拓?fù)湔w的相似性表示為:

simi=1-

(12)

圖3 相似性

3.2 驗(yàn)證概率路徑轉(zhuǎn)發(fā)算法的有效性

在網(wǎng)絡(luò)拓?fù)溥\(yùn)行過(guò)程中驗(yàn)證概率路徑轉(zhuǎn)發(fā)算法的有效性,首先測(cè)試備選路徑的概率值是否根據(jù)網(wǎng)絡(luò)實(shí)時(shí)流量的變化而變化,其次測(cè)試概率路徑轉(zhuǎn)發(fā)算法對(duì)盲攻擊的緩解效果。

3.2.1 備選路徑的概率變化

在Eunetworks中,設(shè)定瓶頸節(jié)點(diǎn)數(shù)量為總節(jié)點(diǎn)的20%,備選路徑數(shù)量為4,為了能夠凸顯拓?fù)溥\(yùn)行過(guò)程中鏈路使用率CLR對(duì)備選路徑概率值的影響,影響因子M取值為[1,1,1,1,3]。H7和H8是分別連接在節(jié)點(diǎn)S7和S8上的兩臺(tái)主機(jī),path1=(S7,S6,S5,S8)、path2=(S7,S12,S11,S13,S8)、path3=(S7,S12,S11,S10,S9,S8)、path4=(S7,S3,S2,S1,S4,S5,S8)為數(shù)據(jù)包(H7,H8,UDP)的所有可達(dá)路徑,由于備選路徑數(shù)量為4,故該4條可達(dá)路徑均為備選路徑。

圖4中給出了數(shù)據(jù)包(H7,H8,UDP)的備選路徑概率值變化情況。隨著e(S5,S6)的CLR上升,包含有e(S5,S6)的備選路徑path1的瓶頸權(quán)重會(huì)上升,使得分配給該備選路徑的概率值會(huì)隨之下降,當(dāng)e(S5,S6)的CLR為0.2時(shí),path1的概率值為0.24,而當(dāng)e(S5,S6)的CLR為1.0時(shí),代表e(S5,S6)處于擁塞狀態(tài),此時(shí)SDN控制器將不再把流量引向擁塞的鏈路,因此path1的概率值會(huì)調(diào)整為0。實(shí)驗(yàn)結(jié)果與預(yù)想相符合,說(shuō)明PrNet在拓?fù)溥\(yùn)行過(guò)程中能夠定期收集各個(gè)節(jié)點(diǎn)和鏈路的度量指標(biāo)信息用于更新可達(dá)路徑的瓶頸權(quán)重,并調(diào)整可達(dá)路徑分配得到的概率值,使得網(wǎng)絡(luò)具備更好的處理能力和靈活性。

圖4 備選路徑的概率變化

3.2.2 緩解盲攻擊

在Eunetworks中驗(yàn)證PrNet如何緩解網(wǎng)絡(luò)中出現(xiàn)的盲攻擊。假設(shè)攻擊者在節(jié)點(diǎn)S1、S6、S9和S13上部署有bots,其中S6、S9、S13中的bots發(fā)送大量低速率流量至S1的誘餌服務(wù)器上,此時(shí)e(S4,S5)成為了最有可能被攻擊者洪泛的鏈路,如圖5所示。將所有鏈路的帶寬設(shè)置為10 Gbps,每個(gè)節(jié)點(diǎn)之間產(chǎn)生的背景流量消耗每條鏈路大約40%的鏈路使用率。考慮到LFA具有低速率流量的特性,規(guī)定每個(gè)bot最多發(fā)送8 Mbps的攻擊流量。

圖5 用于測(cè)試盲攻擊的拓?fù)銭unetworks

圖6給出了分別運(yùn)行最短路徑策略(Shortest Path First,SPF)和PrNet時(shí)鏈路使用率隨攻擊成本的變化趨勢(shì),橫坐標(biāo)為攻擊者洪泛e(S4,S5)所需要的攻擊成本,攻擊成本以每個(gè)節(jié)點(diǎn)需要部署bots的數(shù)量來(lái)呈現(xiàn),縱坐標(biāo)為e(S4,S5)的鏈路使用率CLR。根據(jù)實(shí)驗(yàn)結(jié)果,當(dāng)bots的數(shù)量為250時(shí),在SPF方案中e(S4,S5)的使用率達(dá)到了100%,而在PrNet中e(S4,S5)的使用率僅為65%,與SPF方案相比,PrNet使攻擊者需要多花費(fèi)接近一倍的代價(jià)才能達(dá)到洪泛鏈路的目的。實(shí)驗(yàn)結(jié)果與預(yù)想相符合,說(shuō)明PrNet在拓?fù)溥\(yùn)行過(guò)程中會(huì)根據(jù)流量的走向和分布調(diào)整數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑,使網(wǎng)絡(luò)中的流量盡可能實(shí)現(xiàn)負(fù)載均衡,減少鏈路擁塞情況的出現(xiàn),有效緩解了攻擊者發(fā)起的盲攻擊。

圖6 緩解盲攻擊

3.3 PrNet性能基準(zhǔn)測(cè)試

通過(guò)測(cè)試系統(tǒng)在拓?fù)浣Y(jié)構(gòu)更新時(shí)的靈敏性和備選路徑數(shù)量對(duì)數(shù)據(jù)包轉(zhuǎn)發(fā)時(shí)延的影響來(lái)衡量PrNet的性能。

3.3.1 系統(tǒng)的靈敏性

當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí),PrNet需要根據(jù)實(shí)際拓?fù)浣Y(jié)構(gòu)調(diào)整各節(jié)點(diǎn)的靜態(tài)度量指標(biāo)值,以及重新生成混淆拓?fù)洹T?種不同規(guī)模的網(wǎng)絡(luò)拓?fù)渲袦y(cè)量這兩個(gè)步驟的處理時(shí)間,如表2所示。結(jié)果表明,對(duì)于規(guī)模較小的網(wǎng)絡(luò)拓?fù)?PrNet能夠在0.5秒以內(nèi)完成節(jié)點(diǎn)度量指標(biāo)值和混淆拓?fù)涞挠?jì)算,而對(duì)于大型網(wǎng)絡(luò)拓?fù)淙鏘ris,計(jì)算時(shí)間雖然對(duì)比前兩者有明顯增大,但是總時(shí)間仍控制在1分鐘以內(nèi)。因此,筆者認(rèn)為PrNet具有良好的靈敏性,能夠有效應(yīng)對(duì)真實(shí)環(huán)境中拓?fù)浣Y(jié)構(gòu)更新的情況。

表2 處理時(shí)間 ms

3.3.2 數(shù)據(jù)包的轉(zhuǎn)發(fā)時(shí)延

在此評(píng)估中,測(cè)量備選路徑數(shù)量增多,對(duì)數(shù)據(jù)包轉(zhuǎn)發(fā)時(shí)延的影響。在3種不同規(guī)模的網(wǎng)絡(luò)拓?fù)渲?隨機(jī)挑選兩個(gè)位于不同節(jié)點(diǎn)的主機(jī)進(jìn)行通信,主機(jī)之間連續(xù)30秒每秒發(fā)送10個(gè)數(shù)據(jù)包,每個(gè)數(shù)據(jù)包大小為5 000字節(jié)。當(dāng)PrNet中備選路徑數(shù)量為1時(shí),代表此時(shí)系統(tǒng)使用最短路徑策略分配轉(zhuǎn)發(fā)路徑。

如圖7所示,當(dāng)備選路徑數(shù)量為1時(shí),單個(gè)數(shù)據(jù)包在3種拓?fù)渲械钠骄D(zhuǎn)發(fā)時(shí)延分別為0.193 ms,0.205 ms,0.211 ms,當(dāng)備選路徑數(shù)量為2時(shí),轉(zhuǎn)發(fā)時(shí)延分別為0.202 ms,0.216 ms,0.223 ms。在PrNet中,數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑會(huì)是備選路徑中的任意一條路徑,而隨著備選路徑數(shù)量的增大,會(huì)有更長(zhǎng)的路徑納入備選路徑中,當(dāng)數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑為其中的一條較長(zhǎng)的路徑時(shí),其轉(zhuǎn)發(fā)延遲也會(huì)相應(yīng)的增大,因此數(shù)據(jù)包的轉(zhuǎn)發(fā)延遲會(huì)隨著備選路徑數(shù)量的增大而增大。但是在3種網(wǎng)絡(luò)拓?fù)渲?轉(zhuǎn)發(fā)時(shí)延的平均漲幅分別為0.010 5 ms,0.011 ms和0.012 ms,變化幅度較小,對(duì)數(shù)據(jù)包的正常轉(zhuǎn)發(fā)造成的影響不大。

圖7 轉(zhuǎn)發(fā)時(shí)延

4 結(jié)束語(yǔ)

該文提出了一種應(yīng)對(duì)鏈路洪泛攻擊的機(jī)制PrNet,PrNet的主要思想是從多角度定義形成網(wǎng)絡(luò)瓶頸的度量指標(biāo),通過(guò)識(shí)別攻擊者的測(cè)繪流量并為其分配一條安全的混淆路徑,使得網(wǎng)絡(luò)瓶頸在攻擊者形成的攻擊視圖中具有較低的瓶頸度量值,并且通過(guò)概率路徑轉(zhuǎn)發(fā)算法,使網(wǎng)絡(luò)拓?fù)渲械牧髁勘M可能實(shí)現(xiàn)負(fù)載均衡,減少網(wǎng)絡(luò)瓶頸的產(chǎn)生。實(shí)驗(yàn)表明,PrNet生成的混淆拓?fù)淠軌虻钟粽咴诠羟捌趯?shí)施的網(wǎng)絡(luò)偵察行為,概率路徑轉(zhuǎn)發(fā)算法能夠讓網(wǎng)絡(luò)具備更好的處理能力和靈活性,并且有效緩解攻擊者不依賴測(cè)繪結(jié)果而發(fā)起的盲攻擊。PrNet僅考慮了將所有傳統(tǒng)路由器變更為SDN交換機(jī)的實(shí)現(xiàn)方案,對(duì)于大型網(wǎng)絡(luò)來(lái)說(shuō),更換所有路由器需要付出較大的代價(jià),下一步將繼續(xù)探索僅將網(wǎng)絡(luò)中的部分路由器更換為SDN交換機(jī)的方案;對(duì)于大型網(wǎng)絡(luò)拓?fù)?加入多個(gè)控制器,提升系統(tǒng)的數(shù)據(jù)處理能力;引入機(jī)器學(xué)習(xí)的算法,由算法根據(jù)當(dāng)前拓?fù)涞牧髁壳闆r,決定備選路徑的數(shù)量,為數(shù)據(jù)包分配最優(yōu)的轉(zhuǎn)發(fā)路徑。

猜你喜歡
網(wǎng)絡(luò)拓?fù)?/a>瓶頸攻擊者
基于通聯(lián)關(guān)系的通信網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法
基于微分博弈的追逃問(wèn)題最優(yōu)策略設(shè)計(jì)
電子制作(2018年23期)2018-12-26 01:01:16
正面迎接批判
愛(ài)你(2018年16期)2018-06-21 03:28:44
勞斯萊斯古斯特與魅影網(wǎng)絡(luò)拓?fù)鋱D
突破霧霾治理的瓶頸
電測(cè)與儀表(2016年5期)2016-04-22 01:13:46
突破瓶頸 實(shí)現(xiàn)多贏
有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
如何渡過(guò)初創(chuàng)瓶頸期
孝昌县| 周宁县| 宣恩县| 遂宁市| 马尔康县| 呼和浩特市| 鲁山县| 梅河口市| 家居| 西丰县| 合水县| 炎陵县| 康马县| 上蔡县| 新疆| 海林市| 安国市| 巴马| 库尔勒市| 林西县| 淳安县| 永清县| 朝阳区| 积石山| 龙门县| 四平市| 商南县| 华安县| 应用必备| 阳新县| 咸阳市| 明光市| 东乡族自治县| 湘潭县| 元江| 开原市| 辽源市| 锡林郭勒盟| 崇仁县| 平阳县| 孝义市|