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

?

軟件定義網(wǎng)絡(luò)中基于加密的端口跳變技術(shù)研究

2017-04-24 10:25:10趙子郁郭淵博
關(guān)鍵詞:端口號(hào)服務(wù)端寄存器

趙子郁 郭淵博,2 劉 偉

1(信息工程大學(xué)先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室 河南 鄭州 450001)2(信息控制和安全技術(shù)重點(diǎn)實(shí)驗(yàn)室 浙江 嘉興 314033)

軟件定義網(wǎng)絡(luò)中基于加密的端口跳變技術(shù)研究

趙子郁1郭淵博1,2劉 偉1

1(信息工程大學(xué)先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室 河南 鄭州 450001)2(信息控制和安全技術(shù)重點(diǎn)實(shí)驗(yàn)室 浙江 嘉興 314033)

針對(duì)軟件定義網(wǎng)絡(luò)中拒絕服務(wù)攻擊問題,在其控制平面提出了加密的端口跳變解決方案。利用軟件定義網(wǎng)絡(luò)集中控制可編程特性,提出了改進(jìn)的加密端口跳變策略,保證了從端口生成初期到通信過程的安全性,并采用基于Ack的同步技術(shù)保證了通信過程的連續(xù)性。理論結(jié)合實(shí)驗(yàn)表明,端口跳變技術(shù)在OpenFlow實(shí)驗(yàn)平臺(tái)上實(shí)現(xiàn)簡(jiǎn)單,改進(jìn)的加密算法安全性高,是基于軟件定義網(wǎng)絡(luò)的輕量級(jí)端口跳變策略。

軟件定義網(wǎng)絡(luò) 端口跳變 加密算法 認(rèn)證 基于Ack同步

0 引 言

拒絕服務(wù)攻擊DoS(denial of service)[1-2]已成為如今互聯(lián)網(wǎng)的主要安全威脅之一,用傳統(tǒng)的解決方案例如防火墻、IDS/IPS等并不能夠最大程度阻止和回避這種攻擊模式。而隨著軟件定義網(wǎng)絡(luò)SDN(software defined network)[3]這一新型網(wǎng)絡(luò)架構(gòu)的日趨成熟和使用,在SDN中使用DoS攻擊的數(shù)量也日漸增多,對(duì)抗DoS攻擊的方案也逐步出現(xiàn),其中包括:Oktian等[4]通過在控制器上構(gòu)造威脅檢測(cè)應(yīng)用程序,根據(jù)端口流量數(shù)據(jù)檢測(cè)出DoS攻擊并進(jìn)行數(shù)據(jù)包過濾;Lim等[5]使用OpenFlow標(biāo)準(zhǔn)接口[6]在SDN控制器上實(shí)現(xiàn)DoS阻斷應(yīng)用;Wang等[7]提出一個(gè)高效、輕量級(jí)且協(xié)議無關(guān)的FloodGuard防御方案。綜上,目前提到的抗DoS攻擊方案多采取被動(dòng)或外掛式方案,重在檢測(cè),缺乏能靈活動(dòng)態(tài)發(fā)現(xiàn)和抵御攻擊的主動(dòng)防御機(jī)制。

目前,動(dòng)態(tài)目標(biāo)防御作為一種主動(dòng)防御策略被提出,不再單純依靠安全系統(tǒng)本身的復(fù)雜度進(jìn)行目標(biāo)保護(hù),其通過增加系統(tǒng)的不確定性或減少系統(tǒng)的可預(yù)見性增加攻擊者攻擊難度。而端口跳變技術(shù)作為動(dòng)態(tài)目標(biāo)防御里的重要分支,能夠通過一定時(shí)隙改變通信雙方端口號(hào)增加系統(tǒng)隨機(jī)性,達(dá)到抗DoS攻擊的目的。

相比傳統(tǒng)網(wǎng)絡(luò),在SDN網(wǎng)絡(luò)上實(shí)現(xiàn)端口跳變的意義在于其本身具有集中控制、可編程性、數(shù)據(jù)平面與控制平面相分離的特性,能夠利用SDN控制器掌握全網(wǎng)的全局信息并能通過北向接口在上層直接進(jìn)行代碼編寫,便于端口跳變方案的動(dòng)態(tài)調(diào)整。 而SDN中使用動(dòng)態(tài)目標(biāo)防御技術(shù)中端口可變方案抗DoS攻擊的Kampanakis等[8]的端口跳變策略能夠通過控制器過濾掉可疑流量,但無法應(yīng)對(duì)DoS攻擊者在盲攻階段對(duì)特定端口的掃描以及對(duì)特定主機(jī)的直接攻擊。

