陸以勤 毛中書 程喆? 覃健誠 金冬子 潘偉鏘
(1.華南理工大學(xué) 電子與信息學(xué)院,廣東 廣州 510640;2.華南理工大學(xué) 計算機(jī)科學(xué)與工程學(xué)院,廣東 廣州 510640;3.華南理工大學(xué) 信息網(wǎng)絡(luò)工程研究中心,廣東 廣州 510640)
網(wǎng)絡(luò)的復(fù)雜性與僵化性使得傳統(tǒng)網(wǎng)絡(luò)運(yùn)營和維護(hù)管理變得越來越困難,而新型網(wǎng)絡(luò)應(yīng)用場景如5G、工業(yè)物聯(lián)網(wǎng)、邊緣計算等對于網(wǎng)絡(luò)管理的靈活性和安全性提出了新的要求。軟件定義網(wǎng)絡(luò)(SDN)始于2006年斯坦福大學(xué)的Clean State研究課題[1]。SDN初步為網(wǎng)絡(luò)提供開放性和注入了靈活性,其細(xì)粒度管控、數(shù)控分離、可編程性等特點(diǎn)迅速引起了學(xué)界與業(yè)界的廣泛關(guān)注,諸多領(lǐng)域的研究者們積極利用SDN解決傳統(tǒng)體系架構(gòu)僵化和可拓展性有限等問題,如無線傳感器網(wǎng)絡(luò)[2]、物聯(lián)網(wǎng)[3]、光網(wǎng)絡(luò)[4]等。SDN被認(rèn)為是計算機(jī)網(wǎng)絡(luò)的一場革命,為新型互聯(lián)網(wǎng)體系結(jié)構(gòu)研究提供了新的實驗途徑,極大地推動了下一代互聯(lián)網(wǎng)的發(fā)展[5]。
然而,SDN在帶來網(wǎng)絡(luò)靈活性與擴(kuò)展性的同時也給網(wǎng)絡(luò)帶來新的安全問題,其扁平化網(wǎng)絡(luò)結(jié)構(gòu)增加了網(wǎng)絡(luò)攻擊面。攻擊者分別針對SDN的應(yīng)用平面、控制平面與數(shù)據(jù)平面發(fā)起安全攻擊[6- 13],給傳統(tǒng)網(wǎng)絡(luò)安全模型帶來極大挑戰(zhàn),其中篡改控制器中拓?fù)湫畔⒌耐負(fù)涔粲绕湮kU[14]。攻擊者利用控制器中的主機(jī)跟蹤與鏈路發(fā)現(xiàn)等服務(wù)漏洞發(fā)起拓?fù)涔鬧15]:攻擊者偽裝成網(wǎng)絡(luò)中的目標(biāo)主機(jī)(如服務(wù)器)以非法獲取用戶流量;攻擊者偽造虛假鏈路以創(chuàng)建黑洞路由,發(fā)起中間人攻擊(MiTM)或發(fā)起拒絕服務(wù)攻擊(DoS)。市場上主流的開源SDN控制器,如Floodlight、OpenDayLight(ODL)、ONOS、Beacon、POX等都存在此類漏洞,嚴(yán)重影響了SDN網(wǎng)絡(luò)的安全以及未來發(fā)展。
拓?fù)涔糁嗅槍χ鳈C(jī)節(jié)點(diǎn)發(fā)起的攻擊分別為位置劫持[15]和端口探測[16],而針對鏈路的攻擊則包括偽造LLDP幀[15]、LLDP中繼攻擊[15]以及端口休眠[16]。經(jīng)典防御模型如TopoGuard[15]、SecTopo[17]在一定程度上可防御針對主機(jī)或鏈路拓?fù)涔簦珜τ跀?shù)據(jù)端口防御能力不足,無法抵御攻擊者對端口進(jìn)行探測或者欺騙。TopoGuard+[16]和TrustTopo[18]能在此基礎(chǔ)上部分防御端口休眠攻擊,但無法隨著網(wǎng)絡(luò)狀態(tài)變化進(jìn)行動態(tài)防御。SecureBinder[19]和SPV[20]能部分防御主機(jī)攻擊或者鏈路攻擊,但防御手段單一。SecureBinder利用網(wǎng)絡(luò)標(biāo)識符綁定機(jī)制阻止攻擊者偽裝成目標(biāo)主機(jī),無法阻止攻擊者偽造鏈路;SPV可以防御鏈路攻擊,但無法防御借助帶外信道發(fā)起的鏈路攻擊,而且缺乏主機(jī)防御機(jī)制。SPHINX[21]提供流圖驗證,但其安全性依賴于定制策略。文獻(xiàn)[22]中提出增加LLDP負(fù)載,但該方案的防御前提是攻擊者無法修改主機(jī)配置。文獻(xiàn)[23- 25]中提出新的拓?fù)浒l(fā)現(xiàn)安全協(xié)議替代已普遍使用的OFDP,但這些新安全協(xié)議的普適性尚有待證明。綜上所述,如何在SDN網(wǎng)絡(luò)中,復(fù)雜動態(tài)的網(wǎng)絡(luò)環(huán)境里,全面保護(hù)主機(jī)節(jié)點(diǎn)與鏈路安全是亟待解決的問題。
文中通過深入研究SDN網(wǎng)絡(luò)控制器以及相關(guān)協(xié)議如OpenFlow,總結(jié)主流控制器主機(jī)發(fā)現(xiàn)以及鏈路發(fā)現(xiàn)機(jī)制,通過實驗驗證發(fā)現(xiàn)當(dāng)今主流拓?fù)涔舴烙P蜔o法滿足網(wǎng)絡(luò)狀態(tài)變化的要求,尤其關(guān)注鏈路延時不穩(wěn)定所帶來的安全模型失效?;诖?,引入信息熵模型驗證判定網(wǎng)絡(luò)鏈路的延時狀態(tài),并提出了一種綜合性的防御模型——PolicyTopo。該機(jī)制基于網(wǎng)絡(luò)設(shè)備行為對數(shù)據(jù)平面設(shè)備端口進(jìn)行分類安全定義,實現(xiàn)動態(tài)實時防御拓?fù)涔簦瑢嶒灲Y(jié)果表明,PolicyTopo可有效防御SDN環(huán)境中已有各類拓?fù)涔?,保護(hù)網(wǎng)絡(luò)主機(jī)端口以及鏈路信息完整性,提高控制器全局視圖安全,保護(hù)網(wǎng)絡(luò)路由以及負(fù)載均衡等核心功能。同時,該機(jī)制與同類機(jī)制性能相比有較大提高,具備安全性,同時具有較大可擴(kuò)展性,可提高網(wǎng)絡(luò)容錯以及魯棒性。
OpenFlow發(fā)現(xiàn)協(xié)議(OFDP)[26]負(fù)責(zé)定義SDN控制器發(fā)現(xiàn)網(wǎng)絡(luò)交換機(jī)之間的鏈路與定位主機(jī)的規(guī)則,并由此形成網(wǎng)絡(luò)全局拓?fù)湟晥D,根據(jù)該協(xié)議可分別實現(xiàn)鏈路發(fā)現(xiàn)服務(wù)與主機(jī)跟蹤服務(wù)。
1.1.1 鏈路發(fā)現(xiàn)
控制器實現(xiàn)鏈路發(fā)現(xiàn)服務(wù)依賴于鏈路層發(fā)現(xiàn)協(xié)議(LLDP)。圖1描述了SDN控制器中一個單向鏈路發(fā)現(xiàn)案例。在圖1(a)與圖1(b)中,交換機(jī)S1首先通過Features和Port_Up等消息與控制器建立連接,并將相關(guān)信息,如Data Path ID(DPID,用于唯一的標(biāo)識控制器域內(nèi)的交換機(jī))和端口號、端口狀態(tài)等,發(fā)送給控制器。圖1(c)中控制器根據(jù)上述信息生成相應(yīng)的LLDP幀,并將其封裝進(jìn)Packet-Out發(fā)送給S1,S1解析Packet-Out得到LLDP幀并將該幀從指定的端口傳播給交換機(jī)S2。圖1(d)中S2接收到LLDP幀后,將該LLDP幀封裝進(jìn)Packet-In并轉(zhuǎn)發(fā)給控制器。至此,控制器發(fā)現(xiàn)并記錄下一條從S1P1至S2P1單向鏈路。同理可知S2P1至S1P1的鏈路發(fā)現(xiàn)過程。
圖1 SDN中單向鏈路發(fā)現(xiàn)過程
1.1.2 主機(jī)跟蹤
實現(xiàn)主機(jī)跟蹤服務(wù)時,控制器使用主機(jī)信息(如IP、MAC、DPID與端口號等)來標(biāo)識主機(jī)。當(dāng)交換機(jī)收到一個新的非LLDP幀的主機(jī)流量時,它會將這些數(shù)據(jù)包封裝在Packet-In消息中上交給控制器??刂破魇盏竭@些Packet-In消息后會從中解析出相應(yīng)的主機(jī)信息并記錄,由此發(fā)現(xiàn)主機(jī)。
網(wǎng)絡(luò)中狀態(tài)變化特別是延時變化極大影響拓?fù)涔舴烙P停?dāng)發(fā)現(xiàn)網(wǎng)絡(luò)發(fā)生抖動時,可輕易繞過已有防御模型偽造鏈路。
信息熵表征信息的復(fù)雜程度、無序程度或混亂程度,量化信息的不確定性。對于同一系統(tǒng),信息越無序混亂,則熵值越大,反之則越小。
(1)
式中,I(xi)為隨機(jī)變量X的信息,H為信息熵。利用信息熵模型對網(wǎng)絡(luò)延時進(jìn)行判定,動態(tài)判定延時閾值,將網(wǎng)絡(luò)延時通過信息熵歸一為一個動態(tài)變化閾值,極大提高判定準(zhǔn)確度,可解決延時變化較大時防御模型失效問題。
提出了一種安全、輕量級的拓?fù)浞烙P?,即PolicyTopo。PolicyTopo旨在對SDN網(wǎng)絡(luò)中控制器的網(wǎng)絡(luò)視圖提供準(zhǔn)確有效的保護(hù),并對所有的拓?fù)涔暨M(jìn)行有效的檢測。針對不同的攻擊,該模型采用了多重的防御策略,提高安全機(jī)制靈活性和可擴(kuò)展性。
由于主機(jī)跟蹤服務(wù)對主機(jī)移動無法提供實時校驗,攻擊者可通過主機(jī)位置劫持攻擊偽裝成目標(biāo)主機(jī)。PolicyTopo中記錄了主機(jī)與其直連的交換機(jī)端口,并同時監(jiān)聽主機(jī)復(fù)用事件(即同一臺主機(jī)MAC地址出現(xiàn)在不同的已開啟的交換機(jī)端口上)和端口復(fù)用事件(即同一端口在未關(guān)閉情況下出現(xiàn)2臺主機(jī)MAC地址),以分別防御主機(jī)位置劫持攻擊和端口探測攻擊。
在鏈路攻擊中,由于鏈路發(fā)現(xiàn)服務(wù)缺乏LLDP幀的完整性校驗與來源審核,攻擊者可以通過LLDP 偽造攻擊或LLDP 中繼攻擊偽造鏈路。采用拓展LLDP幀的校驗完整性字段的方法來進(jìn)行防御,即圖2中的Verification TLV字段。其次,利用主機(jī)默認(rèn)不轉(zhuǎn)發(fā)LLDP幀特性,驗證交換機(jī)端口直連的設(shè)備類型來判定LLDP幀的來源。一旦LLDP幀來自于直連主機(jī)的交換機(jī)端口,可確定LLDP幀必為攻擊者中繼轉(zhuǎn)發(fā)。
圖2 拓展后的LLDP幀格式
另一方面,由于攻擊者在發(fā)起端口休眠攻擊時其用于中繼LLDP幀的主機(jī)行為與交換機(jī)完全一樣,因此控制器無法區(qū)分LLDP幀的來源,此類攻擊的防御目前仍沒有有效方法。TopoGuard+提出通過LLDP幀的傳輸延時的高低來區(qū)別真實LLDP幀與中繼的LLDP幀,然而通過實驗發(fā)現(xiàn),當(dāng)網(wǎng)絡(luò)環(huán)境延時變高時該方案將失效。為了驗證TopoGuard+的有效性,使用Mninet建立如圖3所示拓?fù)洌渲薪粨Q機(jī)與控制器、交換機(jī)與交換機(jī)、主機(jī)與交換機(jī)之間的連接情況如圖3中所示。
圖3 驗證TopoGuard+實驗拓?fù)?/p>
圖3中交換機(jī)之間的鏈路平均延時初始為5 ms,主機(jī)A、B被攻擊者遠(yuǎn)程測控,控制器為布署有TopoGuard+原型的Floodlight控制器。TopoGuard+實驗結(jié)果示意圖如圖4所示。t1時刻之前,TopoGuard+計算的延時閾值較為穩(wěn)定(即12 ms 上下),此時網(wǎng)絡(luò)中的主機(jī)不存在通信,或只存在少量通信。從t1時刻開始,使用普通用戶機(jī)進(jìn)行相互通信(兩兩互通),最終模擬網(wǎng)絡(luò)鏈路的擁塞狀態(tài)。與此同時,合法LLDP幀的傳輸延時與閾值開始增加。直到t2時刻,TopoGuard+計算的延時閾值為42 ms(合法LLDP幀傳輸延時達(dá)到25 ms),利用主機(jī)A與主機(jī)B發(fā)動端口休眠攻擊,并發(fā)現(xiàn)A、B中繼的非法LLDP幀傳輸延時遠(yuǎn)低于閾值,TopoGuard+無法檢測出該非法鏈路。
圖4 TopoGuard+實驗結(jié)果
為了徹底防御端口休眠攻擊,PolicyTopo提出動態(tài)驗證網(wǎng)絡(luò)鏈路延時變化,根據(jù)驗證結(jié)果采用多種防御方法。當(dāng)網(wǎng)絡(luò)延時較低時,通過設(shè)立LLDP幀傳輸延時閾值判別LLDP幀,而當(dāng)網(wǎng)絡(luò)延時較高時阻止非法鏈路加入網(wǎng)絡(luò)。
LLDP幀傳輸延時的閾值計算式為
(2)
式中,TH為第n個至第m個LLDP幀傳輸延時的閾值,Tmax為其中的最大傳輸延時,Tmin為最小傳輸延時,為了排除網(wǎng)絡(luò)波動對延時閾值的影響,去掉了最大值與最小值求平均值,并將平均值的2倍設(shè)為閾值。
TopoGuard+提出利用四分位間距(IQR)計算延時閾值[16],并通過比較鏈路延時和延時閾值的大小來判斷鏈路是否為合法鏈路,當(dāng)鏈路延時高于延時閾值時,判斷鏈路屬于異常鏈路,否則鏈路屬于合法鏈路。TopoGuard+在閾值計算時,首先通過高分位(Q3)與低分位(Q1)之差計算IQR,即IQR=Q3-Q1,然后通過Threshold=Q3+3×IQR計算得到延時閾值。然而從圖4中可以清晰地看出,隨著LLDP幀數(shù)量的不斷增加,從t2時刻開始,TopoGuard+計算得到的延時閾值快速增長,導(dǎo)致非法鏈路和合法鏈路的延時(通過LLDP幀傳輸延時表示)都低于閾值,從而無法判斷鏈路的合法性,也就無法防御攻擊。這是因為網(wǎng)絡(luò)是一個變化環(huán)境,鏈路的延時并不總是穩(wěn)定在某個確定的數(shù)值上下?;诖?,引入信息熵為“延時變化趨勢”確立數(shù)學(xué)模型,通過“延時變化趨勢”表征網(wǎng)絡(luò)中鏈路延時的動態(tài)變化,進(jìn)而判定網(wǎng)絡(luò)中鏈路的延時狀態(tài)。
信息熵可以描述信息的不確定性,基于此,從具體的鏈路延時中抽象出延時信息,發(fā)現(xiàn)當(dāng)鏈路延時增加時,延時信息的不確定性在增加,反之則在減少,而這與延時信息熵值的熵增和熵減統(tǒng)一。PolicyTopo機(jī)制采用LLDP幀的傳輸延時為對象并將其歸一為確定數(shù)值。
計算m-n+1個LLDP幀的傳輸延時的信息熵的公式為
(n,m∈N+,n≤m)
(3)
式中,H為信息熵值,Ti為第i個LLDP幀的傳輸延時,P(Ti)為Ti的概率統(tǒng)計,I(Ti)為Ti的信息,N+為正整數(shù)集。n的取值范圍為正整數(shù)。H值的變化映射出LLDP幀的傳輸延時的變化趨勢,同時也反映出鏈路延時的變化趨勢。
(4)
(5)
為區(qū)分鏈路是否真實,機(jī)制對交換機(jī)端口的安全性進(jìn)行定義,將端口分為安全端口與可疑端口。當(dāng)鏈路包含了某些端口時,該鏈路一定為真。對于任意未連接過任何設(shè)備交換機(jī)端口P,當(dāng)控制器收到來自P的LLDP幀時,該LLDP幀一定為真。因為這不滿足端口休眠攻擊發(fā)起的條件(該攻擊需要通過主機(jī)轉(zhuǎn)發(fā)LLDP幀,但P沒有連接過主機(jī))。安全端口顯然不僅僅只包含上述這一種情況,還有其他兩種情況也稱之為安全端口。第一,對于端口P,P在關(guān)閉前連接的設(shè)備為交換機(jī)。第二,對于端口P,P在關(guān)閉前連接的設(shè)備是主機(jī),并且該主機(jī)已從其他安全端口接入。除此之外,對于端口P,P在關(guān)閉前連接的設(shè)備是主機(jī),并且該主機(jī)沒有從其他安全端口接入,稱P為可疑端口。在端口休眠攻擊中,通過該攻擊偽造的虛假鏈路的兩個端口一定都是可疑端口。如表1所示,非法鏈路即兩個端口都是可疑端口的鏈路。當(dāng)網(wǎng)絡(luò)中鏈路延時較高時,PolicyTopo會阻止非法鏈路的加入,以防御端口休眠攻擊。
表1 鏈路合法性判斷
非法鏈路不代表該鏈路一定是攻擊者偽造的,非法鏈路接入示意圖如圖5所示??刂破髋c交換機(jī)S1、S2和S3直連,其中S2分別和S1、S3直連。S1P2和S3P1分別由于主機(jī)A和主機(jī)C的離開變?yōu)榭梢啥丝冢藭r某用戶使用S1P2和S3P1端口搭建新的鏈路L。若網(wǎng)絡(luò)延遲較高,盡管鏈路L是真實的鏈路,但PolicyTopo依然會阻止L加入網(wǎng)絡(luò)。這是因為當(dāng)S1與S3能夠正常通信時不應(yīng)當(dāng)增加額外的冗余鏈路,這本身就會造成安全隱患。即使出于真實需求(例如鏈路聚合)而在S1與S3之間增加冗余鏈路,也應(yīng)該“告訴”控制器該鏈路一定不是通過端口休眠攻擊偽造的,即保證該鏈路的兩個端口中最少有一個是安全端口(例如在新增L之前使B接入其他安全端口以使S1P2變?yōu)榘踩丝?。
圖5 非法鏈路接入
本文中實驗在虛擬與物理環(huán)境中均進(jìn)行了相關(guān)驗證,虛擬環(huán)境與物理環(huán)境配置如表2所示。
表2 實驗環(huán)境配置
在Floodlight- 1.1控制器中布署PolicyTopo后,在物理環(huán)境中分別發(fā)起主機(jī)攻擊與鏈路攻擊測試了PolicyTopo有效性。在虛擬環(huán)境中比較并分析了PolicyTopo和TopoGuard+的性能。實驗結(jié)果表明,PolicyTopo有效防御了拓?fù)涔舨⒛鼙3窒鄬^低的性能損耗。
3.2.1 主機(jī)攻擊
主機(jī)攻擊實驗拓?fù)淙鐖D6所示,控制器采用Floodlight,主機(jī)A(IP為10.0.0.1,MAC為4a:23:bc:d8:39:95)被攻擊者操控,主機(jī)B(IP為10.0.0.2,MAC為8a:c5:c0:6a:04:dd)為目標(biāo)主機(jī),其中攻擊者無法直接改變物理拓?fù)?,且攻擊者已通過某種方式獲得了主機(jī)B的IP與MAC(如發(fā)送ARP請求報文)。
圖6 主機(jī)攻擊實驗拓?fù)?/p>
在主機(jī)位置劫持攻擊中,攻擊者使用Scapy偽造B的流量(任意IPv4數(shù)據(jù)包),并將偽造的流量通過A直連的交換機(jī)S1注入網(wǎng)絡(luò)。PolicyTopo發(fā)現(xiàn)主機(jī)復(fù)用事件,并阻止主機(jī)移動。
在端口探測攻擊中,模擬主機(jī)B的離線狀態(tài)(即斷開B與S2的連接)。攻擊者通過使用探測包(為了簡化實驗使用ICMP ping)獲知B離線,此時A使用Scapy偽造主機(jī)B的流量,并將偽造的流量通過A直連的交換機(jī)S1注入網(wǎng)絡(luò)。PolicyTopo發(fā)現(xiàn)端口復(fù)用事件,并阻止主機(jī)移動。
3.2.2 鏈路攻擊
本部分在物理環(huán)境中進(jìn)行。鏈路攻擊實驗拓?fù)淙鐖D7所示,主機(jī)A(IP為10.0.0.1,MAC為4a:23:bc:d8:39:95)被攻擊者遠(yuǎn)程操控,主機(jī)B為正常主機(jī),交換機(jī)S1、S2、S3分別與控制器直連,S1與S2直連,S2與S3直連。在測試LLDP偽造攻擊時,主機(jī)C為普通用戶:攻擊者通過A監(jiān)聽來自S1P1的LLDP幀,使用Scapy偽造來自S3P1的LLDP幀,最后將偽造的LLDP幀發(fā)送給A直連的交換機(jī)S1。PolicyTopo發(fā)現(xiàn)LLDP偽造攻擊,并丟棄該幀。
在測試LLDP中繼攻擊時,主機(jī)C(IP為10.0.0.2,MAC為8a:c5:c0:6a:04:dd)被攻擊者遠(yuǎn)程操控:攻擊者通過A接收來自S1P1的LLDP幀并通過無線信道轉(zhuǎn)發(fā)至C,之后由C將該LLDP幀發(fā)送至其直連的交換機(jī)S3。PolicyTopo發(fā)現(xiàn)非法轉(zhuǎn)發(fā)LLDP幀行為,并丟棄該幀。
圖7 鏈路攻擊實驗拓?fù)?/p>
在低延時網(wǎng)絡(luò)環(huán)境中(鏈路平均延時低于25 ms)測試端口休眠攻擊時,主機(jī)C(IP為10.0.0.2,MAC為8a:c5:c0:6a:04:dd)被攻擊者遠(yuǎn)程操控。在任意時刻,攻擊者分別重啟主機(jī)A與C,再通過A監(jiān)聽來自S1P1的LLDP幀,并通過無線信道中繼轉(zhuǎn)發(fā)至C,由C將中繼的LLDP幀注入網(wǎng)絡(luò)。PolicyTopo發(fā)現(xiàn)具有異常傳輸延時的LLDP幀,并丟棄該幀。
在高延時網(wǎng)絡(luò)環(huán)境中(鏈路平均延時高于25 ms)測試端口休眠攻擊時,主機(jī)C(IP為10.0.0.2,MAC為8a:c5:c0:6a:04:dd)被攻擊者遠(yuǎn)程操控。首先攻擊者通過Tracert查看網(wǎng)絡(luò)鏈路的延時高低等級,當(dāng)發(fā)現(xiàn)鏈路延時等級較高時(即鏈路延時大于25 ms),發(fā)起標(biāo)準(zhǔn)的端口休眠攻擊。PolicyTopo發(fā)現(xiàn)非法鏈路,并丟棄相應(yīng)的LLDP幀。
本部分實驗在虛擬環(huán)境模擬6種網(wǎng)絡(luò)拓?fù)?,為獲取準(zhǔn)確的性能對比數(shù)據(jù),采用與TopoGuard+相同的實驗環(huán)境,在Floodlight- 1.1部署PolicyTopo。使用Mininet組網(wǎng)如圖8所示,交換機(jī)S1,S2,…,Sn分別與控制器直連,相鄰交換機(jī)互相連接,每臺交換機(jī)連有1臺主機(jī)。性能結(jié)果如圖9所示,x軸為交換機(jī)數(shù)量(鏈路數(shù)量為n-1),y軸為20 min內(nèi)TopoGuard+和PolicyTopo平均運(yùn)行開銷,單位為ms。實驗結(jié)果表明不同拓?fù)湎翽olicyTopo的運(yùn)行開銷平均值僅為0.02 ms,且相對穩(wěn)定。TopoGuard+的運(yùn)行開銷則隨著鏈路數(shù)量的增加而增加,當(dāng)網(wǎng)絡(luò)中鏈路數(shù)量達(dá)到7條時,TopoGuard+在不同拓?fù)渲械钠骄\(yùn)行開銷達(dá)到了0.45 ms,遠(yuǎn)遠(yuǎn)超出了PolicyTopo的平均運(yùn)行開銷。
圖8 性能測試實驗拓?fù)?/p>
圖9 20 min內(nèi)PolicyTopo與TopoGuard+的平均運(yùn)行開銷
本文中系統(tǒng)分析了SDN網(wǎng)絡(luò)架構(gòu)中的主機(jī)發(fā)現(xiàn)與鏈路發(fā)現(xiàn)機(jī)制漏洞,介紹了一種SDN網(wǎng)絡(luò)架構(gòu)下的拓?fù)涔舴烙鶛C(jī)制PolicyTopo設(shè)計與驗證流程。實驗發(fā)現(xiàn)當(dāng)網(wǎng)絡(luò)鏈路狀態(tài)變化,如延時增高時,攻擊者可偽造鏈路繞過現(xiàn)有防御模型欺騙控制器,該機(jī)制利用改進(jìn)信息熵模型驗證網(wǎng)絡(luò)鏈路延時變化,在定義了端口安全性的基礎(chǔ)上實時動態(tài)維護(hù)網(wǎng)絡(luò)全局視圖。物理環(huán)境和虛擬環(huán)境中測試結(jié)果表明:(1)該機(jī)制在Floodlight控制器環(huán)境下,對于網(wǎng)絡(luò)鏈路狀態(tài)變化能實時反應(yīng),根據(jù)延時狀態(tài)變化調(diào)整防御參數(shù),有效防御拓?fù)涔簦?2)與主流拓?fù)涔舴烙鶛C(jī)制,如TopoGuard+等相比,平均運(yùn)行開銷減少了約95.6%并趨于穩(wěn)定收斂。