李 洋,劉天鶯,朱建明,王秀利
(中央財經大學 信息學院,北京 100081)
在物聯網(internet of things,IoT)迅速得到發展和應用的同時,其安全問題也逐漸成為了關注重點。如果物聯網應用收集的數據泄露,可能造成嚴重后果;同時,由于物聯網網絡中存在許多異構網互相融合,結構復雜,安全防護難以實施。在工業控制領域,震網病毒(Stuxnet)曾經在世界各國的大型設施系統中產生了巨大危害。為了提高物聯網的安全性,過去的研究者提出了許多的安全方案,例如輕量級加密技術、云計算安全技術等。但是,這些技術都是基于某種具體的安全難題提出解決方案,沒有考慮到物聯網整體安全狀況的感知與評估。物聯網安全是一個整體,其分析也應該具備綜合性,需要全面分析物聯網絡面臨的威脅程度及安全態勢。此外,在實施安全方案時,物聯網也與傳統網絡有所不同。許多設備受資源所限,只有密碼驗證這類簡單的措施,而無法配置大型安全分析系統,否則可能影響系統的正常運行。因此,物聯網安全方案需要在能源消耗小的同時,幫助安全防御者在復雜動態環境中做出最優決策,評估整體安全態勢。
博弈論是研究對策的數學理論,在安全博弈中,攻擊方和防守方相互對抗,策略與收益相互依存,能夠同時考慮攻防雙方行動對于安全的影響,而不是僅僅關注攻擊或防守某一方的行為,符合全面性、整體性要求,適合應用于物聯網安全研究。He等[1]使用SCPN計算攻擊路徑,構建動態博弈模型對物聯網智能環境進行態勢感知,并通過典型攻擊場景對模型進行了驗證。Kaur等[2]結合隨機Petri網和博弈論構建隨機博弈網模型,使博弈方法適用于復雜的IoT網絡,管理員節點能夠在動態、可擴展環境下探測和阻止攻擊,做出合理的行動計劃。上述文獻將博弈理論應用于物聯網以及網絡安全的分析,能夠綜合考慮攻防雙方行為對于安全狀態的影響,但是缺乏對博弈過程的具體分析,無法使用博弈矩陣做出安全決策。
在應用博弈矩陣進行攻擊路徑預測和最優防御策略選取方面,Huang等[3]結合演化博弈論和Markov決策過程,在多狀態情況下求解Markov演化博弈均衡,考慮到了決策者的非完全理性情況。Lei等[4]構建了移動目標防御的Markov博弈模型,綜合量化防御收益和防御成本,提出最優策略選擇算法。Wang等[5]動態分析網絡攻防過程,通過貝葉斯博弈結果確定最優純策略,相比混合策略可操作性更強。這些文獻可以應用于非完全理性、安全狀態存在轉移等多種情況,但是主要從預測具體攻擊和防御行為出發,沒有對整體安全態勢的分析。
網絡安全態勢感知(network security situation awareness,NSSA)是一個對整體網絡安全狀態進行感知的研究領域和研究方法,它通過將有關于網絡安全的各種信息融合,對安全態勢做出分析和判斷,為網絡管理者和參與者的決策提供幫助。Endsley提出態勢感知的概念[6],許多學者在之后也從不同角度、不同方面分別闡述了NSSA的定義和內涵,但大多都涉及到“安全”、“整體”與“輔助決策”等認知。對物聯網的安全態勢進行感知、分析與評價,能夠把握整體網絡安全狀態,預測未來發展趨勢,做出最有利于安全防御的決策。針對物聯網安全及安全態勢感知,Rapuzzi等[7]從霧計算角度構建態勢感知方案,將安全分析從垂直框架轉換為適合分布式計算的水平結構,能夠應用于復雜的安全環境。Park等[8]提出了一種IoT設備風險評估框架,從信息泄露角度度量威脅和風險,通過感知環境與風險,預測未來安全形勢,做出合理決策。Chouhan等[9]介紹了IoT應用的安全評估方法,在本地設備、數據傳輸和數據存儲等物聯網安全領域分別給出了增強安全保障能力的建議。上述文獻分析了網絡中存在的風險和威脅,從整個物聯網網絡的角度感知安全態勢,但是沒有考慮到物聯網中惡意攻擊者和防御者之間的相互影響。
本文將Q-Learning算法與靜態貝葉斯博弈相結合,分析物聯網安全狀況,在多狀態、不完全信息條件下進行物聯網安全態勢感知。通過最優防御策略求解,以及對整體網絡安全態勢的量化分析,更好地幫助管理者做出防御行動,預測安全狀態趨勢,具有實際意義和應用價值。
在物聯網安全攻防博弈過程中,隨著攻擊者進行攻擊,防御者采取措施防御,存在多個狀態之間的轉移和跳變,需要同時考慮到現在和未來的收益,才能做出更加符合長遠利益的防御決策,因此,可以將多狀態的隨機博弈理念引入攻防過程中。傳統的隨機博弈大多使用基于模型的Markov決策過程來進行描述,但其中存在著狀態轉移概率難以確定的問題。使用免模型的Q-Learning算法,不需要預先獲取狀態轉移概率,而是通過探索與環境交互,自主獲取未知的環境信息,應用范圍更加廣泛。針對這些特點,本文構建了結合Q-Learning算法的安全態勢感知模型,在環境未知的情況下通過探索更新狀態與行為信息。作為一種免模型的強化學習算法,它基于馬爾科夫決策過程,通過學習動作-值函數,可以在獨立于未來策略的情況下估計出最佳的動作-值函數q*。其任務是在有限狀態和有限動作集條件下進行每一步的選擇,實現主體可控制的馬爾科夫過程。
在馬爾科夫決策過程中,用于選取最優決策的Bellman方程的狀態-值函數需要滿足關系
(1)

