盧純義
(1.華北電力大學(xué) 電氣與電子工程學(xué)院,北京 102206;2.國網(wǎng)浙江蘭溪市供電有限公司,浙江 蘭溪 321100)
互聯(lián)網(wǎng)技術(shù)、移動(dòng)互聯(lián)網(wǎng)等新興處理技術(shù)的發(fā)展對網(wǎng)絡(luò)的帶寬、網(wǎng)絡(luò)的資源調(diào)度以及網(wǎng)絡(luò)設(shè)備的合理使用提出了更高的要求[1]。隨著互聯(lián)網(wǎng)用戶的海量增加,新型的網(wǎng)絡(luò)平臺如電商平臺、社交平臺、團(tuán)購平臺等都對現(xiàn)階段的網(wǎng)絡(luò)結(jié)構(gòu)提出了更高更全面的需求。傳統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)已經(jīng)無法滿足現(xiàn)階段的發(fā)展需求,針對日益復(fù)雜的網(wǎng)絡(luò)環(huán)境,傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)的問題以及局限性已經(jīng)展現(xiàn)出來,并且已經(jīng)無法滿足當(dāng)前互聯(lián)網(wǎng)的業(yè)務(wù)發(fā)展需求。近幾年來,SDN的發(fā)展以及崛起為未來網(wǎng)絡(luò)的發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)?;赟DN的強(qiáng)勁發(fā)展勢頭以及解決安全問題的迫切性,詳細(xì)分析了SDN技術(shù)架構(gòu)中存在的安全問題,其中最為重要的SDN控制器的安全問題也是重中之重。相關(guān)學(xué)者對SDN控制器的安全進(jìn)行了研究。
蔡星浦等[2]提出基于多階段博弈的電力CPS虛假數(shù)據(jù)注入攻擊防御方法,通過CPS進(jìn)行電網(wǎng)攻擊風(fēng)險(xiǎn)檢測,利用多階段博弈提取虛假數(shù)據(jù)注入攻擊,實(shí)現(xiàn)電力CPS數(shù)據(jù)的分階段動(dòng)態(tài)防御,此方法能夠有效提升防御的實(shí)效性,但是存在通信誤差。王曉妮等[3]提出基于免疫網(wǎng)絡(luò)的ARP攻擊防御方法,根據(jù)免疫網(wǎng)絡(luò)方法進(jìn)行App攻擊消除,利用TCP/IP協(xié)議進(jìn)行目的端檢測,此方法能夠有效提升防御檢測。朱亞東[4]提出一種基于粗糙集和SPSO的網(wǎng)絡(luò)入侵檢測方案,采用粗糙集進(jìn)行網(wǎng)絡(luò)入侵特征分類,然后簡化粒子群優(yōu)化進(jìn)行閾值參數(shù)計(jì)算,此方法能夠有效提升防御有效性。
針對上述問題,設(shè)計(jì)并提出基于SDN架構(gòu)的電網(wǎng)通信惡意攻擊防御控制方法。通過具體的仿真實(shí)驗(yàn),全面驗(yàn)證了所提方法的有效性以及優(yōu)越性。
SDN是從不同的角度對電信通信進(jìn)行分析,SDN是一種全新的網(wǎng)絡(luò)架構(gòu),它存在的意義就是增強(qiáng)整個(gè)網(wǎng)絡(luò)的集中控制[5-7]。SDN網(wǎng)絡(luò)的架構(gòu)圖如圖1所示。
圖1 SDN網(wǎng)絡(luò)架構(gòu)圖
分析圖1可知,SDN控制器與電網(wǎng)通信客戶端進(jìn)行對接,通過源交換機(jī)對目的交換機(jī)進(jìn)行控制,各個(gè)目的交換機(jī)之間進(jìn)行信息交換[8-9]。SDN的特點(diǎn)主要體現(xiàn)在以下3方面。
(1)轉(zhuǎn)控分離;
(2)邏輯控制集中;
(3)網(wǎng)絡(luò)能力開放化。
OpenFlow交換機(jī)在整個(gè)架構(gòu)的基礎(chǔ)設(shè)施層,它的存在就是為了進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā)[10],它主要由3個(gè)不同的部分組成,具體如圖2所示。
圖2 OpenFlow交換機(jī)具體架構(gòu)圖
OpenFlow協(xié)議中核心部分為流表機(jī)制,通過流表機(jī)制能夠完成網(wǎng)絡(luò)的維護(hù)工作。
OpenFlow流表主要由以下幾部分組成。
(1)匹配域;
(2)計(jì)數(shù)器;
(3)動(dòng)作;
(4)安全通道。
在實(shí)際操作的過程中,需要將SDN架構(gòu)中的控制層單獨(dú)分離出來,控制層是整個(gè)架構(gòu)最為核心的部分,實(shí)質(zhì)上就是對網(wǎng)絡(luò)操作系統(tǒng)進(jìn)行控制。SDN架構(gòu)具有承上啟下的作用,同時(shí)還能對整個(gè)架構(gòu)的最底層進(jìn)行抽象管理,對整個(gè)架構(gòu)的最上層進(jìn)行編程接口,方便實(shí)現(xiàn)相關(guān)模塊的設(shè)計(jì)。
通過統(tǒng)計(jì)分析模型,設(shè)定數(shù)據(jù)包的數(shù)量為Ni;正常情況下數(shù)據(jù)包的平均數(shù)為ni,則能夠獲取以下的計(jì)算為式(1)。
(1)
在信息論中,信息熵是系統(tǒng)中混亂度的一個(gè)度量指標(biāo),其中xi代表集合中第i個(gè)元素出現(xiàn)的次數(shù),H表示信息在商,以下給出具體的計(jì)算為式(2)、式(3)。
(2)
(3)
式中,pi表示通信系數(shù)流量矩陣。如果設(shè)定α代表階數(shù),則α階的Renyi熵的計(jì)算式為式(4)。
(4)
以下給出具體的約束條件為式(5)。
(5)
當(dāng)α→1時(shí),香農(nóng)熵和Renyi熵的計(jì)算結(jié)果是一致的,即式(6)。
(6)
(7)
在上述分析的基礎(chǔ)上,需要判定電信通信網(wǎng)絡(luò)節(jié)點(diǎn)自身的能量,從而啟動(dòng)對應(yīng)的控制模塊,同時(shí)獲取能量損耗P(α)ij的計(jì)算式為式(8)。
(8)
綜合分析SDN架構(gòu)的相關(guān)理論,將熵檢測算法和閾值計(jì)算方法相結(jié)合[11-12],分別計(jì)算通信網(wǎng)絡(luò)中不同參數(shù)的取值,即式(9)。
(9)
其中,N表示自然數(shù)集,由此獲得了電網(wǎng)通信參數(shù)值,根據(jù)這一結(jié)果進(jìn)行以下研究。
結(jié)合1.1小節(jié)的分析結(jié)果,用戶能夠?qū)刂破鬟M(jìn)行自定義編程,所以能夠利用控制提供的友好API對控制器進(jìn)行模塊開發(fā),以下給出基于SDN架構(gòu)的電網(wǎng)通信惡意攻擊防御控制模塊的具體設(shè)計(jì)過程,如圖3所示。
圖3 控制模塊的具體流程圖
網(wǎng)絡(luò)攻擊者對SDN架構(gòu)發(fā)起惡意攻擊時(shí),將整個(gè)網(wǎng)絡(luò)中全部的數(shù)據(jù)流發(fā)送至SDN架構(gòu)最底層的交換設(shè)備中。分析SDN的相關(guān)理論可知,數(shù)據(jù)流內(nèi)的數(shù)據(jù)包能夠精準(zhǔn)反映攻擊者的特征。當(dāng)攻擊數(shù)據(jù)包到達(dá)SDN架構(gòu)中的通信網(wǎng)絡(luò)中,由于原始IP地址被攻擊者偽造,無法完成流表項(xiàng)的匹配工作[13],所以需要將其對應(yīng)的處理,同時(shí)發(fā)送至控制器中。結(jié)合上述分析,需要對控制器進(jìn)行編程,在編程的過程中獲取數(shù)據(jù)包的相關(guān)特征,將這些特征設(shè)定為評判參數(shù),為后續(xù)的研究提供對應(yīng)的理論基礎(chǔ)。
根據(jù)控制模塊的設(shè)計(jì)流程,需要提取出一個(gè)或者多個(gè)流表項(xiàng)特征來完成Renyi熵的熵值計(jì)算。
分析相關(guān)的先驗(yàn)知識可知,一般情況下攻擊者會偽造數(shù)據(jù)包的源IP地址。為了有效防御電網(wǎng)通信惡意攻擊,需要有效防止控制器被流量擊垮。
控制器在接收數(shù)據(jù)包的過程中,需要設(shè)定流量窗口的大小,然后分別對各個(gè)數(shù)據(jù)包的目的IP進(jìn)行有效提取以及統(tǒng)計(jì)分析,最后進(jìn)行熵值計(jì)算。
以下給出具體的電網(wǎng)通信惡意攻擊防御控制方法的具體操作流程。
(1)當(dāng)數(shù)據(jù)流發(fā)送到交換機(jī)時(shí),通過交換機(jī)完成相關(guān)流表項(xiàng)的匹配。假設(shè)其滿足相關(guān)的約束條件,則將數(shù)據(jù)包的字段記為X;反之無法進(jìn)行匹配的流表項(xiàng)需要通過交換機(jī)發(fā)送數(shù)據(jù)包,同時(shí)利用控制器對數(shù)據(jù)包中的目的IP字段進(jìn)行特征提取;
(2)結(jié)合步驟(1),對X進(jìn)行判定;假設(shè)X不在設(shè)定的哈希表中,則將其加入哈希表中,同時(shí)將其出現(xiàn)的次數(shù)記為mi;假設(shè)它已經(jīng)存在哈希表中,則將它出現(xiàn)的次數(shù)記為mi+1;
(3)判斷哈希表中總數(shù)據(jù)包的個(gè)數(shù)是否滿足窗口的大小W,如果滿足,則需要通過熵值計(jì)算式對窗口內(nèi)的數(shù)據(jù)包進(jìn)行熵值計(jì)算;否則,則繼續(xù)等待下一個(gè)數(shù)據(jù)包的到達(dá);
(4)如果步驟(3)計(jì)算得到的熵值低于閾值,則需要將異常隊(duì)列計(jì)數(shù)器的取值加1;反之則將它的取值清零。假設(shè)異常隊(duì)列計(jì)數(shù)器的取值高于或者等于閾值,則說明整個(gè)SDN架構(gòu)的電網(wǎng)通信發(fā)生惡意攻擊。
綜合上述分析,將1.1小節(jié)的計(jì)算結(jié)果放置于設(shè)定的控制模塊中,根據(jù)相關(guān)的防護(hù)需求,設(shè)定對應(yīng)的SDN架構(gòu)防護(hù)模塊,將其應(yīng)用于SDN架構(gòu)中。追溯發(fā)生攻擊的源頭,對不同的攻擊強(qiáng)度進(jìn)行分級量化處理,完成電網(wǎng)通信惡意攻擊防御控制。
為了驗(yàn)證所提基于SDN架構(gòu)的電網(wǎng)通信惡意攻擊防御控制方法的綜合有效性,需要進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)環(huán)境為英特爾奔騰(R)雙核(2.69 GHz),內(nèi)存為2 048 MB。實(shí)驗(yàn)選用CheckPoint 仿真軟件,具體的通信網(wǎng)絡(luò)仿真系統(tǒng)拓?fù)浣Y(jié)構(gòu)如圖4所示。
圖4 通信網(wǎng)絡(luò)仿真系統(tǒng)拓?fù)浣Y(jié)構(gòu)
攻擊測試實(shí)驗(yàn)流程如下。
首先,電網(wǎng)用戶利用仿真軟件構(gòu)建攻擊測試提交給服務(wù)器;然后自動(dòng)生成對應(yīng)攻擊測試腳本,進(jìn)行攻擊數(shù)據(jù)預(yù)處理;之后,進(jìn)行解析腳本得到通信網(wǎng)絡(luò)攻擊數(shù)據(jù)存儲;啟動(dòng)實(shí)驗(yàn)進(jìn)行數(shù)據(jù)攻擊存儲檢測,通過鏈路連接實(shí)現(xiàn)數(shù)據(jù)節(jié)點(diǎn)匹配,最后檢測惡意攻擊下不同方法的能量消耗、運(yùn)行時(shí)間、相對誤差等。
(1)能量消耗/J
以下分別給出3種控制方法在節(jié)點(diǎn)數(shù)量不斷增加的情況下,各種方法的能量消耗情況,具體的對比結(jié)果如表1所示。
表1 所提方法的能量消耗變化情況
綜合分析上述實(shí)驗(yàn)數(shù)據(jù)可知,隨著節(jié)點(diǎn)數(shù)量的不斷變化,各種控制方法的能量消耗也會隨之發(fā)生變化。當(dāng)節(jié)點(diǎn)數(shù)量為20個(gè)時(shí),文獻(xiàn)[2]方法能量消耗為50.13J,文獻(xiàn)[3]方法能量消耗為50.01J,所提方法能量消耗為49.81J。當(dāng)節(jié)點(diǎn)數(shù)量為100個(gè)時(shí),文獻(xiàn)[2]方法能量消耗為47.68J,文獻(xiàn)[3]方法能量消耗為46.87J,所提方法能量消耗為38.72J。相比傳統(tǒng)2種方法的能量消耗情況,所提控制方法的能量消耗在3種控制方法中為最低。
(2)運(yùn)行時(shí)間/min
為了進(jìn)一步驗(yàn)證所提方法的優(yōu)越性,以下分別對比3種方法的運(yùn)行時(shí)間,具體的對比結(jié)果如圖5所示。
圖5 不同控制方法的運(yùn)行時(shí)間變化情況
分析圖5可知,在實(shí)驗(yàn)次數(shù)不斷增加的情況下,各種控制方法的運(yùn)行時(shí)間也在不斷發(fā)生變化。當(dāng)實(shí)驗(yàn)次數(shù)為15次時(shí),文獻(xiàn)[2]方法運(yùn)行時(shí)間為17 s,文獻(xiàn)[3]方法運(yùn)行時(shí)間為25 s,本文方法運(yùn)行時(shí)間僅為5 s。當(dāng)實(shí)驗(yàn)次數(shù)為50次時(shí),文獻(xiàn)[2]方法運(yùn)行時(shí)間為21 s,文獻(xiàn)[3]方法運(yùn)行時(shí)間為28 s,本文方法運(yùn)行時(shí)間僅為5 s。本文方法一直擁有較低運(yùn)行時(shí)間,所提方法效率高。
(3)相對誤差/%
為了更進(jìn)一步驗(yàn)證所提控制的有效性,以下分別對比3種方法的相對誤差,具體的對比結(jié)果如表2所示。
表2 所提控制方法的相對誤差變化情況
綜合分析上述實(shí)驗(yàn)數(shù)據(jù)可知,隨著通信半徑長度的不斷增加,各種控制方法的相對誤差也在不斷變化。當(dāng)通信半徑為80 km時(shí),文獻(xiàn)[2]方法相對誤差為4.7%,文獻(xiàn)[3]方法相對誤差為20.9%,本文方法相對誤差僅為1%,本文方法相對誤差較低。當(dāng)通信半徑為120 km時(shí),文獻(xiàn)[2]方法相對誤差為25%,文獻(xiàn)[3]方法相對誤差為65%,本文方法相對誤差僅為2%,與其他2種控制方法相比,所提控制方法的控制誤差明顯最低,這說明所提方法具有較高的準(zhǔn)確性。
針對傳統(tǒng)的通信惡意攻擊防御控制方法存在的一系列問題,設(shè)計(jì)并提出基于SDN架構(gòu)的電網(wǎng)通信惡意攻擊防御控制方法。通過實(shí)驗(yàn)得出以下結(jié)論。
(1)隨著節(jié)點(diǎn)數(shù)量的不斷變化,各種控制方法的能量消耗也會隨之發(fā)生變化。當(dāng)節(jié)點(diǎn)個(gè)數(shù)增加到1 000時(shí),本文方法的能量消耗僅為41 J左右,遠(yuǎn)遠(yuǎn)低于其他2種傳統(tǒng)方法,具有更好的性能。
(2)在實(shí)驗(yàn)次數(shù)不斷增加的情況下,各種控制方法的運(yùn)行時(shí)間也在不斷發(fā)生變化。當(dāng)實(shí)驗(yàn)次數(shù)為50次時(shí),本文方法運(yùn)行時(shí)間僅為5 s,所提方法效率高。
(3)隨著通信半徑長度的不斷增加,各種控制方法的相對誤差也在不斷變化。當(dāng)通信半徑為120 km時(shí),本文方法相對誤差僅為2%,所提方法具有較高的準(zhǔn)確性。