周 云,劉月華
(1.78111 部隊,四川 成都 610011;2.中國電子科技集團公司第三十研究所,四川 成都 610041)
2013 年深度思考(DeepMind)公司開發(fā)深度學習和強化學習結合構建價值網(wǎng)絡訓練智能體挑戰(zhàn)雅達利2600(Atari2600)中的游戲[1-2]。2016 年,阿爾法圍棋(AlphaGo)[3]在圍棋領域的成功是強化學習領域的里程碑事件,AlphoGo 將深度學習和強化學習結合構建價值網(wǎng)絡和策略網(wǎng)絡訓練智能體,在對弈階段采用蒙特卡洛樹搜索[4]。隨后推出的阿爾法元(AlphaGoZero)在AlphaGo 的基礎上將策略網(wǎng)絡和價值網(wǎng)絡合并成一個深度神經(jīng)網(wǎng)絡進行強化學習,在不使用已有知識經(jīng)驗的條件下自我訓練3 天即擊敗AlphaGo[5-7]。Atari 游戲、圍棋、國際象棋都屬于完美信息博弈,每個參與者可以在任何時候看到已經(jīng)發(fā)生或正在發(fā)生的游戲局勢。2019 年,阿爾法星(AlphaStar)[8]攻克即時戰(zhàn)略游戲星際爭霸,智能體可以戰(zhàn)勝99.8%的人類選手。星際爭霸是不完全信息下的博弈,主要使用了監(jiān)督學習、深度強化學習、基于循環(huán)神經(jīng)網(wǎng)絡(Recursive Neural Network,RNN)的局部馬爾可夫決策,該智能體解決了不完全信息,需要遠期計劃,實時性以及多主體博弈的難點問題。
DeepMind 團隊取得的成績推動了人工智能從感知智能進入認知智能。感知智能以深度學習為代表,認知智能以強化學習為代表。
強化學習的基本思想是從與環(huán)境的不斷交互中學習[9],根據(jù)從環(huán)境觀測到的信息,做出行動決策,然后觀察環(huán)境反應調(diào)整行動,最終實現(xiàn)目標。網(wǎng)絡空間安全攻防對抗過程中,攻防雙方通過將攻擊行為和防護行為作用于網(wǎng)絡環(huán)境,并根據(jù)網(wǎng)絡安全態(tài)勢的變化調(diào)整對抗策略,從而實現(xiàn)網(wǎng)絡攻擊和網(wǎng)絡安全防護的目的,而強化學習為網(wǎng)絡空間攻防對抗智能化提供了重要途徑和技術手段。
本文主要研究強化學習的基礎理論,針對網(wǎng)絡空間安全防護如何應用強化學習實現(xiàn)智能防護的問題,提出初步解決方案。本文沒有考慮網(wǎng)絡攻擊智能化的問題。
強化學習[9](Reinforcement Learning,RL)以試錯的機制與環(huán)境進行交互,通過最大化累積回報學習最優(yōu)策略。它是一種通過智能體Agent 與環(huán)境不斷交互,獲得最大累計期望回報,學習最優(yōu)狀態(tài)到行動映射關系的方法。強化學習系統(tǒng)的原理如圖1 所示。
圖1 強化學習原理
強化學習系統(tǒng)通常包含4 個元素[10]:狀態(tài)s,動作a,回報(Reward,又稱獎懲/獎勵)r,策略π(a|s)。
狀態(tài)空間S:s∈S,狀態(tài)集合。
動作空間A:a∈A,動作集合。
累計期望回報R的計算方式為:
式中:γ∈[0,1]為折扣因子表示未來某一時刻的獎勵在累計獎勵中所占的影響比重;E為r的數(shù)學期望。強化學習目標是最大化累積回報期望,回報函數(shù)是關鍵。
策略π(a|s):狀態(tài)空間到動作空間的映射函數(shù),Agent 依據(jù)策略π(a|s)生成動作a。
時間序列T:t∈T,t表示當前時刻,t+1 表示t時刻的下一時刻。
Agent 根據(jù)輸入的環(huán)境狀態(tài)st由策略π(a|s)選取動作at作用于環(huán)境,環(huán)境狀態(tài)轉移至st+1,新的環(huán)境狀態(tài)st+1和動作執(zhí)行回報rt再次輸入Agent,Agent 評估策略π(a|s)優(yōu)劣程度,進一步調(diào)整做出新的決策。
如圖2 所示,強化學習分為基于值函數(shù)(Value-based)的強化學習和基于策略函數(shù)(Policy-based)的強化學習。
圖2 強化學習分類
行動者-評論家(Actor-Critic)[11]算法結合了兩者優(yōu)勢,其結構包括Actor 策略函數(shù)和Critic 值函數(shù)。Actor 產(chǎn)生動作,Critic 評價動作好壞,并生成時序差分(Temporal Difference,TD)誤差指導Actor 和Critic 更新。Actor 策略函數(shù)π(a|s)和Critic值函數(shù)(s,w)通過神經(jīng)網(wǎng)絡學習獲得。對于高維的狀態(tài)st和動作at數(shù)據(jù),構建深度神經(jīng)網(wǎng)絡(Deep Neural Network,DNN)[12]提取數(shù)據(jù)特征,學習策略函數(shù)和值函數(shù)。
圖3 為Actor-Critic 邏輯架構。圖中,Actor 網(wǎng)絡使用環(huán)境狀態(tài)st作為輸入,輸出動作at。Critic網(wǎng)絡計算動作最優(yōu)價值,Actor 利用最優(yōu)價值迭代更新網(wǎng)絡參數(shù)θ,進而選擇新的動作作用于環(huán)境。Critic 使用環(huán)境反饋的回報at和環(huán)境新狀態(tài)st+1更新網(wǎng)絡參數(shù)w,然后使用新的參數(shù)w計算Actor 輸出動作的最優(yōu)價值。Critic 的評估點基于TD 誤差,TD 誤差代表了估計值與目標值的誤差大小,誤差越大樣本的價值就越大。
圖3 Actor-Critic 邏輯架構
TD 誤差的表達式為:
Critic 網(wǎng)絡使用均方差損失函數(shù)作為參數(shù)w的更新梯度,表達式為:
Actor 網(wǎng)絡使用帶權重的梯度更新策略網(wǎng)絡參數(shù)θ,表達式為:
基于深度強化學習(Deep Reinforcement Learning,DRL)的網(wǎng)絡安全防護智能體學習引擎使用虛擬化的網(wǎng)絡空間綜合靶場作為“環(huán)境(Environment)”,并通過Actor-Critic 算法和深度神經(jīng)網(wǎng)絡構建DRL 框架,如圖4 所示。
圖4 智能網(wǎng)絡安全防護DRL 框架
虛擬網(wǎng)絡空間綜合靶場基于云計算平臺構建,作為實際網(wǎng)絡的仿真運行環(huán)境[13-14],環(huán)境中的數(shù)據(jù)支持從實際網(wǎng)絡引入,從而使Agent 的訓練學習面向真實環(huán)境。當把虛擬化網(wǎng)絡空間綜合靶場換做實際網(wǎng)絡環(huán)境時,Agent 可以直接使用不需要再做遷移學習。
狀態(tài)集合S是網(wǎng)絡狀態(tài)信息的集合,是網(wǎng)絡狀態(tài)已知信息的客觀描述數(shù)據(jù),是強化學習的重要數(shù)據(jù)。組成狀態(tài)集合的狀態(tài)要素分類如表1 所示。
表1 狀態(tài)要素
表1 中的狀態(tài)要素是一個分類,每個分類有更詳細的原子狀態(tài)信息,所有的原子狀態(tài)信息共同構成環(huán)境狀態(tài)集合形成狀態(tài)空間,例如:攻擊對象原子狀態(tài)信息有計算機、網(wǎng)絡路由器、網(wǎng)絡交換機、系統(tǒng)、服務,安全設備、工業(yè)設備等;計算機原子狀態(tài)信息有主機可訪問狀態(tài),操作系統(tǒng)類型,操作系統(tǒng)版本、權限、漏洞、存在脆弱性的服務和進程等[15];攻擊來源原子狀態(tài)信息有IP 地址,域名,AS 號等。
動作集合A是Agent 可以采取的操作的集合,策略st+1從動作集合中選取at執(zhí)行。組成動作集合的動作要素分類如表2 所示。
表2 動作要素
表2 中的動作要素是一個分類,每個分類有更詳細的原子動作,所有的原子動作共同構成動作集合形成動作空間。
2.3.1 回報函數(shù)
回報函數(shù)對強化學習的每步?jīng)Q策選擇動作進行獎勵或懲罰,評判動作性能。回報函數(shù)對強化學習過程起著導向作用,回報函數(shù)引導Agent 在與環(huán)境交互的過程中不斷修正策略以選擇價值回報最大的動作。
回報函數(shù)為:
Agent 選擇動作at執(zhí)行后,環(huán)境給出t時刻網(wǎng)絡攻擊威脅度xt∈X。如果xt大于閾值Xthreshold,進行正值反饋對Agent 進行獎勵;如果xt小于閾值Xthreshold,進行負值反饋對Agent 進行懲罰;xt等于閾值Xthreshold,不獎勵也不懲罰。此處閾值Xthreshold不做特別規(guī)定,視具體情況自行定義。
2.3.2 基于動態(tài)貝葉斯的網(wǎng)絡攻擊威脅度評估
動態(tài)貝葉斯[16]網(wǎng)絡攻擊威脅度評估,首先確定攻擊威脅各組成要素及其關系,按照要素間關系建立對應的貝葉斯模型;其次確定貝葉斯模型中各節(jié)點的先驗概率和條件概率;最后進行模型推理。
靜態(tài)貝葉斯模型在時間維度上展開得到動態(tài)貝葉斯模型,如圖5 所示。
圖5 動態(tài)貝葉斯網(wǎng)絡威脅度評估模型
動態(tài)貝葉斯網(wǎng)絡推理使用濾波算法利用過去結果和當前證據(jù)預測當前結果的推理方法,推理公式為:
式中:E代表證據(jù);X代表連接毗鄰時間片的節(jié)點;t-1 代表過去;t代表當前;P(Et)和P(Xt)是當前證據(jù)E和節(jié)點X的先驗概率;P(Xt|Et)是當前網(wǎng)絡濾波推理前的概率結果;P(Xt-1|E1∶t-1)和P(Xt-1|E1∶t)是過去和當前網(wǎng)絡濾波推理后的概率結果;是當前和過去間節(jié)點X的狀態(tài)轉移概率;是過去網(wǎng)絡濾波推理后最大的概率結果對應的狀態(tài);α是歸一化因子。
圖6 為網(wǎng)絡安全防護智能體訓練過程示意圖,訓練部分包括網(wǎng)絡空間安全態(tài)勢狀態(tài)數(shù)據(jù)和安全防護動作相關的樣本數(shù)據(jù)集、虛擬網(wǎng)絡空間綜合靶場仿真環(huán)境、Actor 神經(jīng)網(wǎng)絡和Critic 神經(jīng)網(wǎng)絡。
圖6 中的網(wǎng)絡安全防護智能體訓練過程描述如下。
圖6 網(wǎng)絡安全防護智能體訓練過程
步驟1:構建Actor 神經(jīng)網(wǎng)絡和Critic 神經(jīng)網(wǎng)絡,形成Actor 策略網(wǎng)絡和Critic 價值網(wǎng)絡。由于網(wǎng)絡安全態(tài)勢數(shù)據(jù)和網(wǎng)絡安全防護動作數(shù)據(jù)是高維數(shù)據(jù),神經(jīng)網(wǎng)絡構建采用深層的深度神經(jīng)網(wǎng)絡。初始化神經(jīng)網(wǎng)絡參數(shù)、初始化訓練次數(shù)、折扣因子、學習率等。
步驟2:引入實際網(wǎng)絡數(shù)據(jù),提取網(wǎng)絡安全攻擊數(shù)據(jù),按照動作集合設計中的動作要素構建網(wǎng)絡安全防護動作數(shù)據(jù)集。
步驟3:將網(wǎng)絡安全態(tài)勢數(shù)據(jù)作為模型的訓練數(shù)據(jù)輸入。
步驟4:Actor 策略網(wǎng)絡根據(jù)策略函數(shù)從動作空間A 中選擇actions 輸出給仿真環(huán)境。
步驟5:仿真環(huán)境執(zhí)行動作actions,動作執(zhí)行后的網(wǎng)絡攻擊威脅度和新的網(wǎng)絡安全態(tài)勢做為Critic 價值網(wǎng)絡的輸入。
步驟6:Critic 價值網(wǎng)絡計算TD 誤差(td_error),計算min(td_error2),使用策略梯度算法更新神經(jīng)網(wǎng)絡參數(shù)w,同時將TD 誤差反饋給Actor 策略網(wǎng)絡。
步驟7:Actor 策略網(wǎng)絡使用策略梯度算法更新神經(jīng)網(wǎng)絡參數(shù)θ。
步驟8:重復步驟3 至步驟7,直至訓練結束。
步驟9:訓練結束后,Actor 策略網(wǎng)絡參數(shù)和學習到策略函數(shù)、Critic 價值網(wǎng)絡參數(shù)和學習到的價值函數(shù)共同構成智能體Agent,訓練過程獲得的目標策略即是網(wǎng)絡安全攻擊與其相對應的最優(yōu)安全防護策略。
本文針對網(wǎng)絡空間安全防護如何智能化的問題進行研究,探索了深度強化學習解決問題的方法和過程。將深度強化學習應用在網(wǎng)絡空間安全防護領域,使用深度學習提取網(wǎng)絡安全態(tài)勢數(shù)據(jù)特征,構建智能體,由回報函數(shù)進行強化學習決策導引,判斷策略和動作好壞,并通過在虛擬網(wǎng)絡空間綜合靶場訓練學習獲得安全防護智能體和最優(yōu)安全防護策略集合。智能體在面對網(wǎng)絡攻擊時根據(jù)模型和策略快速應對,并且強化學習從環(huán)境交互過程中學習的特性可以使智能體在線學習新的策略。
網(wǎng)絡空間已成為領土、領海、領空、太空之外的“第五空間”,是國家主權的新疆域,國家安全的重要組成部分。信息網(wǎng)絡安全已成為國家信息化建設的重要基礎支撐。信息與通信技術(Information and Communications Technology,ICT)和人工智能技術不斷取得的新進展,為網(wǎng)絡空間安全防護提供了新手段新措施。此外,網(wǎng)絡空間安全對抗也將更加智能化,對該領域的研究將會持續(xù)深入。