盧振平,陳福才,程國(guó)振
?
基于貝葉斯?斯坦科爾伯格博弈的SDN安全控制平面模型
盧振平,陳福才,程國(guó)振
(國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南鄭州 450002)
提出一種基于動(dòng)態(tài)異構(gòu)冗余的安全控制平面,通過(guò)動(dòng)態(tài)地變換異構(gòu)的控制器以增加攻擊者的難度。首先,提出基于貝葉斯?斯坦科爾伯格博弈模型的控制器動(dòng)態(tài)調(diào)度方法,將攻擊者和防御者作為博弈參與雙方,求得均衡解,進(jìn)而指導(dǎo)調(diào)度策略;其次,引入一種自清洗機(jī)制,與博弈策略結(jié)合形成閉環(huán)的防御機(jī)制,進(jìn)一步地提高了控制層的安全增益;最后,實(shí)驗(yàn)定量地描述了基于該博弈策略的安全控制層相比與傳統(tǒng)部署單個(gè)控制器以及采用隨機(jī)策略調(diào)度控制器的收益增益,并且自清洗機(jī)制能夠使控制平面一直處于較高的安全水平。
軟件定義網(wǎng)絡(luò);網(wǎng)絡(luò)安全;貝葉斯?斯坦科爾伯格博弈;控制器
軟件定義網(wǎng)絡(luò)(SDN,software defined network)將控制與轉(zhuǎn)發(fā)分離,形成如圖1所示的應(yīng)用層、控制層、數(shù)據(jù)層,通過(guò)南向可編程接口開(kāi)放了網(wǎng)絡(luò),促進(jìn)了網(wǎng)絡(luò)創(chuàng)新,簡(jiǎn)化了網(wǎng)絡(luò)管理??刂破髯鳛槠浜诵慕M件,掌握著整個(gè)網(wǎng)絡(luò)的視圖,將上層決策翻譯為數(shù)據(jù)面的轉(zhuǎn)發(fā)規(guī)則,一旦被攻擊或劫持,可導(dǎo)致信息泄露,甚至使整個(gè)SDN網(wǎng)絡(luò)癱瘓[1]。
圖1 SDN架構(gòu)
一般地,針對(duì)控制器的攻擊來(lái)自2個(gè)方向。首先,攻擊可能來(lái)自上層應(yīng)用或管理員,惡意應(yīng)用或管理員利用控制器漏洞發(fā)動(dòng)攻擊。例如,一個(gè)簡(jiǎn)單的exit命令可致使Floodlight退出造成網(wǎng)絡(luò)癱瘓[2]。其次,攻擊可能來(lái)自底層數(shù)據(jù)面。攻擊者通過(guò)南向接口發(fā)送探測(cè)報(bào)文,探測(cè)控制器的狀態(tài)和身份信息,然后利用其掌握的控制器漏洞,進(jìn)一步地發(fā)動(dòng)劫持、信息篡改、甚至DoS等攻擊[3]。例如,文獻(xiàn)[4]通過(guò)開(kāi)放的OpenFlow協(xié)議,控制SDN網(wǎng)絡(luò)中的1臺(tái)主機(jī),發(fā)送探測(cè)報(bào)文,獲取控制器的狀態(tài)信息,為后續(xù)利用控制器的漏洞發(fā)動(dòng)攻擊提供了有效信息??傊每刂破鞯穆┒窗l(fā)動(dòng)攻擊是控制器面臨的主要威脅之一[5]。
為了應(yīng)對(duì)控制器面臨的潛在威脅,研究人員提出了大量方法。從架構(gòu)上,由單控制器[2,6,7]轉(zhuǎn)變?yōu)榉植际娇刂芠8~11]、彈性分布式控制[12,13]。該類(lèi)方法可有效抵御控制器的單點(diǎn)失效問(wèn)題,尤其是彈性分布式控制器可以通過(guò)調(diào)整控制器實(shí)例數(shù)量,應(yīng)對(duì)動(dòng)態(tài)變化的網(wǎng)絡(luò)負(fù)載。但是主流的分布式架構(gòu)中不同控制器實(shí)例仍是同構(gòu)的,因此,包含的漏洞也是重疊的,當(dāng)某個(gè)重疊漏洞被利用時(shí),攻擊事件可影響整個(gè)分布式控制平面。利用拜占庭容錯(cuò)機(jī)制的控制層[14,15]避免了單點(diǎn)失效,然而,由于控制器之間是相互交互的,有可能造成攻擊感染。從防御機(jī)制上,約束南向和北向2個(gè)接口,通過(guò)北向應(yīng)用接口的分級(jí)調(diào)用[16]、南向接口的限制訪(fǎng)問(wèn)[17],有效避免了接口的濫用,但是該方法具有侵入性,需要重新設(shè)計(jì)接口,甚至開(kāi)發(fā)新的控制器內(nèi)核,仍無(wú)法避免控制器內(nèi)部的漏洞利用。目前,已有研究未從防御控制器安全漏洞的角度出發(fā),無(wú)法避免漏洞利用攻擊。
本文基于動(dòng)態(tài)異構(gòu)冗余的思想,設(shè)計(jì)出一種動(dòng)態(tài)調(diào)度多樣控制器的控制層,包括多個(gè)異構(gòu)控制器集合以及調(diào)度器等核心組件,通過(guò)調(diào)度器從集合中動(dòng)態(tài)地選擇控制器,以改變傳統(tǒng)控制平面相對(duì)靜態(tài)的特性,從而降低控制器脆弱點(diǎn)被利用的影響。鑒于攻防特點(diǎn),為了最大化策略的有效性,將控制器的選擇問(wèn)題建模為貝葉斯?斯坦科爾伯格博弈模型,攻擊者和防御者作為博弈雙方參與者,刻畫(huà)收益函數(shù),求得均衡解,從而指導(dǎo)調(diào)度控制器;其次,為了進(jìn)一步提高防御者的安全性,引入自清洗機(jī)制,從而形成一個(gè)閉環(huán)的防御機(jī)制。
SDN“三層兩接口”結(jié)構(gòu)在方便管理的同時(shí)也引入了新的脆弱性,控制器安全問(wèn)題作為SDN典型安全威脅重要的一環(huán),逐漸成為制約 SDN 發(fā)展的關(guān)鍵因素[18]。目前,學(xué)術(shù)界針對(duì)控制層的脆弱點(diǎn)研究主要分為兩方面。
1) 傳統(tǒng)加固式安全
Phillip Porras將開(kāi)源控制器Floodlight擴(kuò)展為SE-Floodlight[8],增加應(yīng)用程序證書(shū)管理模塊、安全審計(jì)子防御者、權(quán)限管理等新的安全模塊,對(duì)控制器安全進(jìn)行審計(jì)和跟蹤。FortNOX[19]架構(gòu)是針對(duì)開(kāi)源控制器NOX設(shè)計(jì)的一種安全內(nèi)核,在NOX控制器上分別增加了基于角色的數(shù)據(jù)源認(rèn)證模塊、狀態(tài)表管理模塊、流規(guī)則沖突分析模塊和流規(guī)則超時(shí)回調(diào)模塊等安全功能,提高流規(guī)則轉(zhuǎn)發(fā)的安全性。Shin等[7]通過(guò)對(duì)常見(jiàn)控制器的安全性進(jìn)行測(cè)試和分析后,設(shè)計(jì)了一種新型、內(nèi)嵌安全機(jī)制的集中式控制器Rosemary。其內(nèi)核將所有應(yīng)用程序封裝在一個(gè)應(yīng)用程序區(qū)內(nèi),實(shí)時(shí)監(jiān)控應(yīng)用程序的行為,并通過(guò)檢查各個(gè)應(yīng)用程序的簽名信息判定其是否合法。OFX[20]是一種新的網(wǎng)絡(luò)安全應(yīng)用模型,在現(xiàn)存OpenFlow架構(gòu)下,通過(guò)將安全應(yīng)用機(jī)制打包下放至底層網(wǎng)絡(luò)設(shè)備,實(shí)現(xiàn)更高效的安全應(yīng)用的開(kāi)發(fā)。這些單純的加固式安全無(wú)法應(yīng)對(duì)不斷爆出的安全漏洞導(dǎo)致的單點(diǎn)失效,也無(wú)法保證控制層與數(shù)據(jù)層之間數(shù)據(jù)完整性、機(jī)密性等。
2) 分布式控制器
分布式控制平面解決了單控制器情況下單點(diǎn)失效的威脅,主要包括靜態(tài)分布式控制平面和動(dòng)態(tài)分布式控制平面。其中,靜態(tài)分布式控制平面交換機(jī)和控制器的映射是靜態(tài)配置的。HyperFlow[8]是OpenFlow的首個(gè)分布式控制平面,作為應(yīng)用程序運(yùn)行于安裝NOX的控制器之上,負(fù)責(zé)控制器網(wǎng)絡(luò)狀態(tài)視圖的同步(通過(guò)傳播本地產(chǎn)生的控制事件),將到達(dá)其他控制器管理的交換機(jī)的OpeFlow命令重定向到目標(biāo)控制器上,并重定向來(lái)自交換機(jī)的響應(yīng)到發(fā)起請(qǐng)求的控制器。FlowVisor[9]在轉(zhuǎn)發(fā)平面與控制平面之間引入了一個(gè)軟件切片層,并采用OpenFlow實(shí)現(xiàn)了該切片層,用以切分控制消息。Kandoo[10]以及Onix[11]也屬于靜態(tài)分布式控制平面。
由于靜態(tài)配置導(dǎo)致負(fù)載均衡分布不均,Advait Dixit等設(shè)計(jì)了ElastiCon[12],一種彈性分布式控制器體系,在該體系中,控制器池中控制器的數(shù)量可以根據(jù)流量狀態(tài)和負(fù)載動(dòng)態(tài)地增加或減少。ElastiCon為了完成負(fù)載遷移,提出了一種新的交換遷移協(xié)議,在分布式控制器與交換機(jī)之間采用動(dòng)態(tài)映射以更大程度地增強(qiáng)網(wǎng)絡(luò)的擴(kuò)展性。在ONOS[13]和ODL[21]分布式體系結(jié)構(gòu)中,當(dāng)一個(gè)組件或?qū)嵗。矣衅渌S鄬?shí)例,允許重新分配,保障防御者仍能繼續(xù)工作。
然而,這些分布式控制器實(shí)例的同構(gòu)性可能存在共有的安全漏洞,一旦被攻擊者探測(cè)利用便可以發(fā)動(dòng)持續(xù)地攻擊,劫持控制平面,進(jìn)而破壞整個(gè)網(wǎng)絡(luò)。因此,文獻(xiàn)[14,15]提出基于拜占庭容錯(cuò)機(jī)制的控制器安全解決方案。文獻(xiàn)[14]中每個(gè)底層交換機(jī)由多個(gè)控制器控制,控制器數(shù)量根據(jù)不同的容錯(cuò)需求變化,能夠抵抗對(duì)控制器的拜占庭攻擊以及控制器和交換機(jī)通信之間的攻擊,避免了單點(diǎn)失效,保證了網(wǎng)絡(luò)的正常運(yùn)行。文獻(xiàn)[15]設(shè)計(jì)出一種拜占庭容錯(cuò)的分布式控制器,使網(wǎng)絡(luò)能夠容忍控制平面以及數(shù)據(jù)平面的錯(cuò)誤,并整合了現(xiàn)有2種易受拜占庭錯(cuò)誤攻擊的開(kāi)源控制器,實(shí)現(xiàn)了容錯(cuò)機(jī)制。然而這種方法一旦一個(gè)控制器被攻擊成功,有可能造成攻擊感染。文獻(xiàn)[22]提出了一種控制器和交換機(jī)的動(dòng)態(tài)分配算法以最小化控制平面的響應(yīng)時(shí)間,然而,該動(dòng)態(tài)分配控制器是為了更優(yōu)的負(fù)載均衡,并未考慮安全。
本文借鑒已有的研究成果,針對(duì)SDN中控制器漏洞的典型安全威脅,為了解決控制器本身脆弱性帶來(lái)的安全問(wèn)題,提出一種動(dòng)態(tài)調(diào)度控制器的SDN安全控制層[23],綜合考慮通過(guò)動(dòng)態(tài)調(diào)度相互隔離的異構(gòu)控制器降低攻擊者探測(cè)成功的概率,并且避免了利用控制器漏洞和后門(mén),進(jìn)而持續(xù)高效地進(jìn)行惡意攻擊。
本文設(shè)計(jì)了一種SDN安全控制層,在控制平面引入動(dòng)態(tài)異構(gòu)冗余因子,在多個(gè)不同的防御者維度上,開(kāi)發(fā)、分析和部署防御者可控的、隨時(shí)間動(dòng)態(tài)地移動(dòng)和變化的機(jī)制和策略,以限制自身脆弱性的暴露,增加攻擊者的攻擊成本,降低被攻擊機(jī)會(huì)。
圖2給出了動(dòng)態(tài)調(diào)度SDN控制器的基本結(jié)構(gòu)。在應(yīng)用層和數(shù)據(jù)層,與現(xiàn)有的SDN架構(gòu)的數(shù)據(jù)平面功能一致。在動(dòng)態(tài)控制層,包含功能等價(jià)結(jié)構(gòu)相異的個(gè)控制器執(zhí)行體集合。
控制器異構(gòu)度:各類(lèi)控制器采用的語(yǔ)言各不相同,Ryu采用Python語(yǔ)言實(shí)現(xiàn),ONOS以及Floodlight采用Java語(yǔ)言實(shí)現(xiàn),但ONOS基于OSGI框架實(shí)現(xiàn),這與Floodlight相異。語(yǔ)言相異以及實(shí)現(xiàn)方式的不同是衡量異構(gòu)的指標(biāo)。
控制器實(shí)例在角色上包括兩類(lèi):一類(lèi)是Master(主)控制器,有且僅有一個(gè),是實(shí)際上管理網(wǎng)絡(luò)的控制器;一類(lèi)是Slave(備)控制器,作為備選的資源池。數(shù)據(jù)代理將底層的網(wǎng)絡(luò)請(qǐng)求通過(guò)此分發(fā)至控制器集合,控制器的管理控制數(shù)據(jù)也經(jīng)此下發(fā)給底層網(wǎng)絡(luò)等;感知器感知數(shù)據(jù)平面的網(wǎng)絡(luò)安全狀態(tài)并將信息交互到調(diào)度器。調(diào)度器包含所有控制器的注冊(cè)信息,接受感知器的信息,內(nèi)有倒計(jì)時(shí)功能,一旦計(jì)時(shí)器清零,調(diào)度器啟動(dòng)調(diào)度策略選擇主控制器。
如圖2所示,控制平面包括個(gè)相互獨(dú)立異構(gòu)的控制器,依據(jù)調(diào)度策略從備選資源池選一個(gè)主控制器控制底層網(wǎng)絡(luò),本文設(shè)計(jì)了2種不同的調(diào)度周期設(shè)置機(jī)制,流程如圖3所示。
1) 主動(dòng)式調(diào)度機(jī)制:調(diào)度器在時(shí)間軸上的調(diào)度間隔一致,調(diào)度器定時(shí)自發(fā)地對(duì)控制器進(jìn)行切換。
2) 反應(yīng)式調(diào)度機(jī)制:感知器模塊感知控制層的安全狀態(tài),若發(fā)現(xiàn)異常情況,則立即依據(jù)調(diào)度策略進(jìn)行調(diào)度。
圖3 動(dòng)態(tài)調(diào)度控制器流程
圖4為安全架構(gòu)的閉環(huán)防御機(jī)制。調(diào)度器指導(dǎo)控制層切換控制器之后,控制層會(huì)依據(jù)歷史攻擊信息,評(píng)估控制層的安全狀態(tài)[24],利用本身的安全資源開(kāi)始自清洗,修復(fù)脆弱點(diǎn),再進(jìn)行新一輪的調(diào)度。以一個(gè)簡(jiǎn)單的用例說(shuō)明動(dòng)態(tài)調(diào)度的安全效果。
圖4 閉環(huán)防御機(jī)制
攻擊行動(dòng):使用Java語(yǔ)言基于OSGI框架的ONOS控制器也帶來(lái)了OSGI的脆弱性。如圖5所示,當(dāng)交換機(jī)收到一個(gè)沒(méi)有匹配項(xiàng)的數(shù)據(jù)分組時(shí),交換機(jī)就會(huì)把這個(gè)數(shù)據(jù)分組發(fā)送給控制器。當(dāng)處理不規(guī)則、不完整、惡意制定的數(shù)據(jù)分組時(shí),ONOS的解串器會(huì)引發(fā)異常,如果不及時(shí)發(fā)現(xiàn)并處理這個(gè)異常,那么相關(guān)交換機(jī)就會(huì)與ONOS斷開(kāi)連接。遠(yuǎn)程攻擊者可以利用這個(gè)漏洞實(shí)施DoS攻擊造成ONOS與交換機(jī)斷開(kāi)連接。攻擊者只需要發(fā)送惡意數(shù)據(jù)分組就可以利用這個(gè)漏洞,這是一個(gè)通過(guò)數(shù)據(jù)層面利用控制器漏洞的典型案例。
防御機(jī)制:在動(dòng)態(tài)調(diào)度的控制器架構(gòu)中,啟用調(diào)度機(jī)制,Ryu或Floodlight成為主控制器時(shí),遠(yuǎn)程攻擊者利用此ONOS的漏洞失效,即攻擊行動(dòng)無(wú)效。攻擊者必須重新探測(cè)階段獲取新的脆弱點(diǎn)組織攻擊。
隨機(jī)選擇備選資源池里的控制器是最簡(jiǎn)單的策略形式。然而,隨機(jī)策略相對(duì)盲目,沒(méi)有考慮執(zhí)行體獲取的攻擊的歷史信息,如不同能力的攻擊組織以及攻擊的傾向性。實(shí)際上,攻防雙方均對(duì)對(duì)方有一定的信息支撐[25]。所以,在攻防雙方均有一定先驗(yàn)知識(shí)的情況下,防御者選擇主控制器的調(diào)度策略與整個(gè)控制層的安全性休戚相關(guān)。接下來(lái),在3.2節(jié)研究控制器調(diào)度策略問(wèn)題,在3.3節(jié)詳述自清洗機(jī)制。
圖5 ONOS控制器攻擊實(shí)例
貝葉斯?斯坦科爾伯格博弈[26]是一種典型的解決探測(cè)以及攻擊不確定性的安全博弈方法,本節(jié)將攻防過(guò)程建模為貝葉斯?斯坦科爾伯格博弈模型,獲得最佳的控制器調(diào)度策略。
3.2.1 博弈預(yù)備知識(shí)
1) 斯坦科爾伯格博弈:通常用來(lái)刻畫(huà)安全領(lǐng)域的攻防探測(cè)場(chǎng)景,包括先采取行動(dòng)的領(lǐng)導(dǎo)者以及隨后行動(dòng)的追隨者。由于領(lǐng)導(dǎo)者首先采取行動(dòng),所以領(lǐng)導(dǎo)者在此博弈中占優(yōu)[26]。以一個(gè)簡(jiǎn)單的博弈例子說(shuō)明。
追隨者領(lǐng)導(dǎo)者cd a2,14,0 b1,03,2
2) 貝葉斯博弈:參與者包括個(gè)代理,每個(gè)代理都可能有多種不同的類(lèi)型。
3.2.2 模型映射
動(dòng)態(tài)調(diào)度控制器的防御者看作領(lǐng)導(dǎo)者(單一類(lèi)型),攻擊者為追隨者(多種類(lèi)型,如不同的攻擊組織)。控制層的調(diào)度過(guò)程即選擇策略的過(guò)程:控制層以一個(gè)時(shí)間周期在各個(gè)控制器之間進(jìn)行切換,從一種控制器到另外一種控制器可以看作是防御者的策略。另一方面,攻擊方包括很多攻擊類(lèi)型,選擇攻擊行動(dòng)是博弈中追隨者的一種策略。表1是本文模型的符號(hào)說(shuō)明。
表1 變量說(shuō)明
假設(shè) 攻擊者和防御者的目標(biāo)都是最大化自己的收益
攻擊者的攻擊行動(dòng)包括2種:1) 針對(duì)目前控制器已知的未解決的脆弱點(diǎn)的攻擊;2) 依據(jù)已知的信息預(yù)測(cè)控制器的脆弱點(diǎn)的攻擊。一種攻擊行動(dòng)對(duì)應(yīng)一個(gè)漏洞,每種攻擊類(lèi)型包含若干種攻擊行動(dòng)。攻擊者確定攻擊行動(dòng)依賴(lài)于以下2點(diǎn)。
①攻擊難度。例如,一段任意的代碼造成遠(yuǎn)程代碼執(zhí)行攻擊比利用控制器的數(shù)據(jù)庫(kù)漏洞更難;代碼量更少的Ryu比ONOS曝出的安全漏洞更少[27]。
②控制器流行度。在商業(yè)網(wǎng)絡(luò)中部署越廣泛的控制器,則攻擊者對(duì)其的攻擊傾向性更高。例如,相比于小范圍部署的控制器,攻擊者青睞于諸如對(duì)谷歌數(shù)據(jù)中心部署的Onix控制器的漏洞挖掘等攻擊。
防御者與攻擊者收益依賴(lài)于以下2點(diǎn)。
①對(duì)目標(biāo)控制器造成的影響,包括攻擊者探測(cè)數(shù)據(jù)的探針數(shù)量以及這些數(shù)據(jù)的關(guān)鍵性。例如,利用 ONOS曝出的Root權(quán)限的漏洞攻擊獲取權(quán)限之后比中間人竊取數(shù)據(jù)更為嚴(yán)重。
②攻擊是否被檢測(cè)。攻擊之前探測(cè)的數(shù)量越多,被防御者檢測(cè)到的概率越大。
在本博弈中,參與者雙方需要滿(mǎn)足約束條件。
1) 防御者策略約束
防御者以概率分布選擇控制器,概率和為1。
2) 攻擊策略約束
對(duì)于防御者確定的混合策略部署控制層,每個(gè)攻擊類(lèi)型面對(duì)的是同一個(gè)線(xiàn)性收益問(wèn)題,攻擊者存在一個(gè)最優(yōu)策略,故每種攻擊類(lèi)型都會(huì)選擇同一種純策略回應(yīng)[26]。
3) 攻擊者收益約束
防御者在一次博弈之后利用3.2節(jié)獲得的混合策略部署控制層,攻防過(guò)程并沒(méi)有結(jié)束,防御者根據(jù)歷史博弈信息,進(jìn)入自清洗階段。一次博弈之后的防御者根據(jù)搜集的攻擊行動(dòng)信息,分析控制器脆弱點(diǎn),自清洗即防御者利用安全資源修復(fù)這些脆弱點(diǎn)[24],更新收益矩陣,繼續(xù)下一次博弈,每一次博弈是獨(dú)立的,存在唯一的強(qiáng)斯坦科爾伯格均衡,這種閉環(huán)防御機(jī)制,使防御者一直維持在一個(gè)較高的安全狀態(tài)。本節(jié)研究的問(wèn)題是,在防御者的安全資源有限的條件下,自清洗過(guò)程首先應(yīng)該解決哪些力所能及的漏洞。
假設(shè)攻擊者的安全資源僅能修復(fù)一個(gè)清洗出的漏洞,該漏洞修復(fù)后,對(duì)應(yīng)的攻擊行動(dòng)則需要從收益矩陣中去除,之后在新的收益矩陣下進(jìn)行下一次博弈,移除某種攻擊行動(dòng)之后最收益增益大所對(duì)應(yīng)的漏洞,即關(guān)鍵的漏洞,該脆弱點(diǎn)應(yīng)該首先被修復(fù)。據(jù)此,本文提出一種自清洗算法,該自清洗算法通過(guò)從收益矩陣中去除若干攻擊行動(dòng)之后獲得新的收益矩陣,計(jì)算防御者增益,進(jìn)而比較衡量各種漏洞的關(guān)鍵性。若將某個(gè)攻擊行動(dòng)移除時(shí)計(jì)算收益最高,則認(rèn)為對(duì)應(yīng)的安全漏洞應(yīng)該首先被修復(fù)。而且漏洞被修復(fù)的收益矩陣作為下一次博弈的輸入。
算法1 自清洗算法
3) 計(jì)算移除每種排列組合后的防御者增益益。
本次實(shí)驗(yàn)在配置Intel(R) Core(TM) i7-4790 CPU 3.6 GHz,16 GB RAM的主機(jī)上進(jìn)行,優(yōu)化問(wèn)題的求解以及自清洗算法均通過(guò)Python編程實(shí)現(xiàn),利用Gurobi優(yōu)化器求解式(6)的博弈優(yōu)化問(wèn)題,獲得控制器最優(yōu)調(diào)度策略,并定量地計(jì)算出相比隨機(jī)策略和純策略的收益增益。
本文以在控制層中部署4種多樣的控制器為實(shí)例,說(shuō)明如下。
防御者可以選擇Ryu、ODL、ONOS、Floodlight這4種控制器作為4種策略,攻擊者可能會(huì)有9種攻擊行動(dòng)。記A1、A2、A3、A4是針對(duì)4種控制器安全漏洞的攻擊行動(dòng),其中,A1、A2是以探測(cè)和獲取數(shù)據(jù)為目的,A3、A4則是以劫持控制器破壞網(wǎng)絡(luò)防御者為目的。A5~A8表示具有2種攻擊的效果,A9表示攻擊行動(dòng)無(wú)效。收益表中前者代表防御者收益,后者代表攻擊收益。顯然,2種以劫持破壞控制器的攻擊行動(dòng)攻擊者比獲取數(shù)據(jù)的收益更高。如果兩方的收益都為正,代表雖然攻擊者企圖攻擊成功,但是對(duì)防御者關(guān)鍵數(shù)據(jù)和服務(wù)并沒(méi)有造成實(shí)質(zhì)的破壞,而且防御者可以從此次攻擊獲得一些有效信息。例如,攻擊行動(dòng)沒(méi)有匹配防御者的漏洞,所以攻擊不會(huì)成功,可攻擊者仍然可以獲得防御者某些配置信息,進(jìn)而開(kāi)始建立一個(gè)新的成功的攻擊,但同時(shí),防御者也會(huì)從未成功的攻擊中獲益。通過(guò)蒙特卡羅抽樣以及分段常值函數(shù)近似方法[25,28]對(duì)攻防收益矩陣評(píng)估,如表2所示,攻擊類(lèi)型以及對(duì)應(yīng)的攻擊能力先驗(yàn)概率如表3所示。
表2 防御者策略和攻擊策略對(duì)應(yīng)的收益關(guān)系
表3 攻擊者類(lèi)型的攻擊能力以及攻擊概率
表3表示每種攻擊類(lèi)型的攻擊概率以及攻擊行動(dòng)集合。這里包括4種攻擊類(lèi)型:黑客1~黑客4,每一個(gè)攻擊類(lèi)型可能有一種或者多種攻擊行動(dòng),并且每種類(lèi)型的攻擊行動(dòng)存在交集。
本實(shí)驗(yàn)利用分解式最優(yōu)貝葉斯?斯坦科爾伯格解決器求解貝葉斯?斯坦科爾伯格博弈問(wèn)題,使用8個(gè)線(xiàn)程,迭代了1 589次,用時(shí)3 ms,優(yōu)化誤差在1×10?4以?xún)?nèi)。通過(guò)求解優(yōu)化問(wèn)題,得到最優(yōu)的混合策略(0.3,0.16,0.27,0.27),即防御者以此概率分布選擇控制器Ryu、ODL、ONOS、Floodlight作為主控制器部署控制層,所獲的收益最大,最大收益是?0.62。當(dāng)使用隨機(jī)策略時(shí),即以(0.25,0.25,0.25,0.25)部署所獲得的收益是?1.25。以純策略部署控制器Ryu、ODL、ONOS,F(xiàn)loodlight,收益分別為?6、?3、?5.6、?6。從而表明貝葉斯?斯坦科爾伯格博弈獲得的調(diào)度策略?xún)?yōu)于隨機(jī)策略和純策略。
進(jìn)一步地,通過(guò)改變攻擊概率分布,觀(guān)察防御者在2種情況的收益變化,比較均衡策略與隨機(jī)策略所獲收益的優(yōu)劣,進(jìn)而證明博弈均衡策略占優(yōu)的一般性。為了方便比較,只考慮3種攻擊類(lèi)型:黑客1、黑客2和黑客3,結(jié)果如表4所示。
表4 博弈策略和隨機(jī)策略的收益對(duì)比
一般來(lái)說(shuō),基于該博弈模型的混合策略不會(huì)劣于隨機(jī)策略和純策略。本節(jié)則進(jìn)一步定量地刻畫(huà)該博弈相比隨機(jī)策略和純策略的增益值。在表5中,防御者采用隨機(jī)策略平均收益是?1.45,而使用貝葉斯?斯坦科爾伯格博弈均衡策略的平均收益是0.37。因此,無(wú)論攻擊類(lèi)型的概率如何分布,貝葉斯?斯坦科爾伯格博弈均衡策略一般優(yōu)于隨機(jī)策略。
表5和表6分別是選取解決1到2個(gè)關(guān)鍵漏洞之后的收益關(guān)鍵結(jié)果。由表6可看出,如果防御者只有修復(fù)一個(gè)安全漏洞的資源能力,4為最關(guān)鍵的漏洞,4修復(fù)之后,收益增益最大,為1.163。如表7所示,如果資源能力可以修復(fù)2個(gè)安全漏洞,則解決的關(guān)鍵漏洞為3、4,修復(fù)3、4之后防御者的收益最高,收益增益為1.449,因此采取自清洗機(jī)制之后,根據(jù)防御者的安全資源修復(fù)關(guān)鍵漏洞之后采取該博弈策略之后,收益遠(yuǎn)高于最初的?0.62。
表5 解決一個(gè)關(guān)鍵漏洞的收益更新(關(guān)鍵部分)
表6 解決2個(gè)關(guān)鍵漏洞的收益更新(關(guān)鍵部分)
分布式異構(gòu)控制器架構(gòu)針對(duì)控制器本身以及開(kāi)放的南北接口有可能被攻擊者利用的脆弱點(diǎn),能夠有效地防止利用這些脆弱點(diǎn)實(shí)施APT攻擊,尤其在一些關(guān)鍵的已商業(yè)部署的SDN網(wǎng)絡(luò)等。同時(shí),在提高安全性的同時(shí),異構(gòu)控制器的動(dòng)態(tài)調(diào)度不可避免地引入了額外的開(kāi)銷(xiāo)代價(jià),如動(dòng)態(tài)調(diào)度控制器之后,控制器需要重新學(xué)習(xí)底層網(wǎng)絡(luò)的端口、主機(jī)信息等,以重新部署網(wǎng)絡(luò)功能,從而導(dǎo)致用戶(hù)在此期間產(chǎn)生新的流請(qǐng)求服務(wù)無(wú)法上交到控制器處理,造成損失。
控制器作為SDN架構(gòu)的核心,安全地位與日俱增。本文創(chuàng)新地設(shè)計(jì)了一種SDN安全控制層架構(gòu)防御安全漏洞威脅,通過(guò)基于貝葉斯?斯坦科爾伯格博弈求得防御者最優(yōu)調(diào)度方案,進(jìn)而指導(dǎo)動(dòng)態(tài)調(diào)度控制器。同時(shí),為了更進(jìn)一步提高控制層的安全性,本文提出了一種自清洗算法。通過(guò)實(shí)驗(yàn)定量地說(shuō)明了博弈策略方案相比于純策略和隨機(jī)策略安全增益,自清洗機(jī)制使控制層一直維持在較高的安全狀態(tài)。本文證明了動(dòng)態(tài)調(diào)度控制器的應(yīng)用概念,未來(lái)工作將以研究計(jì)算調(diào)度周期的問(wèn)題模型,均衡成本和安全需求的最優(yōu)調(diào)度周期為重點(diǎn)。
[1] KREUTZ D,RAMOS F M V, VERISSIMO P. Towards secure and dependable software-defined networks[C]//ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking. 2013: 55-60.
[2] SHIN S, SONG Y, LEE T, et al. Rosemary: a robust, secure, and high-performance network operating system[C]//ACM Conference on Computer and Communications Security. 2014:78-89.
[3] LENG J, ZHOU Y, ZHANG J, et al. An inference attack model for flow table capacity and usage: exploiting the vulnerability of flow table overflow in software-defined network[J]. Water Air & Soil Pollution, 2015, 85(3):1413-1418.
[4] SONCHACK J, AVIV A J, KELLER E. Timing SDN control planes to infer network configurations[C]//ACM International Workshop on Security in Software Defined Networks & Network Function Virtualization. 2016.
[5] LEE S, YOON C, SHIN S. The smaller, the shrewder: a simple malicious application can kill an entire SDN environment[C]//ACM International Workshop on Security in Software Defined Networks & Network Function Virtualization. 2016.
[6] MORZHOV S, ALEKSEEV I, NIKITINSKIY M. Firewall application for Floodlight SDN controller[C]//The International Siberian Conference on Control and Communications. 2016.
[7] SHIN S, SNOS Y LEE T, et al. Rosemary: a robust, secure, and high-performance network operating system[J]. 2014: 78-89.
[8] TOOTOONCHIAN A, GANJALI Y. HyperFlow: a distributed control plane for OpenFlow[C]//Internet Network Management Conference on Research on Enterprise Networking. 2010:3.
[9] SHERWOOD R, GIBB G, YAP K K, et al. FlowVisor: a network virtualization layer[J]. 2009.
[10] YEGANEH S H, GANJALI Y. Kandoo: a framework for efficient and scalable offloading of control applications[C]//The Workshop on Hot Topics in Software Defined Networks. 2012:19-24.
[11] KOPONEN T, CASADO M, GUDE N, et al. Onix: a distributed control platform for large-scale production networks[C]//Usenix Symposium on Operating Systems Design and Implementation(OSDI 2010). 2010:351-364.
[12] DIXIT A, FANG H, MUKHERJEE S, et al. Towards an elastic distributed SDN controller[C]//The 1st Workshop on Hot Topics in Software Defined Networking (HotSDN 2013). 2013: 7-12.
[13] BERDE P, GEROLA M, and HART J, et al. ONOS: towards an open, distributed SDN OS[C]//The Workshop on Hot Topics in Software Defined Networking. 2014:1-6.
[14] LI H, LI P, GUO S, et al. Byzantine-resilient secure software- defined networks with multiple controllers in cloud[C]//2014 IEEE International Conference on Communications (ICC 2014). 2014: 695-700.
[15] ELDEFRAWY K, KACZMAREK T. Byzantine fault tolerant software-defined networking (SDN) controllers[C]//IEEE Computer Society International Conference on Computers, Software & Applications. 2016:208-213.
[16] LEE C, SHIN S. SHIELD: an automated framework for static analysis of SDN applications[C]//ACM International Workshop on Security in Software Defined Networks & Network Function Virtualization. 2016:29-34.
[17] WILCZEWSKI. Security considerations for equipment controllers and SDN[C]//2016 IEEE International Telecommunications Energy Conference (INTELEC). 2016:1-5.
[18] AHMAD I, NAMAL S, YLIANTTILA M, et al. Security in software defined networks: a survey[J]. IEEE Communications Surveys & Tutorials, 2015, 17(4): 1.
[19] PORRAS P, SHIN S, YEGNESWARAN V, et al. A security enforcement kernel for OpenFlow networks[C]//The First Workshop on Hot Topics in Software Defined Networks. 2012. 121-126
[20] SONCHACK J, AVIV A J, KELLER E, et al. Enabling practical software-defined networking security applications with OFX[C]// Network and Distributed System Security Symposium. 2016.
[21] MEDVED J, VARGA R, TKACIK A, et al. OpenDaylight: towards a model-driven SDN controller architecture[C]//IEEE International Symposium on World of Wireless, Mobile and Multimedia Networks. 2014:1-6.
[22] WANG T, LIU F, GUO J, et al. Dynamic SDN controller assignment in data center networks: Stable matching with transfers[C]// IEEE Conference on Computer Communications. 2016:1-9.
[23] LU Z P, CHEN F C, et al. Poster: a secure control plane with dynamic multi-NOS for SDN[C]//NDSS Posters. 2017.
[24] LEE S, YOON C. DELTA: a security assessment framework for software-defined networks[C]//Network and Distributed System Security Symposium. 2017.
[25] KIEKINTVELD C, MARECKI J, TAMBE M. Approximation methods for infinite bayesian stackelberg games: Modeling distributional payoff uncertainty[C]//The 10th International Conference on Autonomous Agents and Multiagent Systems. 2011:1005–1012.
[26] PARUCHURI P , PEARCE J P. Playing games for security: an efficient exact algorithm for solving bayesian stackelberg games[C]//The 7th International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS’08). 2008: 895?902.
[27] DAVID Jorm. 44CON LONDON 2015 Presentations[EB/OL]. https:// 44con.com/44con-london-2015/44con-london-2015-presentations/
[28] PITA J, JAIN M, TAMBE M, et al. Robust solutions to stackelberg games: addressing bounded rationality and limited observations in human cognition[J]. Artificial Intelligence, 2010, 174(15): 1142-1171.
Secure control plane for SDN using Bayesian Stackelberg games
LU Zhen-ping, CHEN Fu-cai, CHENG Guo-zhen
(National Digital Switching System Engineering & Technological R&D Center, Zhengzhou 450002, China)
A dynamic scheduling controller in SDN control layer was proposed by dynamically transform heterogeneous controlled in order to increase the difficulty of the attacker. Firstly, a dynamic scheduling method based on Bayesian Stackelberg games the attacker and defender were game participation on both sides, obtained the equilibrium, which guided the scheduling strategy. Secondly, introducing a self-cleaning mechanism, it improved the gain of the control layer security combined with game strategy form closed-loop defense mechanism. The experiments described quantitatively based on the game strategy compared with traditional safety control layer to deploy a single controller and adopt the strategy of random scheduling profit gain of the controller, and self-cleaning mechanism could make the control plane to be in a higher level of security.
software defined networking, network security, Bayesian Stackelberg games, controller
TP309
A
10.11959/j.issn.2096-109x.2017.00211
盧振平(1992-),男,河南商丘人,國(guó)家數(shù)字程控交換系統(tǒng)工程技術(shù)研究中心碩士生,主要研究方向?yàn)檐浖x網(wǎng)絡(luò)、網(wǎng)絡(luò)先進(jìn)防御。
陳福才(1974-),男,江西南昌人,碩士,國(guó)家數(shù)字程控交換系統(tǒng)工程技術(shù)研究中心研究員,主要研究方向?yàn)殡娦啪W(wǎng)關(guān)防、網(wǎng)絡(luò)安全。
程國(guó)振(1986-),男,山東菏澤人,博士,國(guó)家數(shù)字程控交換系統(tǒng)工程技術(shù)研究中心助理研究員,主要研究方向?yàn)樵茢?shù)據(jù)中心、軟件定義網(wǎng)絡(luò)、網(wǎng)絡(luò)安全。
2017-05-10;
2017-09-20。
盧振平,13203728376@163.com
國(guó)家自然科學(xué)基金創(chuàng)新群體基金資助項(xiàng)目(No.61521003);國(guó)家重點(diǎn)研發(fā)計(jì)劃基金資助項(xiàng)目(No.2016YFB0800100, No.2016YFB0800101);國(guó)家自然科學(xué)基金青年基金資助項(xiàng)目(No.61309020);國(guó)家自然科學(xué)基金青年基金資助項(xiàng)目(No.61602509)
The Foundation for Innovative Research Groups of the National Natural Science Foundation of China (No.61521003), The National Key R&D Program of China (No.2016YFB0800100, No.2016YFB0800101), The National Natural Science Foundation of China (No.61309020), The National Natural Science Foundation of China (No.61602509)