高 潔,鄔江興,胡宇翔,李軍飛
(國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,鄭州 450002)
(*通信作者電子郵箱1169813739@qq.com)
基于拜占庭容錯的軟件定義網(wǎng)絡控制面的抗攻擊性研究
高 潔*,鄔江興,胡宇翔,李軍飛
(國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,鄭州 450002)
(*通信作者電子郵箱1169813739@qq.com)
軟件定義網(wǎng)絡(SDN)的集中化控制面給網(wǎng)絡管理帶來了很大的便利,但也引入了很多安全隱患。針對控制器的單點故障、未知的漏洞和后門、靜態(tài)配置等安全性問題,提出一種基于拜占庭協(xié)議的安全結(jié)構(gòu),控制器之間執(zhí)行拜占庭協(xié)議,每個交換設(shè)備由一個控制器視圖管理,多控制器裁決后給出控制信息。此外,將動態(tài)性、異構(gòu)性引入到結(jié)構(gòu)中,打破了攻擊鏈,增強了網(wǎng)絡的主動防御能力;通過對控制器異構(gòu)性的量化,設(shè)計了兩階段控制器視圖的選舉算法,保證了網(wǎng)絡的可用性和視圖的安全性。仿真結(jié)果表明,與傳統(tǒng)結(jié)構(gòu)相比,所提結(jié)構(gòu)的抗攻擊能力更強。
動態(tài)性;異構(gòu)性;拜占庭容錯;軟件定義網(wǎng)絡;抗攻擊性
隨著網(wǎng)絡技術(shù)的發(fā)展和用戶需求的不斷增加,越來越多的服務需要在網(wǎng)絡中部署。在傳統(tǒng)網(wǎng)絡中,設(shè)備制造商需要對每個設(shè)備進行升級改造,這導致新的網(wǎng)絡服務和功能在網(wǎng)絡中部署難度大、成本代價太高。軟件定義網(wǎng)絡(Software-Defined Network, SDN)[1]則有望改變這一現(xiàn)狀。SDN主張解耦控制面和轉(zhuǎn)發(fā)面,通過提供開放的可編程接口和控制器集中化的管理,大大降低了網(wǎng)絡的復雜度,使得網(wǎng)絡便于管理。控制面把握全局網(wǎng)絡狀態(tài),靈活地調(diào)度資源使網(wǎng)絡狀態(tài)達到最佳。然而,SDN在帶來優(yōu)越性的同時也帶來了許多新的問題,如控制器的性能[2]、網(wǎng)絡的可擴展性[3]、安全性問題[4]等。
SDN的結(jié)構(gòu)賦予了控制器管控全局的能力,對上通過北向接口接收上層應用提供的策略及為上層應用提供網(wǎng)絡視圖,對下通過南向接口獲取全網(wǎng)的網(wǎng)絡視圖和下發(fā)流規(guī)則給轉(zhuǎn)發(fā)設(shè)備。因此,控制器在SDN中至關(guān)重要,它的故障對網(wǎng)絡的影響將是毀滅性的。當前控制器的可靠性保證主要是通過冗余的方式實現(xiàn),但是冗余控制器間存在很強的同構(gòu)關(guān)系,相同的攻擊很容易再次發(fā)生。此外,交換機和控制器間靜態(tài)的映射關(guān)系,使得攻擊者可以不斷收集網(wǎng)絡信息以滿足攻擊需求,造成攻擊者和防御者之間極大的不對稱性。
針對上述問題,本文提出了多控制器同時管理交換機的結(jié)構(gòu),但是多控制間存在拜占庭錯誤[5-6]。借鑒分布式系統(tǒng)領(lǐng)域解決拜占庭錯誤的方法,將拜占庭容錯(Byzantine Fault-Tolerantce, BFT)算法引入SDN環(huán)境下,并導入動態(tài)性和異構(gòu)性,加大了攻擊者對控制器的認知和攻擊難度。所提結(jié)構(gòu)中,多個異構(gòu)控制器同時給交換機下發(fā)流表,并通過裁決代理選出最可靠的流規(guī)則下發(fā)給交換機,有效地增強了控制層面的安全性。
SDN控制層的安全問題備受研究者的關(guān)注,開放網(wǎng)絡基金會(Open Networking Foundation, ONF)在SDN安全分析[7]中利用微軟的STRIDE威脅模型分析了控制層的安全問題,文獻[8]則從認證、數(shù)據(jù)安全性、拒絕服務等方面綜述了SDN安全問題,幾乎所有問題都與控制層相關(guān)。
文獻[9]實現(xiàn)了基于分布式文件系統(tǒng)實現(xiàn)的多控制器結(jié)構(gòu)HyperFlow,通過發(fā)布與訂閱交互方式實現(xiàn)了多控制器之間的通信,解決了控制面單點失效和擴展性的問題;文獻[10]引入了密碼學的多方計算技術(shù),把敏感信息放在多個控制器,實現(xiàn)協(xié)同計算,這種方法確實保證了某些信息的泄露不會造成全局的崩潰,但實現(xiàn)起來較為復雜;文獻[11]從控制器的部署方面考慮提高SDN的可靠性和恢復能力;也有文獻利用移動目標防御的思想增強SDN的抗攻擊能力,但頻繁的變化對網(wǎng)絡的性能造成一定的影響[12]。上述研究從不同的方面強化了SDN的安全性,但是這些方法只能處理控制器的可見故障問題,無法處理一些隱性故障。
文獻[5]提出了多控制器協(xié)同工作實現(xiàn)容錯,控制器之間不再是主從關(guān)系。控制面能夠容忍一定數(shù)量的控制器故障而不產(chǎn)生錯誤,但是文獻[5]的關(guān)注點是最小化控制器的數(shù)量,沒有考慮控制器之間的同構(gòu)問題和算法可能造成的性能問題。一般情況下,一組同構(gòu)冗余的組件,攻擊者只要能成功攻擊一次,就可以用同樣的方式實現(xiàn)所有組件的攻擊,這對網(wǎng)絡的可靠性和可用性造成了極大的威脅。
BFT協(xié)議主要用于解決系統(tǒng)中出現(xiàn)的隨意性錯誤問題,通過冗余體之間的信息交互和主節(jié)點的判決,使得有限冗余體的故障和攻擊可以被屏蔽,并且提供異常的檢測和恢復機制,在文件系統(tǒng)中應用比較廣泛[6,13]。本章主要描述引入拜占庭協(xié)議的SDN結(jié)構(gòu)和拜占庭算法的基本過程。
2.1 基于拜占庭的SDN結(jié)構(gòu)
在傳統(tǒng)的SDN結(jié)構(gòu)中,一個交換機只由一個控制器下發(fā)流表項,而在本文所提的結(jié)構(gòu)中,交換機由多個控制器同時管理,所有控制器都給交換機下發(fā)流表項,通過對這些流表項的裁決,選出最合理的流表項下發(fā)給交換機。本文所提結(jié)構(gòu)如圖2所示,上層為控制層,中間為代理,下層為轉(zhuǎn)發(fā)層。通過多個控制器同時管理交換機和結(jié)果的統(tǒng)一裁決,可有效防止某些控制器已知或未知的漏洞后門被利用,同時可以防止某些控制器上惡意應用產(chǎn)生的惡意規(guī)則被下發(fā)。由于OF(OpenFlow)交換機并沒有裁決或是歸一化處理的能力,因此控制器之間的協(xié)同、數(shù)據(jù)的歸一化處理以及結(jié)果裁決需要另行解決。修改交換機或控制器或OpenFlow協(xié)議的復雜性和成本都很大,考慮在控制面和數(shù)據(jù)面之間加入一個代理(類似FlowVisor)來實現(xiàn)必要的數(shù)據(jù)和邏輯處理。代理主要實現(xiàn)以下功能:1)對控制器視圖的隔離;2)對請求的分發(fā);3)對流表項的處理;4)對結(jié)果的邏輯判決。交換機把請求通過代理分發(fā)到所有的控制器,控制器對交換機的請求進行處理,控制器之間通過拜占庭協(xié)議通信,代理對結(jié)果進行判決,若通過則把結(jié)果下發(fā)到交換機,否則不作響應。