(2)
在Q-Learning方法中,求解最優策略不需要了解和初始化狀態轉移概率。參與者與環境交互,在多個步驟的探索中不斷更新Q值,最終達到選取最優策略的目的。一個步驟的Q-Learning可以定義為
Q(st,at)←Q(st,at)+

(3)
其中,Q(st,at)是當前的Q值,α表示對Q值計算差距的學習率,γ是一個衰減值,表示未來收益對現在影響的程度。在每一個步驟中,主體處于某個狀態st,并可以根據st選擇對應的at。每個狀態-動作對(st,at)確定一個當前收益Rt+1,作為當前狀態下做出某個選擇的直接收益。同時,在整個狀態空間中,當前狀態到下一個狀態的轉移也由動作選擇情況決定,不同的動作可能通往不同的下一步狀態。
由于安全博弈是雙方共同參與,在更新Q值的策略上,需要同時考慮到多個智能體的行為及其影響。針對攻擊方采取行動at,防御方采取行動dt,一個步驟的更新可以定義為
Q(st,at,dt)←Q(st,at,dt)+

(4)
物聯網安全及其態勢感知有許多與傳統網絡安全不同的特點。首先,物聯網多采用無線網絡的結構,沒有中心節點來監測網絡中傳輸的數據,因此需要分布式節點互相合作以保障安全,并且要考慮到眾多節點中惡意節點存在的可能性;其次,由于物聯網帶寬有限,如果采取傳統安全感知系統,其產生的大量信息流可能導致網絡堵塞,影響網絡系統的正常運行,為此應該盡可能減少安全感知所傳輸的數據流;同時,物聯網設備的計算能力、存儲資源都十分有限,安全感知和預測只能在資源受限的情況下進行,需要對傳統安全模型進行優化。
傳統的網絡安全態勢感知與風險評估對大量數據流進行分析,將之應用于物聯網中,則會耗費過量電力能源與計算存儲資源,難以長期進行態勢監測,導致安全保障能力下降,缺乏對實時攻擊的響應。此外,只從攻擊方或防守方單方面出發,無法準確度量攻防雙方互相影響的因素,也沒有考慮到物聯網中節點之間的相互聯系。采用博弈論方法分析物聯網安全,可以在一定程度上解決這些問題。
將博弈過程應用于網絡安全分析可以采用靜態博弈模型或動態博弈模型。在靜態博弈中,博弈只有單一階段,無法反映物聯網安全中多狀態之間的變化。在多個階段的博弈中,也假設參與者的策略和收益固定,不會隨著時間發生改變。這些模型無法適用于動態的物聯網安全環境。在動態環境中,存在著多個狀態,參與者在不同狀態下采取不同策略,策略的影響也是長期的,因此運用Q-Lear-ning算法來度量存在狀態轉移的動態物聯網環境下攻防參與者的收益。在Q-Learning中,隨著一個步驟的Q值更新,主體需要完成以下任務:觀察當前狀態st,選擇動作at,確定下一個狀態st+1,得到當前收益Rt+1,并根據學習率α和衰減值γ重新計算Q,獲得更新后的Q值。通過Q-Learning,環境中的主體不斷進行探索和試錯,獲得策略當前和未來收益信息,考慮到多狀態之間的轉移和變化。
是否存在完全信息是構建博弈模型,獲取最優策略所需的一個前提條件,許多安全博弈模型基于完全信息假設,即對于所有參與者,都假設其提前掌握了有關于博弈的全部信息,例如攻擊方的攻擊能力強弱、攻擊成功率、攻擊資源多少;防御方的防御能力、防御成功率、能夠應用于防御的資源如節點的電量剩余等。但是,在物聯網安全攻防過程中,攻防雙方很難獲取對方攻擊和防御能力強弱的完整信息,只能有一個大概的判斷,存在著信息不完全的情況。貝葉斯博弈描述了非完全信息條件下參與者之間的博弈過程,在靜態貝葉斯博弈中,參與者同時行動,每個參與者可能有不同的類型,不同類型的參與者策略和收益也可以不同。與完全信息博弈相比,貝葉斯博弈將參與者從單一類型擴展到n個類型,更加符合現實中參與人能力不同的情況。
因此,定義物聯網安全態勢感知模型為一個九元組(N,Θ,P,M,S,U,W,π*,NS),其中:
(1)N=(NA,ND),是博弈參與者,NA為物聯網中的攻擊方(惡意節點),ND為物聯網中的防御方(正常節點);

