[杜翠鳳 鄒光?。?/p>
邊緣計算網(wǎng)絡(luò)作為靠近用戶、數(shù)據(jù)源的一側(cè)的網(wǎng)絡(luò),將網(wǎng)絡(luò)、計算、存儲和業(yè)務(wù)核心能力下沉到邊緣側(cè),為用戶提供近實時計算和本地化處理能力,從而解決了傳統(tǒng)云計算網(wǎng)絡(luò)下海量數(shù)據(jù)計算效能、性能低的問題[1]。與云計算網(wǎng)絡(luò)相比,邊緣計算網(wǎng)絡(luò)具有終端類型更加豐富,業(yè)務(wù)系統(tǒng)智能互聯(lián)程度更高的特點[2],這些特點使得邊緣計算網(wǎng)絡(luò)面臨著嚴重的安全防護挑戰(zhàn):攻擊者往往利用底層節(jié)點接入的開放性,利用邊緣物聯(lián)網(wǎng)終端、邊緣計算網(wǎng)絡(luò)服務(wù)器等設(shè)備作為跳板對系統(tǒng)進行攻擊。為了確保系統(tǒng)通信路徑的可用性,研究者往往采用網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖[3]和通信路徑協(xié)商確認機制[4],在確保通信路徑可靠性要求的基礎(chǔ)上,增加通信路徑選取的隨機性,這種方法雖然在一定程度上降低了攻擊者通過監(jiān)聽掌握可用通信路徑信息后對系統(tǒng)發(fā)起跟隨攻擊的可能性,但隨著攻擊者網(wǎng)絡(luò)規(guī)模的不斷加大,通信路徑存在多樣性的情況下,攻擊者往往采用半盲攻擊的手段在擬態(tài)關(guān)聯(lián)圖存活時隙中進行攻擊。那么就意味著:如果不壓縮網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖的存活時隙,攻擊者在多次嘗試攻擊之后掌握網(wǎng)絡(luò)存活時隙的情況下,就會利用路徑存活時隙進行攻擊,使得網(wǎng)絡(luò)拓撲關(guān)聯(lián)容易失效;如果減少通信路徑多樣性,一旦網(wǎng)絡(luò)某些路徑遭受攻擊,那么系統(tǒng)通信安全可靠性將會大大降低。因此,如何保證網(wǎng)絡(luò)通信路徑多樣性的條件下,根據(jù)網(wǎng)絡(luò)安全可靠性來動態(tài)擴大和壓縮網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖,結(jié)合網(wǎng)絡(luò)安全可靠性的變化方向來動態(tài)調(diào)整網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖的存活時隙,實現(xiàn)邊緣計算網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖與主動防御模型的構(gòu)建。
第三代合作伙伴計劃組織(3rd Generation Partnership Project,3GPP)將邊緣計算納入5G 服務(wù)化架構(gòu)中,以解決5G 網(wǎng)絡(luò)流量的快速疏導和業(yè)務(wù)連續(xù)性問題[6]。3GPP 對邊緣計算的部署建議為:邊緣計算可作為獨立感知設(shè)備部署到網(wǎng)絡(luò)末梢,可以作為物聯(lián)網(wǎng)上面的匯聚層部署到物聯(lián)網(wǎng)終端之上;也可以部署到連接物聯(lián)網(wǎng)終端與云中心的任務(wù)位置中,具體的位置可結(jié)合業(yè)務(wù)和計算的需求進行適應(yīng)性部署[7,8]。為了保證邊緣計算處理數(shù)據(jù)的實時性,基于分層設(shè)計的邊緣計算平臺框架[9]被提出來,該框架自上至下包含:系統(tǒng)域、網(wǎng)絡(luò)域、數(shù)據(jù)域和感知終端域。系統(tǒng)域作為云計算業(yè)務(wù)下沉到低層后的分布式互聯(lián)子系統(tǒng)。網(wǎng)絡(luò)域為系統(tǒng)互聯(lián)、數(shù)據(jù)匯聚和承載提供海量聯(lián)接、實時聯(lián)接的服務(wù)。數(shù)據(jù)域?qū)崿F(xiàn)對數(shù)據(jù)的清洗、聚合、語義化、分析等功能,并保護數(shù)據(jù)的安全與隱私。感知終端域包含終端設(shè)備和部分網(wǎng)關(guān)設(shè)備,實現(xiàn)現(xiàn)場感知設(shè)備的互聯(lián)互通。
從上面的邊緣計算框架可知,整個邊緣計算網(wǎng)絡(luò)數(shù)據(jù)安全傳輸模型可抽象為3 層:系統(tǒng)層、網(wǎng)絡(luò)層和感知層,系統(tǒng)層作為整個網(wǎng)絡(luò)的控制層,控制低層多個分布式互聯(lián)子系統(tǒng)的數(shù)據(jù)通信;網(wǎng)絡(luò)層涵蓋大量的邊緣計算終端節(jié)點,承擔感知層到系統(tǒng)層通信功能,通過無線或有線的方式將終端層和系統(tǒng)層進行聯(lián)接,除此以外,終邊緣計算終端節(jié)點之間可以相互通信。感知層包括大量的感知節(jié)點,通常通過無線的方式與邊緣計算終端節(jié)點進行聯(lián)接。
邊緣計算網(wǎng)絡(luò)中的每個感知節(jié)點均會記錄可聯(lián)接的邊緣計算終端節(jié)點,每個感知節(jié)點可以從屬于多個邊緣計算終端節(jié)點,那么,為了保證數(shù)據(jù)安全傳輸,邊緣計算終端節(jié)點不僅需要維護從一層網(wǎng)絡(luò)鄰居節(jié)點表,還需要維護每個從屬感知節(jié)點的網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)通信路徑空間隊列?;谶@個邏輯,本文采用網(wǎng)絡(luò)拓撲關(guān)聯(lián)圖來模擬構(gòu)建多路徑動態(tài)通信聯(lián)盟以實現(xiàn)網(wǎng)絡(luò)攻擊的主動防御,當系統(tǒng)層感知到網(wǎng)絡(luò)受到攻擊后,將改變網(wǎng)絡(luò)拓撲;邊緣計算終端節(jié)點感知到網(wǎng)絡(luò)拓撲發(fā)生變化后,以分布式推進的方式交換信息,并通知感知節(jié)點切換傳輸路徑以規(guī)避網(wǎng)絡(luò)攻擊?;谏鲜龅倪壿?,本文將邊緣計算網(wǎng)絡(luò)構(gòu)成的網(wǎng)絡(luò)拓撲視為多個子圖,每個子圖由一個感知節(jié)點和一個主站服務(wù)節(jié)點組成(主站節(jié)點位于系統(tǒng)層中)。在開始階段,主站服務(wù)節(jié)點會根據(jù)子圖為感知節(jié)點生成網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)節(jié)點空間隊列,感知節(jié)點會根據(jù)終端路由表記錄其所屬的邊緣計算終端節(jié)點ip 以及訪問系統(tǒng)層主站服務(wù)節(jié)點的路徑節(jié)點隊列,并將數(shù)據(jù)按照既定的路徑進行傳輸;一旦系統(tǒng)感知到網(wǎng)絡(luò)攻擊時,系統(tǒng)根據(jù)邊緣計算終端節(jié)點的可靠性來篩選滿足可靠性要求的可用路徑,并動態(tài)裁剪異常狀態(tài)的邊緣計算終端節(jié)點,生成可用的網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖。
網(wǎng)絡(luò)主動防御的本質(zhì)是保證系統(tǒng)網(wǎng)絡(luò)安全可靠性性能減損最小的情況下,通過網(wǎng)絡(luò)拓撲關(guān)聯(lián)圖和動態(tài)通信路徑調(diào)整,實現(xiàn)系統(tǒng)網(wǎng)絡(luò)安全可靠性減損最小。而網(wǎng)絡(luò)拓撲關(guān)聯(lián)圖、動態(tài)通信路徑調(diào)整取決于其生存時隙。當系統(tǒng)沒有檢測到網(wǎng)絡(luò)攻擊時,生存時隙設(shè)置為無限大,此時,攻擊者通過對目標系統(tǒng)進行掃描和探測的行為來獲取有效的攻擊路徑,進而進入跟隨攻擊和半盲攻擊,系統(tǒng)的可靠性將會降低;相反,如果生存時隙設(shè)置為一個很小的值,高頻的路徑調(diào)整會給邊緣感知節(jié)點的傳輸帶來較大的風險,帶來較大的系統(tǒng)服務(wù)性能可靠性減損。因此,本文需要采取一種基于系統(tǒng)性能可靠性減損最小的生存時隙自適應(yīng)更新的方法,動態(tài)調(diào)整網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖和通信路徑,實現(xiàn)網(wǎng)絡(luò)主動防御。
網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖綜合考量通信路徑和邊緣計算終端節(jié)點的可靠性,這是因為從感知節(jié)點向主站服務(wù)節(jié)點進行數(shù)據(jù)傳輸過程中,通信路徑的失效會直接影響數(shù)據(jù)的傳輸;同理,邊緣計算終端節(jié)點、網(wǎng)絡(luò)隔離身份認證節(jié)點的可靠性會影響數(shù)據(jù)的處理流程,同樣會影響數(shù)據(jù)傳輸。本文通過構(gòu)建感知節(jié)點和主站服務(wù)節(jié)點之間的網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖,獲取每一個感知節(jié)點數(shù)據(jù)傳輸路徑集合。基于通信路徑和節(jié)點可靠性構(gòu)建網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖如圖1所示。
圖1 基于通信路徑和節(jié)點可靠性構(gòu)建網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖
根據(jù)可靠性理論[10],通信路徑的可靠性服從泊松分布,基于時變函數(shù),通信路徑的可靠性可以表示為。
節(jié)點可靠性可以用網(wǎng)絡(luò)隔離身份認證節(jié)點和主站服務(wù)節(jié)點正常工作的概率和節(jié)點當前的資源可用性來表示。
節(jié)點i 正常工作的概率A(i):
其中,MTTF 表示故障間隔時間,MTTR 表示停機時間。
除了考慮節(jié)點i 正常工作的概率,還要考慮節(jié)點i 的資源占用情況,資源占用情況需要考慮節(jié)點的計算資源、存儲資源以及帶寬資源的占用情況。占用情況的表達式為。
其中,w1、w2、w3三者之和為1,不同物理節(jié)點的配置,設(shè)置值是不一樣的。其中Ci、Mi、Bi 表示物理節(jié)點i 最大的計算資源、存儲資源以及帶寬資源。cj、mj、bj 表示物理節(jié)點i 已經(jīng)被虛擬網(wǎng)絡(luò)功能占用的計算資源、存儲資源以及帶寬資源。
當資源被占用,節(jié)點i 的資源可用率可以表示為。
綜合節(jié)點正常工作的概率和節(jié)點當前的資源可用率,節(jié)點i 的可靠性表示為:
整條通信路徑涵蓋的有m 個節(jié)點的可靠性為:
基于節(jié)點和通信路徑的可靠性,計算感知節(jié)點到主站服務(wù)節(jié)點的其中一條通信路徑p 的可靠性:
將通信路徑p 的可靠性與設(shè)定的可靠性閾值進行比較,如果大于設(shè)定可靠性閾值,那么將其納入通信路徑集合A,否則,將其剔除。
假設(shè)在某一個存活時隙內(nèi)所有感知節(jié)點的通信路徑集合A 中存在n 條可靠路徑,根據(jù)網(wǎng)絡(luò)安全“慢增長,快減小”原則,第t 個存活時隙的網(wǎng)絡(luò)安全可靠性SA 為。
由于過長的存活時隙會增加通信輪徑被掃描探測和攻擊的可能性,然后過短的存活時隙又會引起網(wǎng)絡(luò)傳輸質(zhì)量的下降,因此,本文在考慮數(shù)據(jù)交互高安全、高可靠的需求,構(gòu)建一個基于系統(tǒng)性能可靠性變動的動態(tài)存活時隙調(diào)整方法,以節(jié)省網(wǎng)絡(luò)資源消耗。
公式9 展現(xiàn)存活時隙動態(tài)調(diào)整策略的計算方法,該策略指通信雙方按照既定策略擴大或者壓縮通信路徑存活時間,以降低半盲攻擊情況下攻擊者通過掌握系統(tǒng)狀態(tài)空間發(fā)起跟隨攻擊的可能性。
本文采用遺傳算法來尋找公式9 的最優(yōu)值。遺傳算法是一種基于自然選則和自然遺傳機制的搜索優(yōu)化算法,是借鑒自燃選擇過程優(yōu)勝劣汰原則模仿適合生存的基本進化過程。遺傳算法是一種典型的迭代算法,它從一組隨機產(chǎn)生的解開始,在每個迭代過程實現(xiàn)模擬生物進化和遺傳的操作,從而產(chǎn)生一組新的解,新解又有適應(yīng)度給出評價,不斷重復,直到算法達到某種要求的收斂。
具體步驟如下。
Step1:將模態(tài)X 和模態(tài)Y 進行染色體編碼,隨機產(chǎn)生初始種群,種群大小為P,L 為一個染色體長度(編碼長度),種群記為Pop。
Step2:將二進制染色體轉(zhuǎn)化為十進制數(shù),并計算當代種群個體的適應(yīng)度值。
Step3:找出當代中的最優(yōu)個體和最優(yōu)適應(yīng)度值(尋找公式9 的最優(yōu)值),并從當代種群進行選擇運算,本次采用了輪盤賭選擇算法,選擇后的種群記為S_pop。
Step4:對種群S_pop 進行交叉,本次交叉采用的是自適應(yīng)的雙點交叉,然后再進行變異。
Step5:求出變異后的最優(yōu)適應(yīng)度值以及對應(yīng)的最優(yōu)個體與Step3 中的最優(yōu)個體進行比較,如果變異后的最優(yōu)適應(yīng)度值大于Step3 中的最優(yōu)適應(yīng)度值,則不做改變,如果變異后的最優(yōu)適應(yīng)度值小于Step3 中的最優(yōu)適應(yīng)度值,則將變異后的最差適應(yīng)度值對應(yīng)的個體由Step3 中選出的最優(yōu)個體替換,即最優(yōu)保存策略。
Step6:若循環(huán)次數(shù)大于最大迭代次數(shù),輸出統(tǒng)計結(jié)果,如收斂曲線等,整個算法終止,否則,將返回到step2。
為了驗證本文所提算法的有效性和可行性,本文借鑒Sheyner 構(gòu)建一個實驗網(wǎng)絡(luò),其拓撲結(jié)構(gòu)如圖2 所示。本文通過對網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)算法進行系統(tǒng)仿真,網(wǎng)絡(luò)可用地址數(shù)量為28 個,可用端口為500 個,初始關(guān)聯(lián)存活時隙為60 s。
圖2 實驗網(wǎng)的網(wǎng)絡(luò)拓撲圖
安全威脅來自于外網(wǎng)的黑客,黑客通過外部的網(wǎng)絡(luò)越過隔離區(qū)的防火墻訪問內(nèi)網(wǎng)的客戶端,在通過劫持客戶端來實現(xiàn)對系統(tǒng)的攻擊。系統(tǒng)為了抵御黑客的攻擊,采用網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)技術(shù)來抵御網(wǎng)絡(luò)攻擊,并針對網(wǎng)絡(luò)攻擊的強度,對網(wǎng)絡(luò)拓撲關(guān)聯(lián)圖、通信路徑以及存活時隙進行自動調(diào)整,增加黑客攻擊網(wǎng)絡(luò)路徑命中的難度。
攻擊方式采用半盲攻擊方式下的DDoS 攻擊手段測試網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)系統(tǒng)在不同的拓撲關(guān)聯(lián)算法中所達到的傳輸效率。圖3 顯示了簡單拓撲算法和本文算法的抗DDoS 性能。結(jié)果表明,隨著攻擊的深入,本文提出的網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)策略和動態(tài)存活時隙能夠更有效抵御DDoS 攻擊,這是因為本文的算法能夠針對網(wǎng)絡(luò)攻擊的強度對網(wǎng)絡(luò)的拓撲擬態(tài)關(guān)聯(lián)圖和通信路徑進行動態(tài)調(diào)整;除此之外,基于系統(tǒng)的性能可靠性動態(tài)調(diào)整存活時隙,從而增加DDoS 攻擊的難度,即使當攻擊比例超過50%的的情況(一般的可用路徑受到黑客攻擊),DDoS 攻擊進入一種盲攻擊狀態(tài)而造成網(wǎng)絡(luò)傳輸效率迅速下降的情況下,本文的算法仍然能夠呈慢減少的趨勢。
圖3 DDoS 攻擊防御效果對比圖
為了證明本文算法所提的動態(tài)存活時隙在抵御攻擊過程的作用,本文分別在有攻擊和無攻擊的場景下衡量主機的平均網(wǎng)絡(luò)傳輸效率。由圖4 可知,在無攻擊情況下,本文的算法與簡單拓撲算法的傳輸效率差異性不大;在受到網(wǎng)絡(luò)攻擊強度不大的情況下,本文能夠根據(jù)網(wǎng)絡(luò)安全可靠性來動態(tài)擴大和壓縮網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖,從而保證主機平均傳輸效率比簡單拓撲算法的傳輸效率要高。隨著攻擊的持續(xù),本文算法能夠根據(jù)網(wǎng)絡(luò)安全可靠性動態(tài)調(diào)節(jié)通信路徑的存活時隙,圖4 展現(xiàn)本文算法的存活時隙的周期分別為60 s,41 s,29 s,21 s,數(shù)據(jù)傳輸效率約為上一期的90%,85%和80%。由此可知,本文所提出的算法能夠較好應(yīng)對網(wǎng)絡(luò)攻擊,通過對網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖的動態(tài)擴展和壓縮來保證較好的傳輸效率,除此以外,本文算法通過動態(tài)調(diào)整存活時隙周期來保證通信路徑的可用性,以此實現(xiàn)主動防御的目的。
圖4 在攻擊強度不大情況下的網(wǎng)絡(luò)傳輸效率對比
本文提出一種在邊緣計算網(wǎng)絡(luò)環(huán)境環(huán)境下的主動防御技術(shù),該技術(shù)針對攻擊強度結(jié)合網(wǎng)絡(luò)安全可靠性來動態(tài)調(diào)整網(wǎng)絡(luò)拓撲擬態(tài)關(guān)聯(lián)圖,該方法能夠在保證網(wǎng)絡(luò)通信路徑多樣性的基礎(chǔ)上動態(tài)調(diào)整網(wǎng)絡(luò)存活時隙,從而比傳統(tǒng)的簡單拓撲算法的網(wǎng)絡(luò)傳輸效率更高。由此可知,本文提出的算法更能滿足邊緣計算網(wǎng)絡(luò)環(huán)境下的高實時約束的要求,為網(wǎng)絡(luò)提供良好的數(shù)據(jù)交互效率。