圖1 基于拜占庭的SDN結(jié)構(gòu)Fig. 1 SDN structure based on Byzantine protocol
2.2 工作流程
為了要容忍f個控制器故障至少需要提供3f+1個控制器[6]。這些控制器構(gòu)成的集合稱為控制器視圖,簡稱視圖。視圖中有一個主控制器和若干冗余控制器。工作流程如圖2所示。

圖2 工作流程Fig. 2 Flow of work
具體步驟如下:
1)PRE-PREPARE階段:交換機通過代理向所有的控制器廣播OF請求〈REQUEST,o,t,of〉αc,各控制器將其相關(guān)信息寫入日志,控制器之間推選出一個控制器作為主控制器。主控制器廣播PRE-PREPARE消息〈PRE-PREPARE,v,n,D(of)〉αp給其他控制器,這個消息包含該請求的編號n、視圖號v、消息摘要D(of)。
2)PREPARE階段:若各冗余控制器接受主控制器分配的編號n,則進入PREPARE階段。各個控制器廣播PREPARE信息〈PREPARE,v,n,D(of)〉αi給其他控制器,并把相關(guān)信息寫入日志。
3)COMMIT階段:對每一個控制器,如果其接收到了2f個與n、v、D(of)相匹配的PREPARE消息,則該控制器進入COMMIT階段,對外廣播COMMIT消息〈COMMIT,v,n,i〉αi。
4)各冗余控制器等待2f+1個來自不同控制器的COMMIT消息,驗證n、v等信息。若正確,則處理該OF請求,并把處理的結(jié)果通過REPLY消息〈REPLY,v,t,of,i,r〉μis發(fā)送給代理。
5)代理判決接收到的消息,如果接收到來自f+1個不同控制器的相同處理結(jié)果,則把該消息傳遞給交換機,否則丟棄消息。
2.3 視圖切換
當主控制器失效或異常控制器數(shù)量超過f時,要保證拜占庭協(xié)議的正常執(zhí)行,需要重新選擇控制器視圖并重新選擇主控制器,這一過程稱為視圖切換。圖3描述了從視圖v到視圖v+1的切換過程。切換過程如下:當冗余控制器發(fā)現(xiàn)主控制器失效時,廣播視圖切換消息到所有控制器,各控制器回復確認消息到新視圖的主控制器(一般為第一個發(fā)現(xiàn)異常的控制器),只要主控制器收到3f個確認消息后,就向所有冗余控制器發(fā)送新的控制器視圖信息。同時,需要從資源池中選出新的控制器加入到視圖,接替異常控制器的工作。
為了打破交換機和控制器間的靜態(tài)性,設(shè)置了一個計時器,保證在有限時間內(nèi),動態(tài)地發(fā)生視圖切換,切換時間間隔T動態(tài)生成,T=T0+rand(5)*Δt。

