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