閆 安,宋運忠
(河南理工大學電氣工程與自動化學院,河南 焦作 454000)
近年來,隨著反饋控制系統的網絡組件的增加,使得系統越來越容易受到攻擊。關于系統安全性的研究愈發得到重視。所以,在系統中嵌入防御機制,能夠減少攻擊對系統的影響,對確保控制系統的穩定性、安全性具有重要的意義[1-2]。經典的閉環控制系統結構如圖1所示,包括傳感器,監督器,執行器和被控對象4部分。我們采用離散事件系統理論來對該系統進行建模。假設執行器和傳感器的通訊線路可以被攻擊者注入錯誤信號,就可能引發安全事故。本文主要考慮啟動執行器的攻擊(即,AE攻擊)情況。在某些情況下,一部分事件是比較脆弱的,因而能被攻擊者更改,從而損害系統的安全性。而通常,該攻擊是不能被直接觀察到的。

圖1 閉環控制系統的結構Fig.1 Closed-loop control system architecture
本文的工作是對網絡系統中的異常/入侵檢測工作的補充[3-5]。不關注攻擊者是如何滲透的,只關注檢測攻擊及其對控制系統的影響。
在文獻[6]中,作者研究了離散事件的監控系統的入侵檢測和預防,并設計了在正常運行和攻擊后都達到規范的監控器。其重點是尋找語言條件,在這種語言條件下,監督器可以在達到給定規范的同時防止出現攻擊時的不安全行為,被稱為禁用語言,它與本文提到的安全可控性條件有幾個相似之處。入侵檢測和預防的問題與容錯監控問題有關,容錯監控問題在文獻[7-10]中研究得很好,其中魯棒監控器被設計為即使在系統出現故障時也能保持規范。
本文的主要工作如下:首先,本文基于文獻[11]給出了AE攻擊下監控系統的數學模型和在線檢測攻擊的防御策略。之后,引入AE安全可控性的定義,并給出了診斷器算法,以驗證系統的AE安全可控性。最后,基于AE安全可控性,提出了修復系統的算法。
通常將一個被控對象模型設為一個確定有限狀態自動機,建模為五元組G=(X,E,f,x0,Xm)。其中,X是有限狀態集,E為事件集,f:X×E*→X表示轉移函數,x0為初始狀態,Xm為標記狀態集。G生成的語言記為L(G)={s∈E*:f(x0,s) is defined},其產生的標記語言為Lm(G)={s∈E*:f(x0,s)∈Xm}。當給定事件集E′?E,狀態集x∈X時,那么關于E′?E和x∈X的可到達的狀態的集合定義為Reach(G,x,E′)={x′∈X:(?s∈E′*)[f(x,s)=x′]}。在狀態x處的G的活躍事件集定義為ΓG(x)。

1)Po(ε)=ε
2)Po(σ)=σσ∈Eo
3)Po(σ)=εσ∈Euo
4)Po(sσ)=Po(s)Po(σ)s∈E*,σ∈E

所有的映射和逆映射運算都可以擴展到整個語言上。當s′為s的嚴格前綴時,記作s′


圖2 處于攻擊下的閉環控制系統結構Fig.2 The control system architecture under attack
處于攻擊下的模型如圖2所示。被控對象為G,由部分可觀的監督器Sp控制。設E為G的事件集,執行器可控事件集為Ec?E,而傳感器由可觀事件集為Eo?E。監督器通過從集合E到集合Eo的映射來觀測被控對象的可觀事件的發生。模塊A表示攻擊者,它可以訪問Ec的子集,用Ec,v?Ec表示脆弱的執行器事件集合。該集合是基于系統設計預定義的。GD模塊是檢測攻擊的模塊,即入侵檢測模塊。

首先,構筑一個受到AE攻擊的閉環模型,并采用兩種算子對攻擊行為進行建模:膨脹[14]和壓縮運算[15]。

其具體的性質為
1)D(ε)={ε}
2)D(σ)={σ}σ∈EEc,v
3)D(σ)={σ,σa}σ∈Ec,v
4)D(sσ)=D(s)D(σ)s∈E*,σ∈E
具體性質為
1)C(ε)=ε
2)C(σ)=σσ∈E
上述的膨脹和壓縮操作都可以應用到整個語言,即
D(L)=∪s∈LD(s),C(La)=∪sa∈LaC(sa)
在算法1[11]中描述了受到AE攻擊的閉環系統。其中H為監督器Sp的有限狀態機實現。


算法1AE攻擊的模型算法
輸入:G=(X,E,f,x0)和H=(XH,E,fH,x0,H):被控對象和監督器各自的標準實現Eo,Ec和Ec,v:可觀,可控和易受攻擊的事件集合
輸出:處于AE攻擊下的閉環系統GM=(XM,Ea,fM,x0,M)
1)構造Ga=(X,Ea,fa,x0)其中fa(x,σa):=f(x,C(σa)),f(x,C(σa))!
2)構造Ha=(XH,Ea,fHa,x0)其中
3)計算GM=Ha||Ga
其中,“!”表示已定義,“∨”表示未定義。
一個被控對象如圖3a所示,其中Ec=Ec,v={b},狀態D為不安全的狀態。監督器的實現如圖3b所示,此處,監督器只能在狀態B處中止事件b,防止被控對象到達不安全的狀態D。通過算法1構建了系統受到AE攻擊之后的模型,ba表示攻擊事件。圖3c為受到攻擊后的被控對象模型,圖3d為受到攻擊的監督器模型。受到攻擊后的系統GM如圖3e所示。系統最終通過不可控事件c到達了不安全狀態D。