圖3 視圖切換過程Fig. 3 Process of view change
在新結(jié)構(gòu)中,每一個交換機都需要一個控制器視圖對其進行管理,本章主要研究視圖的選擇問題。
定義1 不考慮控制器的性能差異,只考慮結(jié)構(gòu)上和實現(xiàn)上的差異,用一個四元組表示控制器,即(語言,算法,存儲,平臺)。這里的語言是指控制器實現(xiàn)的語言,如Java、C++、Python等,用L表示;算法是指控制器內(nèi)部執(zhí)行某些功能實現(xiàn)的算法,用A表示;存儲是指控制器使用的數(shù)據(jù)庫,如事務型數(shù)據(jù)庫、鍵值對數(shù)據(jù)庫、面向文檔數(shù)據(jù)庫等,用B表示;平臺是指控制器依賴的操作系統(tǒng),用T表示,如Windows、Linux等。因此,控制器可建模為一個四元組ci:(l,a,b,t),l∈L,a∈A,b∈B,t∈T。


3.1 網(wǎng)絡建模
把網(wǎng)絡拓撲建模為一個有向圖G(V,E),V表示網(wǎng)絡中節(jié)點,包括控制器和交換機,E表示拓撲中的鏈路。S表示交換機集合S={s1,s2,…,sm},C表示控制器集合C={c1,c2,…,cn},|V|=|S|+|C|,其中| |表示集合中元素個數(shù)。記上層控制器cj和ck之間的通信時延為Ljk,由于下層交換機承擔的數(shù)據(jù)流量不同,重要程度有所差異,所需容忍控制器錯誤的個數(shù)也不同,容忍的時延也不同,用fi表示交換機i能容忍控制器出錯的個數(shù),δi表示交換機容忍控制器時延的上限。Φi表示交換機i分配的候選控制器集合,固定該集合大小為h,即|Φi|=h。Di表示交換機i分配的控制器集合,即控制器視圖。
本文通過動態(tài)異構(gòu)冗余的結(jié)構(gòu)來提高控制層的抗攻擊能力,為了使控制器間的共性特征降到最低,選擇異構(gòu)度最大的視圖,從而保證攻擊者對每一個控制器的攻擊是獨立的,增大攻擊者協(xié)同攻擊的難度,并且使網(wǎng)絡有更長的時間去檢測出異常和恢復被攻擊的控制器。
控制器間通過拜占庭容錯協(xié)議通信,而拜占庭容錯協(xié)議的一個很大的缺點就是控制器之間要兩兩交互,控制器間的最大時延會直接影響到網(wǎng)絡的性能,為了最大化網(wǎng)絡的性能,選擇最近的控制器作為主控制器。在實際問題中,交換機和控制器之間的時延要遠小于控制器之間的通信時延,因此這里僅考慮控制器之間的通信時延。為了保證網(wǎng)絡的可用性,需滿足?si∈S,?cj∈Di,Di?Φi,Ljk≤δi;為了滿足交換機需要容錯數(shù)量的要求,要保證?si∈S,h≥3fi+1,|Φi|≤h。因此可將問題建模如下:
目標函數(shù):
(1)
約束條件:
?si∈S,?cj∈Di,Di?Φi,Ljk≤δi
(2)
(3)
|Φi|≤h; ?si∈S
(4)
3.2 模型求解
顯然,這是一個NP難問題。把模型求解工作分為兩階段:1)為每個交換機求解滿足時延的候選控制器集合;2)在候選控制器集合中選擇最大異構(gòu)度的視圖。
3.2.1 候選控制器集合求解
借鑒文獻[5]中的算法,設(shè)計了如下算法求解候選控制器集合。
算法1 候選控制器選舉算法。
Input:G(V,E),n,δi,h
Output:Φ={Φi|1≤i≤m}
1)
C*=?,Φ=?;
2)
fori= 1 tomdo
3)
ifC*=? then
4)
C*←cip;
5)