(3)P=(PA,PD),是攻擊方和防御方在知道自己類型時對另一參與者類型的推斷集合;
(4)M=(MA,MD)=(a1,…,am;d1,…,dn),是攻防雙方的動作集合,參與者的類型不同,在該類型下的策略集合也可能不同,每個類型策略集合都是動作集合的一個子集;
(5)S=(s1,…,sk),是物聯網安全狀態空間,安全狀態之間存在轉移關系;
(6)U=(UA,UD),是參與人的收益空間,參與人得到的收益與狀態、類型、采用策略和對方所選取的策略相關;
(7)W=(w,Aw,Dw),是不同節點的重要程度及其分布狀況;

(9)NS=(NS1,…,NSk),是不同狀態下安全態勢值的集合。
為了簡化模型,在博弈過程中,將物聯網所有惡意節點共同視為一個攻擊者,采取一系列的策略攻擊網絡;將物聯網中所有正常節點共同視為一個防御者,采取一系列的防御策略維護網絡安全。
在不完全信息狀態下,求解靜態貝葉斯納什均衡能夠得到不同類型攻擊者和防御者的最優策略。

由于任意有限博弈都存在混合策略納什均衡,模型中每個狀態中攻擊方和防御方都存在一個最佳混合策略,即混合策略貝葉斯納什均衡[14]。
給定
((NA,ND),(ΘA,ΘD),(MA,MD),(PA,PD),(UA,UD))
(5)
攻防雙方的混合策略為
(6)
其中,f表示策略選取的概率。
如果同時滿足
(7)
和
(8)

物聯網安全博弈是一個隨著攻防雙方行動和整體網絡系統狀態轉移而不斷變化的過程,其安全態勢評估也需要考慮到惡意節點和正常節點分別采取的具體行動,以及網絡當前和未來狀態變化所產生的影響。貝葉斯均衡可以幫助攻擊者和防御者預測對方的策略,但在自己決策時,一次只能選取一個具體行動。

(9)

(10)
在物聯網網絡中,惡意節點和正常節點的數量、節點重要程度等因素對整體網絡安全態勢有一定影響。設節點重要度由高到低為w={wH,wM,wL},3種類型節點在惡意節點中的分布情況是AW={AH,AM,AL},在正常節點中的分布情況是DW={DH,DM,DL},則物聯網安全態勢值為
(11)

