孫楊燕,周秀瑩,任 祝
(浙江理工大學 信息學院,浙江 杭州 310018)
隨著人類社會網(wǎng)絡化、信息化、智能系統(tǒng)一體化逐步發(fā)展,信息系統(tǒng)與物理世界不斷交互。計算技術、通信技術、控制技術深度耦合的信息物理系統(tǒng)(Cyber-Physical Systems,CPS)被廣泛應用于新型工業(yè)、智能制造、軍事等領域。由惡意攻擊引發(fā)的CPS感知物理層和信息傳輸層的破壞是CPS現(xiàn)在面臨的主要安全威脅來源。在系統(tǒng)受到欺騙攻擊(Spoofing Attack,SA)、拒絕服務攻擊(Denial of Service,DoS)、虛假數(shù)據(jù)注入攻擊(False Data Injection,F(xiàn)DI)時,避免狀態(tài)估計性能受到毀滅性破壞成為諸多學者的重點研究方向。因此,研究面向網(wǎng)絡攻擊的狀態(tài)估計問題,設計有效的攻擊檢測方法,具有一定的現(xiàn)實意義。
目前主要的攻擊方式為DoS攻擊和FDI攻擊。其中,F(xiàn)DI攻擊是攻擊者修改不同網(wǎng)絡部分之間傳輸數(shù)據(jù)包的完整性以獲取對攻擊目標的訪問權或者獲取關鍵信息的攻擊手段[1-3]。作為一種特殊的FDI攻擊,偏差攻擊(Biasing Attack,BA)指攻擊者通過入侵信息網(wǎng)絡,篡改傳輸?shù)目刂浦噶詈?或者)測量傳輸。攻擊者小量連續(xù)地篡改多個數(shù)據(jù),即在對每個時刻的數(shù)據(jù)添加一個非零常數(shù)恒定值?!昂愣ㄖ怠笔荁A 攻擊和FDI攻擊的主要區(qū)別。為了避免被檢測到,恒定值通常取值較小。需要注意的是,疊加的該恒定值通常是針對系統(tǒng)的穩(wěn)態(tài)情況設計的,其目的是擾亂系統(tǒng)工作且不被常規(guī)檢測手段發(fā)現(xiàn)。
近年來,可以騙過系統(tǒng)內置攻擊檢測機制的攻擊策略層出不窮??紤]到類似網(wǎng)絡攻擊對CPS的影響,許多學者從不同角度進行研究。文獻[4]考慮狀態(tài)估計器在虛假數(shù)據(jù)注入攻擊中的脆弱性,提出一種依賴于最小攻擊強度和檢測閾值之間平衡關系的在線異常檢測算法。文獻[5]定義了時間相關型檢測和空間相關型檢測的CPS綜合安全威脅模型,構建了一種將攻擊可能發(fā)生的情況抽象為系統(tǒng)控制流程中對量測值與控制指令篡改策略求解問題。文獻[6]在拒絕服務攻擊參數(shù)已知的情況下,提出了一種既能緩解通信帶寬壓力,又可同時消除拒絕服務攻擊影響的彈性事件觸發(fā)機制。文獻[7]提出了一種基于局部卡爾曼濾波并在局部中心之間交換必要信息的分布式狀態(tài)估計器,并提供了理論保證的假警報率檢測方案。文獻[8]針對無線傳感器網(wǎng)絡的分布式目標估計問題,提出了基于攻擊檢測策略的改進分布式卡爾曼濾波算法。文獻[9]基于一種優(yōu)化的聚類算法,提出一種實時檢測FDI攻擊的檢測方法,通過驗證測量值與預測測量值的一致性來檢測FDI攻擊。文獻[10]從攻擊者的角度降低任意通信速率約束下的估計質量,給出了攻擊方的最小均方誤差估計算法,并研究了攻擊閾值與調度閾值之間的封閉關系。文獻[11]中研究了FDI攻擊下的分布式濾波安全問題,采用隨機規(guī)則對閾值檢測進行變換來保證其高斯性。文獻[12]根據(jù)線性離散時不變系統(tǒng)前向通道和反饋通道的數(shù)據(jù)設計偏差攻擊,并設計檢測方法。但該研究沒有考慮網(wǎng)絡通信約束,例如網(wǎng)絡延遲、丟包,給出的攻擊序列對系統(tǒng)的模型要求較高。目前關于分布式信息物理系統(tǒng)的攻擊檢測和安全狀態(tài)估計的研究主要集中在單個線性系統(tǒng)上,對多智能體、不確定性以及測量噪聲的分布式大規(guī)模信息物理系統(tǒng)還沒有廣泛的延展性研究。
針對CPS的偏差攻擊檢測,文獻[13]提出一種將網(wǎng)絡電力系統(tǒng)負載頻率控制環(huán)上的偏差注入網(wǎng)絡攻擊的框架模型,將損壞的傳感器測量值傳輸?shù)揭粋€受影響控制區(qū)域的自動生成控制單元。文獻[14~15]對BA攻擊附加彈性要求的分布式H∞估計問題進行了分析。研究者在分布式觀察者網(wǎng)絡中增加一個基于協(xié)同狀態(tài)估計算法的狀態(tài)觀測器攻擊檢測層,以檢測BA攻擊并修正其對網(wǎng)絡估計結果的影響。文獻[16]在攻擊對象未知的情況下,將殘差檢測與變化檢測相結合,將多個數(shù)據(jù)殘差值偏差的累積量作為判決攻擊發(fā)生的條件。但特征的選擇較為復雜,會影響攻擊檢測率。文獻[17]設計了一種基于融合間隔和歷史測量的傳感器攻擊檢測方法,利用傳感器之間的成對不一致關系檢測并識別攻擊。但由于根據(jù)歷史測量預測的當前測量不夠準確,導致誤報率增高。以上文獻通過抽象傳感器和系統(tǒng)建模,采用殘差值偏差累積及動態(tài)遞推估計等方法從不同角度給出了不同的偏差攻擊檢測方法,執(zhí)行復雜度較高,檢測方案成本較高,可行性較低。
本文針對CPS中偏差攻擊檢測問題,提出一種新型的混合時間型檢測模型。該模型以終端估計誤差協(xié)方差作為性能指標[18],采用最優(yōu)卡爾曼濾波狀態(tài)估計器和t檢測器相結合的檢測方案,檢驗偏差攻擊識別閾值。
本文在CPS系統(tǒng)遭到偏差攻擊時,分析系統(tǒng)動態(tài)目標的狀態(tài)估計,以終端估計誤差協(xié)方差作為性能指標,得到最優(yōu)攻擊檢測的結果。其攻擊策略為攻擊者隨機為被攻擊的傳感器節(jié)點添加一個偏差值。
現(xiàn)考慮CPS由一個離散線性時不變系統(tǒng)組成,其過程為
x(k+1)=Ax(k)+Bu(k)+w(k)
(1)
y(k)=(1-α(k))S(k)+α(k)S*(k)
(2)
式中,k∈{0,1,2,…,N}為時間指數(shù);x(k)={x1(k),x2(k),x3(k),…,xn(k)}∈Rn,x(k)表示系統(tǒng)在k時刻的狀態(tài)向量;u(k)={u1(k),u2(k),u3(k),…,ul(k)}∈Rl,u(k)為控制信號;y(k)∈Rm代表系統(tǒng)輸出量測值;α(k)表示傳感器是否收到攻擊,并且服從獨立同分布。
Pr(α(k)=1)=Pα
(3)
(4)
S*(k)表示傳感器受到攻擊時的隨機偏差攻擊矢量,即傳感器節(jié)點提供錯誤量測
S*(k)=S(k)+2d,0<|d| (5) 其中,S*(k)是傳感器S在k時刻的測量值。 S(k)=Cx(k)+v (6) w(k)∈Rn,v∈Rm代表相互獨立的在k時刻的過程噪聲和量測噪聲。協(xié)方差分別為Q和Rv,均服從零均值多元高斯分布。A∈Rm×n及B∈Rn×l分別為系統(tǒng)狀態(tài)矩陣和控制矩陣,C∈Rm×n為量測矩陣。(A,C)是可觀的,(A,Q)是可控的。dmax表示在不受環(huán)境干擾下所有傳感器節(jié)點中最大的誤差精度。 本文研究的是偏差攻擊。偏差攻擊隸屬于虛假數(shù)據(jù)注入攻擊,系統(tǒng)受到攻擊后的主要表現(xiàn)形式為:傳感器節(jié)點被隨機注入了一個虛假的噪聲信息,并引入了一個傳感器誤差精度干擾的偏差信息?;诖祟愄摷贁?shù)據(jù)注入的攻擊,為減少系統(tǒng)噪聲和測量噪聲對系統(tǒng)的干擾,從包含噪聲的量測中得到系統(tǒng)狀態(tài)的最優(yōu)估計量。本文采用基于卡爾曼濾波算法和估計誤差協(xié)方差最小跡原則的狀態(tài)估計器和t檢測器進行攻擊檢測。 在攻擊狀態(tài)下,綜合式(1)和式(2)即可得到偏差攻擊時,基于改進一致性卡爾曼濾波算法[6]的狀態(tài)估計器的去噪過程,在每個k時刻,傳感器節(jié)點首先基于過程量測值執(zhí)行本地估計,然后將更新值發(fā)送到遠程估計器。 (7) (8) (9) 式中,Pk-1為上一時刻估計誤差的最小協(xié)方差。 在預測更新的基礎上,對卡爾曼濾波增益K(k)進行調整 (10) (11) (12) (13) 其中 (14) 式中,P1、P2、P3分別為相同、不同時刻狀態(tài)之間的協(xié)方差;P4、P5為同一時刻實際值與預測值之間的協(xié)方差。 當系統(tǒng)未遭到攻擊時,測量誤差呈正態(tài)分布??紤]到偏差攻擊信號d和傳感器量測精度密切相關,在對系統(tǒng)進行最優(yōu)狀態(tài)估計處理的基礎上,當攻擊者少量多次進行攻擊時,在隨機注入的偏差攻擊值遠小于dmax的狀態(tài)下,可以達到攻擊隱蔽的效果,系統(tǒng)報警被限制在容忍范圍之內。 對比下,t檢測器能夠對測量殘差z(k)的微小變化進行分析。對其具有t分布的統(tǒng)計估計值進行假設檢驗,得到偏差攻擊下的t檢測器接收殘差為 (15) 由式(15)進一步計算得到攻擊狀態(tài)下量測殘差的協(xié)方差為 為了更好地檢驗浙江省對外直接投資對出口貿易和進口貿易的不同影響,本文建立如下出口效應模型和進口效應模型: (16) 令 (17) 式中,ρ*(k)表示非攻擊狀態(tài)下測量殘差z*(k)的協(xié)方差[19]。 在測量殘差z(k)方差不變的前提下[20-21],定義系統(tǒng)的攻擊判斷規(guī)則為 (18) 式中,J為傳感器的檢測窗口大小;μ為所有zi(k)的零假設均值。由假設檢驗與置信區(qū)間的估計的等價性可知,攻擊檢測閾值δ滿與觀測值rk滿足 Pr(rk<δ)<0.95 (19) 即遵循假設檢驗 (20) 當系統(tǒng)正在遭受攻擊并被成功檢測出異常,檢測器將會判決系統(tǒng)狀態(tài)為H1,并觸發(fā)警報信號,即發(fā)生報警。 為了驗證本文所提出的偏差攻擊下攻擊識別檢測方案的有效性,根據(jù)離散系統(tǒng)狀態(tài)方程,即式(1)和式(2)構建仿真模型,將變加速曲線運動的目標作為觀測對象。本文采用MATLAB對穩(wěn)定系統(tǒng)進行偏差攻擊檢測的仿真實驗,并給出與其他檢測方法檢測性能的對比分析。當前系統(tǒng)狀態(tài)矩陣、量測矩陣和噪聲協(xié)方差為 圖1 目標運動軌跡Figure 1.Movement trace of target 由圖1可以看出,圖中真實狀態(tài)和預測狀態(tài)值近似重合,該機制能在系統(tǒng)正常運行時進行可靠的狀態(tài)估計。 本文假設在固定窗口中,攻擊者對傳感器進行偏差攻擊。現(xiàn)從k=1至k=60時刻,對系統(tǒng)持續(xù)注入微小偏差攻擊量,即取d=0.12,得到系統(tǒng)在未受攻擊和受攻擊情況下的正態(tài)概率圖,如圖2和圖3所示。 圖2 正常狀態(tài)下量測殘差的正態(tài)概率分布Figure 2.Normal probability distribution of residuals measured under normal conditions 圖3 受攻擊狀態(tài)下量測殘差的正態(tài)概率分布Figure 3.Normal probability distribution of residuals measured under attack state 由圖2和圖3可以看出,該偏差攻擊具有較強的隱蔽性,僅通過量測殘差無法觀測到系統(tǒng)是否受到攻擊。取J=20,在連續(xù)時間內對量測殘差z(k)的變化進行多次統(tǒng)計,如圖4所示。 圖4 量測殘差變化Figure 4.Changes in measured residuals 通過查詢t分布的累積分布函數(shù)查詢表可知,當J=20時,δ=1.729。由此,經(jīng)多次計算,分別得到k=1至k=20,k=10至k=30,k=20至k=40時刻的z(k)的觀測值rk始終滿足minrk>δ。由攻擊判斷規(guī)則式(20)可知,系統(tǒng)狀態(tài)為H1,即μ≠ 0,系統(tǒng)受到偏差攻擊后能及時準確地檢測異常。 為了進一步評估本文提出的基于最小跡原則的卡爾曼濾波狀態(tài)估計算法和t檢測器相結合的檢測方案,本文分別收集了20次被攻擊的傳感器數(shù)據(jù),并分析卡方檢測、Z檢測和t檢測各自的平均檢測率,如表1所示。 其中,表1給出了不同窗口和同一偏差攻擊場景3種攻擊檢測的檢測率。傳感器以10 Hz分別平均采樣1~5 s,因此傳感器分別有10~40個測量值。其中,卡方檢測是一種基于卡爾曼濾波器的傳感器攻擊檢測方法。從表中可以看出,對于隱蔽型偏差攻擊,t檢測方法在小窗口中都比Z檢測和卡方檢測更加魯棒,并且隨著窗口大小的增加,直至30時,t檢測方法逐漸達到穩(wěn)態(tài)檢測率。此時t檢測與Z檢測性能相近,t檢測器的平均檢測率比卡方檢測器大約高 12%,比Z方法高約 2%。當J>30時,在大窗口中Z檢測的檢測性能較優(yōu)于t檢測方法。對于檢測偏差攻擊來說,t檢測方法的優(yōu)勢是能在最短時間內更快、更精確地檢測到攻擊。 表1 偏差攻擊量d不變時檢測率Table 1. Detection rates when biasing attack value d is constant /% 表2給出了在同一窗口和不同偏差攻擊場景下3種攻擊檢測的檢測率,取J=20。從表中可以看出,隨著偏差攻擊量d的增加,t檢測方法都比Z檢測和卡方檢測更加魯棒,并且當d>1后,t檢測方法逐漸達到穩(wěn)態(tài)檢測率,檢測率高達99.86%。此時t檢測與Z檢測性能相近,t檢測器的平均檢測率比卡方檢測器大約高 10%,比Z方法高約 3%。 表2 窗口大小J不變時檢測率Table 2. Detection rates when window size J is constant /% 表3總結了在窗口大小中取d=0.12時3種方法的檢測速度。該實驗結果表明,t檢測方法對隱蔽型偏差攻擊具有最高的靈敏度。 表3 檢測速度Table 3. Detection speed /s 本文研究了信息物理系統(tǒng)中狀態(tài)估計安全問題。首先在引入離散線性時不變系統(tǒng)的基礎上,構建了一種混合時間空間型攻擊檢測模型,并針對偏差攻擊檢測提出了基于卡爾曼濾波算法和最小跡原則的最優(yōu)狀態(tài)估計。此外,本文對多個時刻的殘差變化進行分析,在t檢測結果的基礎上給出了攻擊檢測判決規(guī)則。MATLAB仿真實驗結果驗證了該檢測判決規(guī)則的有效性。 需要注意的是,當被攻擊的傳感器添加的偏差值很小時,系統(tǒng)將很難成功地進行攻擊識別檢測。假設傳感器節(jié)點的量測模型可觀可控,對于多傳感器而言,部分節(jié)點可能無法獲得目標的真實量測數(shù)據(jù),今后還有待對多節(jié)點信息進行數(shù)據(jù)融合,提高攻擊檢測的準確性和魯棒性。2 攻擊識別檢測方案
2.1 偏差攻擊下的狀態(tài)估計器
2.2 偏差攻擊檢測判決規(guī)則
2.3 仿真驗證
3 結束語