6)
C*←find_cs(C,C*,tmin,h);
7)
end if
8)
將C*中控制器的剩余容量按照從小到大的順序排列:C*={c*1,c*2,…,c*h},k*1≤k*2≤…≤k*h;
9)
ifk*1>0 then
10)
forj=1 tohdo
11)
Φi←c*j;
12)
k*j=k*j-1;
13)
end for
14)
end if
15)
C*=?;
16)
C←C-C*;
17)
S=S-si;
18)
end for
算法1的輸入是網(wǎng)絡拓撲情況G(V,E),控制器的數(shù)量n和每個交換機的最大容忍時延δi,候選控制器集合大小h;輸出是候選控制器集合Φ={Φi|1≤i≤m}。算法的說明如下:首先,判斷集合C*是否為空,若為空,則通過find_cs函數(shù)計算C*(行3)~7)),其中C*是候選控制器集合,初始化為空(行1))。在計算C*時,將交換機i的主控制器cip放入C*(行4)),其中主控制器的選擇遵循最短時延的原則。計算所有交換機的時延上限的最小值,將該值作為時延判斷標準(行5)),則C*中的控制器可適用于所有的交換機。接著將C*中控制器的剩余容量遞增排序(行8)),然后順序添加到交換機的候選控制器集合中(行11))。為簡化計算,只要C*中的最小容量控制器的剩余容量為0就重新計算C*。行16)是從C中把C*去掉,行18)是把完成分配的交換機從交換機集合中移除。
函數(shù) find_cs。
1)
function find_cs(C,C*,tmin,h)
2)
forci∈C={c1,c2,…,cn} do
3)
if 對任意c*∈C*有Lci,c*≤tmin且k*i=kithen
4)
T=find_cs(C-{ci},C*+{ci},tmin,h-1);
5)
if |T|=hthen
6)
returnT;
7)
end if
8)
end if
9)
end for
10)
returnC*;
11)
end function
函數(shù)find_cs是從初始化控制器集合中選出滿足交換機時延要求的控制器集合,通過遞歸的方式計算集合C*(行4))。函數(shù)的輸入?yún)?shù)h是所需控制器的數(shù)量,遞歸的退出條件是選出的控制器的數(shù)量達到h(行5)~6)),函數(shù)的返回結(jié)果是控制器集合C*(行6))。第10)行是在找不到控制器集合的情況下把原始輸入的C*作為輸出,保證函數(shù)的完整性。
選舉算法的時間復雜度是O(mn2),最壞的情況是需要調(diào)用find_cs函數(shù)找新的控制器集合,函數(shù)時間復雜度是O(mnh/k),m是交換機的數(shù)量,n是控制器的數(shù)量,h是候選控制器集合大小,k是最小控制器容量大小,由于候選控制器集合大小一般不超過10,算法的時間復雜度是可接受的。
3.2.2 控制器視圖求解
由于h的值較小,可以利用窮舉的方法計算出異構(gòu)度最大的視圖。視圖選舉算法的偽代碼如算法2。
算法2 視圖選擇算法。
Input:Φ,f,h
Output:D={Di|1≤i≤m}
1)
fori=1 tondo
2)