求解最優防御策略和網絡安全態勢的算法如下:
模型算法:
輸入:狀態集合S,動作集合M,類型空間Θ,先驗推斷P,收益空間U,節點狀態W
輸出:最優防御策略π*,網絡安全態勢NS
Begin
(1)Forso∈S



(5) Repeat
(6) Until
(7)Solve
(9)Calculate
(10) Output
該算法將Q-Learning與貝葉斯博弈相結合,適用于物聯網安全多狀態、防御者和攻擊者擁有多個類型的情況,能夠根據網絡中正常節點和惡意節點的分布情況,確定最優防御決策,并評估安全態勢值。與傳統方法相比,該算法同時將攻防雙方行動作為安全影響因素,安全態勢評估更加準確。
構建如圖1所示的IoT網絡,網絡中分布了1100個物聯網節點設備,設備通過路由器與網絡連接。其中有100個惡意節點,1000個正常節點,正常節點中有一個管理員節點。

圖1 模擬物聯網網絡
參考文獻[2],攻防雙方的策略見表1。

表1 攻防策略
簡化的網絡安全狀態共有7個,分別是:s0={normal operation},s1={device Dos},s2={device attacked},s3={injects malicious data},s4={device direct to malicious portal},s5={device get malicious data},s6={network shutdown}。狀態轉移關系如圖2所示。

圖2 狀態轉移關系
每個狀態的動作見表2。

表2 狀態動作
由于正常節點選擇的防御措施會根據網絡狀況和自身情況確定,將正常節點的防御分為兩種類型:高級防御和低級防御。假設惡意節點只有一種攻擊類型:高級攻擊,惡意節點對兩種防御類型的先驗信念為(0.7, 0.3)。以(高級攻擊,高級防御)為例,其在狀態s0的收益矩陣見表3。

表3 狀態s0下(高級攻擊,高級防御)收益矩陣
由于算法采用Q-Learning進行狀態-動作值的更新,計算策略選取收益不需要預先得到狀態間轉移概率,避免了可能產生的誤差,并且其運行過程可以根據現實情況自主調整,當物聯網安全狀況發生變化時,也可以再次通過探索得到新的環境信息。同時,貝葉斯博弈的引入使得攻防參與者能夠在信息不完全的情況下對另一參與者的行動做出合理推測,不需要掌握完全信息,提高了算法的實用價值。
在最優防御策略選取階段,根據本文算法,可以得到最優防御策略為:πs0={(0,0.25,0.75),(0,1,0)},πs1={(0,1),(0.91,0.09)},πs2={(1,0),(1,0)},πs3={(1,0),(1,0)},πs4={(1,0),(1,0)},πs5={(1,0),(1,0)}。由結果可知,在狀態初始,高級防御者和低級防御者都應該偏向于選擇策略d3,隨著網絡攻擊的繼續進行,不同類型的防御者出現了不同的最優策略選擇。
在網絡安全態勢評估階段,基于攻防雙方各自采取的行為,以及對另一方行為策略的預測,得到攻擊者的安全威脅值以及防御者的安全收益值,綜合評估網絡安全態勢。如果攻防雙方在每個狀態都選擇一個最佳策略,物聯網網絡安全態勢變化如圖3所示。

圖3 網絡安全態勢變化
可以看出,隨著狀態改變,攻擊程度加強,網絡安全態勢值變小。同時,在網絡受到攻擊的開始階段,高級防御和低級防御類型之間的差距較大,而到了攻擊后期,網絡面臨威脅十分嚴重,兩種類型的防御者安全狀況差距縮小,安全態勢都處于較低的數值。這說明即使是防御能力強的防御方,也需要在攻擊開始發生時就及時制止,防止網絡面對更加嚴重的威脅。
物聯網中存在著多個安全狀態,攻擊和防御節點也可能存在多種類型。針對物聯網安全攻防雙方相互影響、安全環境不斷變化等問題,本文基于Q-Learning和貝葉斯博弈,提出了一種能夠應用于不同安全狀態相互轉換,并且充分考慮到不同攻防類型和能力的物聯網安全最優防御策略選取與態勢感知方法。實驗驗證,本文提出的方法是有效的,能夠合理且高效地實現最優防御決策,進行物聯網安全態勢感知。