為進(jìn)一步解決SDN網(wǎng)絡(luò)中的DoS攻擊問題,本文結(jié)合動(dòng)態(tài)目標(biāo)防御領(lǐng)域的端口跳變關(guān)鍵技術(shù),結(jié)合SDN控制器所具有的全局監(jiān)測(cè)、動(dòng)態(tài)調(diào)整的特性,在SDN網(wǎng)絡(luò)中引出了系統(tǒng)的基于加密的端口跳變解決方案?;诩用艿亩丝谔兯惴梢员WC在端口生成初期不被攻擊者探測(cè)到初始端口號(hào),相對(duì)普通的端口跳變算法,安全性更高,特別適用于對(duì)安全性、可靠性有較高需求的通信場(chǎng)合。本文提出的跳變策略也可以和其他安全策略一起使用,組成一套能夠保護(hù)目標(biāo)主機(jī)的安全策略組合機(jī)制。

1 相關(guān)研究

端口跳變的一般模型主要包括隨機(jī)端口序列生成函數(shù),加密、密鑰交換算法和通信同步策略。而通信同步策略是其關(guān)鍵技術(shù)。Lee等[10]提出的端口跳變方案,將時(shí)間端劃分為相等的時(shí)隙,為每個(gè)時(shí)隙分配不一樣的端口,所提這個(gè)方案無需修改原有TCP/UDP協(xié)議,為防止數(shù)據(jù)傳輸時(shí)丟失,重復(fù)開放為每個(gè)時(shí)隙前后一段時(shí)間內(nèi)使用的端口。Badishi等[11]提出基于Ack的發(fā)送方、接收方使用的端口跳變協(xié)議,接收方在收到數(shù)據(jù)消息后向發(fā)送方發(fā)送確認(rèn)Ack消息,并根據(jù)傳輸成功率分析了攻擊者由盲目攻擊狀態(tài)到直接攻擊狀態(tài)狀態(tài)所需最短時(shí)間ε,提出了隨機(jī)端口跳變(RPH)算法,證明其緩解DoS攻擊具有一定效果。Hari等[12]為避免Ack丟失或被截獲的情況發(fā)生,提出了改進(jìn)的RPH算法。改進(jìn)的RPH在分配端口時(shí)向通信雙方分配兩個(gè)通信端口,當(dāng)其中一個(gè)端口跳變過程遭受盲目攻擊后可以使用另一端口進(jìn)行通信。Fu等[13]提出了HOPERRA算法來解決線性時(shí)鐘漂移對(duì)通信同步的影響,實(shí)現(xiàn)了不需要第三方參與的同步機(jī)制。Jia等[14]在該模型的基礎(chǔ)上,提出一種插件策略來抵抗服務(wù)器端信息被監(jiān)聽。Lin等[15]使用基于時(shí)間戳的同步方式提升時(shí)鐘同步性能并證實(shí)了該方案的有效性。Liu等[16]提出了基于非廣延熵和Sibson熵融合的實(shí)時(shí)網(wǎng)絡(luò)異度度量算法,在此之上設(shè)計(jì)了端信息跳變周期和跳變空間調(diào)整策略,并證明了其主動(dòng)防御效果。

綜上,端口跳變技術(shù)可以有效抵抗DoS攻擊。本文正是結(jié)合了SDN網(wǎng)絡(luò)自身特點(diǎn),設(shè)計(jì)了適用于SDN網(wǎng)絡(luò)的加密端口跳變一般模型,利用其集中控制、可編程特性通過改進(jìn)的加密算法保證了從端口生成階段初期到雙方通信的安全性,實(shí)現(xiàn)了SDN中對(duì)抗DoS攻擊的目的。

2 SDN架構(gòu)下基于加密的端口跳變技術(shù)

2.1 場(chǎng)景分析與模型架構(gòu)

考慮到這樣一種場(chǎng)景,如果某一信息部門采用SDN網(wǎng)絡(luò)架構(gòu)需要從下屬眾多子機(jī)構(gòu)中接收日常數(shù)據(jù),信息部門需要確保能獲得準(zhǔn)確安全的數(shù)據(jù),并能防止竊聽以及DoS攻擊,顯然在SDN網(wǎng)絡(luò)架構(gòu)中部署需要考慮安全性和可用性這兩個(gè)最重要的要素,這樣就需要加密技術(shù)運(yùn)用到端口跳變方案中為SDN架構(gòu)提供解決方案。本文所提出的模型及構(gòu)建方案就可以用來部署在上述場(chǎng)景中,控制器先對(duì)接入主機(jī)進(jìn)行身份認(rèn)證、對(duì)端口流量進(jìn)行檢測(cè),再通過改進(jìn)的Diffie-Hellman[17]算法在SDN架構(gòu)中實(shí)現(xiàn)端口跳變達(dá)到抵御DoS攻擊的目的。

本模型的網(wǎng)絡(luò)拓?fù)淙鐖D1所示,在控制器上架構(gòu)跳變模塊,客戶端服務(wù)端架構(gòu)跳變模塊和同步模塊。其中,跳變模塊負(fù)責(zé)實(shí)現(xiàn)網(wǎng)絡(luò)通信過程中端口跳變功能,同步模塊負(fù)責(zé)時(shí)鐘同步,以保證雙方端口使用匹配,防止丟包、通信中斷等情況。

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