3)

4)
end for

4.1 仿真環(huán)境
本文利用Mininet和Matlab R2016a進行模擬仿真驗證SDN中多控制器和交換機利用拜占庭算法實現(xiàn)多對多的交互。選用Internet2的OS3E[14]作為網(wǎng)絡拓撲,其共有39個節(jié)點,拓撲如圖4所示。

圖4 OS3E網(wǎng)絡拓撲Fig. 4 Network topology of OS3E
本文作如下假設(shè):1)控制器選用的語言、算法、數(shù)據(jù)庫、平臺等具有同等的安全性和性能,或者差異不大。2)每個控制器的容量相同。3)每個控制器失效的概率均為p。把控制器失效的原因歸結(jié)為停機故障和拜占庭故障,假設(shè)故障是拜占庭故障的概率為pb,則發(fā)生拜占庭故障的概率就是p*pb。4)所提供的控制器的數(shù)量滿足算法需求。5)取T0=15 min,Δt=4 min,λ0=0.2,λ1=0.3,λ2=0.1,λ3=0.4。
拓撲中部署39個交換機和若干控制器,交換機和其控制器視圖通過中間代理連接,控制器間執(zhí)行拜占庭協(xié)議,通過評估交換機的失效數(shù)量來評估網(wǎng)絡的抗攻擊能力,即失效的交換機個數(shù)越少,抗攻擊能力越強。
4.2 仿真結(jié)果分析
4.2.1 抗攻擊性分析

如圖5所示,可以發(fā)現(xiàn),隨著控制器數(shù)量的增多,交換機失效的概率逐漸降低。如果控制器被成功攻擊的概率足夠小,只要有限的異構(gòu)控制器就能保證SDN對抗外部攻擊的能力,這說明采用異構(gòu)冗余的拜占庭協(xié)議提高了SDN的抗攻擊能力。

