徐瀟雨,胡浩,張紅旗,劉玉嶺
(1.信息工程大學(xué)密碼工程學(xué)院,河南 鄭州 450001;2.河南省信息安全重點(diǎn)實(shí)驗(yàn)室,河南 鄭州 450001;3.中國(guó)科學(xué)院信息工程研究所,北京 100190)
隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)在惠及諸多領(lǐng)域的同時(shí),其安全性也面臨嚴(yán)峻挑戰(zhàn)。賽門鐵克公司2019 年發(fā)布的互聯(lián)網(wǎng)安全研究報(bào)告[1]指出,目標(biāo)性攻擊已成為當(dāng)前網(wǎng)絡(luò)犯罪的主要方式,最活躍團(tuán)伙在過去三年中攻擊的企業(yè)數(shù)平均達(dá)到了55 家。
常規(guī)網(wǎng)絡(luò)的靜態(tài)屬性使攻擊者容易捕捉攻擊目標(biāo)并發(fā)動(dòng)長(zhǎng)期有效的攻擊。移動(dòng)目標(biāo)防御[2]是美國(guó)研究人員針對(duì)當(dāng)前網(wǎng)絡(luò)安全博弈中防御方所處的弱勢(shì)地位提出的革命性技術(shù),其旨在“改變游戲規(guī)則”,打破攻守不平衡的現(xiàn)狀。移動(dòng)目標(biāo)防御通過不斷改變網(wǎng)絡(luò)的關(guān)鍵屬性,使攻擊方可能利用的攻擊面不斷發(fā)生變化,從而達(dá)到迷惑攻擊方、增加攻擊難度和成本、降低攻擊收益的目的。
路由路徑是網(wǎng)絡(luò)攻擊面的重要組成部分。針對(duì)固定的轉(zhuǎn)發(fā)路徑,攻擊者可發(fā)動(dòng)竊聽攻擊[3]、黑洞攻擊[4]、拒絕服務(wù)攻擊[5]等,對(duì)網(wǎng)絡(luò)正常業(yè)務(wù)構(gòu)成嚴(yán)重威脅。隨機(jī)路由防御技術(shù)通過動(dòng)態(tài)地改變通信雙方的路由路徑,以規(guī)避惡意竊聽等攻擊行為。因此,隨機(jī)路由防御技術(shù)已成為移動(dòng)目標(biāo)防御下的一項(xiàng)重要技術(shù)和熱點(diǎn)研究方向。
本文提出一種基于深度確定性策略梯度(DDPG,deep deterministic policy gradient)[6]的隨機(jī)路由防御方法。首先通過帶內(nèi)網(wǎng)絡(luò)遙測(cè)(INT,in-band network telemetry)技術(shù)獲取實(shí)時(shí)的網(wǎng)絡(luò)狀態(tài);然后將獲取的實(shí)時(shí)網(wǎng)絡(luò)狀態(tài)輸入DDPG 方法,依據(jù)實(shí)時(shí)網(wǎng)絡(luò)狀態(tài)和攻擊者行為特性生成符合安全性和服務(wù)質(zhì)量(QoS,quality of service)需求的隨機(jī)路由方案;最后基于P4[7]網(wǎng)絡(luò)架構(gòu)執(zhí)行該隨機(jī)路由方案,實(shí)現(xiàn)了數(shù)據(jù)包級(jí)粒度的隨機(jī)路由。
移動(dòng)目標(biāo)防御技術(shù)通過變換網(wǎng)絡(luò)要素信息,例如路由路徑等,切斷攻擊方的網(wǎng)絡(luò)偵察、目標(biāo)攻擊。移動(dòng)目標(biāo)防御迫使攻擊者不斷追逐攻擊目標(biāo),增大攻擊方成本,消除攻擊方的時(shí)間優(yōu)勢(shì)和信息不對(duì)稱優(yōu)勢(shì)。
采用移動(dòng)目標(biāo)防御技術(shù)的網(wǎng)絡(luò)系統(tǒng)依據(jù)安全需求和QoS 需求生成新的跳變要素,并將新的跳變要素更新至當(dāng)前系統(tǒng),如圖1 所示。其中,跳變要素由攻擊屬性決定,例如,跳變要素為路由路徑則可以有效減少竊聽攻擊;安全需求也由攻擊屬性決定,同樣針對(duì)竊聽攻擊,安全需求是使數(shù)據(jù)包在傳輸中盡可能不被攻擊方截獲;QoS 需求由網(wǎng)絡(luò)狀態(tài)決定,例如,F(xiàn)TP 要求路由路徑有充足的帶寬保證,HTTP 對(duì)路由路徑的時(shí)延有較高要求。
圖1 移動(dòng)目標(biāo)防御基本原理
Duan 等[8]首先提出了一種高效的隨機(jī)路由方法,被稱為隨機(jī)路由跳變(RRM,random route mutation),利用可滿足性模理論(SMT,satisfiability modulo theory)求解滿足要求的路由路徑。Jafarian等[9]考慮了鏈路安全和防御效益,使用博弈論來(lái)探討路由方案生成。Zhao 等[10]提出了一種雙跳變通信(DHC,double-hop communication)方法,同時(shí)對(duì)端點(diǎn)信息和路由路徑實(shí)施無(wú)規(guī)則的跳變。Aseeri 等[11]指出,在某些情況下,現(xiàn)有隨機(jī)路由方法仍然會(huì)導(dǎo)致100%的數(shù)據(jù)暴露,在此基礎(chǔ)上提出對(duì)網(wǎng)絡(luò)中的確認(rèn)數(shù)據(jù)包也實(shí)施隨機(jī)路由,以避免嚴(yán)重的數(shù)據(jù)泄露。Zhou 等[12]提出了一種時(shí)空隨機(jī)優(yōu)化路由跳變方法(RRO-RM,spatio-temporal stochastic optimization route mutation),確保安全性從流(用戶)和節(jié)點(diǎn)(基礎(chǔ)設(shè)施)2 個(gè)角度得到保證。Duan 等[13]提出了一種主動(dòng)的路由跳變方法,在量化網(wǎng)絡(luò)中實(shí)體脆弱性的基礎(chǔ)上實(shí)施周期性的路由跳變。Liu 等[14]利用網(wǎng)絡(luò)異常檢測(cè)觸發(fā)隨機(jī)路由跳變(AT-RRM,anomaly triggered random routing mutation),使用改進(jìn)的蟻群算法求解可行的路由方案,進(jìn)一步增加竊聽攻擊的難度。Lei 等[15]提出一種最優(yōu)路徑跳變方法,通過基于安全容量矩陣的最優(yōu)路徑跳變生成方法選取最優(yōu)跳變路徑和跳變周期組合,以實(shí)現(xiàn)防御收益的最大化。Zhang 等[16]提出了一種安全感知Q-learning 算法,從路由跳變空間中迭代選擇路徑,并進(jìn)行安全感知自適應(yīng)調(diào)整學(xué)習(xí)速率,同時(shí),從理論上證明了算法的最優(yōu)收斂性。Zhang 等[17]進(jìn)一步提出了一種適用于大規(guī)模狀態(tài)?動(dòng)作空間的基于深度強(qiáng)化學(xué)習(xí)的路由跳變方案,驗(yàn)證了該方法在防御性能和收斂速度上較已有方法有較大的提高。
當(dāng)前,隨機(jī)路由防御已成為移動(dòng)目標(biāo)防御下的研究熱點(diǎn)。然而,分析現(xiàn)有方法發(fā)現(xiàn),其仍存在以下問題。
1) 對(duì)數(shù)據(jù)流的隨機(jī)拆分粒度過粗。已有方法通過將數(shù)據(jù)流拆分為多個(gè)“子流”,為不同“子流”分配不同路由路徑。然而,“子流”中的數(shù)據(jù)包是連續(xù)的,攻擊者一旦截獲某個(gè)或多個(gè)子流,可能從連續(xù)數(shù)據(jù)中解析出有價(jià)值的信息。
2) 對(duì)網(wǎng)絡(luò)合法QoS 的保障效果不夠理想。一方面,不同網(wǎng)絡(luò)應(yīng)用對(duì)網(wǎng)絡(luò)資源的需求是不同的,已有方法對(duì)不同應(yīng)用的不同需求未做區(qū)分,導(dǎo)致網(wǎng)絡(luò)整體QoS 保障質(zhì)量不佳;另一方面,由于對(duì)網(wǎng)絡(luò)狀態(tài)感知的實(shí)時(shí)性、準(zhǔn)確性、全面性不夠,生成路由方案時(shí)考慮的QoS 因素不夠準(zhǔn)確,導(dǎo)致QoS 保障質(zhì)量不佳。
3) 對(duì)復(fù)雜隨機(jī)路由問題的求解能力不足。既有的可滿足性理論、蟻群算法等面對(duì)高維數(shù)據(jù)處理能力不足、搜索空間大等缺點(diǎn)和高復(fù)雜性路由路徑生成問題時(shí),表現(xiàn)出求解能力不足,進(jìn)而造成對(duì)抗竊聽攻擊時(shí)防御效果有待提高。
本文以鏈路竊聽攻擊建立威脅模型。常見的竊聽攻擊會(huì)潛入某些節(jié)點(diǎn)(如交換機(jī)端口)以竊聽特定的鏈路。然而,竊聽攻擊者的攻擊行為不僅表現(xiàn)為竊聽行為本身,還表現(xiàn)為通過蠕蟲傳播等方式有目的地在網(wǎng)絡(luò)節(jié)點(diǎn)之間轉(zhuǎn)移,以及獲取網(wǎng)絡(luò)拓?fù)?、分析可能的路由路徑等。隨機(jī)路由防御方法的設(shè)計(jì)需要考慮到竊聽攻擊者的應(yīng)變能力。
網(wǎng)絡(luò)拓?fù)淇杀唤橛邢驁D,E表示圖中的邊集合,即網(wǎng)絡(luò)中連接節(jié)點(diǎn)的鏈路。
鏈路竊聽攻擊的實(shí)施過程分為2 個(gè)階段:初始階段,攻擊方通過社會(huì)工程等方式將竊聽惡意程序部署至網(wǎng)絡(luò)中,以竊聽一定數(shù)量的鏈路;后續(xù)階段,主動(dòng)或被動(dòng)地將已有的竊聽惡意程序轉(zhuǎn)移到其他節(jié)點(diǎn)上,以竊聽其他鏈路。在竊聽點(diǎn)轉(zhuǎn)移過程中,假設(shè)攻擊方具有以下能力。
3.1.1 路由路徑覆蓋
由于攻擊者熟知當(dāng)前網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),當(dāng)已潛伏的竊聽惡意軟件截獲到某數(shù)據(jù)包時(shí),可從中讀取源和目的地址,并依據(jù)網(wǎng)絡(luò)拓?fù)溆?jì)算出其他同流數(shù)據(jù)包的可能路由路徑。攻擊者采用簡(jiǎn)單搜索方法(SSM,simple search method)[8]計(jì)算可能的路由路徑,形式化表示為
其中,Pkt 表示截獲的數(shù)據(jù)包,R表示可能的路由路徑集合。設(shè)當(dāng)前正在竊聽的路由路徑集合為C,竊聽點(diǎn)轉(zhuǎn)移將側(cè)重選擇集合E?R∧C中的鏈路,即當(dāng)前未覆蓋的路由路徑所包含的鏈路。
3.1.2 重點(diǎn)鏈路轉(zhuǎn)移
攻擊者在轉(zhuǎn)移竊聽點(diǎn)時(shí),更傾向于能截獲更多數(shù)據(jù)包的鏈路。當(dāng)轉(zhuǎn)移發(fā)生時(shí),攻擊者會(huì)記錄在原竊聽鏈路上截獲的數(shù)據(jù)包數(shù)量,構(gòu)成二元組{lk,nk}。其中,lk表示一條鏈路,nk表示截獲數(shù)據(jù)包數(shù)量。竊聽點(diǎn)轉(zhuǎn)移將側(cè)重選擇當(dāng)前nk值更大的鏈路。
3.1.3 檢測(cè)規(guī)避
對(duì)攻擊者而言,網(wǎng)絡(luò)中的惡意軟件檢測(cè)是客觀存在的。攻擊者在轉(zhuǎn)移竊聽點(diǎn)時(shí),更傾向于檢測(cè)能力弱的鏈路,以降低被檢測(cè)移除的可能性。當(dāng)某竊聽點(diǎn)發(fā)生被動(dòng)轉(zhuǎn)移(即被檢測(cè)程序移除)時(shí),攻擊者會(huì)記錄惡意程序在原竊聽鏈路上的生存時(shí)間,構(gòu)成二元組{lk,tk}。其中,tk表示最近一次記錄在鏈路lk上的生存時(shí)間。竊聽點(diǎn)轉(zhuǎn)移將側(cè)重選擇當(dāng)前tk值更大的鏈路,該項(xiàng)能力的優(yōu)先級(jí)次于重點(diǎn)鏈路轉(zhuǎn)移。
攻擊方實(shí)施竊聽攻擊的行為符合兩項(xiàng)約束,即時(shí)間約束和空間約束。時(shí)間約束限制攻擊者在一段鏈路上竊聽的時(shí)間;空間約束限制竊聽的鏈路數(shù)量占整個(gè)網(wǎng)絡(luò)鏈路數(shù)量的比例。
3.2.1 時(shí)間約束
網(wǎng)絡(luò)中的入侵檢測(cè)系統(tǒng)有能力發(fā)現(xiàn)竊聽攻擊的存在并清除寄生的惡意軟件。假設(shè)某條鏈路的惡意軟件被移除的概率隨著寄生時(shí)間的增長(zhǎng)而增大。由于入侵檢測(cè)系統(tǒng)非本文研究?jī)?nèi)容,以式(2)模擬入侵檢測(cè)系統(tǒng)清除惡意軟件。
其中,PC表示惡意軟件被清除的概率,t C表示惡意軟件寄生的時(shí)長(zhǎng),kC表示既定常數(shù)。
3.2.2 空間約束
攻擊者為了盡可能隱藏竊聽行為,必須控制任意時(shí)刻竊聽的鏈路數(shù)量。約定攻擊在任意時(shí)刻竊聽的鏈路數(shù)量占整個(gè)網(wǎng)絡(luò)鏈路數(shù)量的比例在一個(gè)既定的閾值以下,如式(3)所示。
其中,C表示當(dāng)前攻擊者竊聽的鏈路集合,TC表示既定閾值,函數(shù)card(?)表示求集合元素的數(shù)量。
攻擊者意圖竊聽盡可能多的全網(wǎng)通信數(shù)據(jù)包,以指標(biāo)PPE 衡量攻擊者的竊聽收益,如式(4)所示。
其中,NE表示截獲的數(shù)據(jù)包數(shù)量,NP表示全網(wǎng)傳輸?shù)臄?shù)據(jù)包總量。攻擊方目標(biāo)是使PPE 值盡可能提高。
本文在SDN(software defined network)下生成和實(shí)施隨機(jī)路由方案,架構(gòu)如圖2 所示。利用SDN數(shù)控分離的特點(diǎn),使用INT 技術(shù)實(shí)時(shí)監(jiān)測(cè)網(wǎng)絡(luò)狀態(tài)。位于控制平面的DDPG 方法依據(jù)實(shí)時(shí)網(wǎng)絡(luò)狀態(tài),生成隨機(jī)路由方案。生成的隨機(jī)路由方案被動(dòng)態(tài)下載至數(shù)據(jù)平面而被執(zhí)行。主要系統(tǒng)參數(shù)與含義如表1 所示。
圖2 SDN 隨機(jī)路由架構(gòu)
表1 系統(tǒng)參數(shù)與含義
本文提出的DDPG 方法以實(shí)時(shí)的網(wǎng)絡(luò)為學(xué)習(xí)環(huán)境。DDPG 方法需要依據(jù)當(dāng)前的網(wǎng)絡(luò)狀態(tài)信息,生成新的隨機(jī)路由方案,采用INT 技術(shù)[18]獲取實(shí)時(shí)的網(wǎng)絡(luò)狀態(tài),為DDPG 方法做數(shù)據(jù)準(zhǔn)備。
應(yīng)用INT 技術(shù),網(wǎng)絡(luò)中的交換機(jī)可對(duì)其轉(zhuǎn)發(fā)的數(shù)據(jù)包插入INT 頭部和INT 元數(shù)據(jù)。INT 頭部聲明了INT 元數(shù)據(jù)的內(nèi)容和格式,INT 元數(shù)據(jù)則包含交換機(jī)的內(nèi)部信息,即當(dāng)前的網(wǎng)絡(luò)狀態(tài)。
INT 收集的交換機(jī)內(nèi)部信息包括交換機(jī)ID、當(dāng)前數(shù)據(jù)包隊(duì)列長(zhǎng)度、當(dāng)前可用帶寬和當(dāng)前排隊(duì)等待時(shí)間(即數(shù)據(jù)包到達(dá)交換機(jī)至被轉(zhuǎn)發(fā)地時(shí)間長(zhǎng)度)。交換機(jī)ID 用于統(tǒng)計(jì)不同路由路徑的流量。當(dāng)前數(shù)據(jù)包隊(duì)列長(zhǎng)度、當(dāng)前可用帶寬和當(dāng)前排隊(duì)等待時(shí)間作為QoS 因素,輸入DDPG 方法使生成RRS 時(shí),可在確保安全性的前提下兼顧網(wǎng)絡(luò)QoS。受保護(hù)網(wǎng)絡(luò)中的交換機(jī)均可執(zhí)行該INT 處理,在面臨首次生成RRS 和更新RRS 時(shí)對(duì)數(shù)據(jù)包插入INT 數(shù)據(jù)。
以INT 技術(shù)輸出的實(shí)時(shí)網(wǎng)絡(luò)狀態(tài)為數(shù)據(jù)基礎(chǔ),使用DDPG 方法生成隨機(jī)路由方案。DDPG 是一種典型的深度強(qiáng)化學(xué)習(xí)算法,具有可處理高維數(shù)據(jù)、學(xué)習(xí)效率高、模型容量大等優(yōu)勢(shì),能夠應(yīng)用于復(fù)雜隨機(jī)路由問題的求解。
4.2.1 智能體結(jié)構(gòu)
DDPG 是一種基于“演員?評(píng)論家”模式的強(qiáng)化學(xué)習(xí)算法。“演員”和“評(píng)論家”組成智能體(Agent)。“演員”用于擬合策略函數(shù),其輸入為環(huán)境的當(dāng)前狀態(tài)(State,即INT采集的實(shí)時(shí)網(wǎng)絡(luò)數(shù)據(jù)),輸出為行為(Action,即隨機(jī)路由方案);“評(píng)論家”用于擬合價(jià)值函數(shù),其輸入為“演員”的行為、環(huán)境的變化狀態(tài)和環(huán)境給予該行為的獎(jiǎng)勵(lì)(Reward),輸出為對(duì)參與者行為的評(píng)價(jià)?!把輪T”將“評(píng)論家”的評(píng)價(jià)作為更新參數(shù)的梯度(Gradient),通過反向傳播(BP,back propagation)算法更新自身參數(shù)。“演員”與環(huán)境的每一次互動(dòng)都將被記錄在樣本庫(kù)中。智能體每次學(xué)習(xí)時(shí)僅從樣本庫(kù)中抽取少量樣本進(jìn)行擬合?!把輪T”和“評(píng)論家”均采用off-policy 方式訓(xùn)練,即“演員”和“評(píng)論家”均由一個(gè)在線網(wǎng)絡(luò)和一個(gè)目標(biāo)網(wǎng)絡(luò)組成,在線網(wǎng)絡(luò)學(xué)習(xí)數(shù)論后可用于更新目標(biāo)網(wǎng)絡(luò)。
在基于DDPG 的隨機(jī)路由方案生成中,“演員”和“評(píng)論家”分別由2 個(gè)結(jié)構(gòu)相同但參數(shù)不同的深層神經(jīng)網(wǎng)絡(luò)構(gòu)成?!把輪T”由目標(biāo)策略網(wǎng)絡(luò)和在線策略網(wǎng)絡(luò)構(gòu)成,“評(píng)論家”由在線Q 網(wǎng)絡(luò)和目標(biāo)Q網(wǎng)絡(luò)構(gòu)成。DDPG 方法將策略網(wǎng)絡(luò)和價(jià)值網(wǎng)絡(luò)(Q網(wǎng)絡(luò))分開,以實(shí)現(xiàn)off-policy 學(xué)習(xí),因此“演員”和“評(píng)論家”均由2 個(gè)網(wǎng)絡(luò)構(gòu)成?!把輪T”和“評(píng)論家”各自的在線網(wǎng)絡(luò)在訓(xùn)練中即時(shí)地更迭參數(shù),經(jīng)過特定步數(shù)的學(xué)習(xí)后再將自身參數(shù)更新至目標(biāo)網(wǎng)絡(luò)。
“演員”和“評(píng)論家”均使用卷積神經(jīng)網(wǎng)絡(luò)?!把輪T”網(wǎng)絡(luò)由3 個(gè)卷積層構(gòu)成,每個(gè)卷積層均采用池化(Pooling)和ReLU 激活;“評(píng)論家”網(wǎng)絡(luò)由2個(gè)卷積層和一個(gè)全連接層構(gòu)成,卷積層同樣采用池化(Pooling)和ReLU 激活。各層超參數(shù)(如卷積核尺寸)依據(jù)輸入和輸出數(shù)據(jù)尺寸決定,即依據(jù)底層網(wǎng)絡(luò)規(guī)模與可能的數(shù)據(jù)流數(shù)量決定。
4.2.2 算法流程
“演員”與環(huán)境互動(dòng)一次稱為一步(Step),“演員”和“評(píng)論家”各自的在線網(wǎng)絡(luò)在每一步之后都會(huì)進(jìn)行一次參數(shù)更新,而其各自的目標(biāo)網(wǎng)絡(luò)則會(huì)在固定步數(shù)之后將在線網(wǎng)絡(luò)的參數(shù)復(fù)制到自身,以完成更新。一步即對(duì)應(yīng)隨機(jī)路由防御的一個(gè)防御周期。
與“演員”互動(dòng)的環(huán)境即SDN 的數(shù)據(jù)平面,其通過INT 技術(shù)將實(shí)時(shí)的網(wǎng)絡(luò)狀態(tài)交付給“演員”。DDPG 方法則部署在SDN 的控制平面。經(jīng)過足夠多步的互動(dòng)后,經(jīng)訓(xùn)練的DDPG 智能體將可以產(chǎn)生滿足安全性和QoS 需求的RRS。
DDPG 方法的流程如算法1 所示,其中,S表示環(huán)境輸出的狀態(tài),A表示“演員”做出的動(dòng)作(即生成的RRS),R表示在S下做出A時(shí)環(huán)境給予的獎(jiǎng)勵(lì),S′表示在S下做出A時(shí)環(huán)境輸出的下一個(gè)狀態(tài)。πθ(?)和πθ′(?)分別表示目標(biāo)策略網(wǎng)絡(luò)和在線策略網(wǎng)絡(luò)的狀態(tài)到動(dòng)作的映射。在訓(xùn)練中,m表示單批樣本量,j∈[1,m];(S j,A j,,Rj)表示m個(gè)樣本中的第j個(gè);yj表示第j個(gè)樣本經(jīng)目標(biāo)Q 網(wǎng)絡(luò)輸出的目標(biāo)Q值?;贒DPG 的隨機(jī)路由方案生成如算法1 所示。智能體由環(huán)境獲取當(dāng)前狀態(tài)S后,由在線策略網(wǎng)絡(luò)計(jì)算得到對(duì)應(yīng)的動(dòng)作A,而后對(duì)環(huán)境實(shí)施動(dòng)作A并得到新的狀態(tài)S′和獎(jiǎng)勵(lì)R,并將上述要素組成的四元組{S,A,S′,R}存至樣本庫(kù)D。每次學(xué)習(xí)從樣本庫(kù)D中抽取m個(gè)樣本,依據(jù)算法1中所述的損失函數(shù)更新在線策略網(wǎng)絡(luò)和在線Q 網(wǎng)絡(luò)。每經(jīng)過fC次學(xué)習(xí)后更新目標(biāo)策略網(wǎng)絡(luò)和目標(biāo)Q 網(wǎng)絡(luò)。
算法1基于DDPG 的隨機(jī)路由方案生成
4.2.3 關(guān)鍵變量設(shè)計(jì)
1) 狀態(tài)
狀態(tài)是當(dāng)前環(huán)境情況的形式化表達(dá),是生成RRS、訓(xùn)練“演員”和“評(píng)論家”的輸入數(shù)據(jù)。在INT 技術(shù)的輔助下,狀態(tài)被表示為一個(gè)二維矩陣,其表達(dá)的信息實(shí)時(shí)、準(zhǔn)確地反映了當(dāng)前SDN 數(shù)據(jù)平面的網(wǎng)絡(luò)狀態(tài)。
如圖3 所示,二維矩陣的第一維度(橫向)表示網(wǎng)絡(luò)中交換機(jī)的序列,第二維度(縱向)表示對(duì)應(yīng)交換機(jī)的INT 信息,即該矩陣中的每一列均表示一個(gè)交換機(jī)的當(dāng)前INT 信息。由于INT 采集了4 類信息包括:交換機(jī)ID、當(dāng)前數(shù)據(jù)包隊(duì)列長(zhǎng)度、當(dāng)前可用帶寬和當(dāng)前排隊(duì)等待時(shí)間,因此狀態(tài)矩陣的尺寸為N×4,其中,N為網(wǎng)絡(luò)中的交換機(jī)數(shù)量。
圖3 狀態(tài)
2) 動(dòng)作
動(dòng)作即“演員”輸出的一個(gè)全網(wǎng)RRS。防御方為每一條可能的數(shù)據(jù)流生成單獨(dú)的RRS,即對(duì)每一條數(shù)據(jù)流指定經(jīng)由它的每一條可行的路由路徑轉(zhuǎn)發(fā)的數(shù)據(jù)包數(shù)量比例。因此,“演員”輸出的動(dòng)作需要給出每一個(gè)可能的數(shù)據(jù)流指定RRS。
所設(shè)計(jì)的動(dòng)作變量被表示為一個(gè)三維矩陣,如圖4 所示。該矩陣的第一維度和第二維度共同指定數(shù)據(jù)流,第一維度指定一對(duì)主機(jī)排列(即指定源主機(jī)和目的主機(jī)),第二維度指定應(yīng)用層協(xié)議。該矩陣的第三維度用于指定路由路徑。
圖4 動(dòng)作
圖4 中右側(cè)的二維平面示例了某一應(yīng)用層協(xié)議下不同數(shù)據(jù)流的隨機(jī)路由方案。該二維平面的每一列均為一條數(shù)據(jù)流的RRS,其指定了經(jīng)由各個(gè)可行的路由路徑轉(zhuǎn)發(fā)的數(shù)據(jù)包數(shù)量比例,故每一列數(shù)值之和為1(由“演員”網(wǎng)絡(luò)的最后一個(gè)卷積層最后執(zhí)行局部歸一化實(shí)現(xiàn))。由于不同數(shù)據(jù)流的可行路由路徑數(shù)量不同,故該矩陣空缺部分使用“零填充”。
3) 獎(jiǎng)勵(lì)
獎(jiǎng)勵(lì)是對(duì)環(huán)境實(shí)施動(dòng)作后得到的回饋,獎(jiǎng)勵(lì)值越大表明動(dòng)作質(zhì)量越高,反之表明動(dòng)作質(zhì)量越低。動(dòng)作即一個(gè)時(shí)間周期內(nèi)的RRS,因此獎(jiǎng)勵(lì)應(yīng)鼓勵(lì)動(dòng)作追求2 個(gè)目標(biāo):安全性目標(biāo)和QoS 目標(biāo)。第t步(防御周期)動(dòng)作獲得的獎(jiǎng)勵(lì)值的計(jì)算如式(5)所示。
為鼓勵(lì)追求安全性目標(biāo),應(yīng)鼓勵(lì)連續(xù)2 個(gè)防御周期的RRS 之間具有足夠的差異性。式(5)中,表示數(shù)據(jù)流F的第t個(gè)RRS 與第t? 1個(gè)RRS 的歐氏距離,Dt表示全網(wǎng)數(shù)據(jù)流的差異性平均值,Th 和th 為固定閾值。令RBAD<0,使生成的連續(xù)2 個(gè)RRS 差異性不足時(shí),受到“懲罰”。
為鼓勵(lì)追求QoS 目標(biāo),需要兼顧網(wǎng)絡(luò)的時(shí)延和帶寬表現(xiàn)。以Volt表示在t防御周期中網(wǎng)絡(luò)傳輸?shù)牧髁看笮。硎驹趖防御周期中網(wǎng)絡(luò)中傳輸?shù)膶?duì)時(shí)延敏感的數(shù)據(jù)包數(shù)量(例如HTTP等應(yīng)用的數(shù)據(jù)包),表示傳輸這些數(shù)據(jù)包的總時(shí)延,μ和γ為人為設(shè)定的常數(shù)。平均時(shí)延越小、單位時(shí)間吞吐量越大,獎(jiǎng)勵(lì)值越高。
本文所提方法使用的SDN 基于P4 架構(gòu)實(shí)現(xiàn)。使用P4 架構(gòu)的原因?yàn)椋衫肞4 架構(gòu)對(duì)數(shù)據(jù)平面可編程、可定義數(shù)據(jù)平面與控制平面交互內(nèi)容的特點(diǎn),實(shí)現(xiàn)以下功能。
1) 支持INT 獲取實(shí)時(shí)網(wǎng)絡(luò)狀態(tài)。利用可編程交換機(jī),人為定義交換機(jī)對(duì)數(shù)據(jù)包的處理過程。使在處理中將INT 信息嵌入數(shù)據(jù)包,從而獲取實(shí)時(shí)網(wǎng)絡(luò)狀態(tài),并上傳至控制平面。
2) 實(shí)現(xiàn)數(shù)據(jù)包級(jí)細(xì)粒度的隨機(jī)路由。使數(shù)據(jù)流中的每個(gè)數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑相互獨(dú)立,不同數(shù)據(jù)包的轉(zhuǎn)發(fā)路徑之間無(wú)明顯規(guī)律性。
已有的基于OpenFlow 協(xié)議的隨機(jī)路由方案執(zhí)行原理為:控制平面為數(shù)據(jù)流指定唯一的路由路徑,并以流表的形式下發(fā)至數(shù)據(jù)平面的交換機(jī),交換機(jī)按“流表”指定的唯一端口轉(zhuǎn)發(fā)數(shù)據(jù)包。而后定期更新流表以實(shí)現(xiàn)路由路徑的隨機(jī)變化。該種方法是將數(shù)據(jù)流按序拆分為多個(gè)“子流”,每個(gè)“子流”由多個(gè)順序連續(xù)的數(shù)據(jù)包組成??刂破矫嬖凇白恿鳌钡拈g隙下發(fā)新的流表,為后續(xù)“子流”切換新的路由路徑。該種方法具有以下弊端。
1) 同一“子流”中的所有數(shù)據(jù)包使用相同的路由路徑。部署在網(wǎng)絡(luò)中特定位置的竊聽程序可能截獲一個(gè)或多個(gè)完整的“子流”。由于“子流”中的數(shù)據(jù)包的順序是連續(xù)的,相比于順序離散的數(shù)據(jù)包,順序連續(xù)的數(shù)據(jù)包更容易被解析出有效信息。
2) 定期更新流表以實(shí)現(xiàn)路由路徑的隨機(jī)變化,需要控制平面和數(shù)據(jù)平面間頻繁交互,產(chǎn)生了一定的通信數(shù)據(jù)量。
基于P4 架構(gòu)的數(shù)據(jù)包級(jí)粒度隨機(jī)轉(zhuǎn)發(fā),可有效緩解上述2 個(gè)問題,其原理為:控制平面為數(shù)據(jù)流指定其所有可行的路由路徑,即為數(shù)據(jù)平面的每個(gè)交換機(jī)同時(shí)下發(fā)多個(gè)可能被執(zhí)行的流表。當(dāng)數(shù)據(jù)包到達(dá)交換機(jī)時(shí),交換機(jī)按一定概率為其隨機(jī)選擇一個(gè)可行的轉(zhuǎn)發(fā)端口。在該方案中,控制平面僅需在最初下發(fā)流表時(shí)與數(shù)據(jù)平面交互一次即可。此外,由于轉(zhuǎn)發(fā)端口的隨機(jī)選擇是以數(shù)據(jù)包級(jí)粒度執(zhí)行的,可確保同一路徑轉(zhuǎn)發(fā)的數(shù)據(jù)包在順序上是離散的,使竊聽攻擊程序難以截獲順序連續(xù)的數(shù)據(jù)包。數(shù)據(jù)包的路由路徑僅在轉(zhuǎn)發(fā)前即時(shí)決定,從而增加了防御行為的隨機(jī)性和不可預(yù)測(cè)性。
“子流”級(jí)粒度與數(shù)據(jù)包級(jí)粒度隨機(jī)轉(zhuǎn)發(fā)對(duì)比如圖5 所示。在“子流”級(jí)粒度的隨機(jī)轉(zhuǎn)發(fā)中,若竊聽攻擊程序?qū)粨Q機(jī)的某一端口實(shí)施竊聽(如圖5 中端口2),則可以截獲完整的“子流”。而在數(shù)據(jù)包級(jí)粒度的隨機(jī)轉(zhuǎn)發(fā)中,其截獲的數(shù)據(jù)包來(lái)自不同子流,被截獲的數(shù)據(jù)包之間無(wú)連續(xù)性。
圖5 “子流”級(jí)粒度與數(shù)據(jù)包級(jí)粒度隨機(jī)轉(zhuǎn)發(fā)對(duì)比
針對(duì)“子流”級(jí)粒度隨即轉(zhuǎn)發(fā)可能造成的數(shù)據(jù)包失序問題,對(duì)于TCP 及對(duì)數(shù)據(jù)包到達(dá)順序敏感的UDP 應(yīng)用,例如VoIP 等,采用改進(jìn)的FLARE 方法[19]緩解細(xì)粒度數(shù)據(jù)流拆分與數(shù)據(jù)包失序問題之間的矛盾,關(guān)鍵步驟如下。
1) 對(duì)于給定的交換機(jī),當(dāng)屬于同一個(gè)數(shù)據(jù)流的任意2 個(gè)數(shù)據(jù)包先后連續(xù)達(dá)到該交換機(jī)時(shí),計(jì)算該2 個(gè)數(shù)據(jù)包到達(dá)該交換機(jī)的時(shí)間差(tk+1?tk)。
2) 在可行路由路徑集合中搜索,尋找滿足條件的最大子集Rsub,該子集中元素需滿足條件:任意2 個(gè)路由路徑的當(dāng)前時(shí)延差小于1)中所述的時(shí)間差,如式(6)所示。
其中,Delir表示路由路徑ri的當(dāng)前時(shí)延,要求X=true。
3) 對(duì)于1)中所述的2 個(gè)數(shù)據(jù)包中后到達(dá)的數(shù)據(jù)包,僅可在2)中得到的最大子集Rsub中隨機(jī)選擇路由路徑,隨機(jī)決定轉(zhuǎn)發(fā)端口。
對(duì)于對(duì)數(shù)據(jù)包到達(dá)順序敏感的網(wǎng)絡(luò)流量,上述改進(jìn)的FLARE 方法雖然在數(shù)據(jù)流拆分粒度上做出了一定的妥協(xié),卻將在極大程度上緩和了數(shù)據(jù)包失序問題。而對(duì)于對(duì)數(shù)據(jù)包到達(dá)順序不敏感的網(wǎng)絡(luò)流量,例如WebRTC 應(yīng)用等,仍以數(shù)據(jù)包級(jí)粒度隨機(jī)轉(zhuǎn)發(fā)。
當(dāng)DDPG 方法在控制平面生成RRS 后,需要將RRS 下發(fā)至數(shù)據(jù)平面,再由數(shù)據(jù)平面的可編程P4 交換機(jī)執(zhí)行RRS。
5.2.1 隨機(jī)路由方案下發(fā)
已知對(duì)于數(shù)據(jù)流F,RRS 為其指定了經(jīng)由各個(gè)可行的路由路徑轉(zhuǎn)發(fā)的數(shù)據(jù)包比例。將RRS 部署至數(shù)據(jù)平面執(zhí)行,須將隨機(jī)路由方案映射為數(shù)據(jù)平面中各個(gè)交換機(jī)的執(zhí)行方案,如式(7)所示。
其中,ESk表示第k個(gè)交換機(jī)的執(zhí)行方案。
對(duì)數(shù)據(jù)流F而言,數(shù)據(jù)平面中某交換機(jī)的執(zhí)行方案可描述成為每一個(gè)可行的轉(zhuǎn)發(fā)端口分配一個(gè)概率值,對(duì)于任意屬于數(shù)據(jù)流F的數(shù)據(jù)包,將按所分配的概率隨機(jī)決定轉(zhuǎn)發(fā)端口。某交換機(jī)的執(zhí)行方案如表2 所示。
表2 對(duì)數(shù)據(jù)流F,某交換機(jī)的執(zhí)行方案示意
5.2.2 隨機(jī)路由方案執(zhí)行
P4 程序內(nèi)涵轉(zhuǎn)發(fā)端口隨機(jī)選擇功能,該程序被編譯后裝載至P4 交換機(jī)。對(duì)于每一個(gè)到達(dá)P4 交換機(jī)的數(shù)據(jù)包,P4 交換機(jī)為其隨機(jī)選擇一個(gè)可行的轉(zhuǎn)發(fā)端口,具體方法為:在 P4 標(biāo)準(zhǔn)處理流程的int_ingress 方法中,加入隨機(jī)數(shù)生成函數(shù)和端口選擇函數(shù)。使用隨機(jī)數(shù)生成函數(shù)生成一個(gè)隨機(jī)數(shù),而后使用端口選擇函數(shù)將產(chǎn)生的隨機(jī)數(shù)映射至一個(gè)唯一的可行轉(zhuǎn)發(fā)端口。在端口選擇函數(shù)中,某端口被選擇的概率取決于5.2.1 節(jié)中產(chǎn)生的交換機(jī)執(zhí)行方案。
為了驗(yàn)證本文提出的基于DDPG 的隨機(jī)路由方法的可行性和防御效果,本節(jié)首先介紹包括軟、硬件和算法超參數(shù)在內(nèi)的實(shí)驗(yàn)設(shè)置,然后介紹實(shí)驗(yàn)的執(zhí)行過程,最后從安全性和QoS 這2 個(gè)角度評(píng)價(jià)所提方法的性能表現(xiàn)。
實(shí)驗(yàn)在P4 架構(gòu)下實(shí)施,SDN 的控制平面采用P4 runtime,數(shù)據(jù)平面由支持P4 語(yǔ)言的可編程交換機(jī)連接組成。使用Mininet[20]網(wǎng)絡(luò)環(huán)境部署上述架構(gòu)并執(zhí)行實(shí)驗(yàn)。實(shí)驗(yàn)所用的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)由Waxman[21]模型隨機(jī)生成,使用參數(shù)α=0.2,β=0.15,拓?fù)渲邪墓?jié)點(diǎn)總數(shù)為280,該模型通過給定參數(shù)計(jì)算一個(gè)概率值來(lái)決定2 個(gè)節(jié)點(diǎn)之間是否有直接相連的鏈路,所生成的拓?fù)浣Y(jié)構(gòu)具有一定的隨機(jī)性。運(yùn)行Mininet的宿主機(jī)硬件配置為Inter i7 8700 CPU,32 GB;使用Nvidia 1080ti GPU、TensorFlow 2.0[22]訓(xùn)練DDPG 模型。
在上述網(wǎng)絡(luò)中運(yùn)行4 種應(yīng)用層服務(wù)協(xié)議,分別是FTP(基于TCP)、HTTP(基于TCP)、WebRTC(基于UDP)和RTSP(選擇基于UDP),分別對(duì)應(yīng)4 種不同的服務(wù)場(chǎng)景,如表3 所示。6 個(gè)FTP 服務(wù)器和3 個(gè)不同的HTTP 服務(wù)器位于不同的主機(jī)上。一個(gè)Web RTC 服務(wù)器和一個(gè)RTSP 服務(wù)器也位于各自的主機(jī)之上。網(wǎng)絡(luò)中可能的數(shù)據(jù)流數(shù)量為2 196 個(gè),均為客戶主機(jī)與服務(wù)器間數(shù)據(jù)流,默認(rèn)服務(wù)器間無(wú)通信。運(yùn)行FTP、HTTP、WebRTC 和RTSP 這4 項(xiàng)服務(wù)的主機(jī)配置均為CentOS 7 系統(tǒng)、16 core 2.8 GHz、64 GB 內(nèi)存,其余主機(jī)配置均為Ubuntu 14.04 系統(tǒng)、8 core 2.2 GHz、8 GB 內(nèi)存。所使用的IP 地址空間為一個(gè)B 類IP 地址池,全部服務(wù)器和主機(jī)均隨機(jī)分配一個(gè)固定IP 地址。
表3 服務(wù)場(chǎng)景與應(yīng)用層協(xié)議
表4 總結(jié)了所提方法中涉及的超參數(shù)的默認(rèn)取值,各個(gè)超參數(shù)的釋義在本文已有解釋,此處不做贅述。
表4 超參數(shù)默認(rèn)取值
與所提方法性能進(jìn)行對(duì)比的3 種方法為隨機(jī)路由跳變(RRM)[8]、異常觸發(fā)隨機(jī)路由跳變(AT-RRM)[14]和時(shí)空隨機(jī)優(yōu)化路由跳變(SSO-RM)[12]。這3 種方法均不使用INT 技術(shù)收集網(wǎng)絡(luò)狀態(tài)信息,若需要網(wǎng)絡(luò)狀態(tài)信息,則在控制器的指導(dǎo)下收集所需的數(shù)據(jù)包以感知網(wǎng)絡(luò)狀態(tài)。
在上述實(shí)驗(yàn)環(huán)境及設(shè)置下,分別對(duì)所提方法和3 種對(duì)比方法執(zhí)行安全性評(píng)價(jià)、QoS 評(píng)價(jià)、時(shí)間效率。在安全性評(píng)價(jià)實(shí)驗(yàn)中,以截獲數(shù)據(jù)包占比和截獲數(shù)據(jù)包離散度2 項(xiàng)指標(biāo)度量各方法的安全性;在QoS 評(píng)價(jià)實(shí)驗(yàn)中,分別從時(shí)延表現(xiàn)和吞吐量表現(xiàn)2 個(gè)方面評(píng)價(jià)各方法對(duì)網(wǎng)絡(luò)整體合法QoS 的保障水平。在時(shí)間效率評(píng)價(jià)實(shí)驗(yàn)中,由生成隨機(jī)路由方案的時(shí)間開銷評(píng)價(jià)各方法的時(shí)間效率,共執(zhí)行30 次實(shí)驗(yàn),每次執(zhí)行實(shí)驗(yàn)后初始化實(shí)驗(yàn)設(shè)置,取30 次實(shí)驗(yàn)結(jié)果的平均值作為最終結(jié)果。
假設(shè)攻擊方已經(jīng)通過蠕蟲傳播或社會(huì)工程等手段將惡意竊聽軟件部署于網(wǎng)絡(luò)中。本實(shí)驗(yàn)采用模擬方式執(zhí)行竊聽攻擊,即按第3 節(jié)所述威脅模型模擬竊聽攻擊行為。假設(shè)攻擊方對(duì)網(wǎng)絡(luò)中固定比例TC=0.3的網(wǎng)絡(luò)中的鏈路實(shí)施竊聽,竊聽位置可隨機(jī)轉(zhuǎn)移。當(dāng)竊聽攻擊對(duì)某鏈路實(shí)施竊聽,則經(jīng)過該鏈路的數(shù)據(jù)包被截獲率為100%。忽略竊聽行為對(duì)數(shù)據(jù)傳輸效率即設(shè)備復(fù)雜產(chǎn)生的影響。
在上述虛擬網(wǎng)絡(luò)中執(zhí)行所提防御方法,依據(jù)第4 節(jié)描述的DDPG 方法方案,實(shí)施RRS 生成和更新;依據(jù)第5 節(jié)描述數(shù)據(jù)包級(jí)粒度隨機(jī)路由方案,在數(shù)據(jù)平面實(shí)現(xiàn)數(shù)據(jù)包的隨機(jī)轉(zhuǎn)發(fā),記錄所有傳輸數(shù)據(jù)包的傳輸路徑和轉(zhuǎn)發(fā)時(shí)間點(diǎn)。將全部數(shù)據(jù)包傳輸記錄與模擬運(yùn)行的竊聽攻擊過程結(jié)合,即可計(jì)算實(shí)驗(yàn)結(jié)果評(píng)價(jià)所需的各項(xiàng)性能指標(biāo)。
6.3.1 安全性
采用截獲數(shù)據(jù)包占比(PPE,proportion of packet eavesdropped)和截獲數(shù)據(jù)包離散度(IPD,intercepted packet dispersion)2 個(gè)性能指標(biāo)衡量防御性能。PPE 即被截獲的數(shù)據(jù)包數(shù)量占傳輸?shù)臄?shù)據(jù)包總量的比例。IPD 的定義如式(8)所示。
其中,M表示某數(shù)據(jù)流中被截獲的數(shù)據(jù)包數(shù)量,indexi表示屬于該數(shù)據(jù)流的第i個(gè)被截獲的數(shù)據(jù)包在該流中的序號(hào)。
圖7 展示了所提方法和3 種對(duì)比方法的PPE 表現(xiàn)。從第1 個(gè)防御周期到約第20 個(gè)防御周期,DDPG方法中的深層神經(jīng)網(wǎng)絡(luò)經(jīng)訓(xùn)練至收斂。在收斂之后,所提方法的PPE 表現(xiàn)優(yōu)于其他3 種方法。
圖7 所提方法和3 種對(duì)比方法的PPE 表現(xiàn)
由于所提方法以接近數(shù)據(jù)包級(jí)粒度隨機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)包,在任意時(shí)間點(diǎn)上數(shù)據(jù)流的路由路徑存在“不確定性”。SSO-RM 方法在一個(gè)防御周期內(nèi)僅有一個(gè)路由路徑,路由路徑相對(duì)確定。對(duì)于AT-RRM方法,由于竊聽攻擊不會(huì)引起明顯的網(wǎng)絡(luò)流量異常,因此路由跳變對(duì)攻擊行為不敏感而難以做出及時(shí)的響應(yīng),導(dǎo)致AT-RRM 的PPE 表現(xiàn)甚至略低于經(jīng)典的RRM 方法。
所提方法與3 種對(duì)比方法的IPD 表現(xiàn)如表5所示。得益于更細(xì)的隨機(jī)轉(zhuǎn)發(fā)粒度,無(wú)論是對(duì)到達(dá)順序敏感的TCP,還是對(duì)到達(dá)順序不敏感的UDP,所提方法較3 種對(duì)比方法均有更好的IPD表現(xiàn)。
表5 所提方法與3 種對(duì)比方法在不同協(xié)議下的IPD 表現(xiàn)
6.3.2 QoS
為了比較所提方法與3 種對(duì)比方法在實(shí)施防御時(shí)對(duì)QoS 的保障效果,實(shí)驗(yàn)比較整個(gè)網(wǎng)絡(luò)吞吐量和時(shí)延表現(xiàn)。
1) 時(shí)延
網(wǎng)絡(luò)整體的時(shí)延越低,表明數(shù)據(jù)包傳輸效率高,網(wǎng)絡(luò)業(yè)務(wù)響應(yīng)時(shí)間短。令Delt(單位為ms)表示網(wǎng)絡(luò)在第t個(gè)防御周期內(nèi)的整體時(shí)延,其計(jì)算式如式(9)所示。
圖8 描繪了所提方法與3 種對(duì)比方法在各個(gè)防御周期中的時(shí)延表現(xiàn)。自第13 個(gè)防御周期起,所提方法較3 種對(duì)比方法具有明顯優(yōu)勢(shì)。自第1個(gè)防御周期至第22 個(gè)防御周期,應(yīng)用所提方法的網(wǎng)絡(luò)整體時(shí)延呈下降趨勢(shì),說(shuō)明該期間DDPG 模型處于尚未收斂的學(xué)習(xí)階段。
圖8 所提方法與3 種對(duì)比方法在不同防御周期中的時(shí)延表現(xiàn)
2) 吞吐量
網(wǎng)絡(luò)整體的吞吐量越高,表明帶寬利用率越高,對(duì)帶寬需求高的服務(wù)中用戶體驗(yàn)越好。令Thrt(單位為Mbit/s)表示第t個(gè)防御周期中網(wǎng)絡(luò)的整體吞吐量,其計(jì)算式如式(10)所示。
圖9 描繪了所提方法與3 種對(duì)比方法在各個(gè)防御周期中的吞吐量表現(xiàn)。自第8 個(gè)防御周期起,所提方法較3 種對(duì)比方法具有明顯優(yōu)勢(shì)。自第1 個(gè)防御周期至第23 個(gè)防御周期,應(yīng)用所提方法的網(wǎng)絡(luò)整體吞吐量呈上升趨勢(shì),說(shuō)明該期間DDPG 模型處于尚未收斂的學(xué)習(xí)階段。
圖9 所提方法與3 種對(duì)比方法在不同防御周期中的吞吐量表現(xiàn)
3) 數(shù)據(jù)包失序
在評(píng)估數(shù)據(jù)包失序問題的實(shí)驗(yàn)中,為衡量不同方法中數(shù)據(jù)包失序問題的嚴(yán)重程度,以觸發(fā)3-dup-ack 的數(shù)據(jù)包占比(PPR,proportion of packet reordering)為性能指標(biāo),占比越高表明數(shù)據(jù)包失序問題越嚴(yán)重。
在實(shí)驗(yàn)拓?fù)渲须S機(jī)選擇2 個(gè)主機(jī),它們之間共有6 條可行路由路徑,該6 條路由路徑共有44 條鏈路。在44 條鏈路中,3 條鏈路由2 條路由路徑共享,一條鏈路由3 條路由路徑共享。所選主機(jī)之一充當(dāng)FTP、HTTP、WebRTC 或RTSP 服務(wù)器。在FTP 測(cè)試中,服務(wù)器向主機(jī)傳輸一個(gè)1 GB 的文件。在測(cè)試HTTP 中,用戶主機(jī)不斷訪問服務(wù)器。在WebRTC 和RTSP 測(cè)試中,服務(wù)器分別執(zhí)行視頻通話和網(wǎng)絡(luò)直播業(yè)務(wù)。
表6 描述了所提方法和3 種對(duì)比方法分別在FTP、HTTP、WebRTC 和RTSP 服務(wù)中觸發(fā)3-dup-ack的數(shù)據(jù)包占比??梢?,3 種對(duì)比方法中,數(shù)據(jù)包產(chǎn)生擁塞信號(hào)的比例為0.075 9~0.141 3。所提方法在該指標(biāo)上的表現(xiàn)僅為0.003 9~0.005 1,所提方法明顯優(yōu)于3 種對(duì)比方法。
表6 所提方法與3 種對(duì)比方法的數(shù)據(jù)包失序評(píng)價(jià)
6.3.3 時(shí)間效率
表7 展示了所提方法與3 種對(duì)比方法生成路由隨機(jī)化方案的時(shí)間效率??梢?,所提方法時(shí)間效率為0.032 786 s,優(yōu)于3 種對(duì)比方法。
表7 所提方法與3 種對(duì)比方法的時(shí)間效率評(píng)價(jià)
本文提出了一種基于DDPG 方法的隨機(jī)路由防御方法,從更細(xì)的路由隨機(jī)粒度、更實(shí)時(shí)準(zhǔn)確的網(wǎng)絡(luò)狀態(tài)感知和更強(qiáng)大的決策3 個(gè)方面入手,提高了網(wǎng)絡(luò)系統(tǒng)對(duì)抗竊聽攻擊的安全性,同時(shí)兼顧了對(duì)網(wǎng)絡(luò)QoS 的保障。
后續(xù)工作包括:首先,在DDPG 模型的“狀態(tài)”中添加有關(guān)實(shí)時(shí)攻擊行為的信息,使所提方法能夠進(jìn)一步適應(yīng)攻擊者行為;其次,進(jìn)一步優(yōu)化DDPG方法,以提高方法的性能表現(xiàn);最后,相關(guān)廠商合作探索將所提技術(shù)部署于大規(guī)模真實(shí)網(wǎng)絡(luò)環(huán)境中,對(duì)所提方法的各方面表現(xiàn)進(jìn)一步驗(yàn)證,不斷提高實(shí)驗(yàn)結(jié)果的可靠性。