提出的基于加密的端口跳變方案有兩個(gè)主要優(yōu)勢(shì):(1) 采用的加密算法能夠確保端口設(shè)定過程中防止DoS攻擊者竊聽通信端口號(hào);(2) 使用基于時(shí)隙的端口跳變算法能夠快速變化通信端口從而保證通信過程的可靠性和安全性。

2.2SDN架構(gòu)下基于加密的跳變算法

本文提出的應(yīng)用于SDN的端口跳變算法根據(jù)改進(jìn)的秘鑰交換的Diffie-Hellman算法生成秘鑰K,后通過線性移位寄存器生成偽隨機(jī)序列,根據(jù)跳變時(shí)隙j(j={0,1,2,…})變換通信端口。

在跳變開始前,控制器使用簡(jiǎn)單的融入邏輯的應(yīng)用程序來驗(yàn)證進(jìn)入網(wǎng)絡(luò)的每個(gè)設(shè)備的注冊(cè)信息,支持OpenFlow1.0協(xié)議及以上的設(shè)備在源MAC地址上做匹配,對(duì)請(qǐng)求通信的雙方進(jìn)行身份認(rèn)證。然后改進(jìn)Diffie-Hellman算法:

1)SDN控制器向通信雙方分配初始數(shù)字序列,a是P模下設(shè)定的初值(a為源根,P為素?cái)?shù));

2) 客戶端生成隨機(jī)數(shù)x,計(jì)算axmodP并把計(jì)算結(jié)果發(fā)給服務(wù)端;

3) 服務(wù)端生成隨機(jī)數(shù)y,計(jì)算aymodP并把計(jì)算結(jié)果返回客戶端;

4) 客戶端計(jì)算K=(aymodP)xmodP,服務(wù)端計(jì)算K′=(axmodP)ymodP即K=(aymodP)xmodP=axymodP=(axmodP)ymodP=K′因此K即為生成的秘鑰。

此時(shí)的生成秘鑰交由流密碼中經(jīng)常使用的線性移位寄存器進(jìn)行處理,秘鑰K轉(zhuǎn)換為二進(jìn)制比特流x0,x1,…,xn-1來作為n-bit的移位寄存器的每個(gè)寄存器上的初始值,每一個(gè)時(shí)鐘周期,反饋移位寄存器執(zhí)行如下動(dòng)作:

1) 將最后一個(gè)寄存器上的值x0作為輸出,傳遞到輸出序列;

2) 對(duì)于其他所有寄存器,發(fā)生一次值的向下傳遞,把第i+1個(gè)寄存器的值xi+1賦值給xi;

3) 對(duì)于第一個(gè)寄存器xn-1,則是將前一時(shí)刻的所有寄存器的值輸入一個(gè)反饋函數(shù)f(x0,x1,…,,xn-1)中,將反饋函數(shù)的輸出作為xn-1新的值。

此時(shí)得到反饋移位寄存器的二進(jìn)制輸出序列,由于TCP/IP通信端口范圍是0~65 535,因而將輸出的偽隨機(jī)序列字節(jié)按照16比特為單元進(jìn)行劃分(這時(shí)最大端口號(hào)是16個(gè)1即65 535),生成的16比特端轉(zhuǎn)化為十進(jìn)制的通信端口號(hào)作為正常通信使用。

例如,控制器下發(fā)的初始序列 =<5,23>,客戶端選取隨機(jī)數(shù)x=12,服務(wù)端選取隨機(jī)數(shù)y=4,分別計(jì)算axmodP=512 mod 23=18;aymodP=54 mod 23=4。交換后求得K=412 mod 23=184 mod 23=4。K作為初始值代入線性反饋移位寄存器中,如:

f(x)=x0⊕x1⊕x2⊕x3⊕…⊕xn-1

(1)

初始值為其二進(jìn)制序列0100,即(x0,x1,x2,x3)=0100,輸出序列010010100101001…,周期為5。將其以16比特為單位劃分成端口號(hào),即為01001010010 10010則其初始端口號(hào)是19026。

移位寄存器的輸出序列的隨機(jī)性主要由其本身設(shè)定的反饋函數(shù)f(x0,x1,…,xn-1)來決定。根據(jù)其反饋函數(shù)的不同劃分為線性和非線性移位寄存器,式(1)使用了線性移位寄存器,也可使用非線性移位寄存器。移位寄存器有多種生成隨機(jī)數(shù)邏輯表達(dá)式,也可為其函數(shù)式x0,x1,x2,x3前設(shè)置0,1比特的常數(shù)項(xiàng)c0,c1,c2,c3。這樣在很大程度上保證了生成的端口號(hào)隨機(jī)性高。