圖5 攻擊成功概率Fig. 5 Successful attack probability
為了量化異構(gòu)拜占庭協(xié)議的抗攻擊能力,利用交換機的失效個數(shù)度量抗攻擊能力。從上面的描述可以看出,發(fā)生拜占庭故障的概率與pb和p有關(guān),下面分別驗證了在pb=0.8時失效交換機個數(shù)與p的關(guān)系,以及在p=0.2時失效交換機個數(shù)和pb的關(guān)系,如圖6和7所示。這里比較了主從切換(primary-backup, 后面簡記為p-b)方法和f=1,f=2,f=3(為了簡化說明,每次視圖切換過程中控制器個數(shù)保持不變,即容錯個數(shù)fi保持不變,簡記為f)共四種情況。為了讓實驗結(jié)果更可靠,重復了1 000次實驗,算法中取h=10,計算失效交換機個數(shù)(usn)的平均值作為最終結(jié)果。
從圖6可以看出,在pb為定值的情況下,無論是主從切換方式還是基于拜占庭協(xié)議,失效交換機的個數(shù)均隨控制器故障概率的增加而增加,因為無論什么樣的機制都無法應付控制器自身較大的故障率,這些機制只是在一定的故障率范圍內(nèi),盡量降低出錯的概率。比較四種情況可以看出,在同等的概率p下,主從切換的方式失效交換機的個數(shù)最多,隨著容忍限度f的增大,失效交換機的個數(shù)明顯減少,說明采用異構(gòu)冗余的拜占庭協(xié)議后,SDN的抗攻擊能力明顯提高。

圖6 失效交換機個數(shù)與p的關(guān)系(pb=0.8)Fig. 6 Relationship between the number of failed switches and p (pb=0.8)
從圖7可以看出,在p為定值的情況下,隨著拜占庭故障率的增大,傳統(tǒng)主從切換的方式下,交換機可能全部失效,因為主控制器發(fā)生拜占庭錯誤后很難檢測出來,這將導致所有向其發(fā)出請求的交換機失效。相反,在采用了拜占庭協(xié)議后,交換機的失效與拜占庭錯誤率無關(guān),這說明拜占庭協(xié)議可有效應對拜占庭錯誤,而且拜占庭協(xié)議的容錯數(shù)量越大,出錯的交換機個數(shù)越少,容錯能力越強。

圖7 失效交換機個數(shù)和pb的關(guān)系(p=0.2)Fig. 7 Relationship between the number of failed switches and pb (p=0.2)
在p=0.15時比較了主從切換、同構(gòu)和異構(gòu)情況下被成功攻擊的概率,結(jié)果如表2所示,可以發(fā)現(xiàn),異構(gòu)的情況明顯優(yōu)于其他兩種。

表2 攻擊成功概率對比Fig. 2 Comparison of successful attack probability
4.2.2 部署開銷分析
為了測試應用BFT協(xié)議的部署開銷,將其與單控制器結(jié)構(gòu)相對比,兩種情況下傳輸OF請求的平均時延如圖8所示。從圖8可以看出,應用BFT協(xié)議增加了一定的時延開銷,額外的時延有兩個原因,一部分是BFT協(xié)議的交互時間,另一部分是代理層的請求分發(fā)和結(jié)果裁決時間,這兩部分時間使時延開銷平均增加了近40 ms。第一部分時延與控制器實際的地理位置也有很大的關(guān)系,取決于控制器和交換機的最大通信時延;第二部分時延與控制器視圖大小有關(guān),時間取決于結(jié)果到達的最遲時間和采用的裁決算法。總的時延在90 ms左右,拜占庭協(xié)議對網(wǎng)絡性能的影響可以接受,能滿足網(wǎng)絡服務的質(zhì)量要求。

