吳奇,陳鴻昶,陳福才
?
異構(gòu)容錯控制平面的安全性分析
吳奇,陳鴻昶,陳福才
(國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南 鄭州 450001)
隨著軟件定義網(wǎng)絡(luò)的大規(guī)模應(yīng)用,軟件定義網(wǎng)絡(luò)的安全性顯得愈發(fā)重要?;诋悩?gòu)思想的容錯控制平面作為一種重要的防御思路,近年來越來越引起研究者的注意。但是現(xiàn)有容錯控制平面的研究中忽視了異構(gòu)原件中的同構(gòu)漏洞問題,這大大降低了容錯控制架構(gòu)對軟件定義網(wǎng)絡(luò)的安全收益。從異構(gòu)原件中的同構(gòu)漏洞出發(fā),首先分析了同構(gòu)漏洞對控制平面的安全影響,然后以此為基礎(chǔ)對容錯控制平面的容忍能力進行量化,構(gòu)造出一個最大化容忍能力的控制平面布局方法。實驗仿真證明了所提方法可以有效降低控制平面的故障概率,攻擊者在對基于所提方法構(gòu)造的控制平面進行攻擊時,需要花費更多的攻擊成本才可以癱瘓控制平面。
軟件定義網(wǎng)絡(luò);同構(gòu)漏洞;異構(gòu)控制器;容忍能力
軟件定義網(wǎng)絡(luò)(SDN,software defined network)將控制與轉(zhuǎn)發(fā)分離,形成應(yīng)用層、控制層、數(shù)據(jù)層的3層結(jié)構(gòu),通過南向可編程接口開放了網(wǎng)絡(luò),促進了網(wǎng)絡(luò)創(chuàng)新,簡化了網(wǎng)絡(luò)管理[1]。近些年,隨著SDN在現(xiàn)實社會中大規(guī)模應(yīng)用,其安全性越來越受到研究者的關(guān)注。有些研究者嘗試通過增強SDN中控制器的安全能力進而提高整個SDN的安全性,該類方法通常在SDN的內(nèi)核中增加一個安全內(nèi)核,如FortNOX[2]和ROSEMARY[3]中的安全內(nèi)核,通過權(quán)限管理、角色劃分的機制保證SDN的內(nèi)核層不被攻擊者攻擊或篡改。但該類機制無法有效應(yīng)對SDN中的單點失效問題。于是有研究者提出了容錯控制平面,該類設(shè)計可以通過在控制平面部署多個控制器避免單一控制器的損壞對SDN帶來的安全隱患,如kandoo[4]、CoVisor[5]等。一旦控制器出現(xiàn)故障,該控制器的備份元件就替換原有的故障控制器,以此完成控制平面的修復(fù)。
雖然容錯控制平面給SDN帶來更高的頑健性,但由于容錯控制平面中控制器是由結(jié)構(gòu)相同的原件組成的,一旦攻擊者利用漏洞使控制平面中一個控制器發(fā)生故障,如消息阻塞、控制器宕機等,其他所有的控制器很可能由于該漏洞而出現(xiàn)故障。如圖1所示,若攻擊者已經(jīng)探知控制平面的控制器為Floodlight,那么無論容錯控制平面利用多少個備份Floodlight控制器進行錯誤修復(fù),攻擊者仍可以利用Exit宕機攻擊癱瘓Floodlight控制平面[6-7]。一旦攻擊者攻陷了全部的控制器,控制平面將無法正常處理請求消息,整個SDN就會處于崩潰的狀態(tài)。
圖1 同構(gòu)控制平面的安全風(fēng)險
為了解決這種問題,有研究者嘗試使用結(jié)構(gòu)相異的異構(gòu)控制器對容錯控制平面進行優(yōu)化,進而避免上述的同構(gòu)錯誤問題。但實際上,由于很多第三方公用庫及開源工具被廣泛應(yīng)用,異構(gòu)原件間也有可能存在同構(gòu)漏洞。例如,若控制平面利用Windows和Linux構(gòu)造運行環(huán)境,攻擊者可以利用2種操作系統(tǒng)間的共性漏洞(如CVE-2018-8897等[8])癱瘓控制平面;若控制平面利用Floodlight和ONOS來構(gòu)造,攻擊者可以利用發(fā)布訂閱機制中的權(quán)限漏洞終止部分控制器的功能,進而癱瘓控制平面[9]。
故對控制平面而言,如何在異構(gòu)控制器間存在同構(gòu)漏洞的前提下,最大限度上發(fā)揮容錯機制對SDN控制層的保護能力是容錯控制平面必須解決的問題。本文以此為出發(fā)點,設(shè)計了一種異構(gòu)容錯控制平面布局方法。首先,本文利用探測次數(shù)對單個控制器及整個控制平面的安全能力進行量化;然后,為了最大化控制平面的安全能力,提出了一種基于相似度的異構(gòu)容錯控制平面的布局方法;最后,本文對所提算法進行了仿真,仿真結(jié)果證明所提算法可以有效降低控制平面的故障概率,攻擊者在對該平面進行攻擊時,其需要花費更多的攻擊成本才可以癱瘓控制平面。
安全性問題一直是SDN中的重要問題,目前已經(jīng)有很多研究者對SDN的安全問題進行了深入研究。
有些研究者嘗試對控制平面中每一個控制器內(nèi)部結(jié)構(gòu)中的安全性問題進行研究,Gude等[10]在開源控制器NOX的基礎(chǔ)上設(shè)計了一種新的安全內(nèi)核FortNOX[2],其可以利用角色的數(shù)據(jù)源認證模塊(role-based source authentication module)對每個流規(guī)則進行簽名,并為候選流規(guī)則指定相應(yīng)的特權(quán)類別,進而避免流沖突等可能導(dǎo)致控制器故障的問題。之后,他們對開源控制器Floodlight[11]進行了類似的安全擴展,設(shè)計了Floodlight控制器的安全增強版本SE-Floodlight[12],SE-Floodlight 控制器繼承了FortNOX的設(shè)計思路,并進行了擴充和完善。除了上述基于已有開源控制器的研究外,還有研究者設(shè)計了全新的安全控制器,如Rosemary[3]和PANE[13],這些控制器在設(shè)計和開發(fā)之初,便將安全性作為核心問題之一進行考慮,通過突破已有控制器在系統(tǒng)架構(gòu)、編程語言和預(yù)留接口等方面的限制,以此提高控制平面的安全性。
上述安全控制器可以一定程度上解決控制器內(nèi)部的安全問題,但是其仍然無法解決SDN中的典型安全問題:單點失效問題,即一旦控制器出現(xiàn)錯誤,整個SDN將陷入異常。為了解決這個問題,針對容錯控制平面的安全研究應(yīng)運而生。為了避免單點失效,早期的SDN控制平面研究主要關(guān)注于分布式控制平面,如Onix[14]、OpenDaylight[15]和ONOS[16],這些機制可以通過在控制平面部署多個控制器來避免單點失效問題。之后有研究者提出了層次化控制平面,Yeganeh等[4]設(shè)計了一種雙層控制平面,其核心思路在于頂層控制器管理底層控制器的工作狀態(tài),底層控制器負責對數(shù)據(jù)層直接進行管理,該機制可以保證當一個底層控制器出現(xiàn)故障時,頂層控制器可以迅速發(fā)現(xiàn)故障并進行修復(fù)。CoVisor[5]通過在控制層和數(shù)據(jù)層之間加入一個中間層,將控制層的多個控制器組合成一個控制器,避免了單個控制器故障對整個網(wǎng)絡(luò)的影響。近些年,還有研究者嘗試利用容錯控制平面[17-20]進一步提高控制平面的安全能力,該機制的核心思路為在控制平面部署不同類型的控制器,并通過在控制器間運行拜占庭協(xié)議、大數(shù)判決等機制,避免多個控制器同時故障的情形。
對一個控制器而言,攻擊者需要經(jīng)歷2個階段(探測弱點、實施攻擊),才可以成功實施對控制器的攻擊。一般來說,攻擊者對控制器探測的次數(shù)越多,越有可能發(fā)現(xiàn)控制平面的弱點[21],故利用攻擊者對控制器的探測數(shù)表示控制器的安全能力,可以表示為
將式(5)代入式(1),可以計算出控制器故障概率和攻擊者探測次數(shù)的關(guān)系。
s.t.
首先,定義控制平面的相似度指標,可以被計算為
考慮到上述過程可以使解陷入局部最優(yōu)解,本文借鑒模擬退火算法中的Metropolis準則接受控制平面的新解。
算法1 基于相似度的異構(gòu)容錯控制平面的布局方法
8) else
11) end if
12) end if
14) break
15) end if
16) end while
圖2 控制平面解的遍歷過程
本節(jié)對所提方法進行實驗評估。為合理地對所提方法進行評估,本文利用枚舉法(Optimal)、隨機法(Random)和最差法(Worst)與所提方法進行對比,枚舉法是指遍歷全部的解空間尋找到容忍能力最大的控制平面;隨機法是指隨機從可選控制器池中選取控制平面,為避免隨機誤差,運算10 000次取平均值;最差法是指從可選控制器池中選取容忍能力最差的控制平面。
考慮到控制器又被稱為網(wǎng)絡(luò)操作系統(tǒng)(network operation system)[10],借鑒操作系統(tǒng)中漏洞構(gòu)造實驗所需要的漏洞數(shù)據(jù)集。操作系統(tǒng)中漏洞統(tǒng)計數(shù)據(jù)來自CVE(common vulnerabilities and exposures)[7],其中包含11種操作系統(tǒng)間的漏洞表,如表1所示。其中,OB表示OPENBSD,NB表示NETBSD,F(xiàn)B表示FREEBSD,W03表示W(wǎng)INDOWS SERVER2003,W08表示W(wǎng)INDOWS SERVER 2008,W12表示W(wǎng)INDOWS SERVER2012,UB表示UBUNTU,DE表示DEBIAN,RE表示REDHAT,SO表示SOLARIS,OS表示OPENSOLARIS。
表1 操作系統(tǒng)中的漏洞統(tǒng)計
圖3 控制平面的控制器數(shù)量K變化時所提方法和幾種方法對比
圖4 不同方法下控制平面故障概率變化的對比
圖4表示了控制平面部署不同數(shù)量的控制器時,控制平面的故障概率隨著探測次數(shù)增加的變化情況。通過4幅圖的橫向?qū)Ρ瓤梢园l(fā)現(xiàn),隨著控制器數(shù)量增多,控制平面故障概率的提升速度會明顯變慢,但不同方法配置的控制平面故障概率的變化速度不同,顯然,在攻擊者探測數(shù)量增多時,所提方法與枚舉法構(gòu)造出的控制平面的故障概率增長速度接近,它們的性能遠遠優(yōu)于隨機法和最差法,這表明所提方法有效地降低了控制平面的故障概率。
本文首先利用控制器中的漏洞對控制平面的容忍能力和故障概率進行定義,分析了同構(gòu)漏洞對控制平面安全性的影響;然后為了提高控制平面的容錯能力,提出了一種基于相似度的異構(gòu)容錯控制平面的布局方法。最后,對所提模型及算法進行驗證,實驗結(jié)果表明,所提算法可以有效提高控制平面的容錯能力,降低攻擊者攻擊對控制平面安全能力的影響。
[1] 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.
[2] PORRAS P, SHIN S, YEGNESWARAN V, et al. A security enforcement kernel for OpenFlow networks[C]//International Workshop on Hot Topics in Software Defined Networks. ACM, 2012:121-126.
[3] SHIN S, SONG Y, LEE T, et al. Rosemary: a robust, secure, and high-performance network operating system[C]//Conference on Computer and Communications Security. ACM, 2014:78-89.
[4] 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. ACM, 2012:19-24.
[5] JIN X, GOSSELS J, Rexford J, et al. CoVisor: a compositional hypervisor for software-defined networks[C]// Usenix Conference on Networked Systems Design and Implementation. USENIX Association, 2015:87-101.
[6] 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.
[7] 盧振平, 陳福才, 程國振. 軟件定義網(wǎng)絡(luò)中控制器調(diào)度時間機制設(shè)計與實現(xiàn)[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2018(1):36-44.
LU Z P, CHEN F C, CHENG G Z .Design and implementation of the controller scheduling-time in SDN[J].Chinese Journal of Network and Information Security, 2018(1):36-44.
[8] [EB/OL]. http://cve.mitre.org/
[9] YOON C, LEE S, KANG H, et al. Flow wars: systemizing the attack surface and defenses in software-defined networks[J]. IEEE/ACM Transactions on Networking, 2017, (99):1-17.
[10] GUDE N, KOPONEN T, PETTIT J, et al. NOX: towards an operating system for networks[J]. ACM Sigcomm Computer Communication Review, 2008, 38(3):105-110.
[11] Floodlight documentation[EB/OL]. http://www.projectfloodlight. org/display/floodlightcon-troller/Floodlight +Documentation
[12] CHEUNG S, FONG M, PORRAS P, et al. Securing the software-defined network control layer[C]// Proceedings of the Network and Distributed System Security Symposium, 2015.
[13] FERGUSON A D, GUHA A, LIANG C, et al. Participatory networking: an API for application control of SDNs[C]//ACM SIGCOMM. 2013:327-338.
[14] KOPONEN T, CASADO M, GUDE N, et al. Onix: a distributed control platform for large-scale production networks[C]//Usenix Conference on Operating Systems Design and Implementation. 2010:351-364.
[15] MEDVED J, VARGA R, TKACIK A, et al. OpenDaylight: towards a model-driven SDN controller architecture[C]// IEEE, International Symposium on a World of Wireless, Mobile and Multimedia Networks. IEEE, 2014:1-6.
[16] BERDE P, HART J, HART J, et al. ONOS: towards an open, distributed SDN OS[C]// The Work-shop on Hot Topics in Software Defined Networking. ACM, 2014:1-6.
[17] Castro M , Liskov B . Practical byzantine fault tolerance and proactive recovery[J]. ACM Transactions on Computer Systems, 2002, 20(4):398-461.
[18] BOTELHO F, BESSANI A, RAMOS F M V, et al. On the design of practical fault-tolerant SDN controllers [C]//. European Workshop on Software-Defined Networks, 2014:73-78.
[19] Li H, Li P, Guo S, et al. Byzantine-resilient secure software-defined networks with multiple controllers[J]. IEEE Transactions on Cloud Computing, 2015, 2(4):436-447.
[20] 王禛鵬, 扈紅超, 程國振, 等. 軟件定義網(wǎng)絡(luò)下的擬態(tài)防御實現(xiàn)架構(gòu)[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2017, 3(10):52-61.
WANG Z P, HU H C, CHENG G Z, et al. Implementation architecture of mimic security defense based on SDN[J].Chinese Journal of Network and Information Security, 2017, 3(10):52-61.
[21] KELLER E, et al. Timing-based reconnaissance and defense in software-defined networks[C]// Conference on Computer Security Applications. ACM, 2016:89-100.
Security analysis in heterogeneous fault-tolerant control plane
WU Qi, CHEN Hongchang, CHEN Fucai
National Digital Switching System Engineering and Technological R&D Center, Zhengzhou 450001, China
With the large-scale application of software-defined networks, the security of software-defined networks becomes more and more important. As an important defense idea, the fault-tolerant control plane based on heterogeneity has attracted more and more researchers' attention in recent years. However, the existing researches ignore the problem of common vulnerability in heterogeneous variants, which greatly reduces the security benefits of the fault-tolerant control architecture for software-defined networks. Addressing this problem, the common vulnerability was taken in heterogeneous variants into considerations. First, the tolerance capability of the fault-tolerant control plane was quantified. Then a control plane deployment method was constructed which was able to maximize the tolerance capability. The simulations show that the proposed method can effectively reduce the failure probability of the control plane. When the attackers attack the control plane constructed based on the proposed method, they pay more attack cost to compromise the control plane.
software-defined network, common vulnerability, heterogeneous variant, tolerance capability
TP393
A
10.11959/j.issn.2096-109x.2018095
吳奇(1991-),男,江蘇徐州人,國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心博士生,主要研究方向為網(wǎng)絡(luò)安全。
陳鴻昶(1964-),男,河南鄭州人,國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心研究員、博士生導(dǎo)師,主要研究方向為網(wǎng)絡(luò)安全方向、大數(shù)據(jù)。
陳福才(1974-),男,江西高安人,國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心研究員、碩士生導(dǎo)師,主要研究方向為網(wǎng)絡(luò)安全方向、大數(shù)據(jù)。
2018-09-15;
2018-10-20
吳奇,wqstudy@outlook.com
國家重點研發(fā)計劃資金資助項目(No.2016YFB0800101);國家自然科學(xué)創(chuàng)新群體基金資助項目(No.61521003)
The National Key R&D Program of China (No.2016YFB0800101), The Foundation for Innovative Research Groups of the National Natural Science Foundation of China (No.61521003)