這樣,根據(jù)跳變時(shí)隙j選擇不同的比特段轉(zhuǎn)化為十進(jìn)制端口進(jìn)行通信,為進(jìn)一步防止DoS攻擊,控制器根據(jù)接入主機(jī)通信目的端口號(hào)判斷是否符合當(dāng)前時(shí)隙開放的端口,過濾不符合當(dāng)前時(shí)隙開放端口的數(shù)據(jù)流。

2.3 基于Ack的同步方式

在客戶端服務(wù)端通信過程中,端口同步對(duì)端口跳變非常重要,現(xiàn)有端口跳變同步方式包括時(shí)間同步[10]、基于Ack同步[11]以及基于時(shí)間戳的同步[15]。時(shí)間同步要求客戶端和服務(wù)端設(shè)置相同的時(shí)鐘,跳變信息根據(jù)當(dāng)前時(shí)間決定。這一方案可能會(huì)受網(wǎng)絡(luò)延遲影響,基于Ack同步方案中跳變信息在Ack段中傳輸,不需要設(shè)置精確時(shí)鐘并且設(shè)置過程較為簡(jiǎn)單。

本文采用基于Ack的同步方案,相關(guān)偽代碼如下所示。在端口同步實(shí)現(xiàn)過程中,使用portGenerator,portCounter,buf分別代表端口隨機(jī)生成函數(shù)p,端口計(jì)數(shù)器,緩存。sendPacket函數(shù)和receivePacket函數(shù)分別用來發(fā)送/接收數(shù)據(jù)包。用reInit函數(shù)初始化通信狀態(tài),在reInit函數(shù)中portCounter和portGenerator被初始化,channelAB和channelBA分別代表客戶端到服務(wù)端以及服務(wù)端到客戶端使用的通信鏈路。

具體做法是:用一個(gè)端口計(jì)數(shù)器記錄兩個(gè)生成的端口號(hào),在客戶端到服務(wù)端的通信過程中(channelAB),客戶端挑選其中一個(gè)端口發(fā)送數(shù)據(jù)包,服務(wù)端同時(shí)開啟兩個(gè)接收端口,當(dāng)服務(wù)端從客戶端任一接口接收到數(shù)據(jù)包時(shí),服務(wù)端更新端口計(jì)數(shù)器并向客戶端發(fā)送確認(rèn)消息Ack,同時(shí)客戶端開啟發(fā)送端口在channelBA中接收Ack,客戶端從任一端口收到Ack后更新計(jì)數(shù)器portCounter。

本文采用的這種基于Ack的同步方案的優(yōu)勢(shì)在于:(1) 即便客戶端不能從服務(wù)端接收到Ack確認(rèn)消息或者選定端口不能及時(shí)執(zhí)行跳變策略,客戶端也可以使用開啟的另一端口,保證了端口隨機(jī)變化的連續(xù)性;(2) 本方案不需要設(shè)定精確時(shí)鐘,不會(huì)具有較高傳輸時(shí)延因而對(duì)于跨域通信十分有效。

客戶端SendPacket方法:

for(i=1,…,nPackets){

packets[i].portToSend←portGenerator[portCounter];

}

Add this.packets to channelAB.receivePackets;

客戶端ReceivePacket方法:

buf←channel[1].sendPacket();

for(i=1,…,nBuf){

if(buf[i].sender=receiver){

if(receivePacketCount>nPacketChangePort||

receivePacketTime>j)

portCounter++;

receivePacketCount←0&&j++;

channelBA.openPort(PortGenerator[portCounter]);

}else{

receivePacketCount++;

}

}

}

服務(wù)端ReceivePacket方法:

buf←channel[0].sendPacket();