圖8 不同結(jié)構(gòu)的平均時延對比Fig. 8 Average latency with different structure
為了比較控制器的部署數(shù)量,在相同規(guī)模下將本文所提算法(proposed)與主從結(jié)構(gòu)(p-b)、文獻[5]的RQFA(Requirement First Assignment Algorithm)和隨機選擇算法(Random)所需控制器數(shù)量進行了對比,結(jié)果如表3,可以看出本文算法的控制器部署開銷適中。因為RQFA的主要目的是減少控制器個數(shù),而本文的方法在原理上是通過動態(tài)、異構(gòu)、冗余的開銷提高安全性,而且由于冗余控制器并行工作,對網(wǎng)絡的性能不會造成太大的影響。

表3 控制器數(shù)量Fig. 3 Number of controllers
針對SDN環(huán)境控制器的同構(gòu)現(xiàn)象和漏洞、后門難以察覺的處境,本文提出了動態(tài)異構(gòu)冗余的SDN結(jié)構(gòu),利用拜占庭協(xié)議協(xié)調(diào)控制器工作,解決了控制器的動態(tài)選舉問題。
本文將拜占庭協(xié)議以及動態(tài)性和異構(gòu)性引入SDN,提出了相應的體系結(jié)構(gòu),給出了視圖異構(gòu)度的概念,并設(shè)計了控制器視圖的動態(tài)選舉算法,在保證交換機和控制器性能的前提下,能保證視圖異構(gòu)度最大,增強SDN的抗攻擊能力。由于額外協(xié)議和技術(shù)的引入造成了一定的時延開銷,在下一步工作中,需要進一步優(yōu)化拜占庭協(xié)議和裁決方法;同時,本文僅從一維的角度量化控制器間的異構(gòu)性,下一步需要從多維的角度進一步準確地度量控制器間的異構(gòu)性。
References)
[1] 左青云,陳鳴,趙廣松,等.基于OpenFlow的SDN技術(shù)研究[J].軟件學報,2013,24(5):1078-1097. (ZUO Q Y, CHEN M, ZAHO G S, et al. Research on OpenFlow-based SDN technologies [J]. Journal of Software, 2013, 24(5): 1078-1097.)
[2] KIM T, KOO T, PAIK E. SDN and NFV benchmarking for performance and reliability [C]// APNOMS 2015: Proceedings of the 2015 17th Asia-Pacific Network Operations and Management Symposium. Piscataway, NJ: IEEE, 2015: 600-603.
[3] BHOLE P D, PURI D D. Distributed hierarchical control plane of software defined networking [C]// CICN 2015: Proceedings of the 2015 International Conference on Computational Intelligence and Communication Networks. Piscataway, NJ: IEEE, 2015: 516-522.
[4] KREUTZ D, RAMOS F M V, VERISSIMO P. Towards secure and dependable software-defined networks [C]// HotSDN 2013: Proceedings of the 2013 ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking. New York: ACM, 2013: 55-60.
[5] LI H, LI P, GUO S, et al. Byzantine-resilient secure software-defined networks with multiple controllers in cloud [J]. IEEE Transactions on Cloud Computing, 2015, 2(4): 436-447.
[6] CASTRO M, LISKOV B. Practical Byzantine fault tolerance and proactive recovery [J]. ACM Transactions on Computer Systems, 2002, 20(4): 398-461.
[7] Open Networking Foundation. Threat analysis for the SDN architecture, version 1.0, TR-530 [R/OL]. (2016- 07- 29) [2016- 12- 24]. https://www.opennetworking.org/images/stories/downloads/sdn-resources/technical-reports/Threat_Analysis_for_the_SDN_Architecture.pdf
[8] SCOTT-HAYWARD S, NATARAJAN S, SEZER S. A survey of security in software defined networks [J]. IEEE Communications Surveys & Tutorials, 2016, 18(1): 623-654.
[9] TOOTOONCHIAN A, GANJALI Y. HyperFlow: a distributed control plane for OpenFlow [C]// INM/WREN 2010: Proceedings of the 2010 Internet Network Management Conference on Research on Enterprise Networking. Berkeley, CA: USENIX Association, 2010: 3.
[10] JAGADEESAN N A, PAL R, NADIKUDITI K, et al. A secure computation framework for SDNs [C]// HotSDN 2014: Proceedings of the 2014 ACM SIGCOMM Workshop on Hot Topics in Software Defined NETWORKING. New York: ACM, 2014: 209-210.
[11] BEHESHTI N, ZHANG Y. Fast failover for control traffic in software-defined networks [C]// GLOBECOM 2012: Proceedings of the 2012 IEEE Global Communications Conference. Piscataway, NJ: IEEE, 2012: 2665-2670.
[12] ZHANG L, GUO Y, YUWEN H, et al. A port hopping based DoS mitigation scheme in SDN network [C]// CIS 2016: Proceedings of the 2016 International Conference on Computational Intelligence and Security. Piscataway, NJ: IEEE, 2016: 314-317.
[13] KOTLA R, ALVISI L, DAHLIN M, et al. Zyzzyva: speculative Byzantine fault tolerance [J]. ACM Transactions on Computer Systems, 2009, 27(4): Article No. 7 .
[14] The Internet2 Community. Layer 2 Services [EB/OL]. [2016- 12- 28]. http://www.internet2.edu/network/ose/.
This work is partially supported by the National High Technology Research and Development Program of China (2015AA016102), the National Natural Science Foundation of China (61521003, 61372121), the National Basic Research and Development Program of China (2016YFB0800100).
GAOJie, born in 1992, M. S. candidate. His research interests include new network architecture.
WUJiangxing, born in 1953, professor. His research interests include network architecture, network security.
HUYuxiang, born in 1982, Ph. D., associate research fellow. His research interests include new generation information network.
LIJunfei, born in 1989, Ph. D. candidate. His research interests include active protection technology for centralized network management and control.
Researchofcontrolplane’anti-attackinginsoftware-definednetworkbasedonByzantinefault-tolerance
GAO Jie*, WU Jiangxing, HU Yuxiang,LI Junfei
(ChinaNationalDigitalSwitchingSystemEngineering&TechnologicalR&DCenter,ZhengzhouHenan450002,China)
Great convenience has been brought by the centralized control plane of Software-Defined Network (SDN), but a lot of security risks have been introduced into it as well. In the light of single point failure, unknown vulnerabilities and back doors, static configuration and other security problems of the controller, a secure architecture for SDN based on Byzantine protocol was proposed, in which the Byzantine protocol was executed between controllers and each switching device was controlled by a controller view and control messages were decided by several controllers. Furthermore, the dynamics and heterogeneity were introduced into the proposed structure, so that the attack chain was broken and the capabilities of network active defense were enhanced; moreover, based on the quantification of the controller heterogeneity, a two-stage algorithm was designed to seek for the controller view, so that the availability of the network and the security of the controller view were ensured. Simulation results show that compared with the traditional structure, the proposed structure is more resistant to attacks.
dynamics; heterogeneity; Byzantine Fault-Tolerance (BFT); Software Defined Network (SDN); anti-attacking
TP393.08
A
2017- 02- 21;
2017- 04- 28。
國家863計劃項目(2015AA016102);國家自然科學基金資助項目(61521003, 61372121);國家重點研發(fā)計劃項目(2016YFB0800100)。
高潔(1992—),男,江蘇宿遷人,碩士研究生,主要研究方向:新型網(wǎng)絡體系結(jié)構(gòu); 鄔江興(1953—),男,浙江嘉興人,教授,博士生導師,主要研究方向:網(wǎng)絡體系結(jié)構(gòu)、網(wǎng)絡安全; 胡宇翔(1982—),男,河南周口人,副研究員,博士,主要研究方向:新一代信息網(wǎng)絡; 李軍飛(1989—),男,河南安陽人,博士研究生,主要研究方向:集中式網(wǎng)絡管控的主動防護。
1001- 9081(2017)08- 2281- 06
10.11772/j.issn.1001- 9081.2017.08.2281