王 健 趙國(guó)生 趙中楠 李 可
1(哈爾濱理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 哈爾濱 150080)2(哈爾濱師范大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院 哈爾濱 150025)
脆弱性是引發(fā)網(wǎng)絡(luò)安全問(wèn)題的重要因素,始終是網(wǎng)絡(luò)安全領(lǐng)域研究的熱點(diǎn)之一.隨著人們對(duì)網(wǎng)絡(luò)需求的日益提高,網(wǎng)絡(luò)架構(gòu)也在發(fā)生著重大變化.一種新型網(wǎng)絡(luò)架構(gòu)——軟件定義網(wǎng)絡(luò)(software defined networking, SDN)的出現(xiàn)[1],更好地滿足了人們的需求.它采用控制和轉(zhuǎn)發(fā)相分離的體系架構(gòu),使網(wǎng)絡(luò)管理員可以通過(guò)軟件實(shí)現(xiàn)任意的網(wǎng)絡(luò)控制邏輯,而不需要對(duì)網(wǎng)絡(luò)設(shè)備本身進(jìn)行修改,具備極強(qiáng)的靈活性與開(kāi)放性.在SDN的靈活性與開(kāi)放性為網(wǎng)絡(luò)管理員及用戶帶來(lái)便利的同時(shí),也使網(wǎng)絡(luò)引入了更大的安全風(fēng)險(xiǎn)及脆弱性.從控制器通過(guò)南向接口傳播蠕蟲(chóng)病毒給底層交換機(jī)[2],由交換機(jī)對(duì)控制器發(fā)起DDoS攻擊[3],應(yīng)用層惡意非法用戶篡改身份占用SDN帶寬[4]等,都會(huì)造成SDN的癱瘓故障.因此,SDN的安全問(wèn)題成為制約其普及應(yīng)用的障礙.
目前,針對(duì)SDN脆弱性研究仍處于初級(jí)階段.文獻(xiàn)[5]基于SDN的可編程性提出了一種防火墻應(yīng)用,該應(yīng)用可以不借助任何硬件即可工作,解決了傳統(tǒng)網(wǎng)絡(luò)中不同防火墻間規(guī)則沖突等問(wèn)題.文獻(xiàn)[6]面向云計(jì)算,提出了一種入侵檢測(cè)和控制器的聯(lián)動(dòng)機(jī)制相融合的入侵防御方法,該方法解決了傳統(tǒng)的入侵防御系統(tǒng)由于串聯(lián)在網(wǎng)絡(luò)環(huán)境中且處理能力有限所造成的網(wǎng)絡(luò)擁塞問(wèn)題.文獻(xiàn)[7-10]結(jié)合SDN集中控制與網(wǎng)絡(luò)虛擬化的特性,利用SDN網(wǎng)絡(luò)解決在傳統(tǒng)網(wǎng)絡(luò)中一直困擾網(wǎng)絡(luò)管理者的DDos攻擊問(wèn)題.以上研究者的關(guān)注點(diǎn)在通過(guò)SDN解決某些在傳統(tǒng)網(wǎng)絡(luò)中不能妥善解決的問(wèn)題,而沒(méi)有關(guān)注到SDN自身的安全問(wèn)題.文獻(xiàn)[11]根據(jù)STRIDE威脅影響模型對(duì)SDN所面臨的脆弱性問(wèn)題及解決策略進(jìn)行研究,但是并沒(méi)有考慮到SDN內(nèi)脆弱性的關(guān)系及擴(kuò)散差異問(wèn)題.文獻(xiàn)[12]則研究SDN內(nèi)交換機(jī)、控制器、通信信道等重要的網(wǎng)絡(luò)元件所具有的脆弱性問(wèn)題及解決對(duì)策,雖然該方法考慮到了SDN內(nèi)各網(wǎng)絡(luò)元件之間的差異性,但是并沒(méi)有考慮脆弱性在SDN層內(nèi)及層間的動(dòng)態(tài)擴(kuò)散問(wèn)題.此外,一些研究者則從局部,比如以SDN架構(gòu)某一層[13-16]或接口[17-18]為切入點(diǎn)來(lái)對(duì)SDN存在的脆弱性問(wèn)題進(jìn)行分析,還有一些研究者則從整體架構(gòu)層面[19-22]對(duì)SDN存在的脆弱性問(wèn)題進(jìn)行分析.這些研究都是從局部或外部層面上對(duì)SDN面臨的脆弱性問(wèn)題及解決策略進(jìn)行分析,并沒(méi)有對(duì)脆弱性的產(chǎn)生及擴(kuò)散的內(nèi)部因素等展開(kāi)深入研究,難以有效指導(dǎo)SDN的安全設(shè)計(jì).文獻(xiàn)[23]針對(duì)SDN流表更新一致性的問(wèn)題及措施展開(kāi)研究.文獻(xiàn)[24]針對(duì)SDN開(kāi)放性較高及安全問(wèn)題出現(xiàn)概率較大的問(wèn)題,對(duì)SDN的接入控制進(jìn)行研究.上述研究面向SDN中的某一具體安全問(wèn)題進(jìn)行了探討,但是這些研究結(jié)果因針對(duì)性較強(qiáng),不能遷移到其他類(lèi)型安全問(wèn)題的分析,即上述研究并沒(méi)有系統(tǒng)地分析安全性問(wèn)題產(chǎn)生的內(nèi)在原因或者說(shuō)脆弱性擴(kuò)散/傳播的內(nèi)在因素.
綜上所述,研究者更多關(guān)注于基于SDN增強(qiáng)傳統(tǒng)網(wǎng)絡(luò)的安全性,雖然已有部分研究為引發(fā)SDN安全性問(wèn)題的內(nèi)因(脆弱性)及其預(yù)測(cè)抑制提供了重要的研究基礎(chǔ),但由于SDN分層架構(gòu)、集中控制及開(kāi)放靈活等特性而引入的脆弱性擴(kuò)散分析仍具有一定局限性:1)已有研究?jī)H面向SDN不同組件,已有安全模型僅針對(duì)某一類(lèi)脆弱點(diǎn)引發(fā)的安全問(wèn)題,各有其應(yīng)用與限制范圍,未突破面向SDN脆弱性分析的簡(jiǎn)單性和局限性;2)目前對(duì)于SDN脆弱性的分析,普遍基于三層兩接口的SDN架構(gòu)進(jìn)行分類(lèi)描述,但在實(shí)際SDN安全對(duì)抗中,往往是采用跨層模式,已有研究缺乏對(duì)SDN脆弱性及其擴(kuò)散過(guò)程的完整描述與分析能力;3)雖然已有少量研究涉及SDN內(nèi)脆弱性的關(guān)系及擴(kuò)散差異性,但并沒(méi)有考慮脆弱性在SDN層內(nèi)及層間的動(dòng)態(tài)擴(kuò)散問(wèn)題,對(duì)于脆弱性系統(tǒng)化地建模與動(dòng)態(tài)擴(kuò)散過(guò)程分析,尚無(wú)實(shí)際解決方案.
① 文內(nèi)不再區(qū)分反應(yīng)與動(dòng)作,因“動(dòng)作”為PEPA中的概念,“反應(yīng)”為生化網(wǎng)絡(luò)環(huán)境下與PEPA中動(dòng)作相等價(jià)的概念,Bio-PEPA為PEPA基礎(chǔ)上融合生化網(wǎng)絡(luò)概念發(fā)展而來(lái)的新型形式化語(yǔ)言,因此在Bio-PEPA中二者等價(jià),無(wú)區(qū)分的必要.
針對(duì)已有研究不足,本文借助形式化建模語(yǔ)言Bio-PEPA,對(duì)SDN脆弱性擴(kuò)散問(wèn)題以層為單位進(jìn)行建模,通過(guò)SDN層內(nèi)及層間脆弱性擴(kuò)散的形式化模型,研究SDN內(nèi)脆弱性在水平(層內(nèi))及垂直(層間)2個(gè)維度內(nèi)的擴(kuò)散本質(zhì),抑制脆弱性在SDN內(nèi)的擴(kuò)散.本文的主要貢獻(xiàn)有5個(gè)方面:
1) 系統(tǒng)分析了SDN內(nèi)不同組件及SDN各層/接口存在的脆弱性及內(nèi)在安全交互問(wèn)題;
2) 基于Bio-PEPA的層次化特性,構(gòu)建SDN脆弱性擴(kuò)散過(guò)程的形式化模型,提高了對(duì)SDN組件間邏輯關(guān)系及動(dòng)態(tài)演化過(guò)程的描述能力;
3) 考慮了脆弱性在SDN架構(gòu)層內(nèi)及層間2個(gè)維度上的擴(kuò)散機(jī)理,適合于SDN脆弱性擴(kuò)散的特點(diǎn),以此為基礎(chǔ)系統(tǒng)地分析SDN脆弱性的擴(kuò)散規(guī)律;
4) 借助Eclipse Bio-PEPA Plugin工具,分別采用ODEs和Gillespie’s Stochastic方法對(duì)SDN脆弱性模型進(jìn)行分析,過(guò)程透明客觀,驗(yàn)證其合理性;
5) 實(shí)現(xiàn)對(duì)SDN脆弱性的實(shí)時(shí)監(jiān)控,進(jìn)一步對(duì)擴(kuò)散因素及趨勢(shì)進(jìn)行分析與預(yù)測(cè),使面向SDN脆弱性的管理從被動(dòng)變?yōu)橹鲃?dòng),并制定有效的抑制策略,提升SDN安全性.
Bio-PEPA是為生化系統(tǒng)的建模和分析而開(kāi)發(fā)的一種形式化語(yǔ)言.它主要包括描述物種行為的物種組件(S)和描述物種組件間交互的模型組件(P).2種組件描述為[25]:
S∷=(α,k)opS|S+S|C,
(1)
其中,op=↓ | ↑ |⊕|?|⊙;
(2)
此外,還需對(duì)Bio-PEPA中的位置(locaction)進(jìn)行說(shuō)明,位置構(gòu)成了靜態(tài)層次結(jié)構(gòu),適用于SDN這種具有明顯層次結(jié)構(gòu)的性能分析.符號(hào)S@L表示由組件S描述的物種位于位置L中.每個(gè)位置由“L:sunit,kind”表示.其中L是位置的名稱(chēng),是唯一的;s表示大小;unit是與之相關(guān)的度量單位;kind代表種類(lèi).
為收集系統(tǒng)動(dòng)態(tài)信息,Bio-PEPA用函數(shù)速率fa與動(dòng)作α相關(guān)聯(lián).這個(gè)函數(shù)代表了關(guān)聯(lián)反應(yīng)的動(dòng)力學(xué)規(guī)律,即反應(yīng)速率.對(duì)于函數(shù)速率的定義,Bio-PEPA考慮具有簡(jiǎn)單運(yùn)算的數(shù)學(xué)表達(dá)式和包含常數(shù)參數(shù)和分量的運(yùn)算符,所有動(dòng)力學(xué)法則都可按照這種方式進(jìn)行定義.Bio-PEPA還包括一些預(yù)定義函數(shù)來(lái)表達(dá)最常用的動(dòng)力學(xué)法則.因此,函數(shù)速率可以通過(guò)數(shù)學(xué)操作符(sk)和預(yù)定義函數(shù)(sk2)進(jìn)行定義:
(3)
sk∷=int|float|vachar|sk+sk|sk×sk|sk/sk|sk-
sk|sks k|exp(x)|log(sk)|sin(sk)|cos(sk),
(4)
sk2∷=fMA(sk)|fMM(sk,sk)|fH(sk,sk,int).
(5)
本文涉及的函數(shù)速率為mass-action類(lèi)型,即f_rate∷=fMA(sk),該類(lèi)型反應(yīng)①的反應(yīng)速率僅與反應(yīng)物濃度相關(guān),即對(duì)于任意反應(yīng)α,函數(shù)速率(即反應(yīng)速率)fα∷=fMA(rα)=rα×反應(yīng)物濃度,其中r為反應(yīng)轉(zhuǎn)化率參數(shù).
Bio-PEPA可以通過(guò)多種方法進(jìn)行求解,如隨機(jī)模擬、連續(xù)時(shí)間Markov鏈(CTMC)和常微分方程(ODEs)的方式進(jìn)行求解,同時(shí)Bio-PEPA語(yǔ)言有一整套自動(dòng)處理Bio-PEPA模型的軟件工具支持模型求解.求解Bio-PEPA主要是為了獲得各組件的近似穩(wěn)態(tài)概率,繼續(xù)對(duì)系統(tǒng)做進(jìn)一步的分析.所謂近似穩(wěn)態(tài)概率是指模型穩(wěn)定后,各種類(lèi)組件的數(shù)量占所有組件總量的比例.本文用這個(gè)性能參數(shù)來(lái)評(píng)價(jià)SDN網(wǎng)絡(luò)的脆弱性擴(kuò)散結(jié)果.
SDN是一種集中控制的網(wǎng)絡(luò)架構(gòu),其空間結(jié)構(gòu)主要包括3個(gè)層次:基礎(chǔ)設(shè)施層(infra-structure layer)、控制層(control layer)和應(yīng)用層(application layer).該架構(gòu)將傳統(tǒng)網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)平面和控制平面分離,底層硬件的復(fù)雜度得到大大簡(jiǎn)化.主張通過(guò)集中式的控制器平臺(tái)實(shí)現(xiàn)網(wǎng)絡(luò)的控制,由于軟件控制器的數(shù)量遠(yuǎn)遠(yuǎn)小于傳統(tǒng)網(wǎng)絡(luò)中網(wǎng)絡(luò)設(shè)備的數(shù)量,配置和檢查工作均被大大簡(jiǎn)化;另外,由于軟件控制器一般由第三方實(shí)現(xiàn),使得控制平面脫離了硬件廠商的限制,修改和添加新特性只需在軟件控制器上修改或者添加應(yīng)用即可,相比于傳統(tǒng)網(wǎng)絡(luò)簡(jiǎn)單很多.雖然SDN為網(wǎng)絡(luò)引進(jìn)了控制面和數(shù)據(jù)層分離,具有簡(jiǎn)化底層硬件實(shí)現(xiàn)、簡(jiǎn)化網(wǎng)絡(luò)配置過(guò)程以及向上層應(yīng)用提供網(wǎng)絡(luò)全局視圖等優(yōu)點(diǎn),但是,作為一個(gè)尚在起步階段的體系結(jié)構(gòu),SDN在簡(jiǎn)化網(wǎng)絡(luò)管理、縮短創(chuàng)新周期的同時(shí),也引入了不可低估的安全威脅.
基礎(chǔ)設(shè)施層位于SDN網(wǎng)絡(luò)架構(gòu)的最底層,由路由器、物理/虛擬交換機(jī)、接入點(diǎn)等網(wǎng)絡(luò)設(shè)備組成.該層主要負(fù)責(zé)數(shù)據(jù)的處理、轉(zhuǎn)發(fā)和狀態(tài)收集,底層硬件的復(fù)雜度得到大大簡(jiǎn)化.該層設(shè)備是可訪問(wèn)的,通過(guò)南向接口,由控制器管理,對(duì)控制器下發(fā)的流規(guī)則完全信任.該層存在的主要脆弱性問(wèn)題包括:惡意/虛假流規(guī)則注入、DDoS/DoS攻擊、數(shù)據(jù)泄露、非法訪問(wèn)、身份假冒和交換機(jī)自身的配置缺陷等.此外,基礎(chǔ)設(shè)施層還可能面臨著由虛假控制器的無(wú)序控制指令導(dǎo)致的交換機(jī)流表混亂等威脅.
控制層包含一個(gè)特別的網(wǎng)絡(luò)組件控制器,按照邏輯集中物理分散的原則進(jìn)行分布.控制器實(shí)質(zhì)上是一個(gè)軟件平臺(tái),主要負(fù)責(zé)SDN網(wǎng)絡(luò)內(nèi)流規(guī)則的建立和終止.SDN控制器為底層網(wǎng)絡(luò)提供可編程接口,其整體管理功能完全托付在SDN控制器,這有利于整個(gè)網(wǎng)絡(luò)的集中管理.同樣,這也成為SDN的致命弱點(diǎn).當(dāng)攻擊者入侵控制器,將有能力控制整個(gè)網(wǎng)絡(luò),進(jìn)而將給SDN帶來(lái)難以估量的危害.控制層的典型脆弱性問(wèn)題是集中式管控帶來(lái)的控制器單點(diǎn)故障問(wèn)題,如針對(duì)控制器的DoS/DDoS攻擊及控制器在邏輯/物理上遭到破壞而導(dǎo)致的拒絕服務(wù)等故障.此外,控制層還面臨非法訪問(wèn)、身份假冒、惡意/虛假流規(guī)則注入以及控制器自身的配置缺陷等脆弱性問(wèn)題.
應(yīng)用層負(fù)責(zé)提供一系列的服務(wù)和應(yīng)用,例如入侵檢測(cè)系統(tǒng)、入侵防護(hù)系統(tǒng)、深度包檢測(cè)、負(fù)載均衡、安全監(jiān)測(cè)、接入控制等Openflow應(yīng)用程序、安全服務(wù)類(lèi)應(yīng)用程序、第三方應(yīng)用程序.一些流規(guī)則還將由上述應(yīng)用程序制定,并由控制器下發(fā)至相關(guān)的交換機(jī)和網(wǎng)絡(luò)設(shè)備.目前,針對(duì)應(yīng)用程序自身的安全型保護(hù)機(jī)制并不健全,由于基礎(chǔ)設(shè)施層的各種交換機(jī)和網(wǎng)絡(luò)設(shè)備對(duì)控制器下發(fā)的流規(guī)則完全信任,且不假思索的執(zhí)行,一旦這些參與制定流規(guī)則的應(yīng)用受到篡改和攻擊,將給SDN帶來(lái)難以預(yù)估的危害.因此,應(yīng)用層面臨的脆弱性主要包括:應(yīng)用程序隱含的惡意代碼、應(yīng)用程序代碼的惡意篡改、身份假冒、非法訪問(wèn)以及應(yīng)用程序自身的配置缺陷等.
針對(duì)以上SDN三層結(jié)構(gòu),將SDN結(jié)構(gòu)及各層包含的脆弱性問(wèn)題總結(jié)如圖1所示:
Fig. 1 SDN architecture and vulnerability analysis圖1 SDN架構(gòu)及脆弱性分析
脆弱狀態(tài)是指一個(gè)已授權(quán)狀態(tài),且由該狀態(tài)經(jīng)過(guò)已授權(quán)的轉(zhuǎn)移方式可以到達(dá)未授權(quán)狀態(tài),而脆弱性是指脆弱狀態(tài)區(qū)別于非脆弱狀態(tài)的特征,通常將這種具有脆弱性的組件稱(chēng)為脆弱點(diǎn).造成系統(tǒng)脆弱性的原因具有多種類(lèi)型,傳統(tǒng)上主要包括操作系統(tǒng)的設(shè)計(jì)缺陷、軟件bug等.此外,連接性、可疑用戶輸入、不合理信任關(guān)系、間諜或者惡意軟件等因素也會(huì)引入額外的脆弱點(diǎn).
根據(jù)SDN結(jié)構(gòu)及對(duì)SDN脆弱性的分析,我們分別以層為單位,通過(guò)對(duì)底層網(wǎng)絡(luò)設(shè)備、控制器、上層應(yīng)用3種類(lèi)型組件在垂直及水平2個(gè)維度內(nèi)的運(yùn)行變化,來(lái)分析脆弱性層內(nèi)和層間的擴(kuò)散情況.為了描述脆弱性擴(kuò)散的過(guò)程,需要定義組件的運(yùn)行狀態(tài),因此將SDN組件運(yùn)行狀態(tài)抽象為以下5種.
P:該狀態(tài)表示節(jié)點(diǎn)具有潛在的脆弱性,在其他節(jié)點(diǎn)的作用下,可能被滲透而具有脆弱性.
U:該狀態(tài)表示節(jié)點(diǎn)已經(jīng)表現(xiàn)出脆弱性,但尚未被檢測(cè)出.
D:該狀態(tài)表示節(jié)點(diǎn)已經(jīng)表現(xiàn)出脆弱性,且已經(jīng)被檢測(cè)出.
F:該狀態(tài)表示節(jié)點(diǎn)中的脆弱性未得到及時(shí)處理,節(jié)點(diǎn)出現(xiàn)故障或失效.
M:該狀態(tài)表示經(jīng)減緩、修復(fù)等操作,節(jié)點(diǎn)脆弱性得到減緩.
其中,{U,D,F}歸類(lèi)為脆弱態(tài)集合,網(wǎng)絡(luò)的脆弱性主要由這3種狀態(tài)的組件數(shù)量影響,因此本文用脆弱態(tài)組件的穩(wěn)態(tài)概率(即脆弱態(tài)組件占所有組件的比例)來(lái)衡量SDN脆弱性的擴(kuò)散結(jié)果.
Bio-PEPA起初是針對(duì)生化網(wǎng)絡(luò)建模提出的,SDN網(wǎng)絡(luò)與生化網(wǎng)絡(luò)有相似之處,它的靜態(tài)分層等特性在研究SDN脆弱性的擴(kuò)散建模中仍然很具適用性,但需要針對(duì)應(yīng)用環(huán)境進(jìn)行相應(yīng)變換.在SDN網(wǎng)絡(luò)中,依據(jù)Bio-PEPA定義的語(yǔ)法語(yǔ)義,可進(jìn)行基本抽象:
1) 將SDN中的3個(gè)層(Layer)抽象為Bio-PEPA模型中的位置,設(shè)置如下:
location1:size=1,type=compartment;
location2:size=1,type=compartment;
location3:size=1,type=compartment.
2) 5種SDN組件狀態(tài)對(duì)應(yīng)于Bio-PEPA模型中的物種組件(S),P,U,D,F,M狀態(tài)的節(jié)點(diǎn),在Bio-PEPA模型中分別被稱(chēng)作潛在態(tài)組件、未檢測(cè)態(tài)組件、檢測(cè)態(tài)組件、故障態(tài)組件和修復(fù)態(tài)組件.
3) SDN網(wǎng)絡(luò)中,任意2種組件之間的一種交互變化,對(duì)應(yīng)于Bio-PEPA模型中的一種動(dòng)作類(lèi)型α,其動(dòng)態(tài)性對(duì)應(yīng)于Bio-PEPA模型中的函數(shù)速率fα.
SDN組件之間的交互變化可抽象為5個(gè)類(lèi)型的反應(yīng),簡(jiǎn)述為連接反應(yīng)、檢測(cè)反應(yīng)、異常反應(yīng)、修復(fù)反應(yīng)和缺陷反應(yīng),具體內(nèi)容將在3.2,3.3節(jié)詳述.
Connetion*={Connection1_i,Connection2_i,
Connection3_i,Connection1_i_j,
Connection2_i_j,Connection3_i_j};
Detection*={Detection_i};
Abnormity*={Abnormity1_i,Abnormity2_i};
Mitigation*={Mitigation1_i,Mitigation2_i};
Defect*={Defect_i}.
4) SDN脆弱性擴(kuò)散模型由5種組件間的合作操作進(jìn)行定義.
若模型內(nèi)有U,D,F三種狀態(tài)的脆弱點(diǎn)存在,且各反應(yīng)轉(zhuǎn)化率參數(shù)不為0,即會(huì)觸發(fā)脆弱性擴(kuò)散.連接反應(yīng)轉(zhuǎn)化率使得U,D,F(xiàn)狀態(tài)下的脆弱點(diǎn)與P狀態(tài)的脆弱點(diǎn)反應(yīng),使P狀態(tài)組件表現(xiàn)出脆弱性,完成脆弱性由U,D,F(xiàn)向P的擴(kuò)散.U,D組件由于異常反應(yīng)轉(zhuǎn)化率不為0,脆弱態(tài)會(huì)近一步演化為F狀態(tài).
層內(nèi)擴(kuò)散是指同層內(nèi)組件間脆弱性的擴(kuò)散.例如,在基礎(chǔ)設(shè)施層,攻擊者可能會(huì)嘗試將一些惡意的流規(guī)則插入到流表中,導(dǎo)致整個(gè)安全機(jī)制受到損害.此外,大量無(wú)用的流規(guī)則即流表洪泛攻擊,也會(huì)引發(fā)基礎(chǔ)設(shè)施層主機(jī)無(wú)法存貯正常的流規(guī)則,導(dǎo)致脆弱性在基礎(chǔ)設(shè)施層內(nèi)進(jìn)行擴(kuò)散.在控制層,多控制器協(xié)同工作時(shí),若網(wǎng)絡(luò)中存在延遲且得不到妥善處理時(shí),就難以保證轉(zhuǎn)發(fā)規(guī)則的一致性,進(jìn)而造成網(wǎng)絡(luò)面臨環(huán)路或者沖突.同時(shí),東西向接口的不安全性,使得一些脆弱性在控制器間進(jìn)行通信時(shí)得以迅速擴(kuò)散.在應(yīng)用層,由于缺乏身份認(rèn)證授權(quán)等管理,使得非法應(yīng)用可以接入到網(wǎng)絡(luò)中,可以避開(kāi)安全規(guī)則的審計(jì).此外,多個(gè)應(yīng)用共享數(shù)據(jù)流,同時(shí)處理一個(gè)數(shù)據(jù)流的時(shí)候就會(huì)造成規(guī)則的沖突,導(dǎo)致脆弱性在應(yīng)用層內(nèi)進(jìn)行擴(kuò)散.
為便于描述,將基礎(chǔ)設(shè)施層、控制層、應(yīng)用層分別記為:Layer_1,Layer_2,Layer_3,即Layer_i∈ {Layer_1,Layer_2,Layer_3}.因此,基于Bio-PEPA定義的層內(nèi)脆弱性擴(kuò)散規(guī)則描述如下:
[horizon]
U@Layer_i+P@Layer_i→U:P@Layer_i+U@Layer_i;
U:P@Layer_i→U@Layer_i;
D@Layer_i+P@Layer_i→D:P@Layer_i+D@Layer_i;
D:P@Layer_i→U@Layer_i;
F@Layer_i+P@Layer_i→F:P@Layer_i+F@Layer_i;
F:P@Layer_i→U@Layer_i;
U@Layer_i→D@Layer_i;
U@Layer_i→F@Layer_i;
D@Layer_i→F@Layer_i;
D@Layer_i→M@Layer_i;
F@Layer_i→M@Layer_i;
M@Layer_i→P@Layer_i.
在層內(nèi)脆弱性擴(kuò)散模型中,設(shè)每種反應(yīng)的轉(zhuǎn)化率為rα,α為層內(nèi)擴(kuò)散.用[P@Layer_i],[U@Layer_i],[D@Layer_i],[F@Layer_i]及[M@Layer_i]分別表示第i層中組件P,U,D,F(xiàn),M的初始個(gè)數(shù).由Bio-PEPA的Mass-Action語(yǔ)義規(guī)則,則函數(shù)速率分別滿足:
fConnection1_i=rConnection1_i×[U@Layer_i]×
[P@Layer_i];
fConversion1_i=rConversion1_i×[U:P@Layer_i];
fConnection2_i=rConnection2_i×[D@Layer_i]×
[P@Layer_i];
fConversion2_i=rConversion2_i×[D:P@Layer_i];
fConnection3_i=rConnection3_i×[F@Layer_i]×
[P@Layer_i];
fConversion3_i=rConversion3_i×[F:P@Layer_i];
fDetection_i=rDetection_i×[U@Layer_i];
fAbnormity1_i=rAbnormity1_i×[U@Layer_i];
fAbnormity2_i=rAbnormity2_i×[D@Layer_i];
fMitigation1_i=rMitigation1_i×[D@Layer_i];
fMitigation2_i=rMitigation2_i×[F@Layer_i];
fDefect_i=rDefect_i×[M@Layer_i].
脆弱性擴(kuò)散也會(huì)發(fā)生在相鄰2個(gè)垂直層之間,與層內(nèi)擴(kuò)散不同的是,層間擴(kuò)散會(huì)將某層內(nèi)的脆弱性通過(guò)南北向接口傳播至相鄰層的不同類(lèi)型組件上.同理,基于Bio-PEPA定義的層間脆弱性擴(kuò)散規(guī)則描述如下:
[vertical]
P@Layer_i+U@Layer_j→U:P@Layer_i+U@Layer_j;
U:P@Layer_i→U@Layer_i;
P@Layer_i+D@Layer_j→D:P@Layer_i+D@Layer_j;
D:P@Layer_i→U@Layer_i;
P@Layer_i+F@Layer_j→F:P@Layer_i+F@Layer_j;
F:P@Layer_i→U@Layer_i.
在vertical系列規(guī)則中,Layer_j表示與Layer_i相鄰的層.因此,j∈{i+1,i-1}∩{1,2,3}.結(jié)合圖2及SDN各層間脆弱性擴(kuò)散原理,對(duì)SDN層間擴(kuò)散規(guī)則vertical進(jìn)行闡述.
Fig. 2 Vulnerability propagation between layers圖2 層間脆弱性擴(kuò)散
1) 基礎(chǔ)設(shè)施層→控制層
攻擊者首先侵入SDN中的部分主機(jī),使其表現(xiàn)為U@Layer_1,D@Layer_1或者F@Layer_1狀態(tài),并通過(guò)其向網(wǎng)絡(luò)中輸入惡意請(qǐng)求.如:大量偽造的無(wú)效網(wǎng)絡(luò)流量請(qǐng)求(DoS攻擊),從而觸發(fā)SDN交換機(jī)的轉(zhuǎn)發(fā)流規(guī)則請(qǐng)求操作,導(dǎo)致大量Packet-In流信息同時(shí)涌向P@Layer_2狀態(tài)的控制器.使控制器服務(wù)能力達(dá)到上限,不能響應(yīng)正常的流請(qǐng)求,使得控制器服務(wù)能力癱瘓,表現(xiàn)為U@Layer_2狀態(tài),使脆弱性由基礎(chǔ)設(shè)施層通過(guò)Packet-In信息向控制層進(jìn)行擴(kuò)散.
2) 控制層→基礎(chǔ)設(shè)施層
當(dāng)攻擊者侵入控制器并使其表現(xiàn)為U@Layer_2,D@Layer_2或者F@Layer_2狀態(tài)時(shí),控制器會(huì)產(chǎn)生一些攜帶脆弱性的非法流規(guī)則,并且通過(guò)Controller-to-switch信息下發(fā)到基礎(chǔ)設(shè)施層的網(wǎng)絡(luò)設(shè)備.由于基礎(chǔ)設(shè)施層的網(wǎng)絡(luò)設(shè)備對(duì)控制器下發(fā)的流規(guī)則完全信任,因此,基礎(chǔ)設(shè)施層的部分設(shè)備表現(xiàn)為P@Layer_1狀態(tài).網(wǎng)絡(luò)設(shè)備很容易因執(zhí)行控制器下發(fā)的非法流規(guī)則而表現(xiàn)出脆弱性,使脆弱性從控制層通過(guò)Controller-to-switch信息傳播至基礎(chǔ)設(shè)施層.
3) 控制層→應(yīng)用層
應(yīng)用層的應(yīng)用行為由來(lái)自控制器的事件或者外部輸入所驅(qū)動(dòng).當(dāng)與應(yīng)用相連的控制器被攻擊而表現(xiàn)為U@Layer_2,D@Layer_2或者F@Layer_2狀態(tài)時(shí),P@Layer_3狀態(tài)的應(yīng)用有可能由于控制器上傳的非法事件而感染脆弱性,進(jìn)而表現(xiàn)為U@Layer_3狀態(tài),脆弱性由控制層通過(guò)非法事件擴(kuò)散到應(yīng)用層.
4) 應(yīng)用層→控制層
在應(yīng)用層中,惡意的應(yīng)用程序可以很容易地被開(kāi)發(fā),已授權(quán)的合法應(yīng)用程序也可能被篡改,從而使某些應(yīng)用表現(xiàn)為U@Layer_3,D@Layer_3或者F@Layer_3狀態(tài).當(dāng)非法應(yīng)用程序向控制層的控制器下發(fā)流表信息時(shí),應(yīng)用層的脆弱性就通過(guò)流規(guī)則與控制器相連,使控制器不能正常工作,將脆弱性由應(yīng)用層通過(guò)非法流規(guī)則擴(kuò)散至控制層.
在層間脆弱性擴(kuò)散模型中,設(shè)每種反應(yīng)的轉(zhuǎn)化率參數(shù)分別為rConnection1_i_j,rConnection2_i_j,rConnection3_i_j.用[P@Layer_i],[U@Layer_j],[D@Layer_j],[F@Layer_j]分別表示第i層中組件P及第j層中組件U,D,F(xiàn)的初始個(gè)數(shù).由Bio-PEPA的Mass-Action語(yǔ)義規(guī)則,則此時(shí)函數(shù)速率分別滿足:
fConnection1_i_j=rConnection1_i_j×[P@Layer_i]×
[U@Layer_j];
fConversion1_i_j=rConversion1_i_j×[U:P@Layer_i];
fConnection2_i_j=rConnection2_i_j×
[P@Layer_i]×[D@Layer_j];
fConversion2_i_j=rConversion2_i_j×[D:P@Layer_i];
fConnection3_i_j=rConnection3_i_j×
[P@Layer_i]×[F@Layer_j];
fConversion3_i_j=rConversion3_i_j×[F:P@Layer_i].
本文將SDN網(wǎng)絡(luò)以層為單位,分析了脆弱性在水平(層內(nèi))及垂直(層間)2個(gè)維度的擴(kuò)散情況.綜合以上層內(nèi)及層間分析,可將SDN脆弱性擴(kuò)散狀態(tài)轉(zhuǎn)移圖概括為圖3所示:
Fig. 3 State transition diagram of vulnerability propagation圖3 脆弱性擴(kuò)散狀態(tài)轉(zhuǎn)移圖
基于此,可用Bio-PEPA對(duì)狀態(tài)轉(zhuǎn)換即SDN脆弱性擴(kuò)散過(guò)程進(jìn)行形式化建模,部分關(guān)鍵描述如下:
在模型組件表述中,組件后面標(biāo)注的數(shù)字代表對(duì)應(yīng)組件的初始數(shù)量.具體地,模型組件描述如下:
利用該模型可以對(duì)SDN內(nèi)部各層、層間脆弱性及其在水平、垂直2個(gè)維度內(nèi)的擴(kuò)散過(guò)程進(jìn)行描述和分析.需要說(shuō)明的是,在節(jié)點(diǎn)有防護(hù)的情況下,可以通過(guò)增大檢測(cè)反應(yīng)轉(zhuǎn)化率或者提高修復(fù)反應(yīng)轉(zhuǎn)化率來(lái)實(shí)現(xiàn),進(jìn)而降低脆弱性在網(wǎng)絡(luò)中的擴(kuò)散,表現(xiàn)為脆弱態(tài)組件數(shù)量減少.另一方面,由于內(nèi)外條件變化等,脆弱性擴(kuò)散后在SDN不同層內(nèi)及層間對(duì)其他節(jié)點(diǎn)帶來(lái)的影響具體表現(xiàn)不同,在模型中統(tǒng)一用脆弱態(tài)組件的數(shù)量進(jìn)行衡量.
針對(duì)本文所構(gòu)建的脆弱性擴(kuò)散模型,我們分別對(duì)SDN架構(gòu)中的3個(gè)層次進(jìn)行了層內(nèi)和層間脆弱性擴(kuò)散行為的形式化建模與分析.為了進(jìn)一步準(zhǔn)確分析驗(yàn)證本文提出模型的合理性,本文選用Eclipse Bio-PEPA Plugin工具包,分別采用ODEs方法和Gillespie’s Stochastic方法進(jìn)行測(cè)試.本實(shí)驗(yàn)設(shè)定脆弱性組件總數(shù)為一個(gè)常數(shù),由3 000個(gè)個(gè)體組成,3個(gè)層內(nèi)組件數(shù)量(P,U,D,F,M)的初始值分別為(1 000,0,0,0,0),(600,300,100,0,0),(1 000,0,0,0,0).觀察時(shí)間取24個(gè)時(shí)間單位,模型的參數(shù)取值如表1所示,Gillespie’s Stochastic方法選取97個(gè)隨機(jī)點(diǎn).
Table 1 Main Parameter Values of Model表1 模型主要參數(shù)取值表
采用Gillespie’s Stochastic算法的脆弱性擴(kuò)散隨機(jī)仿真實(shí)驗(yàn)和脆弱性擴(kuò)散的ODE仿真結(jié)果分別如圖4和圖5所示.對(duì)比2圖可以發(fā)現(xiàn),2種仿真方法脆弱性的擴(kuò)散趨勢(shì)及結(jié)果大致相同.從圖3中可以看出,系統(tǒng)中P組件的數(shù)量在反應(yīng)開(kāi)始后迅速減少,U,D組件數(shù)量迅速上升.這是由于此時(shí)系統(tǒng)中P組件數(shù)量最多,濃度最大,此時(shí)Connection系列反應(yīng)占主導(dǎo),迅速消耗P組件,產(chǎn)生U,D,F(xiàn)三種組件.對(duì)應(yīng)于實(shí)際SDN網(wǎng)絡(luò)中脆弱性組件U,D與潛在脆弱性組件P在連接反應(yīng)的作用下,使脆弱性在SDN網(wǎng)絡(luò)內(nèi)迅速擴(kuò)散.此外,從圖3中還可以看出,U@Layer_1,U@Layer_3從0開(kāi)始增長(zhǎng),P@Layer_1,P@Layer_3從1 000開(kāi)始下降,說(shuō)明此時(shí)發(fā)生了層間脆弱性擴(kuò)散現(xiàn)象.脆弱性由Layer_2層(控制層)的U@Layer_2,D@Layer_2,F(xiàn)@Layer_2組件向Layer_1層(基礎(chǔ)設(shè)施層)、Layer_3層(應(yīng)用層)進(jìn)行擴(kuò)散,部分P組件轉(zhuǎn)化為U組件,進(jìn)而在Layer_1層、Layer_3層內(nèi)進(jìn)行層內(nèi)擴(kuò)散.U組件數(shù)量在0~2個(gè)時(shí)間單位之間達(dá)到峰值并開(kāi)始出現(xiàn)下降趨勢(shì),D組件數(shù)量仍在上升.說(shuō)明此時(shí)U組件濃度達(dá)到最大,此時(shí)Detection反應(yīng)占據(jù)主導(dǎo),消耗U組件,生成D組件.對(duì)應(yīng)于擴(kuò)散模型中的Detection過(guò)程,脆弱性組件U被檢測(cè)到脆弱態(tài),進(jìn)而表現(xiàn)為D狀態(tài).D組件數(shù)量在2~4個(gè)時(shí)間單位之間達(dá)到峰值并出現(xiàn)下降趨勢(shì),F(xiàn)組件數(shù)量在8~9個(gè)時(shí)間單位之間達(dá)到峰值并出現(xiàn)下降趨勢(shì),而M組件仍處在上升階段.這是由于在這2個(gè)時(shí)間點(diǎn),D,F(xiàn)組件濃度達(dá)到最大,Mitigation系列反應(yīng)占據(jù)主導(dǎo),消耗D,F(xiàn)組件,生成M組件.對(duì)應(yīng)于擴(kuò)散模型中的Mitigation過(guò)程,表現(xiàn)出脆弱性D,F(xiàn)的組件通過(guò)一系列修復(fù)手段,脆弱性得到緩解,轉(zhuǎn)變?yōu)镸狀態(tài).最終,P,U,D,F(xiàn),M組件數(shù)量趨于穩(wěn)定,達(dá)到一種擴(kuò)散平衡態(tài).因此,本文基于Bio-PEPA構(gòu)建的SDN脆弱性擴(kuò)散形式化模型可以正確反映SDN網(wǎng)絡(luò)中的脆弱性擴(kuò)散問(wèn)題.
Fig. 4 Random simulation results for vulnerability propagation of SDN圖4 SDN脆弱性擴(kuò)散隨機(jī)仿真結(jié)果
Fig. 5 ODE simulation results for vulnerability propagation of SDN圖5 SDN脆弱性擴(kuò)散ODE仿真結(jié)果
通過(guò)對(duì)擴(kuò)散機(jī)制的分析,本文著重研究連接轉(zhuǎn)化率參數(shù)rConnection*、檢測(cè)反應(yīng)轉(zhuǎn)化率參數(shù)rDetection*、修復(fù)反應(yīng)轉(zhuǎn)化率參數(shù)rMitigation*三個(gè)因素對(duì)SDN網(wǎng)絡(luò)脆弱性擴(kuò)散的影響.
1) 潛在態(tài)組件數(shù)量對(duì)脆弱性擴(kuò)散的影響
Fig. 6 Changes of vulnerable components in SDN圖6 SDN內(nèi)脆弱態(tài)組件變化情況
潛在態(tài)組件的存在為SDN內(nèi)脆弱性的擴(kuò)散提供了可能,脆弱態(tài)組件可通過(guò)連接反應(yīng),使?jié)撛趹B(tài)組件感染脆弱性,使脆弱性在網(wǎng)絡(luò)內(nèi)快速擴(kuò)散.因此,潛在態(tài)組件的數(shù)量是影響SDN網(wǎng)絡(luò)內(nèi)脆弱性擴(kuò)散的一個(gè)重要因素.針對(duì)該因素對(duì)脆弱性擴(kuò)散的影響,本部分實(shí)驗(yàn)采用改變基礎(chǔ)設(shè)施層和應(yīng)用層內(nèi)潛在態(tài)組件數(shù)量的方式,以擴(kuò)散平衡狀態(tài)下脆弱態(tài)組件的穩(wěn)態(tài)概率作為衡量指標(biāo)進(jìn)行實(shí)驗(yàn).試驗(yàn)中基礎(chǔ)設(shè)施層和應(yīng)用層內(nèi)潛在態(tài)組件數(shù)量分別為1 000,100,10,其他參數(shù)不變,運(yùn)行時(shí)間為50個(gè)時(shí)間單位,SDN網(wǎng)絡(luò)內(nèi)脆弱態(tài)組件變化情況如圖6所示.
此外,保持其他變量不變,使?jié)撛趹B(tài)組件數(shù)量在0到1 000之間隨機(jī)取7個(gè)值,計(jì)算擴(kuò)散平衡狀態(tài)下脆弱態(tài)組件的穩(wěn)態(tài)概率,結(jié)果如表2所示.由表2可以看出,在SDN內(nèi)隨著基礎(chǔ)設(shè)施層和應(yīng)用層潛在態(tài)組件的減少,SDN脆弱性擴(kuò)散平衡狀態(tài)下脆弱態(tài)組件的穩(wěn)態(tài)概率逐漸減小.這是由于潛在態(tài)組件數(shù)量減少,脆弱態(tài)組件不能或者更難尋找到感染的受體,因而脆弱性的擴(kuò)散受到抑制.因此,可以通過(guò)減少潛在態(tài)組件的數(shù)量來(lái)抑制SDN網(wǎng)絡(luò)內(nèi)脆弱性的擴(kuò)散.
Table 2 Steady-State Probability of Vulnerable Components
2) 連接轉(zhuǎn)化率對(duì)脆弱性擴(kuò)散的影響
連接反應(yīng)擴(kuò)散方式是層內(nèi)脆弱性擴(kuò)散及層間脆弱性擴(kuò)散的主要反應(yīng)方式之一,主要由連接轉(zhuǎn)化率參數(shù)rConnection*進(jìn)行控制.層內(nèi)連接轉(zhuǎn)化率參數(shù)rConnection1_i,rConnection2_i,rConnection3_i表示層內(nèi)處于U,D,F(xiàn)狀態(tài)的組件對(duì)P狀態(tài)組件狀態(tài)轉(zhuǎn)化的影響,層間連接轉(zhuǎn)化率參數(shù)rConnection1_i_j,rConnection2_i_j,rConnection1_i_j則表示SDN某層內(nèi)處于U,D,F(xiàn)狀態(tài)的組件對(duì)直接相鄰層內(nèi)P狀態(tài)組件狀態(tài)轉(zhuǎn)化的影響.為了分析連接轉(zhuǎn)化率參數(shù)rConnection*對(duì)脆弱性擴(kuò)散的影響,下面將以穩(wěn)態(tài)概率作為評(píng)估指標(biāo),在整個(gè)SDN網(wǎng)絡(luò)層面,考察連接轉(zhuǎn)化率參數(shù)rConnection*取值水平對(duì)脆弱性擴(kuò)散的影響.分別對(duì)層內(nèi)及層間連接轉(zhuǎn)化參數(shù)從0.1到1之間10等分均勻取值,整個(gè)網(wǎng)絡(luò)范圍內(nèi)穩(wěn)態(tài)概率變化如圖7所示.
Fig. 7 The influence of connection conversion rate on SDN vulnerability圖7 連接轉(zhuǎn)化率參數(shù)對(duì)SDN脆弱性的影響
從圖7中可以看出,隨著連接轉(zhuǎn)化率參數(shù)逐漸增大,SDN網(wǎng)絡(luò)的脆弱性穩(wěn)態(tài)概率值逐漸增大.這是由于隨著連接轉(zhuǎn)化率參數(shù)的增大,層內(nèi)及層間節(jié)點(diǎn)交互更為緊密,發(fā)生脆弱性傳播的幾率加大,導(dǎo)致在SDN網(wǎng)絡(luò)達(dá)到平衡狀態(tài)時(shí),脆弱態(tài)組件數(shù)量增多.因此,可以得出連接轉(zhuǎn)化率參數(shù)與脆弱性擴(kuò)散速率正相關(guān),因而為了抑制SDN網(wǎng)絡(luò)內(nèi)脆弱性的傳播需降低連接轉(zhuǎn)化率參數(shù).
3) 檢測(cè)轉(zhuǎn)化率參數(shù)對(duì)脆弱性擴(kuò)散的影響
檢測(cè)反應(yīng)可以及時(shí)發(fā)現(xiàn)SDN網(wǎng)絡(luò)中存在的U狀態(tài)組件將其轉(zhuǎn)化成D狀態(tài)組件,并進(jìn)行修復(fù)等操作,因此檢測(cè)反應(yīng)轉(zhuǎn)化率參數(shù)對(duì)脆弱性擴(kuò)散有一定影響.本部分實(shí)驗(yàn)以檢測(cè)參數(shù)取值0.3為基準(zhǔn),分別取基準(zhǔn)值的1/3,1/2,1,2,3倍,即0.1,0.15,0.3,0.6,0.9進(jìn)行對(duì)比試驗(yàn),采用脆弱性穩(wěn)態(tài)概率作為評(píng)估指標(biāo),衡量網(wǎng)絡(luò)的脆弱狀況.不同檢測(cè)參數(shù)取值下,SDN網(wǎng)絡(luò)內(nèi)脆弱態(tài)集合內(nèi)組件數(shù)量情況如圖8所示,脆弱性穩(wěn)態(tài)概率如圖9所示.
Fig. 8 The influence of detection conversion rate on the number of components in the vulnerable state set圖8 檢測(cè)轉(zhuǎn)化率參數(shù)對(duì)脆弱態(tài)集合內(nèi)組件數(shù)量的影響
Fig. 9 The influence of detection conversion rate on the steady-state probability of vulnerability圖9 檢測(cè)轉(zhuǎn)化率參數(shù)對(duì)脆弱性穩(wěn)態(tài)概率的影響
結(jié)合兩圖可以看出,隨著檢測(cè)轉(zhuǎn)化率參數(shù)的增大,脆弱態(tài)集合內(nèi)組件數(shù)量和呈下降趨勢(shì).這是由于隨著檢測(cè)轉(zhuǎn)化率參數(shù)的增大,更多的U狀態(tài)組件可被檢測(cè)出脆弱性進(jìn)而轉(zhuǎn)化為D狀態(tài)組件,D狀態(tài)組件又經(jīng)Mitigation反應(yīng)轉(zhuǎn)變?yōu)镸狀態(tài)組件,也就是說(shuō)組件狀態(tài)經(jīng)歷了U→D→M的過(guò)程,進(jìn)而遷移出脆弱態(tài)集合,使脆弱態(tài)集合內(nèi)組件數(shù)量減少,使SDN脆弱性降低.因而,可以通過(guò)增大檢測(cè)轉(zhuǎn)化率參數(shù)來(lái)抑制脆弱性擴(kuò)散.
4) 修復(fù)轉(zhuǎn)化率參數(shù)對(duì)脆弱性擴(kuò)散的影響
SDN網(wǎng)絡(luò)內(nèi)部,修復(fù)能力的存在可以有效地降低系統(tǒng)內(nèi)D,F(xiàn)組件的數(shù)量,緩解網(wǎng)絡(luò)的脆弱性.本部分實(shí)驗(yàn)以穩(wěn)態(tài)概率作為SDN脆弱性的衡量指標(biāo),對(duì)修復(fù)轉(zhuǎn)化率參數(shù)rMitigation1*和rMitigation2*在[0,1]之間每0.1間隔隨機(jī)取值,其他參數(shù)完全相同.通過(guò)對(duì)比實(shí)驗(yàn),研究修復(fù)轉(zhuǎn)化率參數(shù)對(duì)SDN網(wǎng)絡(luò)內(nèi)脆弱性擴(kuò)散的影響,實(shí)驗(yàn)結(jié)果如圖10所示:
Fig. 10 The influence of repairing conversion rate on SDN vulnerability圖10 修復(fù)轉(zhuǎn)化率參數(shù)對(duì)SDN脆弱性的影響
從圖10中可以看出,隨著修復(fù)轉(zhuǎn)化率參數(shù)的增大,穩(wěn)態(tài)概率值逐漸變小,說(shuō)明此時(shí),網(wǎng)絡(luò)內(nèi)脆弱態(tài)集合內(nèi)組件總數(shù)量逐漸變小,SDN網(wǎng)絡(luò)脆弱性降低.同時(shí),觀察左右2個(gè)側(cè)面圖,我們可以發(fā)現(xiàn)rMitigation2*對(duì)網(wǎng)絡(luò)脆弱性的擴(kuò)散影響較大,即脆弱性在不同脆弱態(tài)組件間的擴(kuò)散具有差異性.這是由于在脆弱性狀態(tài)循環(huán)中,如圖3所示,當(dāng)rMitigation1*較小時(shí),部分D狀態(tài)組件還可以通過(guò)Mitigation2*系列反應(yīng)轉(zhuǎn)化為F狀態(tài)組件,F(xiàn)狀態(tài)組件經(jīng)過(guò)Mitigation2*系列反應(yīng)轉(zhuǎn)變?yōu)镸組件,從而遷出脆弱態(tài)集合;當(dāng)rMitigation2*較小時(shí),F(xiàn)狀態(tài)組件沒(méi)有其他反應(yīng)途徑進(jìn)行狀態(tài)轉(zhuǎn)化,導(dǎo)致大量的F組件滯留在脆弱態(tài)集合中,無(wú)法轉(zhuǎn)化為非脆弱態(tài)的組件,使網(wǎng)絡(luò)脆弱性較高.因此,可以得出修復(fù)轉(zhuǎn)化率參數(shù)與脆弱性擴(kuò)散速率負(fù)相關(guān),因而為了抑制SDN網(wǎng)絡(luò)內(nèi)脆弱性的傳播需提高修復(fù)轉(zhuǎn)化率參數(shù),尤其是Mitigation2*轉(zhuǎn)化率參數(shù).
綜合以上分析,可以看出本文構(gòu)建的形式化模型對(duì)SDN脆弱性擴(kuò)散狀態(tài)間的邏輯關(guān)系及動(dòng)態(tài)變化具有較強(qiáng)的描述能力,且與仿真分析結(jié)果基本相符,能夠正確地反映出不同條件下SDN脆弱性的變化趨勢(shì).可以通過(guò)降低連接轉(zhuǎn)化率,提升檢測(cè)轉(zhuǎn)化率及修復(fù)轉(zhuǎn)化率等措施抑制SDN脆弱性的擴(kuò)散.具體地,針對(duì)SDN存在的可能脆弱點(diǎn),可以通過(guò)設(shè)計(jì)面向SDN的可靠控制器,制定授權(quán)認(rèn)證及安全約束,擴(kuò)展安全通信協(xié)議,采用連接遷移、流量遷移、執(zhí)行觸發(fā)、主動(dòng)流規(guī)則檢測(cè)與分析、擬態(tài)防御、應(yīng)用隔離及彈性策略、容錯(cuò)機(jī)制、探測(cè)防御、安全加固等技術(shù)與防御方法,多維度提高 SDN安全性.
本文采用Bio-PEPA對(duì)SDN網(wǎng)絡(luò)的脆弱性擴(kuò)散問(wèn)題進(jìn)行了形式化建模,針對(duì)SDN具有明顯分層的網(wǎng)絡(luò)架構(gòu),分別就水平垂直2個(gè)維度內(nèi)的脆弱性的擴(kuò)散的本質(zhì)問(wèn)題進(jìn)行了研究.本文對(duì)構(gòu)建的Bio-PEPA形式化模型分別采用ODEs方法和Gillespie’s Stochastic方法進(jìn)行了測(cè)試,實(shí)驗(yàn)結(jié)果基本相符,反映本文所構(gòu)建SDN脆弱性模型的合理性.此外,本文還對(duì)影響SDN脆弱性擴(kuò)散的因素進(jìn)行了分析,通過(guò)仿真實(shí)驗(yàn)證明,潛在態(tài)組件數(shù)量、連接轉(zhuǎn)化率參數(shù)、檢測(cè)轉(zhuǎn)化率參數(shù)、修復(fù)轉(zhuǎn)化率參數(shù)都對(duì)SDN脆弱性的擴(kuò)散具有影響,因此,本文對(duì)SDN網(wǎng)絡(luò)的構(gòu)建具有一定指導(dǎo)性意義.在下一步研究工作中,將面向SDN的可擴(kuò)展性,對(duì)其脆弱性擴(kuò)散模型展開(kāi)深入研究.