王建新,賈文娟,黃家瑋
(中南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙,410083)
CMAD-XCP:一種防御XCP協(xié)議公平性攻擊的協(xié)同機(jī)制
王建新,賈文娟,黃家瑋
(中南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙,410083)
針對(duì)XCP(eXplicit Congestion Protocol)協(xié)議分析公平性攻擊的方法和特性,提出一種協(xié)同式路由器監(jiān)控機(jī)制CMAD-XCP(XCP with Cooperative Malicious Attacker Detection)。CMAD-XCP由核心路由器感知惡意攻擊,由邊緣路由器實(shí)施對(duì)惡意流的區(qū)分和懲罰。仿真結(jié)果表明,CMAD-XCP可以及時(shí)、有效地懲罰惡意流,保護(hù)XCP協(xié)議的公平帶寬分配,同時(shí)有效避免不公平競(jìng)爭(zhēng)導(dǎo)致的網(wǎng)絡(luò)擁塞。
XCP;惡意攻擊;公平性;主動(dòng)隊(duì)列管理
隨著網(wǎng)絡(luò)應(yīng)用的飛速增長(zhǎng)和性能的不斷提高,采用TCP(Transmission Control Protocol) Reno[1]算法的傳統(tǒng)擁塞控制協(xié)議開始顯現(xiàn)出其不適應(yīng)性[2],研究高帶寬時(shí)延乘積網(wǎng)絡(luò)環(huán)境下的擁塞控制機(jī)制成為熱點(diǎn)研究課題并出現(xiàn)很多改進(jìn)協(xié)議[3],其中一個(gè)重要趨勢(shì)是采用顯式反饋方法,XCP(eXplicit Congestion Protocol)[4]協(xié)議正是基于這種思想被提出的。XCP協(xié)議中源端根據(jù)路由器的顯式反饋值來(lái)調(diào)節(jié)擁塞窗口以達(dá)到最優(yōu)的發(fā)送速率要求。實(shí)際上,在真實(shí)網(wǎng)絡(luò)中存在大量惡意節(jié)點(diǎn)[5?7],它們不采用擁塞控制機(jī)制而向網(wǎng)絡(luò)高速發(fā)送數(shù)據(jù)包以搶占更多的網(wǎng)絡(luò)資源,不但會(huì)造成帶寬分配的不公平,而且將加劇網(wǎng)絡(luò)擁塞,使得網(wǎng)絡(luò)中正常業(yè)務(wù)被拒絕服務(wù);因此,網(wǎng)絡(luò)的安全性、穩(wěn)定性等問(wèn)題成為人們關(guān)注的焦點(diǎn)。由于在 XCP協(xié)議中源端只依據(jù)路由器的擁塞反饋來(lái)調(diào)整發(fā)送速率,正常的 XCP源端收到擁塞反饋后會(huì)降低發(fā)送速率,而惡意攻擊者不但不響應(yīng)擁塞反饋,反而進(jìn)一步提高發(fā)送速率以搶占帶寬,破壞網(wǎng)絡(luò)公平性。本文作者在分析了惡意攻擊存在下的網(wǎng)絡(luò)特征以及 XCP協(xié)議本身特性的基礎(chǔ)上,提出一種新型的路由器協(xié)同監(jiān)控機(jī)制,即:通過(guò)核心路由器與邊緣路由器協(xié)同配合來(lái)發(fā)現(xiàn)和控制 XCP協(xié)議應(yīng)用過(guò)程中存在的安全隱患,提高網(wǎng)絡(luò)自身對(duì)惡意數(shù)據(jù)流的遏制能力,以保證流與流之間的公平性。
XCP協(xié)議自提出以來(lái),已有很多學(xué)者針對(duì)其安全性進(jìn)行了大量研究。在XCP協(xié)議提出之時(shí),設(shè)計(jì)者們就意識(shí)到XCP協(xié)議存在脆弱性[4],指出可以使用邊緣路由器監(jiān)控來(lái)維護(hù)網(wǎng)絡(luò)安全,但是,這種監(jiān)控技術(shù)會(huì)擾亂所有通過(guò)該路由器的正常XCP流的窗口調(diào)節(jié),且具有很大的盲目性。Zhang等[8]在Linux內(nèi)核上實(shí)現(xiàn)了XCP協(xié)議,通過(guò)測(cè)試證實(shí)了網(wǎng)絡(luò)極易遭到來(lái)自惡意XCP主機(jī)的破壞。
針對(duì)傳統(tǒng) TCP協(xié)議的惡意攻擊研究已經(jīng)廣泛展開[9?10]。此類惡意攻擊者只能依賴鏈路丟包作為判斷因子,并不清楚網(wǎng)絡(luò)狀況,具有更多的盲目性,也更容易被控制和發(fā)現(xiàn)。而針對(duì)XCP等顯式傳輸控制協(xié)議(XCP,RCP[11],MLCP[12],VCP[13]和 Arrow-TCP[14]等),攻擊者不但可以是接收端,而且可以是源端。惡意源端利用其他用戶的“友好性”來(lái)快速非法獲得大量帶寬資源。如果網(wǎng)絡(luò)中存在惡意用戶,那么 XCP快速收斂的特性會(huì)使得其他正常用戶數(shù)據(jù)流很快降低其發(fā)送速率釋放帶寬,從而造成極大的不公平,并且不易被察覺[15?16]。XCP協(xié)議的惡意攻擊主要包括欺騙攻擊和濫用攻擊2類。
欺騙攻擊[15]主要是通過(guò)偽造數(shù)據(jù)包頭的擁塞窗口和往返延時(shí)RTT(Round trip time)來(lái)實(shí)施吞吐量欺騙和RTT欺騙。在吞吐量欺騙中,惡意流可以偽造一個(gè)較小的擁塞窗口值使路由器為其分配更多帶寬。這種吞吐量欺騙不會(huì)影響總體帶寬利用率,但是,由于惡意流隱瞞真實(shí)速率,從而造成流之間的不公平性;在RTT欺騙中,惡意流偽造一個(gè)虛假的返往延遲,通過(guò)擾亂路由器對(duì)控制時(shí)隙的正常計(jì)算來(lái)破壞網(wǎng)絡(luò)的正常運(yùn)行,而惡意流本身并沒有獲得收益,攻擊動(dòng)機(jī)較小。
在濫用攻擊[16]中,惡意流在網(wǎng)絡(luò)擁塞需要降速時(shí)不響應(yīng)反饋,反而快速占有大量網(wǎng)絡(luò)帶寬。按照攻擊的發(fā)起者,濫用攻擊分為源端和接收端攻擊,其具體的攻擊策略如下。
(1) 源端濫用攻擊。源端惡意主機(jī)又被稱為濫用主機(jī),主要通過(guò)忽略XCP反饋值,惡意增長(zhǎng)窗口來(lái)發(fā)送更多的數(shù)據(jù)包。典型的攻擊模式有:
① 在連接建立后,路由器需要給新的數(shù)據(jù)流分配帶寬,源端響應(yīng)XCP路由器發(fā)出的正反饋值,這樣允許濫用主機(jī)有效的跳過(guò)TCP慢啟動(dòng)階段,提高發(fā)送速率。
② 一旦擁塞反饋值降為零或者負(fù)值時(shí),源端不響應(yīng)反饋,并利用傳統(tǒng) TCP加性增加算法繼續(xù)增大窗口。
③ 當(dāng)有包重傳時(shí),表明鏈路中發(fā)生擁塞丟包,此時(shí)源端窗口重置為1并保持一個(gè)往返延遲時(shí)間,從而排空路由器隊(duì)列。
④ 在網(wǎng)絡(luò)恢復(fù)后,擁塞窗口設(shè)置為回退前的50%,與傳統(tǒng)TCP的乘性減小相一致。之后鎖定窗口值保持不變同時(shí)忽略反饋,當(dāng)網(wǎng)絡(luò)中部分帶寬被釋放后再重新加性增加窗口以探測(cè)可用帶寬。
(2) 接收端濫用攻擊。接收端濫用攻擊主要通過(guò)篡改反饋值間接發(fā)動(dòng)攻擊。它與源端攻擊原理相似,只是攻擊的發(fā)動(dòng)者不同。攻擊者并沒有直接控制擁塞窗口,而是通常更改逆向反饋值欺騙源端。為了更好地控制源端,攻擊者通過(guò)使用與源端相同的函數(shù)。
接收端在接收數(shù)據(jù)包后查看反饋值,若窗口增加,則不做修改返回給源端;若不能增長(zhǎng)擁塞窗口,則將反饋替換為使得窗口線性增長(zhǎng)的新值。在發(fā)生重傳后,接收方對(duì)窗口值計(jì)算減半與源端保持一致,之后不再增加窗口。
在上述XCP攻擊方式中,對(duì)于吞吐量欺騙攻擊,路由器可以通過(guò)比較包頭擁塞窗口信息和實(shí)際流量來(lái)檢測(cè),若兩者相差較大則說(shuō)明為惡意流,從而實(shí)施區(qū)分和懲罰。對(duì)于接收端濫用攻擊,路由器通過(guò)比較正向數(shù)據(jù)包和反向 ACK包的反饋信息來(lái)檢測(cè)惡意流是否存在。而RTT欺騙攻擊由于不能得到攻擊收益,并沒有引起人們的關(guān)注。相對(duì)而言,源端濫用攻擊具有隱蔽性強(qiáng)和攻擊收益大的特點(diǎn),如何防止此類攻擊是本文的研究重點(diǎn)。
針對(duì)源端濫用攻擊,本文提出一種核心路由器和邊緣路由器協(xié)同的監(jiān)控機(jī)制 CMAD-XCP。如圖 1所示,核心路由器上采用隊(duì)列管理機(jī)制來(lái)感知惡意行為是否存在,邊緣路由器收到核心路由器的通告后區(qū)分并懲罰惡意流。在這種協(xié)同機(jī)制中,由于核心路由器的負(fù)載較大,而且是惡意流的必經(jīng)之路,核心路由器只負(fù)責(zé)探測(cè)惡意行為是否發(fā)生。當(dāng)核心路由器懷疑網(wǎng)絡(luò)中存在惡意用戶時(shí),會(huì)在經(jīng)過(guò)的數(shù)據(jù)包頭打標(biāo)記,并可以由接收方寫入 ACK中返回;當(dāng)邊緣路由器收到帶標(biāo)記的ACK后,即對(duì)相應(yīng)流實(shí)施區(qū)分和懲罰。
由于 XCP協(xié)議本身就利用了中間結(jié)點(diǎn)的反饋信息進(jìn)行控制,目標(biāo)是公平的將鏈路資源分配給每個(gè)用戶并實(shí)現(xiàn)零排隊(duì)延時(shí)。在一般情況下,XCP可以保證數(shù)據(jù)流在常數(shù)時(shí)間內(nèi)收斂,瓶頸隊(duì)列中排隊(duì)的數(shù)據(jù)包很少甚至為 0。而由于惡意用戶探測(cè)帶寬過(guò)程中并不響應(yīng)路由器的負(fù)反饋,在帶寬飽和后必定會(huì)導(dǎo)致瓶頸隊(duì)列的不斷增長(zhǎng)。因此,通過(guò)分析瓶頸路由器隊(duì)列變化的特征,來(lái)設(shè)計(jì)惡意數(shù)據(jù)流的感知機(jī)制。
圖2給出了網(wǎng)絡(luò)仿真的拓?fù)浣Y(jié)構(gòu),其中:S1到Sn為源端;D1到Dn為接收端;端到端的單向延時(shí)為20 ms;R1和Rn為邊緣路由器,其他路由器為核心路由器;Rk和Rk+1之間的鏈路為傳輸瓶頸,瓶頸帶寬為20 Mb/s,其他鏈路帶寬為100 Mb/s。在仿真過(guò)程中,分別設(shè)置了4條正常和3條惡意XCP流,各流數(shù)據(jù)分組都是1 kb。下面將分析核心路由器Rk的隊(duì)長(zhǎng)變化特征。
圖2 仿真網(wǎng)絡(luò)拓?fù)銯ig.2 Simulation network topology
圖3顯示了當(dāng)惡意流和正常流分別加入網(wǎng)絡(luò)時(shí)瓶頸路由器Rk的隊(duì)長(zhǎng)變化。
(1) 0.5 s啟動(dòng)2條正常XCP流與第1條惡意流M1,這時(shí)由于M1不響應(yīng)路由器負(fù)反饋并持續(xù)增加擁塞窗口,使得瓶頸隊(duì)列快速增長(zhǎng),直到10 s時(shí)路由器發(fā)生丟包后M1不再增長(zhǎng)窗口,瓶頸隊(duì)列相對(duì)穩(wěn)定。
(2) 在20 s時(shí)第2條惡意流M2加入網(wǎng)絡(luò)后搶占帶寬,瓶頸隊(duì)列再次迅速增長(zhǎng),直至26 s發(fā)生丟包。
(3) 40 s啟動(dòng)第3條正常流,隊(duì)列長(zhǎng)度略有波動(dòng)后很快達(dá)到穩(wěn)定并且不會(huì)持續(xù)增長(zhǎng)。
(4) 60 s加入第3條惡意流M3后,其行為與M2的相仿,都會(huì)在搶占帶寬過(guò)程中致使瓶頸隊(duì)列持續(xù)增長(zhǎng)并丟包。
(5) 在80 s再次加入1條正常流后并不會(huì)使隊(duì)列發(fā)生很大變化。
上述實(shí)驗(yàn)說(shuō)明當(dāng)惡意流加入網(wǎng)絡(luò)時(shí)瓶頸隊(duì)列會(huì)快速增長(zhǎng),而正常流則沒有這種現(xiàn)象;因此,可以通過(guò)監(jiān)控瓶頸路由器的隊(duì)列變化,來(lái)判斷網(wǎng)絡(luò)中是否存在惡意流。
圖3 惡意攻擊時(shí)瓶頸隊(duì)列Fig.3 Queue of bottleneck with malicious senders
用ΔQueue表示1個(gè)平均RTT內(nèi)隊(duì)列變化,q表示當(dāng)前隊(duì)列長(zhǎng)度,BufferSize表示緩沖區(qū)大小,n表示連續(xù)滿足當(dāng)前判斷條件的次數(shù)。 是判斷條件滿足的閾值,β是隊(duì)列長(zhǎng)度閾值,這2個(gè)參數(shù)決定了探測(cè)惡意流的敏感度。由于網(wǎng)絡(luò)中正常突發(fā)流會(huì)導(dǎo)致隊(duì)列抖動(dòng),為了避免誤判,設(shè)置 =10,β=0.6。核心路由器可以通過(guò)以下條件判斷是否存在惡意流:
其中:式(1)用于隊(duì)列較小時(shí)惡意流剛剛開始探測(cè)帶寬階段,此時(shí)若經(jīng)過(guò) 個(gè)RTT隊(duì)列仍一直增長(zhǎng),則表明路由器不能保證數(shù)據(jù)流收斂;式(2)表示連續(xù) /2個(gè)RTT后隊(duì)列仍超過(guò)β/2×BufferSize并且在不斷增長(zhǎng);式(3)表示隊(duì)列長(zhǎng)度長(zhǎng)時(shí)間大于β×BufferSize,經(jīng)過(guò)連續(xù) 個(gè)RTT后都沒有降低。滿足以上條件的任何1個(gè)都表示懷疑有惡意數(shù)據(jù)流存在并啟動(dòng)檢測(cè)機(jī)制。
當(dāng)正常XCP流加入網(wǎng)絡(luò)時(shí),瓶頸路由器通過(guò)發(fā)送正反饋為其分配帶寬,同時(shí)給已經(jīng)存在的數(shù)據(jù)流發(fā)送負(fù)反饋使其釋放部分帶寬。這樣,XCP協(xié)議可以保證數(shù)據(jù)流在常數(shù)時(shí)間范圍內(nèi)快速收斂,且收斂后各流的擁塞窗口相對(duì)穩(wěn)定;因此,反饋值雖有正有負(fù),但波動(dòng)不大,且在一段時(shí)間內(nèi)的統(tǒng)計(jì)值趨向于 0。但是,當(dāng)惡意流加入網(wǎng)絡(luò)并獲得不公平帶寬時(shí),瓶頸路由器會(huì)通過(guò)大量負(fù)反饋通知其釋放帶寬,這時(shí),惡意流的累計(jì)反饋量將會(huì)是一個(gè)很大的負(fù)值;因此,可以利用這一特性,在邊緣路由器通過(guò)統(tǒng)計(jì)數(shù)據(jù)流單位時(shí)間內(nèi)的反饋量來(lái)區(qū)分惡意流和正常流。
定義1個(gè)RTT內(nèi)單流的反饋量總和F為
其中:feedback為每個(gè) ACK包中攜帶的路由器反饋量。通過(guò)下式可以計(jì)算得到1個(gè)RTT內(nèi),該流擁塞窗口的改變值為ΔCcwnd。
將ΔCcwnd作為檢測(cè)因子,在圖2的拓?fù)渲羞M(jìn)行實(shí)驗(yàn)分析。設(shè)置瓶頸帶寬10 Mb/s,端到端單向延遲20 ms,4條XCP流中1條是惡意流。圖4分別顯示了正常流與惡意流ΔCcwnd的統(tǒng)計(jì)結(jié)果。從圖4可以看出:正常流窗口變化值基本服從正態(tài)分布,變化的期望值趨近于 0,驗(yàn)證了之前的分析結(jié)果;而惡意流窗口變化值基本都為較大的負(fù)值,且偏離正常值很遠(yuǎn);因此,可以通過(guò)實(shí)驗(yàn)統(tǒng)計(jì)得出正常流的分布規(guī)律并計(jì)算正常數(shù)據(jù)流的接受區(qū)間,若ΔCcwnd落在接受區(qū)間以外,則
圖4 XCP數(shù)據(jù)流反饋量分布Fig.4 Distribution of XCP flow’s feedback
判斷為惡意流并丟棄其所傳輸?shù)臄?shù)據(jù)包,作為懲罰。
需要指出的是:通過(guò)修改核心路由器的擁塞檢測(cè)因子和邊緣路由器對(duì)反饋的處理方式,這種協(xié)同檢測(cè)機(jī)制就可以應(yīng)用于其他顯式擁塞控制協(xié)議。
為了能在不同的網(wǎng)絡(luò)環(huán)境下有效區(qū)分惡意流,使機(jī)制具有很好的適應(yīng)性,需要對(duì)邊緣路由器檢測(cè)因子ΔCcwnd設(shè)置相應(yīng)的閾值。正常 XCP數(shù)據(jù)流的 ΔCcwnd服從正態(tài)分布,即
由 ΔCcwnd的定義可知其與反饋量和RTT成正比例,并且由于反饋量與瓶頸路由器分配給該流的可用帶寬成正比,因此ΔCcwnd與可用帶寬也成正比,則μ和σ可以表示為:
其中:B為路由器返回的該流在瓶頸鏈路的公平帶寬,其值可以用瓶頸總帶寬除以當(dāng)前流數(shù)目計(jì)算;γ為修正參數(shù),用于彌補(bǔ)計(jì)算值與實(shí)際樣本的偏差,設(shè)置為0.2;μ0和σ0為最小閾值,防止公平帶寬很小時(shí)計(jì)算中出現(xiàn)較多的偏差,使正常流的ΔCcwnd落在接受區(qū)間外產(chǎn)生誤判;k1和k2為常量系數(shù)。采用圖2的拓?fù)浞抡?,RTT為40 ms,帶寬變化時(shí)得到μ和σ的變化關(guān)系如表1所示;公平帶寬為2.5 Mb/s,鏈路延時(shí)變化時(shí)得到μ和σ的結(jié)果如表2所示。根據(jù)實(shí)驗(yàn)結(jié)果,設(shè)置μ0=1,σ0=100,并計(jì)算得到:k1=1.8×10?3,k2=0.5×10?4。
由正態(tài)分布中的“3σ”法則,ΔCcwnd落在(μ?3σ,μ+3σ)之間的概率為 99.74%,即正常流的 ΔCcwnd幾乎都落在該區(qū)間內(nèi),因此,將該區(qū)間作為正常數(shù)據(jù)流的接受區(qū)間;反之,若ΔCcwnd落在該區(qū)間之外,則說(shuō)明該XCP流是惡意的。
表1 不同帶寬下的正態(tài)分布參數(shù)Table 1 Normal distribution parameters with different bandwidth
表2 不同鏈路往返延時(shí)下的正態(tài)分布參數(shù)Table 2 Normal distribution parameters with different RTT
為了驗(yàn)證CMAD-XCP機(jī)制的有效性,在網(wǎng)絡(luò)仿真軟件 NS-2上實(shí)現(xiàn)了該機(jī)制,并通過(guò)大量實(shí)驗(yàn)分析比較CMAD-XCP啟動(dòng)前后的網(wǎng)絡(luò)性能,實(shí)驗(yàn)拓?fù)淙鐖D2所示。
首先對(duì)網(wǎng)絡(luò)中只存在單條惡意流的情況進(jìn)行測(cè)試。設(shè)置瓶頸鏈路帶寬為 20 Mb/s,端到端單向延遲為20 ms。在2 s開始啟動(dòng)2條正常XCP流和1條惡意流。如圖5(a)所示:3 s時(shí)由于路由器出現(xiàn)負(fù)反饋,惡意流開始不響應(yīng)反饋并逐漸增大窗口侵占可用帶寬,正常流響應(yīng)負(fù)反饋并釋放帶寬;12 s時(shí)鏈路丟包后,惡意流不再增長(zhǎng)窗口,最終侵占將近80%的瓶頸帶寬,極大地破壞了 XCP協(xié)議的公平性。而當(dāng)啟用CMAD-XCP之后(如圖5(b)所示),4.68 s時(shí)核心路由器懷疑惡意流并打標(biāo)記,4.76 s時(shí)邊緣路由器區(qū)分并丟棄惡意流的包,使正常XCP流快速恢復(fù)公平發(fā)送速率,有效地保護(hù)了公平性。
為了進(jìn)一步加入突發(fā)流來(lái)測(cè)試CMAD-XCP的有效性,共設(shè)置12條正常XCP流,其中2條正常流在2 s啟動(dòng)。10 s時(shí),1條惡意流啟動(dòng)。另外10條短流25 s時(shí)突發(fā)并持續(xù)20 s。圖6(a)顯示:即使存在多條突發(fā)流,惡意流仍占據(jù)大量帶寬。而從圖6(b)看出:CMAD-XCP在13.8 s及時(shí)遏制惡意流。同時(shí)在25 s突發(fā)流加入時(shí),核心路由器并不會(huì)啟動(dòng) CMAD-XCP機(jī)制。這說(shuō)明CMAD-XCP可以依據(jù)隊(duì)列變化情況很好地區(qū)分惡意流和突發(fā)流造成的擁塞,有效避免邊緣路由器做無(wú)效檢測(cè)。
圖5 單一惡意流攻擊時(shí)數(shù)據(jù)流吞吐量Fig.5 Throughput of flows with single malicious sender
圖6 突發(fā)流存在下惡意流攻擊時(shí)數(shù)據(jù)流吞吐量Fig.6 Throughput of flows with bursts and single malicious
該實(shí)驗(yàn)測(cè)試了多條惡意流存在下監(jiān)控機(jī)制的性能,2條正常XCP流在2 s啟動(dòng),惡意流1~3分別在10,10和30 s啟動(dòng),分別于60,60和80 s結(jié)束。如圖7(a)所示:30 s同時(shí)啟動(dòng)3條惡意流時(shí),其他正常流幾乎餓死。而從圖7(b)看出:10 s時(shí)由于2條惡意流同時(shí)啟動(dòng),侵占速度較1條時(shí)更快,而CMAD-XCP檢測(cè)速度也隨之加快,在12.12 s核心路由器打標(biāo)記發(fā)出信號(hào),12.21 s邊緣路由器很快截?cái)?條惡意流。而隨后 30 s啟動(dòng)的惡意流 3在 33.71 s被截?cái)啵砻鰿MAD-XCP對(duì)網(wǎng)絡(luò)中存在多個(gè)惡意攻擊者同樣有效。
圖7 多惡意流攻擊時(shí)數(shù)據(jù)流吞吐量Fig.7 Throughput of flows with malicious senders
為了驗(yàn)證檢測(cè)機(jī)制對(duì)各種網(wǎng)絡(luò)條件的適應(yīng)性以及參數(shù)調(diào)節(jié)的有效性,在不同網(wǎng)絡(luò)條件下進(jìn)行測(cè)試。與3.1節(jié)中的實(shí)驗(yàn)設(shè)置相仿,2條正常XCP流和1條惡意流從0 s啟動(dòng),瓶頸帶寬變化時(shí)往返延時(shí)固定為40 ms,網(wǎng)絡(luò)延時(shí)變化時(shí)瓶頸帶寬固定為 20 Mb/s。表 3顯示了隨著瓶頸帶寬增加,惡意特征出現(xiàn)延遲使得核心路由器檢測(cè)機(jī)制標(biāo)記和邊緣路由器區(qū)分判斷時(shí)間相應(yīng)推遲。表4反映了邊緣路由器區(qū)分時(shí)間隨延時(shí)增大逐漸增加,核心路由器標(biāo)記時(shí)間隨延時(shí)變化只是略增加;而在延時(shí)升高到100 ms時(shí),源端響應(yīng)路由器的反饋有較大滯后性,導(dǎo)致隊(duì)列很快達(dá)到較高的值,核心路由器檢測(cè)時(shí)間有所縮短。
表3 瓶頸帶寬變化時(shí)CMAD-XCP機(jī)制啟動(dòng)時(shí)間Table 3 Start time of CMAD-XCP with different bandwidth
表4 鏈路延時(shí)變化時(shí)CMAD-XCP機(jī)制啟動(dòng)時(shí)間Table 4 Start time of CMAD-XCP with different link RTT
(1) 在分析XCP協(xié)議脆弱性及惡意攻擊手段的基礎(chǔ)上,提出一種協(xié)同式的路由器監(jiān)控機(jī)制CMAD-XCP。CMAD-XCP由網(wǎng)絡(luò)中核心路由器負(fù)責(zé)感知惡意攻擊,懷疑存在惡意數(shù)據(jù)流時(shí)就通知邊緣路由器具體對(duì)惡意數(shù)據(jù)流予以區(qū)分和懲罰。
(2) 防御機(jī)制CMAD-XCP具有以下特點(diǎn):結(jié)合了XCP協(xié)議控制特點(diǎn),可以及時(shí)、有效、準(zhǔn)確地檢測(cè)出非響應(yīng)性惡意流,誤判率很低;在各種動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中以及多惡意流存在情況下都具有很強(qiáng)的監(jiān)控能力,適應(yīng)性好;防御機(jī)制計(jì)算量較小,容易應(yīng)用到其他顯式反饋協(xié)議中,擴(kuò)展性好。
[1] Jacobson V. Congestion avoidance and control[J]. ACM Computer Communication Review, 1988, 18(4): 314?329.
[2] IETF RFC3649. Highspeed TCP for large congestion windows[S].
[3] 王建新, 龔皓, 陳建二. 高帶寬延時(shí)網(wǎng)絡(luò)中一種協(xié)同式擁塞控制協(xié)議[J]. 軟件學(xué)報(bào), 2008, 19(1): 125?135.
WANG Jian-xin, GONG Hao, CHEN Jian-er. A cooperant congestion control protocol in high bandwidth-delay product networks[J]. Chinese Journal of Computers, 2008, 19(1):125?135.
[4] Katabi D, Handley K M, Rohrs C. Congestion control for high bandwidth-delay product networks[C]//Proceedings of the 2002 SIGCOMM conference. New York: ACM Press, 2002: 89?102.
[5] Moore D, Voelker G M, Savage S. Inferring internet denial of service activity[C]//Proceedings of the 10th conference on USENIX Security Symposium. Berkeley: USENIX Association,2001: 9?22.
[6] 康松林, 樊曉平, 費(fèi)洪曉, 等. 基于管理代理的分布式入侵檢測(cè)系統(tǒng)設(shè)計(jì)[J]. 中南大學(xué)學(xué)報(bào): 自然科學(xué)版, 2007, 38(6):1174?1178.
KANG Song-lin, FAN Xiao-ping, FEI Hong-xiao, et al. Design and implementation of distributed intrusion detection system based on management agent[J]. Journal of Central South University: Science and Technology, 2007, 38(6): 1174?1178.
[7] 康松林, 費(fèi)洪曉, 施榮華. 網(wǎng)絡(luò)應(yīng)用軟件監(jiān)控系統(tǒng)監(jiān)控信息傳輸?shù)脑O(shè)計(jì)與實(shí)現(xiàn)[J]. 中南大學(xué)學(xué)報(bào): 自然科學(xué)版, 2006,37(2): 341?346.
KANG Song-lin, FEI Hong-xiao, SHI Rong-hua. Design and implementation of monitor message transmission in net monitor system for application software[J]. Journal of Central South University: Science and Technology, 2006, 37(2): 341?346.
[8] ZHANG Yong-guang, Henderson T R. An implementation and experimental study of the explicit control protocol (xcp)[C]//Proceedings of the 24th IEEE INFOCOM. New York: IEEE Computer Society, 2005: 1037?1048.
[9] Savage S, Cardwell N, Wetherall D, et al. Tcp congestion control with a misbehaving receiver[J]. ACM SIGCOMM Computer Communications Review, 1999, 29(5): 71?78.
[10] Sherwood R, Bhattacharjee B, Braud R. Misbehaving tcp receivers can cause internet-wide congestion collapse[C]//Proceedings of the 12th ACM conference on Computer and Communications Security. New York: ACM Press, 2005:383?392.
[11] Dukkipati N, Kobayashi M, SHEN Rui-zhang, et al. Processor sharing flows in the Internet[C]//Proceedings of the 13th IEEE International Workshop on Quality of Service. Berlin: Springer,2005: 271?285.
[12] Qazi I, Znati T. On the design of load factor based congestion control protocols for next-generation networks[C]//Proceedings of the 27th IEEE INFOCOM. New York: IEEE Computer Society, 2008: 96?100.
[13] Xia Y, Lakshminarayanan S, Ion S, et al. One more bit is enough[J]. IEEE/ACM Transaction on Networking, 2008, 16(6):1281?1294.
[14] WANG Jian-xin, RONG Liang, ZHANG Xi, et al. ARROW-TCP:Accelerating transmission toward efficiency and fairness for high-speed networks[C]//Proceedings of the 23rd IEEE Globecom. New York: IEEE Computer Society, 2009:1521?1526.
[15] Katabi D. Xcp’s performance in the presence of malicious flows[R]. Cambridge: Computer Science and Artificial Intelligence Laboratory, 2004: 1?16.
[16] Wilson C, Coakley C, Zhao B Y. Fairness attacks in the explicit control protocol[C]//Proceedings of the 15th IEEE International Workshop on Quality of Service. Evanston: IEEE Press, 2007:21?28.
(編輯 楊幼平)
CMAD-XCP: A cooperative scheme for defending against fairness attacks in XCP
WANG Jian-xin, JIA Wen-juan, HUANG Jia-wei
(School of Information Science and Engineering, Central South University, Changsha 410083, China)
An XCP-based Cooperative Malicious Attacker Detection scheme (CMAD-XCP) was presented. In CMAD-XCP, the core routers detect the malicious attacker, and the edge routers distinguish and punish the attacker. The simulation results show that CMAD-XCP can drop the malicious packets promptly, guarantee the fair bandwidth allocation and avoid the congestion due to the malicious competition.
eXplicit Control Protocol; malicious attack; fairness; active queue management
TP393
A
1672?7207(2011)01?0087?07
2010?01?26;
2010?05?06
國(guó)家自然科學(xué)基金資助項(xiàng)目(60873265); 湖南省杰出青年基金資助項(xiàng)目(06JJ10009); 新世紀(jì)優(yōu)秀人才支持計(jì)劃(NCET-10-0798); 高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金(20060533057)
王建新(1969?),男,湖南邵東人,教授,博士生導(dǎo)師,從事計(jì)算機(jī)網(wǎng)絡(luò)、網(wǎng)絡(luò)優(yōu)化理論等研究;電話:0731-88830212;E-mail:jxwang@mail.csu.edu.cn