王志文,劉 偉
(蘭州理工大學(xué) 電氣工程與信息工程學(xué)院;甘肅省工業(yè)過程先進(jìn)控制重點實驗室;電氣與控制工程國家級實驗教學(xué)示范中心,蘭州 730050)
隨著計算機(jī)技術(shù)和數(shù)據(jù)通信技術(shù)的不斷發(fā)展與融合,信息物理系統(tǒng)(CPS)技術(shù)應(yīng)運而生.CPS是由多維異構(gòu)計算單元和物理系統(tǒng)在網(wǎng)絡(luò)環(huán)境中高度集成與交互而構(gòu)成的一類新型智能復(fù)雜系統(tǒng)[1].該系統(tǒng)將計算資源與物理資源緊密結(jié)合、協(xié)調(diào)分配,實現(xiàn)了系統(tǒng)對物理環(huán)境的實時感知和動態(tài)分布式控制.CPS因具有結(jié)構(gòu)靈活、低成本和高效性等諸多優(yōu)點而被廣泛應(yīng)用于工業(yè)過程控制等領(lǐng)域,但是其設(shè)備智能化、通信網(wǎng)絡(luò)化等特性,也使得CPS易成為網(wǎng)絡(luò)攻擊的目標(biāo).拒絕服務(wù)(DoS)攻擊出現(xiàn)的頻率最高,也最難以防范,其本質(zhì)是阻止物理系統(tǒng)量測或控制信號的實時傳輸,致使控制信號更新不及時以及不完整,進(jìn)而導(dǎo)致控制品質(zhì)下降甚至失穩(wěn).隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,用戶對系統(tǒng)安全性和穩(wěn)定性的要求也隨之上升,信息物理系統(tǒng)的安全問題受到學(xué)者的廣泛關(guān)注.
關(guān)于DoS攻擊引發(fā)的安全問題和DoS攻擊建模問題已被廣泛研究.與一般的數(shù)據(jù)丟包問題不同,由DoS攻擊帶來的通信故障問題通常不服從某一類概率分布[4],這給控制系統(tǒng)的分析和設(shè)計帶來了新的挑戰(zhàn).文獻(xiàn)[2]研究了一類單輸入系統(tǒng)下周期DoS攻擊問題,并給出了應(yīng)對已知攻擊周期上界DoS攻擊的極點配置方法.進(jìn)一步,文獻(xiàn)[3]針對多輸入連續(xù)控制系統(tǒng)下DoS攻擊問題,給出了已知DoS攻擊周期上界時系統(tǒng)的穩(wěn)定性條件.文獻(xiàn)[4-6]研究了幾類具有特定隨機(jī)過程的DoS攻擊下系統(tǒng)的安全控制問題:文獻(xiàn)[4]研究了伯努利模型DoS攻擊下離散系統(tǒng)的LQG最優(yōu)控制問題;文獻(xiàn)[5-6]則研究了馬爾可夫模型DoS攻擊下系統(tǒng)的風(fēng)險敏感控制問題和彈性控制問題.在實際情況下DoS攻擊通常不會遵循某種特定的規(guī)律.為了更簡潔地描述DoS攻擊的行為,文獻(xiàn)[7-8]從攻擊頻率和持續(xù)時間對隨機(jī)DoS攻擊來進(jìn)行約束:文獻(xiàn)[7]提出了一種保證網(wǎng)絡(luò)化控制系統(tǒng)輸入狀態(tài)穩(wěn)定的彈性控制策略;文獻(xiàn)[8]提出了一種動態(tài)的事件觸發(fā)策略,并證明了其有效性.在文獻(xiàn)[9-10]中,作者從攻擊者的角度研究DoS攻擊,并描述了使得攻擊收益最大化的DoS攻擊調(diào)度策略.為了進(jìn)一步描述DoS攻擊者與CPS控制策略的交互性,許多學(xué)者從博弈論的角度進(jìn)行了相關(guān)研究:文獻(xiàn)[11]中,二者的交互被看作零和博弈,考慮了二者的納什均衡策略;文獻(xiàn)[12]分別從攻擊者和防御者兩個角度分析了帶有未知策略的不完全信息博弈均衡解,并比較完全信息情況,設(shè)計了基于卡爾曼濾波的預(yù)測控制器.現(xiàn)有文獻(xiàn)主要對特定攻擊類型的DoS攻擊進(jìn)行了一定的研究,但對CPS自身特性和DoS攻擊與控制策略交互性的研究存在一定的局限性.
綜合上述文獻(xiàn)中的相關(guān)研究成果和不足,本文建立了基于事件觸發(fā)預(yù)測控制的離散時間線性網(wǎng)絡(luò)控制系統(tǒng).對于表征DoS攻擊信號的問題,現(xiàn)有研究中通常假設(shè)DoS攻擊服從一類概率分布.然而,在存在智能干擾器的情況下,DoS攻擊難以滿足相應(yīng)的統(tǒng)計特性,并且防御者也難以獲取準(zhǔn)確的統(tǒng)計信息.為了縮短理論研究與工程應(yīng)用之間的差距,本文選取隨機(jī)DoS攻擊模型,從能量受限的角度去設(shè)計DoS攻擊模型,得到了攻擊的最大步長.在系統(tǒng)受到攻擊時,為了避免因數(shù)據(jù)無法傳輸而造成的系統(tǒng)性能下降,設(shè)計了一種基于廣義預(yù)測控制的數(shù)據(jù)補(bǔ)償策略,并同時結(jié)合事件觸發(fā)機(jī)制,減少網(wǎng)絡(luò)信道上數(shù)據(jù)傳輸量,降低通信網(wǎng)絡(luò)負(fù)荷.在對受攻擊的系統(tǒng)狀態(tài)進(jìn)行分析時,將系統(tǒng)描述為一個切換系統(tǒng),并建立了系統(tǒng)閉環(huán)穩(wěn)定性條件.
如圖1所示為離散時間線性不變系統(tǒng),在其控制系統(tǒng)中,傳感器到控制器之間的通信線路為網(wǎng)絡(luò)通信線路,而網(wǎng)絡(luò)攻擊即發(fā)生在此網(wǎng)絡(luò)信道中.攻擊發(fā)生時,網(wǎng)絡(luò)通道上被視為系統(tǒng)狀態(tài)信號完全無法傳輸.
圖1 系統(tǒng)結(jié)構(gòu)示意圖Fig.1 Diagram of system structure
在系統(tǒng)傳感器節(jié)點處采用定周期采樣策略,結(jié)合事件觸發(fā)機(jī)制來減少網(wǎng)絡(luò)帶寬的占用,并通過廣義預(yù)測控制算法,在DoS攻擊發(fā)生時,控制器基于歷史狀態(tài)信息來得出丟失狀態(tài)信號的預(yù)測值,從而主動補(bǔ)償網(wǎng)絡(luò)攻擊對系統(tǒng)造成的影響.
系統(tǒng)被控對象可被描述為:
x(k+1)=Ax(k)+Bu(k)
(1)
式中:x(k)∈Rn×1為控制系統(tǒng)的狀態(tài)變量;u(k)∈Rm×1為系統(tǒng)的控制輸入;A∈Rn×n,B∈Rn×m.假定系統(tǒng)(A,B) 可控,DoS攻擊最長步長為d.
為了減少控制信號在網(wǎng)絡(luò)信道上的傳輸量,從而降低通信網(wǎng)絡(luò)負(fù)荷,狀態(tài)信號只有在滿足特定的事件觸發(fā)條件時才被傳輸.假定事件觸發(fā)時刻為ki(i=0,1,2,…),當(dāng)系統(tǒng)狀態(tài)x(ki)在事件觸發(fā)時刻ki被傳輸時,下一事件觸發(fā)時刻ki+1由以下方程確定[13]:
(2)
r∈N+,μ∈(0,1)
網(wǎng)絡(luò)信道中存在DoS攻擊,可能造成部分通信數(shù)據(jù)未能成功傳輸?shù)那闆r.綜合事件觸發(fā)機(jī)制和DoS攻擊對系統(tǒng)造成的影響,將不同情況下的系統(tǒng)狀態(tài)進(jìn)行劃分.系統(tǒng)中狀態(tài)數(shù)據(jù)的傳輸示意圖如圖2所示.
圖2 數(shù)據(jù)傳輸狀態(tài)示意圖Fig.2 Status of data during transmission
將系統(tǒng)事件觸發(fā)時刻記為ki.ki時刻時,如果系統(tǒng)未受到DoS攻擊,則狀態(tài)x(ki)被成功傳輸,將該時刻記為tj(j=0,1,2,…)可得{t0,t1,t2,…}?{k0,k1,k2,…}?{0,1,2,…}.Δ則為系統(tǒng)采樣周期.
一般在網(wǎng)絡(luò)系統(tǒng)的預(yù)測控制方案中,狀態(tài)數(shù)據(jù)x(k)在每個采樣周期均被發(fā)送,并且周期性地更新控制律.然而,在事件觸發(fā)控制策略下,只有當(dāng)滿足事件觸發(fā)條件式(2)時才將狀態(tài)信息發(fā)送到控制器,減少信道資源占用.此外,對于由DoS攻擊所造成的數(shù)據(jù)傳輸失敗從而導(dǎo)致系統(tǒng)性能降低甚至失穩(wěn)的情況,將介紹一種預(yù)測控制算法,對傳輸失敗的數(shù)據(jù)進(jìn)行補(bǔ)償.
當(dāng)tj時刻時,數(shù)據(jù)被成功傳輸,預(yù)測控制的最優(yōu)性能指標(biāo)為[14]
(3)
式中:Q和R為正定對稱的加權(quán)矩陣;Np和Nu分別為預(yù)測范和控制范圍,Np≥Nu≥d;x(tj+l|tj)和u(tj+l|tj)分別為基于tj時刻的狀態(tài)變量和控制輸入的測量值而得出的tj+l時刻的狀態(tài)變量和控制輸入的預(yù)測值.
由式(1)可得
x(tj+l+1|tj)=Ax(tj+l|tj)+
Bu(tj+l|tj)
(4)
則系統(tǒng)的預(yù)測控制方程可寫為
X(tj+1)=Apx(tj)+BpU(tj)
(5)
式中:
X(tj+1)=
Bp=
進(jìn)一步,系統(tǒng)的性能指標(biāo)函數(shù)式(3)可化為
UT(tj)RU(tj)
(6)
式中:
系統(tǒng)的預(yù)測控制優(yōu)化問題可以根據(jù)式(3)和(4)化為
(7)
?J(tj)/?U(tj)=0時,最優(yōu)控制輸入解為
(8)
從而,在事件觸發(fā)時刻tj的控制輸入為
u(tj)=u(tj|tj)=Fx(tj)
(9)
式中:預(yù)測控制反饋增益為
假設(shè)在事件觸發(fā)時刻ki,狀態(tài)x(ki)被成功傳輸,則有ki=tj,如圖3所示,在區(qū)間[tj,tj+1)內(nèi),控制反饋增益為F,即在事件觸發(fā)時刻ki+s(s=1,2,…,d),有
圖3 相鄰成功傳輸時刻間數(shù)據(jù)傳輸狀態(tài)示意圖Fig.3 Data status between two successfully transmitted moments
(10)
并且在區(qū)間[ki+s,ki+s+1)內(nèi),控制律保持不變.
tj和tj+1為兩次相鄰的數(shù)據(jù)信號成功傳輸時刻,事件觸發(fā)時刻ki+1等則由于DoS攻擊的存在而使信號無法傳輸.在兩次相鄰的成功傳輸時刻 [tj,tj+1) 之間,基于上一次成功傳輸?shù)臓顟B(tài)信息,對未能傳輸成功的狀態(tài)進(jìn)行預(yù)測:
x(ki)=x(tj)
(11)
(12)
(13)
j=1,2,…,ki+1-ki-1
(14)
j=0,1,2,…,ki+s+1-ki+s-1
在反饋控制律式(10)的作用下,控制系統(tǒng)(1)可寫為
x(k+1)=Ax(k)+Bu(ki+s)=
(15)
根據(jù)式(11)~(14)對預(yù)測狀態(tài)的推導(dǎo),可得
(16)
因此,閉環(huán)控制系統(tǒng)的方程可以寫為
x(k+1)=Ax(k)+
(17)
x(k+1)=Πσsx(k)-Ξσse(k)
(18)
式中:
本節(jié)在閉環(huán)系統(tǒng)式(18)的基礎(chǔ)上,討論了事件觸發(fā)器參數(shù)Φ的設(shè)計,并分析了系統(tǒng)的李雅普諾夫(Lyapunov)穩(wěn)定性,給出了系統(tǒng)穩(wěn)定性條件.
定理1考慮上文所給出的事件觸發(fā)預(yù)測控制系統(tǒng),對于給定的系統(tǒng)矩陣A和B,常數(shù)參數(shù)μ∈(0,1),預(yù)測控制反饋增益F,如果存在適當(dāng)維數(shù)的矩陣P>0和Φ>0,使得對于所有σs∈S,都有如下矩陣不等式成立:
(19)
則閉環(huán)系統(tǒng)式(18)是漸進(jìn)穩(wěn)定的.式中:“*”為矩陣對稱項的省略.
證明選取閉環(huán)系統(tǒng)的Lyapunov方程為
V(x)=xT(k)Px(k)
(20)
式中:矩陣P為對稱正定矩陣.根據(jù)事件觸發(fā)條件式(2)可得,在沒有發(fā)生事件觸發(fā)的時間段內(nèi),有
eT(k)Φe(k)≤μxT(k)Φx(k)
(21)
結(jié)合式(20)和(21),可得
ΔV=V(x(k+1))-V(x(k))=
xT(k+1)Px(k+1)-xT(k)Px(k)≤
xT(k+1)Px(k+1)-xT(k)Px(k)-
eT(k)Φe(k)+μxT(k)Φx(k)=
P[Πσsx(k)-Ξσse(k)]-
xT(k)Px(k)-eT(k)Φe(k)+
μxT(k)Φx(k)=
(22)
式中:
根據(jù)舒爾(Schur)補(bǔ)定理,如果Ω<0,則線性矩陣不等式(19)成立,同時有ΔV<0.根據(jù)Lyapunov穩(wěn)定性定理,閉環(huán)系統(tǒng)是漸進(jìn)穩(wěn)定的.
考慮如下的離散時間控制系統(tǒng):
x(k+1)=Ax(k)+Bu(k)
通過LMI工具箱求解線性矩陣不等式(19)可得
則在DoS攻擊下,具有事件觸發(fā)預(yù)測控制的系統(tǒng)仿真結(jié)果如圖4所示.紅色曲線x′為無預(yù)測控制下系統(tǒng)受DoS攻擊時的狀態(tài)曲線,在該情況下系統(tǒng)受到DoS攻擊時,系統(tǒng)狀態(tài)信號視為丟失.藍(lán)色曲線x為具有預(yù)測控制的控制系統(tǒng)受DoS攻擊時的狀態(tài)曲線,該情況下系統(tǒng)受到攻擊時,則采用預(yù)測控制信號實施控制作用.陰影部分表示系統(tǒng)受到DoS攻擊的時間段.在給定的DoS攻擊下,未采用控制算法的系統(tǒng)已經(jīng)處于失穩(wěn)狀態(tài).而預(yù)測控制算法能明顯改善系統(tǒng)狀態(tài),使之能抵御一定強(qiáng)度的DoS攻擊,增強(qiáng)系統(tǒng)安全性能.
圖4 系統(tǒng)狀態(tài)響應(yīng)曲線Fig.4 Simulation result of response of system status
系統(tǒng)受攻擊狀態(tài)下的時間觸發(fā)示意圖如圖5所示,其中:數(shù)值1為事件觸發(fā)狀態(tài),數(shù)值0為事件未觸發(fā)狀態(tài).結(jié)合圖4可得,在系統(tǒng)狀態(tài)變化較快的時間段內(nèi),事件觸發(fā)次數(shù)也明顯較多,從而使系統(tǒng)能夠迅速恢復(fù)穩(wěn)定狀態(tài),而在系統(tǒng)狀態(tài)較為平緩的時間段內(nèi),事件觸發(fā)次數(shù)較少,從而減少了通信信道上的數(shù)據(jù)傳輸量,降低了網(wǎng)絡(luò)系統(tǒng)的負(fù)荷,增加了系統(tǒng)的安全裕度.
圖5 事件觸發(fā)狀態(tài)示意圖Fig.5 Status of event-triggered generator
根據(jù)仿真結(jié)果可以看出,在系統(tǒng)受到有限強(qiáng)度DoS攻擊的情況下,文中所設(shè)計的預(yù)測控制算法對系統(tǒng)狀態(tài)有良好的優(yōu)化作用,能在一定程度上實現(xiàn)對系統(tǒng)的安全控制.
本文針對CPS在傳感器到控制器的網(wǎng)絡(luò)線路上受到DoS攻擊時如何確保系統(tǒng)性能的安全問題,并結(jié)合已有相關(guān)建模方式及實際情況,設(shè)計了一種事件觸發(fā)廣義預(yù)測控制算法,使得在減少網(wǎng)絡(luò)信道數(shù)據(jù)傳輸量的同時,基于歷史狀態(tài)信息得到了缺失狀態(tài)數(shù)據(jù)的預(yù)測值,從而補(bǔ)償了丟失的狀態(tài)信號,降低了攻擊對系統(tǒng)造成的不良影響,并分析了系統(tǒng)的穩(wěn)定性.最后,本文通過一個CPS仿真實例驗證了該方法的有效性.