葉春果陳麗娜李 暉范 淵苗春雨?
(1.浙江郵電職業(yè)技術學院通信技術院,浙江 杭州 312000;2.浙江師范大學網(wǎng)絡應用安全研究中心,浙江 金華 321004;3.西安電子科技大學網(wǎng)絡與信息安全學院,陜西 西安 710126)
無線傳感器網(wǎng)絡已被應用于生產(chǎn)生活中的各個領域,如何保障無線傳感器網(wǎng)絡的安全已成為重點研究內容之一[1]。 目前針對無線傳感器網(wǎng)絡的安全研究主要分為兩個方面:①基于無線傳感器網(wǎng)絡的通信協(xié)議的安全解決方案,這類安全解決方案僅包括一些數(shù)據(jù)加密和身份認證等技術,無法應對復雜攻擊[2]。 ②無線傳感器網(wǎng)絡的攻擊抵御,現(xiàn)有的無線傳感器網(wǎng)絡抵御機制通常是針對不同場景下的具體攻擊,例如協(xié)作頻譜感知[3],802.15.4MAC 協(xié)議[4],或者抵御機制[5]。 針對這類抵御機制,本文提出了兩個關鍵問題:臨時抵御問題和最優(yōu)抵御問題。
臨時抵御問題 現(xiàn)有的抵御機制通常是針對某種具體攻擊而設計的,因此隨著攻擊方式的變化,抵御機制將無法抵御各類不同的攻擊。 例如,在各類研究中一般只針對某種特定的攻擊,并設計一種針對該攻擊類型的抵御算法[6-7]。 但當這種攻擊進行微小的改變后會導致原本的抵御算法對變化后的攻擊失效。
最優(yōu)抵御問題 該類問題的攻擊方法和抵御方法往往難以被精確地建模,現(xiàn)有的大多數(shù)抵御方法是基于歷史數(shù)據(jù)分析而構建的,因此無法準確知道抵御方法對于某種特定攻擊是否能達到最佳抵御效果,同時也不知道抵御方法的抵御效果離最佳的抵御效果有多少差距。 該問題和臨時抵御問題相似:由于無法知道抵御機制對于某種攻擊的最佳抵御效果,導致抵御算法無法適應攻擊方法的變化。
本文從攻擊者角度出發(fā),提出一種基于MDP 的攻擊策略生成方法。 該方法使用馬爾科夫決策過程(MDP)對WSN 中的攻擊模式進行建模。 同時,馬爾科夫決策過程還可以解決臨時抵御問題,即攻擊者還可以通過馬爾科夫決策過程來破解未知抵御方法。
針對臨時抵御問題,大量研究都是基于某種特定的網(wǎng)絡攻擊而提出相應的抵御方法。 如文獻[6,8-9]等都提供了抵御CCS 攻擊的相關方法,這類算法缺點在于攻擊者可以通過學習抵御算法的特點輕松破解它。
最優(yōu)抵御問題是無線傳感器網(wǎng)絡安全研究的重要課題之一,目前的研究往往通過仿真的方式來驗證抵御方法的抵御效果。 文獻[8]在一個分布式的網(wǎng)絡中評估隱性自適應數(shù)據(jù)注入攻擊,通過仿真驗證其提出的抵御方法的效果。 Kailkhura[10]等人通過實驗評估了頻譜感知數(shù)據(jù)偽造(SSDF)攻擊下集中式CSS 方案的抵御性能。
馬爾科夫決策過程是一個基于離散時間最優(yōu)控制問題的成熟模型。 用于模擬智能體感知當前的系統(tǒng)狀態(tài),按一定策略對環(huán)境實施反饋,從而改變環(huán)境的狀態(tài)并得到獎勵。 MDP 有兩種計算方式,第一種通過動態(tài)編程的方式,這種方式需要對環(huán)境的切換過程有明確的了解;第二種方式不需要對環(huán)境轉化有明確的了解,而是通過機器學習的方式去認知環(huán)境的改變[11-12],在這種方式下,智能設備通過與環(huán)境的交互即可學習掌握學習對象的變化過程。 我們正是利用了它的這種能主動感知并學習抵御算法特征的能力來學習抵御方法,從生成更具有破壞力的攻擊策略。
馬爾科夫決策過程常被用于解決動態(tài)系統(tǒng)的建模問題。 MDP 能夠智能的感知當前的系統(tǒng)狀態(tài),按一定策略對環(huán)境進行反饋調節(jié),從而改變環(huán)境的狀態(tài)并得到獎勵。 馬爾科夫決策過程包含5 個要素:(S,A,P,R,γ)。 定義如下:S表示環(huán)境狀態(tài)的集合;A表示動作的集合;Pa(sn,sn+1)表示在時間n時,動作a使環(huán)境狀態(tài)從sn改變到sn+1的概率;Ra(sn,sn+1)表示在時間n時,動作a使環(huán)境狀態(tài)從sn改變到sn+1能獲得預期獎勵;γ表示一個折扣因素。
MDPs 的關鍵特征符合馬爾科夫算法,即階段n時刻到達狀態(tài)s的概率僅僅取決于階段n-1 時刻的狀態(tài)。 MDP 可以是無限或者有限的,這取決于最終時間N是否是有限的。 為了評估策略的性能,我們首先定義一個策略π映射S→A,然后將使用策略后獲得的總預期獎勵作為策略性能的評估指標。 當某一策略得到最高累加獎勵時,則該策略為最優(yōu)策略,定義為π?。 當MDP 可以獲得最優(yōu)策略時,則認為該MDP 可解。
本文通過研究CSS 無線傳感器網(wǎng)絡中的SSDF攻擊來驗證MDP 框架的優(yōu)勢。 CSS 網(wǎng)絡中有兩個主要的干擾來源:節(jié)點通訊誤碼和惡意節(jié)點干擾。 如在頻譜感知數(shù)據(jù)篡改(SSDF)或拜占庭式攻擊的情況下,網(wǎng)絡中多個攻擊者向數(shù)據(jù)匯聚節(jié)點(FC)提供虛假數(shù)據(jù),從而誤導FC 做出錯誤的決策,達到攻擊的目的[13]。 目前已提出了幾種抵御機制來應對SSDF 攻擊,具體可以分為:硬融合,即中心節(jié)點FC 的決策依賴于部分節(jié)點的感知數(shù)據(jù);軟融合,即在節(jié)點的感知信息中添加額外的信息協(xié)助FC 進行決策。 硬融合的抵御方法有加權序列概率比測試(WSPRT)和EWSZOT[14],軟融合的抵御機制有基于能級分布的統(tǒng)計檢驗法[5]。 即使目前已經(jīng)有一定的網(wǎng)絡安全技術,但該領域仍然存在許多挑戰(zhàn)[15]。
以無線傳感器網(wǎng)絡安全為基礎,我們構建了無線傳感器網(wǎng)絡的模型。 假設無線傳感網(wǎng)絡中有M個傳感器節(jié)點,其中正常節(jié)點有Mn個,攻擊節(jié)點有Ma個,M=Mn+Ma。 該網(wǎng)絡以EWSZOT 方法作為網(wǎng)絡的抵御策略,其中二進制變量ei表示每個節(jié)點向FC 發(fā)送的報文,當e=1 時表示信道繁忙,e=0 表示信道空閑,i表示傳感器的編號。 在沒有干預的情況下,每個節(jié)點均有可能發(fā)生信道空閑或繁忙錯誤的情況,假設發(fā)生錯誤的概概為Qc,同時每個節(jié)點評估信道錯誤的概率都是獨立且固定的。 那么,每個ei遵循參數(shù)Qc伯努利分布,即當e=0 時,每個ei的錯誤概率Qc,當e=1,錯誤概率為1-Qc。 利用錯誤概率Qc。 定義FC 的決策錯誤總概率為qe,t,即當FC 的信道空閑時,錯誤地認為信道是繁忙的,反之亦然。 因此,攻擊節(jié)點需要將qe,t最大化,由于EWSZOT 是基于信譽的抵御方案,攻擊節(jié)點在攻擊的同時還會通過偽裝方式保持高信譽。 本文的目的是設計最佳的攻擊策略,使得被攻擊的節(jié)點能夠欺騙過EWSZOT 抵御方法。
每個節(jié)點權重值計算如式(4)所示,其中avg(rn)表示所有節(jié)點的平均信譽值,Δ表示計算誤差偏移系數(shù)。 從公式中可以看出,信譽較高的節(jié)點對HT的決策影響較大,參數(shù)Δ可以讓錯誤概率Qc引起的負信譽度也能參與到?jīng)Q策中。
整個節(jié)點信譽計算過程還取決于節(jié)點反饋的報文順序,EWSZOT 以信譽從高到底的順序與前Mm個傳感器節(jié)點進行交互。 確保信譽最高的節(jié)點參與到?jīng)Q策中。 其EWSZOT 算法詳細過程如表1 所示。
表1 EWSZOT 算法實現(xiàn)
本章節(jié)提出了一種攻擊策略生成技術。 首先我們定義兩種常見的攻擊策略。 ①虛擬攻擊策略:這種策略被廣泛使用,即攻擊節(jié)點始終執(zhí)行預定義策略進行攻擊。 EWSZOT 算法能夠成功抵御三種攻擊:(a)報告信道始終繁忙;(b)始終空閑;(c)始終提供錯誤。 但是沒有給出針對這些攻擊的最優(yōu)解研究。 ②最佳攻擊策略:通過對抵御方法建模獲得最佳攻擊策略。 如本文利用MDP 學習EWSZOT 抵御方法,然后生成針對該抵御方法的攻擊策略。 通過求解MDP 問題,可在理論上得出最佳攻擊策略。
同時我們針對攻擊策略定義以下兩種攻擊場景:①標準SSDF 攻擊,定義為SA,該類型攻擊的惡意節(jié)點始終向FC 發(fā)送錯誤報文。 ②組合攻擊,定義為CA,包括標準SSDF 攻擊和針對通信鏈路的干擾攻擊。 例如FC 請求傳感器報文時,由于信道問題,導致傳感器節(jié)點報文無法準時達到或者導致報文損壞。 同時,攻擊節(jié)點也可以阻斷通信鏈路,影響正常節(jié)點的報文。 當FC 沒有收到傳感器節(jié)點i 的報文時,則認為ei=1。 在本文后續(xù)實驗中假設所有報文的損壞均是上述的干擾導致。
在標準攻擊SA中,不存在干擾的場景,因此a=aa,A的維度上限為2Mm。 同時,操作集合和狀態(tài)無關。
在給定狀態(tài)sn和行為集合a的情況下,定義轉換概率為Pa(sn,sn+1),即由于行為集合a,讓狀態(tài)sn轉換為狀態(tài)sn+1的概率。 通過對HT的建模,可以觀察到狀態(tài)sn轉換為不同狀態(tài)sn+1的概率。
本文通過樹結構對HT 進行建模。 樹的每個節(jié)點表示FC 從各個節(jié)點所能接收到的報文的所有排列組合。 由于從正常節(jié)點或者攻擊節(jié)點均能收到報文ei=0 或者ei=1,因此,每個父節(jié)點將會有四個子節(jié)點。 同時獲得的報文序列的最大長度和樹的最大深度均為Mm。 整個流程如圖1 所示。
圖1 HT 樹構建過程
qv的更新流程如算法2 所示。 首先定義已經(jīng)調用的正常節(jié)點和攻擊節(jié)點的數(shù)量,分別表示為nn和na,該數(shù)據(jù)可以通過序列v來獲取。 當獲取正常節(jié)點的報文后,使用q1,n和pn(r)更新qv。 如果沒有被干擾,則更新序列值為1n或者0n;如果存在干擾,則報文會更新為1n,然后更新干擾節(jié)點數(shù)量mn+1j。 如果獲取攻擊節(jié)點的報文時,則使用q1,n和1-pn(r)更新qv;如果不攻擊時,則使用正常節(jié)點發(fā)生錯誤的概率來更新攻擊節(jié)點的概率,即p1,n代替p1,a。 最后使用式(3)更新Wn。 通過更新qv,可以得到獲取序列v的總概率。
表2 qv 更新算法流程
使用算法2 更新qv和Wn,檢查節(jié)點是否滿足式(2)的終止條件,如果滿足其中一個條件,則該節(jié)點成為樹的葉子節(jié)點,否則該節(jié)點被設定為父節(jié)點,重復上述過程。 最終,得到所有葉子節(jié)點的信息。
表3 基于MDP 的EWSZOT 算法HT 的構建流程
通過算法3 對HT 進行建模以得到Pa(sn,sn+1)的準確值,即對于動作a和狀態(tài)sn,得到轉換為狀態(tài)sn+1的概率。
本節(jié)評估MDP 模型的復雜度,假設需要評估一個策略,即獲取Vπ(S0)。 對于每次HT,都有k≤4Mm(Mj+1)的可能性去轉換到新的狀態(tài)。 當n∈[0,N-1]時,在每個狀態(tài)sn就需要執(zhí)行一次HT。 同時初始狀態(tài)S0都是相同的,因此去評估一個策略時,必須通過該策略構建包含所有狀態(tài)的樹。 狀態(tài)樹的深度為N+1,則在組合攻擊的的場景下,樹的最多狀態(tài)的限制條件如式(7)所示。 在標準攻擊的場景下如式(8)所示。
對于策略,有以下三條改進措施:①在階段n執(zhí)行HT 之后,刪除qv=0 的所有狀態(tài)sn+1。 ②在階段n執(zhí)行HT 之后,進行狀態(tài)聚合,將所有狀態(tài)相同的sn+1進行合并計算概率qv。 ③在階段n后,僅保留轉換概率qv最高的T個sn+1。 通過固定每個階段的最大數(shù)量的狀態(tài),來降低計算成本,但計算結果會引入錯誤。T值越大,產(chǎn)生的誤差越小,計算成本越高。
算法4 將上述3 個改進的措施加入到具體的策略中。 當e=0 時,決策總誤差概率為qe,t=qt,1+qt,nd,當e=1 時,決策總誤差概率為qe,t=qt,0。 算法4 理模擬了算法2 描述的EWSZOT 抵御方法。 最后通過將Mj設置為0,來獲得沒有受到攻擊下的EWSZOT 的性能。
組合攻擊場景下每個狀態(tài)的行為數(shù)量的界限為4Mm。 這意味著,對于每個狀態(tài)sn,將有4Mm種行為,這些行為轉化為sn+1的最大數(shù)為k≤4Mm(Mj+1)。 在這樣的場景下,狀態(tài)-行為集合的維度受式(9)條件限制。 對于標準攻擊場景下,行為個數(shù)的上限為2Mm,狀態(tài)-行為的集合的維度受式(10)條件限制。
表4 EWSZOT 算法建模過程
本文利用MTALAB 平臺對算法4 進行實驗分析,假設M=10 個節(jié)點,T=103,p=2,Mm=4 和Δ=5.51,在Qc∈ [0,0.5],N=5 的情況下,測試攻擊節(jié)點個數(shù)Ma=1 的影響,實驗結果均為100 次重復獨立實驗的平均結果。
其中攻擊策略主要包含虛擬攻擊策略和最優(yōu)攻擊策略。 虛擬攻擊策略在標準攻擊和組合攻擊場景下分為AFA 和JFA。 AFA 為標準攻擊場景下的虛擬策略,即攻擊節(jié)點始終向FC 提供錯誤的報文。FA 是一種組合攻擊場景下的虛擬策略,即攻擊節(jié)點始終向FC 提供錯誤的報文,同時干擾正常節(jié)點和FC 的通信。 前者是文獻[14]提出的攻擊模型,后者為新的攻擊方式,通過比較可以看出臨時抵御問題。
最優(yōu)攻擊策略使用動態(tài)編程的方式求解MDP,找出能夠對EWSZOT 抵御機制造成最大錯誤概率的最佳策略。
如圖2 所示,可以看到算法4 得出理論結論和實際一致,JFA 在攻擊條件相同時,它比AFA 對FC的誤導能力更強,這說明抵御算法對JFA 的抵御效果越差。 通過干擾通信鏈路能夠大大降低EWSZOT的性能。 但是,這種場景只在e=0 的場景下發(fā)生,在e=1 時,攻擊實際改善了決策誤差,因為在EWSZOT 機制中會將干擾認為信道正忙,所以幫助FC 做出準確的決策。 當信道空閑時,JFA 則會嚴重影響CSS。 為了克服JFA 造成的影響,F(xiàn)C 可以實施抗干擾的對策。 從這個現(xiàn)象可以看出,現(xiàn)有的抵御算法基本是臨時抵御,因此當攻擊者的攻擊方式發(fā)生細微改變時,算法抵御的能力大大降低。
圖2 在標準攻擊和組合攻擊場景下不同策略間的比較
從圖2 中可以看出,最優(yōu)策略會導致FC 的決策誤差最大。 當e=0,即存在干擾時,最優(yōu)策略會驗證降低EWSZOT 的抵御性能。 當Qc≥0.2 時,AFA場景下的曲線接近于最優(yōu)策略,但當存在干擾時,最優(yōu)策略則會超過JFA 的影響。 基于本文框架生成的攻擊策略對攻擊抵御算法的破壞成功率高達70%。 從圖中還可以看出,在頻譜感知錯誤概率較低時,最優(yōu)攻擊會明顯降低抵御的性能。 在e=1時,攻擊策略之間的差異較小,但最優(yōu)策略相比于其他策略對抵御算法的破壞性更大。
當e=0 時,攻擊節(jié)點會嚴重影響抵御性能,圖2(c)表明通過干擾正常節(jié)點,攻擊成功率有了顯著的提高。 在這種場景下,對臨時抵御問題和最優(yōu)解問題進行分析:由于AFA 不是針對EWSZOT 的最優(yōu)攻擊策略,所以AFA 對EWSZOT 抵御算法攻擊破壞性不是最大的。 然而最優(yōu)策略能夠更加智能的選擇何時提供虛假報告和何時提供真實報告會降低EWSZOT 的性能,可以盡可能尋找EWSZOT 抵御算法的弱點,從而使得EWSZOT 抵御算法失效。 實驗結果表明本文提出的MDP 攻擊框架能夠更好對攻擊抵御算法。
本文提出一種基于MDP 的攻擊策略生成方法,利用該方法生成的最優(yōu)攻擊策略能夠對EWSZOT抵御方法進行破壞,從而使抵御方法失去對惡意攻擊的防御能力。 最終實驗結果驗證了本文提出的攻擊策略生成方法成功破壞EWSZOT 抵御方法的概率高于70%。 后續(xù)的工作我們希望基于MDP 攻擊策略生成方法,驗證對其他抵御方法的破壞效果。同時進一步研究如何降低攻擊生成策略方法的復雜度,使它適用于軟硬件資源都受限的物聯(lián)網(wǎng)系統(tǒng)中。