for(i=0,…,nBuf){

if(buf[i].sender=sender){

Create ack;

ack.portToSend←PortGenerator[portCounter]{

ack.sender←receiver;

if(buf[i].portToSend=portGenerator[portCounter]

portCounter++;

channelAB.openPort(portGenerator[portcounter])

channelAB.openPort();

}

}

}

3 安全性分析

3.1 端口跳變算法抗DoS攻擊能力分析

在DoS攻擊階段,傳統(tǒng)網(wǎng)絡(luò)模型中端口號(hào)不會(huì)發(fā)生變化,在這種情況下,攻擊者可采用的最簡(jiǎn)便的方法就是按序掃描整個(gè)端口空間。即當(dāng)掃描數(shù)量大于整個(gè)端口空間n時(shí),攻擊者可以發(fā)現(xiàn)所有脆弱端口。在靜態(tài)攻擊場(chǎng)景中,攻擊者不需要掃描前面已經(jīng)掃描過的端口,掃描過的端口不會(huì)改變因而不需要重新掃描,在這種情況下,攻擊者在k次探測(cè)下檢測(cè)到脆弱端口數(shù)X(脆弱端口總數(shù)為v)的概率P(X)取決于其超幾何分布:

(2)

由于靜態(tài)端口探測(cè)完不會(huì)發(fā)生變化,這對(duì)接下來的掃描非常有利,攻擊者至少探測(cè)到一個(gè)脆弱端口的成功概率為:

(3)

在跳變系統(tǒng)中,端口隨機(jī)變化改變了關(guān)聯(lián)相關(guān)服務(wù)的端口號(hào),假定從未使用端口序列中抽取一新端口替換原來的端口,這樣一旦跳變發(fā)生,攻擊者將失去所有原先偵測(cè)過的端口號(hào),這樣即便攻擊者可以抽取到整個(gè)端口空間n,也不會(huì)找到所有脆弱端口。在這種情況下,攻擊者在k次探測(cè)下檢測(cè)到脆弱端口數(shù)X(脆弱端口總數(shù)為v)的概率P(X)取決于其二項(xiàng)分布:

(4)

P(X≥1)=1-P(X=0)=1-(1-p)k

(5)

倘若總共有脆弱端口v=5,攻擊者又能探測(cè)到所有端口空間(k=n),在這種情況下,靜態(tài)端口起不到保護(hù)目標(biāo)主機(jī)的目的,所有脆弱端口都將被發(fā)現(xiàn)。

從上述分析可以發(fā)現(xiàn),端口跳變技術(shù)理論上具備抗DoS攻擊的能力。

3.2SDN網(wǎng)絡(luò)中基于加密的端口跳變算法抗DoS攻擊能力分析

相比一般的端口跳變模型,本文設(shè)計(jì)的基于加密的端口跳變算法具備更高的機(jī)密性和安全性。在跳變系統(tǒng)中,假設(shè)加密算法記為δ,有效報(bào)文數(shù)據(jù)量為L(zhǎng),數(shù)據(jù)噪聲記為λ,數(shù)據(jù)報(bào)文劃分為φ個(gè)數(shù)據(jù)段。這樣,由于系統(tǒng)主機(jī)地址端口偽隨機(jī)跳變,攻擊者無法通過監(jiān)聽系統(tǒng)中一個(gè)或幾個(gè)主機(jī)獲取到有效數(shù)據(jù)信息,從而被迫監(jiān)聽系統(tǒng)所有主機(jī)。數(shù)據(jù)報(bào)文依次發(fā)送,順序不能隱藏,因此數(shù)據(jù)報(bào)文被攻擊者截獲的概率為:

(6)

可以看出,系統(tǒng)的抗攻擊性與端口跳變加密算法有關(guān),采用的基于加密的端口跳變算法提升了SDN網(wǎng)絡(luò)中端口跳變系統(tǒng)的機(jī)密性,增加了攻擊者的攻擊難度,保證了主機(jī)安全。

在SDN網(wǎng)絡(luò)中,控制器連接源目的交換機(jī),控制器具有的集中控制特性,所有需要到達(dá)源目的交換機(jī)的數(shù)據(jù)包都要經(jīng)過SDN控制器,因而相對(duì)于傳統(tǒng)網(wǎng)絡(luò)架構(gòu),使用SDN網(wǎng)絡(luò)架構(gòu)實(shí)現(xiàn)端口跳變能夠抵御內(nèi)外DoS攻擊者。而SDN通過使用簡(jiǎn)單的融入邏輯的應(yīng)用程序來驗(yàn)證進(jìn)入網(wǎng)絡(luò)的每個(gè)設(shè)備的注冊(cè)信息以及根據(jù)接入主機(jī)通信目的端口號(hào)判斷是否符合當(dāng)前時(shí)隙開放的端口,過濾不符合當(dāng)前時(shí)隙開放端口的數(shù)據(jù)流提高了接入端可靠性,保證了目標(biāo)主機(jī)安全。本文提出的基于加密的端口跳變技術(shù)能夠保證目標(biāo)主機(jī)在端口生成階段不被DoS攻擊者竊聽到初始端口,最大程度上增加了網(wǎng)絡(luò)安全性。

3.3 效率分析

從系統(tǒng)安全層面考慮,為更好地發(fā)揮端口跳變技術(shù)的優(yōu)勢(shì),應(yīng)適當(dāng)減小端口跳變時(shí)長(zhǎng),增加可用端口數(shù)(即增加跳變算法端口選擇的隨機(jī)性),端口跳變系統(tǒng)的安全性可從以下公式考量:

(7)

式中R(x)代表攻擊者發(fā)動(dòng)DoS攻擊時(shí)擊中端口的概率,其中x代表發(fā)送出的包含正確端口號(hào)的數(shù)據(jù)包,m是發(fā)動(dòng)攻擊的攻擊者數(shù)量或僵尸主機(jī)數(shù)量,s是攻擊者生成數(shù)據(jù)包的速率,t是端口變化時(shí)間段,n是所有可用端口數(shù)量,l是時(shí)間同步錯(cuò)誤或客戶端服務(wù)端數(shù)據(jù)傳輸延遲。顯然,攻擊者數(shù)量越多,速度越快,攻擊成功概率越高,并且,端口跳變時(shí)間越長(zhǎng),攻擊者攻擊成功概率越高。另一方面,可用端口數(shù)量越多,攻擊者攻擊成功概率越低,安全性越好。例如,假定ms=20 000(攻擊速率為19.2Mbit/s,數(shù)據(jù)包總長(zhǎng)度為60Byte),跳變時(shí)長(zhǎng)t=0.5s,l=0.2,n=65 536,那么計(jì)算得出R(x)≈0.21。所以,縮短跳變時(shí)長(zhǎng)并且增加可用端口數(shù)可以提升系統(tǒng)的安全性。本文提出的端口跳變算法增加了選取端口的隨機(jī)性,達(dá)到了更好的抗DoS攻擊的目的。

4 實(shí)驗(yàn)結(jié)果及分析

為測(cè)試本文提出的在SDN架構(gòu)下實(shí)現(xiàn)的基于加密的端口跳變技術(shù)的可行性和安全性,本文采用了SDN仿真軟件mininet進(jìn)行模擬,搭建了如圖1所示的網(wǎng)絡(luò)拓?fù)洵h(huán)境,采用Floodlight控制器[18]實(shí)現(xiàn)端口隨機(jī)生成并負(fù)責(zé)端口同步的功能。

