徐麗娟 王佰玲 楊美紅 趙大偉 韓繼登
1(哈爾濱工業(yè)大學(xué)(威海)計算機(jī)科學(xué)與技術(shù)學(xué)院 山東威海 264209) 2(齊魯工業(yè)大學(xué)(山東省科學(xué)院)山東省計算中心(國家超級計算濟(jì)南中心)山東省計算機(jī)網(wǎng)絡(luò)重點(diǎn)實(shí)驗(yàn)室 濟(jì)南 250014) 3(哈爾濱工業(yè)大學(xué)網(wǎng)絡(luò)空間安全研究院 哈爾濱 150001) 4(中國信息安全測評中心 北京 100085)(xulj@sdas.org)
“震網(wǎng)”病毒、Wannacry勒索病毒、烏克蘭和委內(nèi)瑞拉電網(wǎng)事件[1]等網(wǎng)絡(luò)安全事件的蔓延說明工業(yè)控制網(wǎng)絡(luò)已經(jīng)成為國家間對抗的重要目標(biāo),安全形勢十分嚴(yán)峻.特別是近年來,工業(yè)控制網(wǎng)絡(luò)安全事件呈現(xiàn)明顯頻發(fā)多發(fā)態(tài)勢,2021年5月針對美國燃油運(yùn)輸管道商的勒索病毒攻擊使得美國首次因網(wǎng)絡(luò)攻擊宣布多州進(jìn)入緊急狀態(tài),該現(xiàn)象再次凸顯關(guān)鍵基礎(chǔ)設(shè)施的脆弱性(1)https://www.chinaz.com/news/1248934.shtml.
依據(jù)工業(yè)控制網(wǎng)絡(luò)部署層次, 針對工業(yè)控制網(wǎng)絡(luò)的攻擊可分為3類[2]:1)監(jiān)控網(wǎng)攻擊,即來自信息空間的網(wǎng)絡(luò)攻擊,如篡改數(shù)據(jù)分組,破壞其完整性;2)系統(tǒng)攻擊,注入非法命令破壞現(xiàn)場設(shè)備,或違反總線協(xié)議中的數(shù)據(jù)分組格式的定義,如篡改其中某些參數(shù),令其超出范圍而形成攻擊;3)過程攻擊[3],攻擊命令是符合協(xié)議規(guī)范的,但違背了工控系統(tǒng)的生產(chǎn)邏輯過程,使系統(tǒng)處于“危險狀態(tài)”. 現(xiàn)實(shí)中更多的攻擊集中于系統(tǒng)攻擊和過程攻擊.而依據(jù)攻擊原理,針對工業(yè)控制網(wǎng)絡(luò)的攻擊又可分為隱蔽攻擊、數(shù)據(jù)注入攻擊、中間人攻擊、語義攻擊等方式.隱蔽攻擊是基于攻擊者對工業(yè)控制系統(tǒng)(industrial control systems, ICS)目標(biāo)系統(tǒng)所使用的協(xié)議及工業(yè)流程等充分深入的了解,通過持續(xù)更改控制命令以及所有相關(guān)的觀測量,致使其取值永遠(yuǎn)保持在檢測機(jī)制的檢測閾值之下,導(dǎo)致檢測機(jī)制的失效.虛假數(shù)據(jù)注入攻擊一般發(fā)生在智能電網(wǎng)中,該攻擊利用能量管理系統(tǒng)中的虛假數(shù)據(jù)檢測漏洞,惡意篡改狀態(tài)估計結(jié)果,嚴(yán)重危害電力系統(tǒng)的安全可靠運(yùn)行.中間人攻擊是一種間接的入侵攻擊,攻擊者將自己放置在2個設(shè)備之間,攔截或修改兩者之間的通信,然后收集信息并模擬這2個設(shè)備中的任何一個.語義攻擊包括序列攻擊和過程攻擊,通過向被控設(shè)備發(fā)送順序錯誤或時序錯誤的控制命令,導(dǎo)致設(shè)備狀態(tài)偏離正常行為軌道,使系統(tǒng)處于“臨界狀態(tài)”.
目前面向工控網(wǎng)隱蔽攻擊、數(shù)據(jù)注入攻擊、語義攻擊等多種攻擊方式的異常檢測工作受到廣泛關(guān)注,基于流量特征[4-5]、操作行為[6-9]、設(shè)備狀態(tài)異常[10-13]等方面的檢測工作都取得了很大進(jìn)展.基于流量特征及操作行為的檢測工作多從控制命令是否異常角度進(jìn)行檢測,鮮有考慮多模式攻擊方式對系統(tǒng)狀態(tài)的影響分析及定量評估.然而工控網(wǎng)攻擊的最終目的是導(dǎo)致系統(tǒng)進(jìn)入臨界狀態(tài)或危險狀態(tài)[11],因此,基于設(shè)備狀態(tài)異常的檢測更為可靠.在工控網(wǎng)攻擊下,設(shè)備處于“正常運(yùn)行→攻擊進(jìn)行→攻擊結(jié)束”多階段,各階段中狀態(tài)變化特征多樣,尤其從“攻擊進(jìn)行”階段結(jié)束時刻到狀態(tài)恢復(fù)正常需要一個過程,因此,攻擊結(jié)束時刻難以得到科學(xué)準(zhǔn)確的界定.研究工控網(wǎng)多模式攻擊方式對系統(tǒng)狀態(tài)的影響及定量評估不僅對提高基于狀態(tài)檢測精確度具有重要的現(xiàn)實(shí)意義,更對合理有效識別攻擊意圖有著重要的理論意義.
本文從攻擊原理出發(fā),以攻擊點(diǎn)、攻擊方式為特征,對攻擊策略進(jìn)行形式化描述,建立系統(tǒng)狀態(tài)特征統(tǒng)一描述模型,并以工控安全靶場平臺[14]為實(shí)驗(yàn)平臺,在攻擊策略描述方式的指導(dǎo)下生成不同攻擊模式下設(shè)備狀態(tài)數(shù)據(jù)集,以狀態(tài)存在性、狀態(tài)持續(xù)時間、狀態(tài)轉(zhuǎn)換、狀態(tài)頻率分布的合理性等為指標(biāo),分析不同攻擊策略下產(chǎn)生的多階段系統(tǒng)狀態(tài)數(shù)據(jù)特征,定量評估攻擊進(jìn)行階段及攻擊結(jié)束階段對狀態(tài)變化影響,并通過基于狀態(tài)轉(zhuǎn)移概率圖的檢測方法證明評估策略的科學(xué)性及有效性.
本文的主要貢獻(xiàn)有3個方面:
1) 提出基于攻擊點(diǎn)及攻擊方式的工控網(wǎng)攻擊策略模型,用于指導(dǎo)攻擊影響評估及攻擊策略識別.
2) 提出基于拐點(diǎn)融合的時間片劃分算法和面向離散變量融合的狀態(tài)特征聚類算法,構(gòu)建基于狀態(tài)轉(zhuǎn)移概率圖的異常檢測方法.實(shí)驗(yàn)結(jié)果表明,本文提出的方法在精確率、召回率和F1值等方面,效果總體優(yōu)于狀態(tài)遷移圖[10]、狀態(tài)時序相關(guān)團(tuán)[12]算法,在精確率、F1值方面效果優(yōu)于基于自編碼器[15]時間序列預(yù)測等檢測方法.
3) 以異常檢測結(jié)果中的狀態(tài)存在性、狀態(tài)持續(xù)時間、狀態(tài)轉(zhuǎn)移、狀態(tài)頻率分布的合理性等為指標(biāo),設(shè)計基于異常特征和損害程度指標(biāo)融合分析的攻擊影響定量評估方法,定量評估多模式攻擊對系統(tǒng)狀態(tài)的影響.實(shí)驗(yàn)結(jié)果表明,本文提出的定量評估方法與攻擊下系統(tǒng)所處“攻擊進(jìn)行”“攻擊結(jié)束”階段下狀態(tài)變化情況基本一致.
一般通過對系統(tǒng)正常行為建模實(shí)現(xiàn)異常狀態(tài)的檢測,行為模型的優(yōu)劣直接影響著檢測結(jié)果的精確度[16].依據(jù)檢測方式的不同,研究者們從控制學(xué)、機(jī)器學(xué)習(xí)等領(lǐng)域多視角地對設(shè)備行為建模進(jìn)行了研究:采用無隨機(jī)成分建立的確定型模型,如與/或圖[17]、有限狀態(tài)自動機(jī)[18]、關(guān)聯(lián)性規(guī)則[11,19-21];基于工業(yè)控制物理過程面向時間序列數(shù)據(jù)的統(tǒng)計模型,如自回歸模型[20]、差分整合移動平均自回歸(autoregressive integrated moving average, ARIMA)模型[22]、物理過程模型[23-24]等;采用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)、長短時記憶(long short-term memory, LSTM)神經(jīng)網(wǎng)絡(luò)、圖神經(jīng)網(wǎng)絡(luò)(graph neural network, GNN)等機(jī)器學(xué)習(xí)、深度學(xué)習(xí)算法構(gòu)建的預(yù)測模型[25-26];以及基于相似性度量的模型[12]等.這些模型中確定型模型檢測精確度高,但語義描述方面多需要領(lǐng)域?qū)<逸o助,為了解決確定型模型構(gòu)建中人工依賴性較強(qiáng)的問題,Almalawi等人[16]采用聚類算法,在對正常狀態(tài)和臨界狀態(tài)進(jìn)行有效區(qū)分的基礎(chǔ)上,基于簇特征抽取臨界狀態(tài)檢測規(guī)則;Xu等人[27]采用Apriori,PrefixSpan等規(guī)則挖掘算法和控制設(shè)備的控制邏輯程序規(guī)約算法自動構(gòu)建了控制設(shè)備狀態(tài)規(guī)則;這些方法或模型推動了系統(tǒng)行為建模的發(fā)展,但也存在一定的局限性:由于預(yù)測型模型、時間序列數(shù)據(jù)統(tǒng)計模型在預(yù)測時需要輸入之前設(shè)備狀態(tài)或特征,因此在異常狀態(tài)結(jié)束后的一段時間內(nèi)會產(chǎn)生誤報;相似性度量模型適合在時間序列之間有明顯關(guān)聯(lián)邏輯的場景下使用,因此其適應(yīng)性有所欠缺.
工控網(wǎng)中工程師站、人機(jī)界面(human machine interface, HMI)、控制設(shè)備、傳感器及被控設(shè)備等組件,以及它們之間的通信網(wǎng)絡(luò)都存在遭受攻擊的可能性[28].學(xué)者們針對物理攻擊、中間人攻擊、拒絕服務(wù)攻擊、隱蔽攻擊等對工控網(wǎng)絡(luò)影響問題的研究工作起步較早.2009年Huang等人[29]建立了一個描述攻擊威脅模型的方法.使用命令u的攻擊和傳感器參數(shù)y的攻擊,執(zhí)行拒絕服務(wù)攻擊和中間人攻擊的方式,在具體的化學(xué)反應(yīng)器系統(tǒng)中通過分析曲線圖驗(yàn)證不同攻擊方式對各參數(shù)的影響.Kundur等人[30]使用動力學(xué)系統(tǒng)方程式對電網(wǎng)組件、網(wǎng)絡(luò)電網(wǎng)元素的物理模型進(jìn)行建模,并量化網(wǎng)絡(luò)攻擊的風(fēng)險,評估電力傳輸中斷程度.Krotofil等人[31]對面臨網(wǎng)絡(luò)物理攻擊的田納西伊斯曼過程相關(guān)挑戰(zhàn)問題的經(jīng)驗(yàn)分析,調(diào)查了在對傳感器進(jìn)行完整性攻擊和拒絕服務(wù)攻擊時的影響問題,證明可以使用過程已知安全分析提高網(wǎng)絡(luò)物理攻擊下過程系統(tǒng)的恢復(fù)力. Chen等人[32]針對數(shù)據(jù)篡改攻擊進(jìn)行研究,并對相關(guān)線型圖分析.Liu等人[33]結(jié)合網(wǎng)絡(luò)-電力模型化和模擬試驗(yàn)臺分析了3個不同的網(wǎng)絡(luò)事件對物理電網(wǎng)的影響,并使用線性圖展示結(jié)果. Urbina等人[34]量化隱蔽攻擊的影響,提出降低攻擊影響的檢測方法.這些工作多采用觀察法研究攻擊對系統(tǒng)狀態(tài)的影響,缺乏定量的評估方法.
針對語義攻擊對系統(tǒng)影響的研究工作近幾年才受到關(guān)注:Li等人[3]針對語義攻擊中的錯誤序列邏輯攻擊,提出攻擊影響排名模型,采用影響持續(xù)時間、與正常行為距離度量、與閾值相比的損失度量3個指標(biāo)評估該攻擊方式對工控系統(tǒng)的影響程度,該方法忽略了指標(biāo)之間的關(guān)聯(lián)性;Huang等人[35]使用基于貝葉斯網(wǎng)絡(luò)的隨機(jī)混合物理模型來預(yù)測網(wǎng)絡(luò)物理系統(tǒng)攻擊對系統(tǒng)影響,他們使用離散時間線性時不變系統(tǒng)描述工控系統(tǒng),從理論角度對系統(tǒng)中變量的變化進(jìn)行分析推理和計算,在實(shí)際生產(chǎn)活動中,系統(tǒng)狀態(tài)的準(zhǔn)確性會受到物理設(shè)備磨損、通信延遲等情況的影響,該方法適用于對理想環(huán)境下獲取的狀態(tài)數(shù)據(jù)進(jìn)行評估;Cui等人[36]從被攻擊節(jié)點(diǎn)的角度出發(fā),將攻擊分為同時攻擊、序列攻擊和組合攻擊,提出一個網(wǎng)絡(luò)——物理故障模型,并從理論角度研究這些攻擊帶來的影響.
攻擊影響評估的研究對識別攻擊意圖具有重要的理論價值和現(xiàn)實(shí)意義,1.2節(jié)中學(xué)者們的研究工作推動了語義攻擊下設(shè)備狀態(tài)影響分析工作的發(fā)展,而在具體安全攻防靶場環(huán)境下的研究還比較鮮見.
控制過程示意圖如圖1所示:
Fig.1 The diagram of control process圖1 控制過程示意圖
定義1.攻擊點(diǎn)W={Wh,We,Ws,Wa,Wsc,Wca,Whc,Wch,Wec,Wce,Wci,Wco,Wcl,Wcf}.其中,Wh,We,Ws,Wa分別表示人機(jī)界面(HMI)、工程師站、傳感器、執(zhí)行器等類型的工控網(wǎng)絡(luò)組件;Wec,Whc表示工程師站/HMI向控制設(shè)備發(fā)送命令的通信鏈路;Wce,Wch表示控制設(shè)備向工程師站/HMI報告其采集的現(xiàn)場過程設(shè)備狀態(tài)信息的通信鏈路;Wsc表示傳感器向控制設(shè)備傳送其數(shù)據(jù)的通信鏈路;Wca表示控制設(shè)備向執(zhí)行器發(fā)送控制命令的通信鏈路;Wci,Wco,Wcl,Wcf分別表示控制設(shè)備的各關(guān)鍵組件(包括輸入寄存器、輸出寄存器、控制邏輯程序及固件).
定義3.攻擊方式:T={Td,Tc,Tp}.其中,Td,Tc,Tp分別表示數(shù)據(jù)篡改、命令篡改和程序篡改攻擊.
Td的模型[28]表示為
(1)
(2)
其中,式(1)中γi表示常量,通常取值較小.式(2)中幾何注入逐漸增大系統(tǒng)變量的改變幅度,具有一定的潛伏性,同時不失破壞性,可表現(xiàn)為指數(shù)形式的注入.其中,a,b可以是常數(shù),也可以是變量,t0為常數(shù).
Tc={Tco,Tct},其中Tco是次序攻擊(order-based attack),Tct是時序攻擊(time-based attack).其分別表示為:
1) ?{(r1,t1),…,(ri,ti),(ri+1,ti+1),…,(rk,tk)}∈R,?/{(r1,t1),…,(ri+1,ti+1),(ri,ti),…,(rk,tk)}∈R;則{(r1,t1),…,(ri+1,ti+1),(ri,ti),…,(rk,tk)}∈Tco.
定義4.攻擊策略表示為攻擊點(diǎn)與攻擊方式的組合:ST=W×T.
攻擊策略具體構(gòu)建方法描述如下:
首先,依據(jù)攻擊方式T,對攻擊點(diǎn)進(jìn)行分組,分組依據(jù)一個規(guī)則:
對于?Wi,Wj∈W,Wi對應(yīng)攻擊方式Ti∈T,Wj對應(yīng)攻擊方式Tj∈T,若Ti=Tj,則Wi,Wj屬于同一組.
例如,攻擊者可通過操作人機(jī)界面(Wh)向控制設(shè)備發(fā)送惡意命令實(shí)現(xiàn)攻擊;另外,還可以通過中間人攻擊,截獲人機(jī)界面與控制設(shè)備的通信鏈路(Whc)數(shù)據(jù),向控制設(shè)備發(fā)送惡意命令的攻擊方式.同理,工程師站(We)、工程師站向控制設(shè)備的通信鏈路Wec與Wh,Whc具有相同的可操作數(shù)據(jù)類型,因此可根據(jù)此規(guī)則對它們分組.
基于規(guī)則,將攻擊點(diǎn)分成與攻擊方式對應(yīng)的3個組:
Wd={Ws,Wsc,Wch,Wce,Wci,Wco},
Wc={Wh,We,Wa,Whc,Wec,Wca},
Wp={We,Wec,Wcl,Wcf}.
依據(jù)攻擊目的不同,進(jìn)一步地將Wd分成2組:
攻擊策略中,同組攻擊點(diǎn)具有互斥性,即針對同一種攻擊方式,只需要在某一攻擊點(diǎn)執(zhí)行攻擊即可,無需多點(diǎn)攻擊.
具體地,攻擊策略可表示為
定義5.工控系統(tǒng)原始狀態(tài)數(shù)據(jù)集表示為DS={CM,D,TDS}.其中,CM={c1,c2,…,cnq},TDS={tds1,tds2,…,tdsnt},D={d1,d2,…,dnu}.CM表示TDS時間段內(nèi)工控系統(tǒng)中連續(xù)類型變量集合,nq是連續(xù)變量的個數(shù).D表示TDS時間段內(nèi)工控系統(tǒng)中離散類型變量集合,nu是離散變量的個數(shù).
對定義5中原始狀態(tài)數(shù)據(jù)集進(jìn)行分割點(diǎn)識別.
3.2.1 基于拐點(diǎn)融合的時間片劃分
(3)
其中,
(4)
算法1.基于拐點(diǎn)融合的時間片分割算法.
輸入:連續(xù)狀態(tài)數(shù)據(jù)集C′、離散變量數(shù)據(jù)集D;
輸出:分割點(diǎn)集合sPts.
① foriin [1,nu]
② forjin [1,nt)
④j→disList;
⑤ end if
⑥ end for
⑦ end for
⑧ foriin [1,nq]
⑩ end for
行①~⑦:根據(jù)離散狀態(tài)數(shù)據(jù)集D中的數(shù)據(jù)變化情況,獲得每次D中數(shù)據(jù)發(fā)生變化時,D中對應(yīng)的分割點(diǎn)集合disList;行⑧~:根據(jù)連續(xù)變量數(shù)據(jù)集C′中數(shù)據(jù)二次變化斜率是否超過閾值而判斷是否存在分割點(diǎn),并將分割點(diǎn)存放到conList中;行~:對sPts集合中的分割點(diǎn)進(jìn)一步融合.
3.2.2 基于時間片的特征抽取
(5)
i∈[1,nq],j∈[1,mt].
設(shè)備狀態(tài)特征描述集合最終表示為
其中
j∈[1,mt].
3.2.3 面向離散變量融合的狀態(tài)特征聚類
(6)
具體聚類算法描述如算法2:
算法2.基于離散變量融合的狀態(tài)特征聚類算法.
③ 選擇dList中最大距離所對應(yīng)的元素iCtr,并將iCtr加入Cts;
④cChged=True;
⑤ whilecChged
⑥cChged=False;
⑧minDist=1 000 000;
⑨c=0;
⑩ forjin [1,len(Cts)]
心點(diǎn)Cts[j]的最大值;
由上述算法可知,狀態(tài)特征集S中的狀態(tài)分別與Cts的元素一一對應(yīng).
定義6.狀態(tài)轉(zhuǎn)移概率圖表示為G={V,P(TR)}.V={v1,v2,…,vn}表示圖中頂點(diǎn)集,即3.2節(jié)生成的特征狀態(tài)集.其中,TR={TRi→j,i,j∈V},TRi→j表示從狀態(tài)vi到狀態(tài)vj的轉(zhuǎn)移關(guān)系.其中:
P(TR)={P(TRi→j),i,j∈V},
基于定義7~10的異常狀態(tài)描述方法進(jìn)行異常檢測.本異常檢測算法的關(guān)鍵是從正常運(yùn)行構(gòu)建的狀態(tài)轉(zhuǎn)移概率圖中找到與當(dāng)前預(yù)判狀態(tài)最相近的狀態(tài),該狀態(tài):
(7)
(8)
算法3.基于設(shè)備狀態(tài)的異常檢測算法.
①lns=-2;
sj∈Snor;
④tmpNearestState=j;
⑤ ifminDist>Radius[j] then
⑨ end if
⑩ else
本節(jié)提出基于異常特征和損害程度指標(biāo)融合分析的攻擊影響定量評估方法,該方法中面向不同連續(xù)變量類別(如溫度、濕度、高度等),將他們對系統(tǒng)狀態(tài)損害程度對應(yīng)的權(quán)重記為Weight.
Weight={Weight1,Weight2,…,Weightnq}
滿足:
其中:
(9)
(10)
(11)
(12)
VANC=EVALNo+EVALDrt+
EVALTran+EVALFreq.
(13)
本節(jié)我們使用本文提出的異常檢測方法研究檢測性能,并采用評估方法研究各種攻擊模式對狀態(tài)數(shù)據(jù)的影響.首先,我們在自己部署的工控安全靶場平臺上,采集正常運(yùn)行30 d的狀態(tài)數(shù)據(jù)為訓(xùn)練數(shù)據(jù)集,然后,在5種攻擊模式下,分別產(chǎn)生對應(yīng)的5個數(shù)據(jù)集為測試數(shù)據(jù)集.為了進(jìn)一步驗(yàn)證評估方法的有效性,我們使用基于狀態(tài)轉(zhuǎn)移概率圖的檢測方法對5種攻擊進(jìn)行檢測,并與狀態(tài)遷移圖、時序相關(guān)團(tuán)、基于自編碼器(autoencoder, AE)時間序列預(yù)測的方法進(jìn)行分析對比.檢測實(shí)驗(yàn)結(jié)果顯示,我們的方法在準(zhǔn)確率、召回率、F1值等方面優(yōu)于其他方法;評估的結(jié)果與狀態(tài)曲線對比情況說明,我們的評估方法具有較高的合理性及有效性.
我們采用精確率、召回率和F1值評價檢測算法性能,公式分別定義為
(14)
(15)
(16)
其中,TPn表示本身是異常狀態(tài),并且被識別為異常狀態(tài)數(shù)目;FPn表示本身是正常狀態(tài),但是被識別為異常狀態(tài)的數(shù)目;FNn表示本身是異常狀態(tài),但是被識別為正常狀態(tài)的數(shù)目.準(zhǔn)確率越高說明算法性能好;召回率和F1值越高,說明模型性能越好.
本文訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集采集于工控安全靶場平臺,該平臺是一個半實(shí)物的水分配系統(tǒng)實(shí)驗(yàn)臺,其模擬構(gòu)建了一個城市水務(wù)數(shù)據(jù)采集與監(jiān)視控制(supervisory control and data acquisition, SCADA)系統(tǒng),采用3個實(shí)物的可編程邏輯控制器(programmable logic controller, PLC)(其廠商分別是:西門子、羅克韋爾和三菱)控制快速輸配水仿真模塊.本文利用協(xié)議的漏洞編寫攻擊腳本實(shí)現(xiàn)5種攻擊方式,并在5種攻擊下從工控安全靶場平臺的工程師站分別采集相對應(yīng)的5個數(shù)據(jù)集,因此,獲取的攻擊數(shù)據(jù)集是可信的.
攻擊與產(chǎn)生的數(shù)據(jù)集信息描述如表1所示:
Table 1 Attacks and Generated Datasets
1) 攻擊1:數(shù)據(jù)篡改模式1
我們在傳感器向控制器發(fā)送數(shù)據(jù)的鏈路中,使用式(2)數(shù)據(jù)篡改方式,對傳感器數(shù)據(jù)進(jìn)行篡改攻擊.式(2)中涉及的參數(shù)分別設(shè)置為:a=0.1,b=0.5,t0=0.
2) 攻擊2:數(shù)據(jù)篡改模式2
我們使用式(2)中數(shù)據(jù)篡改方式,篡改控制器數(shù)據(jù)寄存器中對應(yīng)的某個狀態(tài)數(shù)據(jù).式(2)中涉及的參數(shù)分別設(shè)置為:a=0.1,b=1.1,t0=0.
3) 攻擊3:時序攻擊
我們在控制器向現(xiàn)場被控設(shè)備發(fā)送控制命令的鏈路中,對命令進(jìn)行篡改,縮短命令執(zhí)行時間,該攻擊影響被控設(shè)備的狀態(tài),使被控設(shè)備的打開、關(guān)閉非常頻繁.
4) 攻擊4:隱蔽攻擊、時序攻擊、次序攻擊的組合攻擊模式
我們在傳感器向控制器發(fā)送數(shù)據(jù)的鏈路中,對傳感器數(shù)據(jù)進(jìn)行低于其閾值的持續(xù)篡改,使得控制器產(chǎn)生時序和次序異常的控制命令,為了向工程師站隱匿其篡改行為(低于閾值的方式極其容易被位于工程師站的監(jiān)控軟件檢測出來),我們同時在傳感器向工程師站報告其數(shù)據(jù)的鏈路中,重放原來的變量數(shù)據(jù),繞過監(jiān)控軟件的檢測.
5) 攻擊5:數(shù)據(jù)篡改模式3
我們在傳感器向控制器發(fā)送數(shù)據(jù)的鏈路中,使用式(1)中數(shù)據(jù)篡改方式,對傳感器數(shù)據(jù)進(jìn)行篡改攻擊.式(1)中涉及的參數(shù)γi在[0.86,1.26]區(qū)間內(nèi)變化.
攻擊1,2,3,5中,我們每隔5 s采集到從0:00—28:00的共28 h的狀態(tài)數(shù)據(jù)集作為測試數(shù)據(jù)集,其中攻擊在第20:00時刻開始,持續(xù)到24:00時刻結(jié)束;為了驗(yàn)證檢測在不平衡數(shù)據(jù)集上的適應(yīng)性,攻擊3中,我們每隔5 s采集到從0:00—312:45的共312 h 45 min的狀態(tài)數(shù)據(jù)集作為測試數(shù)據(jù)集,其中攻擊在第303:43時刻開始,持續(xù)到307:43時刻結(jié)束.
6.3.1 檢測結(jié)果分析
1) 基于離散變量融合的狀態(tài)特征聚類算法中,第一個中心點(diǎn)的選擇方法對檢測精確度的影響分析.
我們采用隨機(jī)方式選擇第一個中心點(diǎn),重復(fù)進(jìn)行100次檢測,分別獲得5個數(shù)據(jù)集上的精確度、召回率和F1值的平均值,與優(yōu)化后的第一個中心點(diǎn)選取方法——首選最遠(yuǎn)點(diǎn)的方法對比,結(jié)果如圖2所示.
Fig.2 Performance comparison of selecting the center圖2 中心點(diǎn)選擇算法的性能比較
從實(shí)驗(yàn)結(jié)果看出,通過中心點(diǎn)選擇算法優(yōu)化后,數(shù)據(jù)集3,4的準(zhǔn)確率、數(shù)據(jù)集2的召回率以及數(shù)據(jù)集2,3,4的F1值所提升.中心點(diǎn)選擇優(yōu)化算法對數(shù)據(jù)集2,3,4有一定影響,對數(shù)據(jù)集1,5沒有影響.
2) 基于離散變量融合的狀態(tài)特征聚類算法中,簇的數(shù)目選擇對檢測精確度的影響分析.
分簇數(shù)目的計算:
ms=int(mt/nummax)+1,
(17)
其中,mt是特征個數(shù),nummax表示每個簇中包含的元素的最大數(shù)目.每簇包含元素最大數(shù)目nummax∈[5,45],并且,nummax%5=0時,5個數(shù)據(jù)集上的精確度、召回率和F1值變化折線如圖3所示.
Fig.3 Performance comparison of selecting the maximum number of elements from 5 to 40圖3 簇包含最大元素從5~45變化時性能比較
隨著每簇數(shù)目最大值的增長,精確率、召回率、F1值方面,各數(shù)據(jù)集上表現(xiàn)不同:數(shù)據(jù)集1和5具有相似的變化趨勢,在nummax=25時存在最低點(diǎn),其他取值時的各項指標(biāo)變化不大;數(shù)據(jù)集2,3,4的召回率和F1值在nummax=10或nummax=15以后,會呈現(xiàn)慢慢下降的趨勢.除數(shù)據(jù)集3之外,當(dāng)nummax=10時,各項指標(biāo)取值最優(yōu).
3) 使用融合算法與不使用融合算法對檢測性能的影響分析.
當(dāng)選取nummax=10時,對比采用變量融合算法之前與之后,在5個數(shù)據(jù)集上的精確度、召回率和F1值,結(jié)果如圖4所示:
Fig.4 Performance comparison before and after using fusion algorithm圖4 使用融合算法前后的性能比較
從圖4可以看出,數(shù)據(jù)集5的精確度、召回率和F1值方面,融合前和融合后差異不大,然而,對其他4個數(shù)據(jù)集,融合前和融合后的3個評價指標(biāo)都有明顯提升.
6.3.2 檢測結(jié)果對比
為了進(jìn)一步驗(yàn)證評估方法的有效性,我們使用基于狀態(tài)轉(zhuǎn)移概率圖的檢測方法(在這里我們稱為TSPG)對5種攻擊進(jìn)行檢測,并與狀態(tài)遷移圖(STG算法)、時序相關(guān)團(tuán)(CGAD 算法)、基于自編碼器時序變量預(yù)測(AE算法)的檢測算法的進(jìn)行分析對比.
1) 狀態(tài)遷移圖算法
狀態(tài)遷移圖算法利用相鄰數(shù)據(jù)向量間的余弦相似度和歐氏距離建立系統(tǒng)正常狀態(tài)遷移模型, 不需要事先定義系統(tǒng)的臨界狀態(tài), 并通過2個條件來判定系統(tǒng)是否處于異常:①新的數(shù)據(jù)向量對應(yīng)的狀態(tài)是否位于狀態(tài)遷移圖內(nèi);②前一狀態(tài)到當(dāng)前狀態(tài)是否可達(dá).
2) 時序相關(guān)團(tuán)算法
首先對多維時間序列進(jìn)行分段、標(biāo)準(zhǔn)化計算,得到相關(guān)性矩陣,提取量化的相關(guān)關(guān)系.然后,建立時序相關(guān)圖模型,通過在時序相關(guān)圖上的相關(guān)性強(qiáng)度,劃分時間序列團(tuán),進(jìn)行時間序列團(tuán)內(nèi)、團(tuán)間以及單維的異常檢測.
3) 基于自編碼器時序變量預(yù)測的異常檢測算法
使用訓(xùn)練數(shù)據(jù)集訓(xùn)練基于全連接神經(jīng)網(wǎng)絡(luò)的自編碼器,在異常檢測時,將訓(xùn)練時的最后一個損失值作為異常判斷閾值,分別對5種測試數(shù)據(jù)集進(jìn)行異常檢測.
在時序相關(guān)團(tuán)算法中,當(dāng)訓(xùn)練集和測試集的時間間隔均設(shè)置為250 s時,取得較好的檢測效果,因此我們采用此結(jié)果與TSPG算法進(jìn)行對比.另外,我們采用網(wǎng)格搜索的方法獲得基于自編碼器時序變量預(yù)測的異常檢測方法中的最優(yōu)超參數(shù). 在5個數(shù)據(jù)集上的精確率、召回率及F1值對比結(jié)果如圖5所示.
從圖5結(jié)果可以看出,雖然AE算法具有較高的召回率,但是其精確率和F1值在其他3種算法中表現(xiàn)較差;本文提出的算法除了在數(shù)據(jù)集4上的精確率低于STG算法之外,在其他數(shù)據(jù)集的相應(yīng)評估指標(biāo)方面都優(yōu)于CGAD和STG算法.
6.3.3 評估結(jié)果
1) 多模式攻擊下系統(tǒng)狀態(tài)變化評估
本節(jié)分別從無狀態(tài)、狀態(tài)轉(zhuǎn)換異常、狀態(tài)轉(zhuǎn)換概率異常、狀態(tài)持續(xù)時間異常4個指標(biāo)所占所有異常狀態(tài)比例,以及攻擊進(jìn)行階段和攻擊結(jié)束階段影響度,評估多種攻擊模式下系統(tǒng)狀態(tài)變化情況.
Fig.5 Performance comparision with CGAD, STG, AE and TSPG algorithms圖5 CGAD,STG,AE,TSPG算法性能比較
Fig.6 High values of normal and corresponding attacked tanks圖6 正常與受攻擊的水池高度值
圖6顯示5個數(shù)據(jù)集中受攻擊前水池1~3狀態(tài)數(shù)據(jù)以及受攻擊后水池1~3狀態(tài)數(shù)據(jù),2條豎直虛線之間的是被攻擊階段連續(xù)變量數(shù)值,從左數(shù)第2條豎直虛線之后的是攻擊結(jié)束階段連續(xù)變量數(shù)值變化情況.從表2中可以看出,無狀態(tài)異常的情況,在所有數(shù)據(jù)集中占95%以上,持續(xù)時間異常在數(shù)據(jù)集3,4中存在,與圖6中顯示相對應(yīng).5個數(shù)據(jù)集中都不存在概率轉(zhuǎn)換異常,可見,執(zhí)行概率異常的命令在系統(tǒng)狀態(tài)上引起同樣的狀態(tài)概率異常的幾率很小.數(shù)據(jù)集2存在狀態(tài)轉(zhuǎn)換異常,該異常的存在所占比例也是非常小.
2) 我們的方法與攻擊影響排名模型對比
Li等人[3]提出的攻擊影響排名模型適用于對連續(xù)變量的攻擊影響評估,本節(jié)采用該方法對5種攻擊方式所產(chǎn)生的數(shù)據(jù)集中連續(xù)變量影響情況進(jìn)行評估,排名結(jié)果如表3所示,由于數(shù)據(jù)集與攻擊類型一一對應(yīng),為了和攻擊影響排名模型中描述一致,因此,數(shù)據(jù)集1~5分別對應(yīng)攻擊1~5.將我們提出的方法的評估結(jié)果(如表2所示)與Li等人[3]提出的攻擊影響排名模型的排名結(jié)果(如表3所示)進(jìn)行對比,可以看到:攻擊3,4對應(yīng)的攻擊進(jìn)行階段影響度與攻擊結(jié)束階段影響度之和(以下簡稱“攻擊影響度”)在5個攻擊中分別處于第1位和第2位,這與表3中的影響排名一致;表2中攻擊1的攻擊影響度大于攻擊2和攻擊5的攻擊影響度,而表3中攻擊1的影響排名最低.這是因?yàn)?,我們的評估方法中,攻擊影響不僅受到數(shù)據(jù)變化程度影響,還與數(shù)據(jù)變化程度的持續(xù)時間、變化頻率、變化對系統(tǒng)狀態(tài)損害程度相關(guān),攻擊1造成了0.31%持續(xù)時間異常,因此其攻擊影響度大于攻擊2和攻擊5,在攻擊影響排名模型中,攻擊時長相同的情況下,攻擊過程中數(shù)據(jù)變化越大,攻擊影響排名越靠前,攻擊1的距離度量值低于攻擊2和攻擊5,因此其攻擊排名低于攻擊2和攻擊5.圖6(a)中顯示的攻擊后的水池3狀態(tài)數(shù)據(jù)震蕩頻率大于圖6(e)顯示的攻擊后的水池3狀態(tài)數(shù)據(jù)震蕩頻率,攻擊1的影響時長遠(yuǎn)遠(yuǎn)大于攻擊2的影響時長,這與評估結(jié)果相對應(yīng)。因此,我們提出的量化評估方法比攻擊影響排名模型的方法更為完備合理.
Table 2 The Evaluation Results of State Changes by TSPG Method
Table 3 The Impact Rankings of the Attacks
本文形式化描述了攻擊策略及系統(tǒng)異常狀態(tài),提出基于狀態(tài)轉(zhuǎn)移概率圖的異常檢測方案,實(shí)驗(yàn)結(jié)果表明該方法檢測效果總體優(yōu)于狀態(tài)遷移圖、狀態(tài)時序相關(guān)團(tuán)、基于自編碼器時序數(shù)據(jù)預(yù)測等方法.此外,本文提出基于異常特征和損害程度指標(biāo)融合分析的攻擊影響定量評估方法,實(shí)現(xiàn)系統(tǒng)所處不同階段狀態(tài)變化的定量評估與分析,實(shí)驗(yàn)結(jié)果表明:本文提出的定量評估方法能較為合理有效地描述攻擊方式對系統(tǒng)狀態(tài)的影響.