鄭孝怡,祝路平
(1.衢州職業(yè)技術(shù)學(xué)院,浙江 衢州 324000;2.浙江巨化熱電有限公司,浙江 衢州 324000)
工業(yè)控制系統(tǒng)通常指由工業(yè)生產(chǎn)控制部件及計算機設(shè)備組成的網(wǎng)絡(luò)化系統(tǒng)[1]。傳統(tǒng)的工業(yè)控制網(wǎng)絡(luò)不與外界通信,是一種基于物理隔離的網(wǎng)絡(luò),可以有效地避開來自外界的攻擊。因此傳統(tǒng)的工業(yè)控制網(wǎng)絡(luò)主要注重運行安全而忽略了對網(wǎng)絡(luò)信息安全的防御。隨著工業(yè)與信息技術(shù)的高度融合,導(dǎo)致工業(yè)控制系統(tǒng)更容易遭受網(wǎng)絡(luò)攻擊或病毒傳播,給工業(yè)控制系統(tǒng)帶來了很大的安全威脅。
來自國家信息安全漏洞共享平臺的數(shù)據(jù)顯示,截至2020 年2 月18 日,國內(nèi)上報到漏洞庫的工業(yè)控制系統(tǒng)漏洞數(shù)達(dá)到2362 個,如圖1 所示,2010 年以前每年的工控系統(tǒng)發(fā)現(xiàn)的漏洞數(shù)量不超過5 個,1970 年數(shù)據(jù)為此前漏洞發(fā)現(xiàn)數(shù)量的匯總。2010 年以后,工控漏洞發(fā)現(xiàn)數(shù)逐年遞增,這表明工控安全真正在逐步受到企業(yè)乃至政府的重視。
圖1 工業(yè)控制系統(tǒng)漏洞發(fā)現(xiàn)年份分布圖
具體到衢州市,來自市國民經(jīng)濟(jì)和社會發(fā)展統(tǒng)計公報的數(shù)據(jù),截至2019 年末,全市共有規(guī)模以上工業(yè)企業(yè)991家。各企業(yè)所用工業(yè)控制系統(tǒng)各不相同,有國產(chǎn)的、有進(jìn)口的,品牌有西門子、艾默生、和利時、南自南瑞等等,相關(guān)設(shè)備在國家信息安全漏洞共享平臺均有多個漏洞被公布,信息安全形勢非常嚴(yán)峻。以巨化集團(tuán)公司熱電廠為例,作為大型化工聯(lián)合企業(yè)的全資子公司,共有艾默生的OVION 系統(tǒng),福克斯波羅的DCS 系統(tǒng),和利時的M6,西門子的S7-200、300 系統(tǒng),以及南自南瑞的電氣監(jiān)控系統(tǒng)。當(dāng)前公司采用三級網(wǎng)絡(luò)架構(gòu),分別是生產(chǎn)運行網(wǎng)、信息網(wǎng)以及外網(wǎng),各級網(wǎng)絡(luò)間采用嚴(yán)格的隔離措施,數(shù)據(jù)傳輸采用OPC 協(xié)議的單向傳輸方式,同時工作人員的操作權(quán)限也采用嚴(yán)格的分級機制。然而,工控設(shè)備的漏洞、病毒依然存在,且防不勝防,給生產(chǎn)運營帶來了很大的困擾。
隨著大量網(wǎng)絡(luò)威脅涌入工業(yè)控制系統(tǒng),工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)安全已成為亟需解決的問題之一[2]。在攻擊行為發(fā)生早期,對其進(jìn)行及時診斷以掌握具體準(zhǔn)確的攻擊信息,對于開展迅速有效的安全防御起到至關(guān)重要的作用。當(dāng)前工業(yè)控制系統(tǒng)的攻擊診斷問題研究主要涉及攻擊檢測和攻擊辨識(又稱攻擊估計或重構(gòu))兩方面問題,現(xiàn)有結(jié)果主要圍繞攻擊檢測問題展開。攻擊檢測方法用于判斷某個時刻工業(yè)控制系統(tǒng)是否遭受攻擊,早期在計算機領(lǐng)域已有不少學(xué)者從信息系統(tǒng)角度給出了有效的攻擊檢測方案[3-4]??紤]到工業(yè)控制系統(tǒng)的信息系統(tǒng)和物理系統(tǒng)之間存在緊密的相互作用,并且攻擊對象也可能是物理元器件,因而控制領(lǐng)域?qū)<疫M(jìn)一步從控制理論角度對攻擊檢測問題進(jìn)行了探索[5-6]。
然而,應(yīng)當(dāng)指出,攻擊檢測方法僅僅關(guān)注如何確定攻擊發(fā)生的時間。與之相比,攻擊辨識通過在線估計攻擊信號還能獲得攻擊信號的位置、類型和大小等具體信息,更有利于系統(tǒng)管理者開展迅速的攻擊溯源以及針對性防御。
本文針對工業(yè)控制系統(tǒng)遭受拒絕服務(wù)攻擊、重放攻擊和隨機攻擊構(gòu)成的組合攻擊情況,設(shè)計分布式卡爾曼融合辨識算法實現(xiàn)攻擊的估計與重建。
考慮一類具有多節(jié)點的典型工業(yè)控制系統(tǒng)如圖2 所示。由于系統(tǒng)狀態(tài)個數(shù)較多,一般由分布在不同區(qū)域的多個傳感器分別對工業(yè)控制系統(tǒng)的部分狀態(tài)進(jìn)行測量,進(jìn)而形成對工業(yè)控制系統(tǒng)物理過程的整體感知。由于匯聚節(jié)點具有較強的計算能力和數(shù)據(jù)傳送能力,通常每個區(qū)域內(nèi)的傳感器需先將測量信息發(fā)送至最近的匯聚節(jié)點,由匯聚節(jié)點對局部測量數(shù)據(jù)進(jìn)行初步處理,繼而通過網(wǎng)絡(luò)將局部數(shù)據(jù)處理結(jié)果發(fā)送至融合中心??刂破鞲鶕?jù)信息融合結(jié)果計算生成控制指令,并通過網(wǎng)絡(luò)發(fā)送至執(zhí)行器。在數(shù)據(jù)傳輸過程中,攻擊者均可通過ARP 攻擊、IP 欺騙或者修改端口鏡像等方式將黑客計算機偽裝成網(wǎng)關(guān),從而保證帶有傳感器測量信息的數(shù)據(jù)包會抵達(dá)黑客計算機網(wǎng)卡,黑客可抓取數(shù)據(jù)包并解析出測量數(shù)值、MAC 和IP 地址、序列號、確認(rèn)號等信息,進(jìn)而偽造虛假數(shù)據(jù)包并轉(zhuǎn)發(fā)至下一級數(shù)據(jù)接收端。圖2 顯示了工業(yè)控制系統(tǒng)可能遭受的攻擊。
圖2 工業(yè)控制系統(tǒng)網(wǎng)絡(luò)攻擊示意圖
根據(jù)上述攻擊過程,首先將拒絕服務(wù)攻擊、重放攻擊、隨機攻擊與正常數(shù)據(jù)的偏差信號作為攻擊信號,從而對不同攻擊行為進(jìn)行統(tǒng)一建模。接下來要解決的問題是如何在匯聚節(jié)點設(shè)計局部攻擊估計器。由于攻擊信號可由攻擊者任意給定,傳統(tǒng)未知輸入觀測器往往是基于固定增益,難以對快時變未知信號進(jìn)行準(zhǔn)確辨識,因而需要發(fā)展新的攻擊估計器處理上述問題。為此,設(shè)計迭代形式的卡爾曼攻擊估計器,對增益進(jìn)行實時更新,并充分抑制系統(tǒng)噪聲對攻擊辨識性能的影響,從而實現(xiàn)攻擊信號的局部辨識。
基于上述局部攻擊辨識機制,匯聚節(jié)點需要進(jìn)一步將局部估計值發(fā)送至遠(yuǎn)端融合中心進(jìn)行融合估計,考慮到信息傳輸過程中受到時延、丟包等網(wǎng)絡(luò)不確定性因素影響,同時可能再次遭受網(wǎng)絡(luò)攻擊,從而造成融合攻擊辨識性能大幅惡化,因而需要在融合中心設(shè)計攻擊辨識補償機制。首先,針對時延和丟包問題,考慮在傳感器端對所有數(shù)據(jù)包在發(fā)送前標(biāo)記時間戳并進(jìn)行備份,若某個數(shù)據(jù)包在傳輸過程中丟失,則在下一個采樣時刻將數(shù)據(jù)包備份發(fā)送給融合中心,進(jìn)而在融合中心結(jié)合迭代函數(shù)和信息預(yù)測方法設(shè)計攻擊補償辨識值。其次,針對二次網(wǎng)絡(luò)攻擊問題,需要建立針對虛假數(shù)據(jù)包的有效識別機制。由網(wǎng)絡(luò)攻擊的產(chǎn)生原理可知,偽造數(shù)據(jù)包的過程通常是對數(shù)據(jù)的數(shù)值信息進(jìn)行了替換,同時保留了測量數(shù)據(jù)的其他身份特征信息,如MAC 和IP 地址、序列號、確認(rèn)號等信息以達(dá)到迷惑接收端的目的。為此,需在融合中心端對虛假數(shù)據(jù)包進(jìn)行有效識別??稍趨R聚節(jié)點發(fā)送數(shù)據(jù)包時,在數(shù)據(jù)包描述數(shù)值的字段嵌入一定位數(shù)的動態(tài)校驗碼。因此,一旦數(shù)據(jù)包在傳輸過程中被替換,校驗信息則會遺失,融合中心可通過核對校驗信息以確定是否發(fā)生攻擊。若判斷發(fā)生攻擊,則在融合中心設(shè)計基于信息預(yù)測的補償攻擊辨識值。基于上述辨識補償機制,最終通過求解融合攻擊辨識性能優(yōu)化問題找到一組最優(yōu)加權(quán)矩陣。
基于上述方法,對組合攻擊進(jìn)行融合辨識的流程如圖3 所示。
圖3 融合攻擊辨識流程圖
本文提出了一種多節(jié)點融合的工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全防護(hù)策略,基于該策略對工業(yè)控制系統(tǒng)進(jìn)行安全監(jiān)控,可以即時確定網(wǎng)絡(luò)攻擊發(fā)生的時間、位置以及攻擊的方式,以便于及時采取正確的安全防護(hù)措施,從而減少因網(wǎng)絡(luò)安全引起的停產(chǎn)事故,設(shè)備損失以及人員安全風(fēng)險,進(jìn)而減少經(jīng)濟(jì)損失。