4.1 數(shù)據(jù)傳輸成功率測(cè)試

為驗(yàn)證算法有效性,我們?cè)趯?shí)驗(yàn)1中用IXIA[19]在普通SDN網(wǎng)絡(luò)中注入攻擊流,從圖2可以看出,在普通SDN網(wǎng)絡(luò)中,隨著攻擊時(shí)間的增加,數(shù)據(jù)傳輸速率大幅下降,而使用加密端口跳變安全策略數(shù)據(jù)發(fā)送成功率會(huì)逐漸回歸,算法在一定程度上抵抗了攻擊,通過實(shí)驗(yàn)驗(yàn)證,我們測(cè)試了加密端口跳變算法的有效性。

圖2 已知跳變序列攻擊結(jié)果

為進(jìn)一步測(cè)試端口的抗攻擊能力,在實(shí)驗(yàn)2中我們?cè)趍ininet中向五臺(tái)主機(jī)發(fā)送TCP報(bào)文進(jìn)行通信測(cè)試(如圖3所示),攻擊者盲目攻擊端口數(shù)k=1 000,2 000,5 000,10 000時(shí),圖3所示是使用基于端口跳變的SDN加密安全策略在DoS攻擊盲目攻擊階段遭受四種盲目攻擊的數(shù)據(jù)傳輸成功率。

圖3 抗DoS攻擊數(shù)據(jù)傳輸實(shí)驗(yàn)數(shù)據(jù)

從圖3中可以看出,在遭受DoS攻擊時(shí),在攻擊端口數(shù)目達(dá)到1000以上時(shí),采用本跳變模型可以保證90%以上的數(shù)據(jù)包正常傳輸,采用基于Ack的同步方式保證了高通信質(zhì)量。

4.2SDN中抗DoS攻擊策略對(duì)比

將以上實(shí)驗(yàn)結(jié)果與目前SDN中采用的主流抗DoS攻擊方法(文獻(xiàn)[4-5,7])進(jìn)行了比對(duì),由于文獻(xiàn)[4-5,7]都是根據(jù)惡意鏈接數(shù)判斷系統(tǒng)是否遭受DoS攻擊后采用數(shù)據(jù)包過濾的策略(文獻(xiàn)[4])、將受攻擊目標(biāo)主機(jī)的IP地址重定向到其他可用地址空間的策略(文獻(xiàn)[5])、生成動(dòng)態(tài)規(guī)則并將攻擊包保留在控制平面緩存后進(jìn)行過濾的策略(文獻(xiàn)[7])。

這些策略大多通過在上層添加應(yīng)用程序的方式對(duì)惡意流量進(jìn)行過濾處理,在DoS攻擊開始時(shí)無法迅速做出反應(yīng)(文獻(xiàn)[4]),且通信數(shù)據(jù)包傳輸數(shù)量多有起伏(文獻(xiàn)[5])。而本文提出的基于SDN端口跳變技術(shù)由于不斷變化通信端口,能夠?qū)oS攻擊迅速做出反應(yīng),并且通過不斷變化通信端口的方式阻礙攻擊者在盲攻階段對(duì)端口的惡意掃描和在直接攻擊階段對(duì)目標(biāo)主機(jī)端口的進(jìn)攻,從而保證數(shù)據(jù)傳輸效果,具備更好的抗DoS攻擊性能。

4.3 響應(yīng)時(shí)間測(cè)試