圖3 例1Fig.3 Example 1
在例1中,AE攻擊時,被控對象可能會偏離監督器執行的規范并達到不安全的狀態。對此,可以設計一個攻擊檢測模塊在攻擊行為后將系統切換到“安全模式”。在某些情況下,由于系統本身設計的缺陷,該策略可能無法保證系統的安全性。本文將所有不安全狀態的集合視為一個狀態。這與Sp所實現的原始規范K完全不同。雖然假定所有Sp/G達到的所有狀態都是安全的,但這并不是說Sp/G不能達到的狀態是不安全的。用Xf表示不安全的狀態。Xf是X的子集,它捕獲的是對被控對象造成物理傷害的狀態。
該算法基于文獻[16]的“安全可控性”和“禁止語言”。通過利用上一節的模型GM,將攻擊檢測問題描述為故障診斷問題,其中故障事件是攻擊者對脆弱事件的攻擊。本文設計了一個入侵檢測模塊以監視被控對象的輸出,并在攻擊被檢測到的時候通知監督器,終止所有行為。

定義1AE安全可控性


圖4 AE安全可控性定義Fig.4 The definition of AE safety controllability

GM的構造程序和AE安全可控性的定義中的條件可以得到推論1。

為了測試一個系統是否是AE安全可控的,本文提供了一個依賴于診斷器[17-18]自動機的算法程序。
該診斷器驗證的問題是是否能在被控對象達到不安全狀態之前檢測到攻擊和監督器能否禁用事件以阻止被控對象達到Xf。AE安全可控性是基于文獻[16]提出的,所以此處要引入診斷器中首次進入某些確定狀態集的定義。
定義2首次進入的確定狀態的集合
設Gd=(Qd,Eo,fd,q0,d)為由給定的被控對象和相應的標簽自動機構造的診斷器。
定義:QYN={q∈Qd:qis uncertain},QN={q∈Qd:qis normal},QY={q∈Qd:qis certain}。
則首次進入確定狀態的集合是:
FC={q∈QY:(?q′∈QYN,?σ∈Eo)[fd(q′,σ)=q]}。
由此可以引出算法2,基于診斷器的算法,用于測試AE安全可控性。
算法2檢測AE安全可控性的診斷器算法

輸出: AE安全可控性∈{true,false}。
1)構造Gl=GM||Al,其中Al如圖5所示;
2)計算診斷器Gd=Obs(Gl,Ea,uo),其中Ea,uo=Euo∪D(Ec,v∩Euo);

4)AE安全可控性=false;
5)else根據定義5計算FC;

7) AE安全可控性=false;
8)else;

11) AE安全可控性=false;
12)elseAE安全可控性=true。





注意,診斷器總是會檢測到σ∈Ec,v∩Eo中對脆弱事件的攻擊,因為對應的σa是可觀的。然而,在這種情況下,被控對象仍然可能通過不可控和受攻擊的執行器事件達到不安全狀態,違反AE安全可控性。因此,定義1中的條件仍然需要測試,如算法2所述。
例1中,在圖3e中展示AE攻擊下的閉環系統。此處按照算法2來測試系統是否為AE安全可控的,得到的Gl如圖6所示。

圖5 標簽自動機AlFig.5 Label Automata Al

圖6 自動機GlFig.6 Automata Gl

基于算法2,當一個系統不能滿足AE安全可控性時,我們能夠按照一定的規則對該系統進行修改,使其能夠滿足該AE安全可控性條件。由此,提出了算法3。
算法3修復系統AE安全可控性的算法
輸入:違反AE安全可控性的系統
輸出:滿足AE安全可控性的系統


endwhile
2)根據定義2計算FC


endwhile
4)計算Xuc

endwhile
算法3是基于算法2所建立的,通過對算法2的逐步補充驗證而構造。

例1中,我們在圖3e中展示AE攻擊下的閉環系統。此處按照算法3來修復系統,如圖7所示。經過算法3檢測,可以得知其是在第5)步中,違反了判斷條件,此處,可以通過添加一個可控且可觀的事件d使得系統滿足AE安全可控性。如圖7所示。
圖7中的虛線箭頭表示事件將不會發生,從而避免了系統進入到不安全的狀態。


圖7 修改后的滿足AE安全可控性的系統Fig.7 Modified system that meets the safety and controllability of AE

圖8 一段有檢測器和紅綠燈的鐵路Fig.8 A railway line with light and detector
可控事件集為Ec={a1,b1,a2,b2,a4,b4},可觀事件集為Eo={a1,b1,a3,b3,a4,b4,a5,b5}。控制目標是希望兩列車在通過這一段路時,為了保證不碰撞,不允許兩列車同時出現在同一路段(僅指S1-S4)。


圖9 被控對象的模型和Sp的標準實現Fig.9 The plant mode and the standard realization of P-supervisor
圖10是受到AE攻擊的監督器和閉環系統。

圖10 受到AE攻擊的監督器和閉環系統Fig.10 The supervisor and closed-loop systems under AE-attack

圖11 修復后的閉環系統Fig.11 The repaired closed-loop systems
顯然,通過上述的舉措,使得該段軌道即使是在受到AE攻擊時,也能夠保持安全性。
本文主要研究了離散事件系統中的入侵檢測,防御以及修復問題。基于受到AE攻擊的系統模型,引入了AE安全可控性的定義,得到了一種能夠對系統的AE安全可控性進行檢測的診斷器算法。并在檢測后禁用所有可控事件,防止系統到達不安全狀態。最后,當系統不滿足AE安全可控性時,提出了一種修復算法,使其確保了系統的安全可控。