相比傳統(tǒng)網(wǎng)絡(luò)中簡(jiǎn)單端口跳變算法,本文提出的適用于SDN網(wǎng)絡(luò)的加密端口跳變策略具備更好的安全性和機(jī)密性(式(6))。為進(jìn)一步驗(yàn)證理論分析結(jié)果,我們采用SYNflooding對(duì)本文提出的加密端口跳變模型進(jìn)行攻擊測(cè)試,圖4顯示了在DoS攻擊下不同跳變策略在響應(yīng)時(shí)間上的區(qū)別。

圖4 DoS攻擊下響應(yīng)時(shí)間數(shù)據(jù)擬合

通過實(shí)驗(yàn)數(shù)據(jù)可以看出,隨著攻擊速率的提高,不使用端口跳變策略的網(wǎng)絡(luò)響應(yīng)時(shí)間越來越慢并且極具下降,最終在70Mbps時(shí)達(dá)到近1 000ms的響應(yīng)速率。采用簡(jiǎn)單端口跳變算法在傳統(tǒng)網(wǎng)絡(luò)中的實(shí)驗(yàn)數(shù)據(jù)擬合結(jié)果顯示,在70Mbps時(shí)響應(yīng)時(shí)間接近80ms,響應(yīng)時(shí)間有迅速上升趨勢(shì)。而在SDN網(wǎng)絡(luò)中采用的基于加密的端口跳變算法使系統(tǒng)的響應(yīng)時(shí)間基本沒有受到攻擊的影響,在70Mps時(shí)仍是30ms的響應(yīng)速度,遠(yuǎn)超過未使用端口跳變的網(wǎng)絡(luò)模型,相對(duì)普通網(wǎng)絡(luò)中的簡(jiǎn)單端口跳變策略,縮短了響應(yīng)時(shí)間。實(shí)驗(yàn)驗(yàn)證了式(6)的理論分析結(jié)果,證明了采用加密的端口跳變算法更具安全性,降低了攻擊者獲取端口信息的能力。

4.4 系統(tǒng)性能

為驗(yàn)證本策略的性能,我們?cè)赟DN仿真網(wǎng)絡(luò)中使用Cbench測(cè)量工具測(cè)量了采用基于加密的端口跳變策略的系統(tǒng)延遲,結(jié)果如圖5所示。

圖5 端口跳變策略延遲測(cè)試

隨著端口跳變策略的執(zhí)行,控制平面的流表項(xiàng)個(gè)數(shù)也在不斷增加。Cbench工具測(cè)量了流表項(xiàng)數(shù)量在10、100、1 000時(shí)的延遲時(shí)間??梢钥闯?,端口跳變策略會(huì)對(duì)系統(tǒng)延遲造成一定影響,但是在流表項(xiàng)條數(shù)可控的情況下,延遲是在可接受范圍內(nèi)的。

5 結(jié) 語

本文設(shè)計(jì)了基于OpenFlow的端口跳變算法——加密端口跳變算法,利用控制器先對(duì)接入主機(jī)進(jìn)行身份認(rèn)證后通過改進(jìn)的Diffie-Hellman加密端口跳變策略最大程度上保證了從端口生成初期到通信過程的安全性,并采用基于Ack的同步技術(shù)保證了通信過程的連續(xù)性。實(shí)驗(yàn)表明,基于加密的端口跳變技術(shù)在OpenFlow實(shí)驗(yàn)平臺(tái)上實(shí)現(xiàn)簡(jiǎn)單有效,是一種安全性高的輕量級(jí)端口跳變策略。

[1]HansmanS,HuntR.Ataxonomyofnetworkandcomputerattacks[J].Computers&Security,2005,24(1):31-43.

[2]HoqueN,BhuyanMH,BaishyaRC,etal.Networkattacks:taxonomy,toolsandsystems[J].JournalofNetworkandComputerApplications,2014,40:307-324.

[3]McKeownN,AndersonT,BalakrishnanH,etal.OpenFlow:enablinginnovationincampusnetworks[N].ACMSIGCOMMComputerCommunicationReview,2008,38(2):69-74.

[4]OktianYE,LeeS,LeeH.MitigatingDenialofService(DoS)attacksinOpenFlownetworks[C]//InformationandCommunicationTechnologyConvergence(ICTC),2014InternationalConferenceon.IEEE,2014:325-330.

[5]LimS,HaJ,KimH,etal.ASDN-orientedDDosblockingschemeforbotnet-basedattacks[C]//Proceedingsofthe2014 6thInternationalConferenceonUbiquitousandFutureNetworks,2014:63-68.

[6]OpenFlowSwitchSpecificationv1.3.0[S/OL].https://www.open-networking.org/images/stories/downloads/specification/OpenFlow-spec-v1.3.0.pdf.

[7]WangH,XuL,GuG.FloodGuard:aDosattackpreventionextensioninsoftwaredefinednetworks[C]//Proceedingsofthe2015 45thAnnualIEEE/IFIPInternationalConferenceonDependableSystemsandNetworks,2015:239-250.

[8]KampanakisP,PerrorsH,BeyeneT.SDN-basedsolutionsforMovingTargetDefenseNetworkprotection[C]//2014IEEE15thInternationalSymposiumonAWorldofWireless,MobileandMultimediaNetworks,2014:1-6.

[9]TangX,ZhangL,ShiX,etal.PorthoppingbasedSDNnetworkdefensetechnology[J].ApplicationResearchofComputers,2015.

[10]LeeHCJ,ThingVLL.Porthoppingforresilientnetworks[C]//Proceedingsofthe2004IEEE60thVehicularTechnologyConference,2004:3291-3295.

[11]BadishiG,HerzbergA,KeidarI.Keepingdenialofserviceattackersinthedark[J].IEEETransactionsonDependableandSecureComputing,2007,4(3):191-204.

[12]HariK,DohiT.Dependabilitymodelingandanalysisofrandomporthopping[C]//Proceedingsofthe2012 9thInternationalConferenceonUbiquitousIntelligenceandComputingand9thInternationalConferenceonAutonomicandTrustedComputing.IEEEComputerSociety,2012:586-593.

[13]FuZ,PapatriantafilouM,TsigasP.Mitigatingdistributeddenialofserviceattacksinmultipartyapplicationsinthepresenceofclockdrifts[C]//Proceedingsof27thIEEEInternationalSymposiumonReliableDistributedSystems,2008:63-72.

[14]JiaCF,LinK,LuK.Plug-inpolicyforDoSattackdefensemechanismbasedonendhopping[J].JournalonCommunications,2009,30(10):114-118.

[15]LinK,JiaC,WengC.DistributedTimestampSynchronizationforEndHopping[J].ChinaCommunications,2011,8(4):164-169.

[16]LiuJ,ZhangHQ,DaiXD,etal.AProactiveNetworkDefenseModelBasedonSelf-adaptiveEndHopping[J].JournalofElectronicsandInformationTechnology,2015,37(11):2642-2649.

[17]Wikipedia.Diffie-Hellmankeyexchange[DB/OL].https://simple.wikipedia.org/wiki/Diffie-Hellman_key_exchange.

[18]Floodlight[OL].http://floodlight.openflowhub.org.

[19]IXIA[OL].http://www.ixiacom.com/.

RESEARCH ON ENCRYPTION-BASED PORT HOPPING IN SOFTWARE DEFINED NETWORK

Zhao Ziyu1Guo Yuanbo1,2Liu Wei1

1(StatekeyLaboratoryofMathematicalEngineeringandAdvancedComputing,InformationEngineeringUniversity,Zhengzhou450001,Henan,China)2(ScienceandTechnologyonCommunicationInformationSecurityControlLaboratory,Jiaxing314033,Zhejiang,China)

Aiming at the DoS attack in software defined network, an encryption-based port hopping solution is proposed in its control plane. Using software to define the control programmability of the centralized network, an improved encryption port hopping strategy is proposed to ensure the security from the initial port generation to the communication process. We also use Ack-based synchronization technology to ensure the continuity of the communication process. Theory combined with the experimental results show that the port hopping technology is simple and improved on the OpenFlow experimental platform, and it is a lightweight port hopping strategy based on software defined network.

Software defined network Port hopping Encryption algorithm Authentication Ack-based synchronization

2016-02-27。國(guó)家自然科學(xué)基金項(xiàng)目(61309016);國(guó)家重點(diǎn)基礎(chǔ)研究發(fā)展計(jì)劃基金項(xiàng)目(2012CB315901,2013CB329104)。趙子郁,碩士生,主研領(lǐng)域:網(wǎng)絡(luò)安全,軟件定義網(wǎng)絡(luò)。郭淵博,教授。劉偉,副教授。

TP393.0

A

10.3969/j.issn.1000-386x.2017.04.055

猜你喜歡
端口號(hào)服務(wù)端寄存器
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
在Docker容器中安裝應(yīng)用程序
云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
在Windows Server 2008上創(chuàng)建應(yīng)用
分簇結(jié)構(gòu)向量寄存器分配策略研究*
淺談以java為基礎(chǔ)的Socket通信簡(jiǎn)介及實(shí)現(xiàn)
青春歲月(2017年5期)2017-04-20 18:34:23
Winsock編程在《計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)》教學(xué)中的應(yīng)用
基于Android系統(tǒng)的互動(dòng)展示APP的研究與設(shè)計(jì)
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
青田县| 定远县| 株洲市| 宁国市| 黎平县| 淮滨县| 广灵县| 万荣县| 长汀县| 承德市| 余干县| 伊川县| 大冶市| 滦南县| 安吉县| 郁南县| 若羌县| 保康县| 积石山| 鹤山市| 玉门市| 丹东市| 山东| 乐都县| 万州区| 临澧县| 张家口市| 沙坪坝区| 泰和县| 梁山县| 昆明市| 湟源县| 星座| 承德县| 白城市| 拉萨市| 澎湖县| 南涧| 河曲县| 格尔木市| 开封县|