《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > 基于数据挖掘的工业控制系统防危机制研究
基于数据挖掘的工业控制系统防危机制研究
来源:电子技术应用2012年第5期
徐新国1, 朱廷劭2, 康 卫1, 孙保辉1等
1. 中国电子信息产业集团有限公司第六研究所, 北京100083; 2. 中国科学院研究生院 信息科学与工程学院, 北京100190
摘要: 随着信息技术和工业自动化水平的提升,工业控制系统越来越复杂,错误也越来越难检测和避免,且常常引发工业事故,危及工业生产、国家经济安全和人民生命财产安全。针对工控系统存在的安全问题,采用复杂网络分析、数据预测、专家分析、自适应升降级等技术,提出一种包含全局防危、主动防危、实时防危、自主防危和防危认证的工业控制系统防危机制,实现对工业控制系统的安全防护。
中圖分類號: X931
文獻標(biāo)識碼: A
文章編號: 0258-7998(2012)05-0087-04
Building safety mechanism in industrial control system based on data mining
Xu Xinguo1, Zhu Tingshao2, Kang Wei1, Sun Baohui1, Fang Zhiqi1, Wang Yan1
1. NCSE, Beijing 100083, China; 2. School of Information Science and Engineering, GUCAS, Beijing 100190, China
Abstract: With the promotion of information technology and industrial automation, industrial control system becomes more and more complicated which makes it more difficult to detect running errors. Errors usually lead to industry incidences and make national economy and civil property dangerous. Safety mechanism in industry based on data mining intends to apply complex network analysis, data prediction, expert analysis and self-adaptive downgrade and upgrade technologies to solve safety problems in industry. In sum, the paper present to use data mining technology to study the safety mechanism including global safety, initiative safety, real-time safety, self safety and safety authentication.
Key words : industrial control system; safety; data mining

    工業(yè)控制系統(tǒng)包括數(shù)據(jù)采集與監(jiān)控系統(tǒng)(SCADA)、分布式控制系統(tǒng)(DCS)、可編程邏輯控制器(PLC)、遠(yuǎn)程終端(RTU)、智能電子設(shè)備(IED)等,以及確保各組件通信的接口技術(shù)[1]。目前廣泛應(yīng)用于電力、水利、污水處理、石油化工、交通運輸、制藥以及大型制造行業(yè),是國民經(jīng)濟的重要組成部分。

    據(jù)權(quán)威工業(yè)安全事件信息庫RISI(Repository of Security Incidents)統(tǒng)計[2],截止2011年10月,全球已發(fā)生200余起工業(yè)控制系統(tǒng)的嚴(yán)重安全事件。工業(yè)控制系統(tǒng)信息安全事關(guān)工業(yè)生產(chǎn)運行、國家經(jīng)濟安全和人民生命財產(chǎn)安全,一旦出現(xiàn)工業(yè)事故,將對正常生產(chǎn)運行和國家經(jīng)濟安全造成重大損害。
    1984年12月3日凌晨,在印度的Bhopal,45噸甲烷異氰酸脂重毒氣從聯(lián)合炭化蟲劑制造廠泄漏并擴散到附近居民區(qū),造成至少2 500人死亡,25萬人的健康受到影響。1986年4月,前蘇聯(lián)切爾諾貝利核電發(fā)生爆炸,導(dǎo)致世界上最嚴(yán)重的核事故。
    分析以上事故原因發(fā)現(xiàn),每起事故都涉及到控制系統(tǒng)的防危問題。印度毒氣泄露事件調(diào)查報告顯示[3],610號儲槽的壓力在15 min內(nèi)由2 psig上升到10 psig。由于換班原因,新操作員并未察覺到壓力突變異常,正常壓力大約在2~25 psig之間。而當(dāng)壓力突升而未察覺時,則會導(dǎo)致毒氣泄漏。1986年切爾諾貝利核電站爆炸事故調(diào)查報告顯示[4],由于核電站人員多次違規(guī)操作,導(dǎo)致反應(yīng)堆能量增加,發(fā)生爆炸。
   隨著高新技術(shù)的廣泛應(yīng)用,工業(yè)控制系統(tǒng)越來越復(fù)雜,錯誤越難檢測和避免,由此帶來的安全隱患也越多,對系統(tǒng)的防危要求越來越迫切。工控系統(tǒng)對防危性的要求包含以下幾個方面[5]:
   (1)整體性:工控系統(tǒng)中對關(guān)鍵設(shè)備的不同操作之間存在相互依賴關(guān)系,要將其視為一個整體考慮。
   (2)通用性:為達到資源共享以及實現(xiàn)不同工控系統(tǒng)間的移植,需把系統(tǒng)功能實現(xiàn)與防危機制分離開,提高防危機制的通用性。
   (3)自適應(yīng)性:系統(tǒng)內(nèi)部環(huán)境發(fā)生改變時,應(yīng)采用某種自適應(yīng)手段,適應(yīng)新的環(huán)境來滿足用戶的需求。
   (4)隔離性:監(jiān)控對關(guān)鍵設(shè)備的操作,拒絕可能導(dǎo)致重大人身和財產(chǎn)損失的操作命令,實現(xiàn)應(yīng)用軟件與系統(tǒng)設(shè)備的隔離,保證工控系統(tǒng)的防危性。
   面對越來越復(fù)雜的工控系統(tǒng)和愈來愈重要的防危性要求,開展針對現(xiàn)有工控系統(tǒng)的防危機制研究具有巨大的科學(xué)意義和應(yīng)用價值。
1 相關(guān)研究介紹
   近年來很多重大事故的發(fā)生都可以歸結(jié)為工控系統(tǒng)在防危性方面的疏忽或缺失,事故主要來源于系統(tǒng)的設(shè)計缺陷及操作人員的誤操作,也使工控系統(tǒng)失去了可信性。
    1985年,Laprie提出了dependability(為與可靠性reliability相區(qū)別,譯為可信性)概念,以此度量計算機系統(tǒng)的服務(wù)質(zhì)量[6]。如圖1所示,可信性是一個復(fù)雜的綜合性概念,具有豐富的內(nèi)涵,它所包含的特征有:可用性(Availability)、可靠性(Reliability)、防危性(Safety)、安全性(Security)和可維護性(Maintainability) 5個特征量。1995年Laprie把Security分解為Confidentiality和Integrity[7]。

    防危性與可用性、可靠性、可維護性、安全性的區(qū)別[8]如表1所示。防危強調(diào)的是防止危險發(fā)生,即防止系統(tǒng)給生命財產(chǎn)及生態(tài)環(huán)境造成災(zāi)難性破壞。防危技術(shù)主要是對系統(tǒng)內(nèi)部錯誤的偵測、異常處理以及誤操作的避免,不同于可信性的其他特性。

    目前實現(xiàn)防危的主要技術(shù)手段有防危核與防危殼兩種。
    防危核(Safety Kernel)最早由安全學(xué)家 Leveson[9]提出,其原理是根據(jù)實際系統(tǒng)的工作特點定制的一套防危策略,驗證所有對關(guān)鍵設(shè)備的操作請求,只有通過驗證的操作請求才可到達硬件進行操作,拒絕所有未經(jīng)過驗證的操作。防危核成功隔離了應(yīng)用請求與關(guān)鍵設(shè)備,避免用戶誤操作引起的系統(tǒng)錯誤,達到對系統(tǒng)的防危保護。
    防危殼(Safety Shell)是由Katwijk 和 Zalewski[10]提出的防危技術(shù),其技術(shù)原理與防危核類似,是防危核技術(shù)的一種功能更為強大的擴展。防危殼的防危原理是在系統(tǒng)控制器與關(guān)鍵設(shè)備之間安插一個隔離層,所有操作請求都必須經(jīng)過防危殼的驗證。防危殼主要由狀態(tài)監(jiān)視器、時間監(jiān)視器、異常處理子模塊組成。狀態(tài)監(jiān)視器是保證系統(tǒng)防危性最重要的關(guān)鍵子模塊,其作用是負(fù)責(zé)與底層I/O接口交互,驗證所有操作請求,并負(fù)責(zé)實時監(jiān)測設(shè)備的工作狀態(tài),一旦發(fā)現(xiàn)異常,則發(fā)送相應(yīng)的操作命令來調(diào)整系統(tǒng)狀態(tài),同時報告錯誤。時間監(jiān)視器用于檢驗設(shè)備命令是否在規(guī)定的時間內(nèi)完成,保證了設(shè)備操作的實時性。異常處理器監(jiān)視對設(shè)備的操作命令,拒絕錯誤的操作命令,并調(diào)用相應(yīng)的錯誤處理程序。
    防危核和防危殼是防危系統(tǒng)里最常用的兩種技術(shù)手段,將防危核與防危殼技術(shù)進行比較,可以發(fā)現(xiàn)兩種方式的基本原理都是相同的,即提供了設(shè)備操作與關(guān)鍵設(shè)備的隔離。不同點在于,防危核只提出了操作驗證的基本功能,而防危殼將防危策略細(xì)分為三個子模塊,子模塊擁有了單獨檢查設(shè)備狀態(tài)和保證命令時間限制等功能,降低了驗證整個防危策略的開銷。某種程度上,防危殼可以看作是防危核技術(shù)的一種擴展變型和另一種實現(xiàn)方式。
2 防危分析
    無論防危核還是防危殼,都只是把關(guān)鍵設(shè)備進行隔離防危,而實際的工控系統(tǒng)是一個復(fù)雜的網(wǎng)絡(luò),各設(shè)備之間存在著相互依賴關(guān)系,對一個設(shè)備的操作勢必會對其他設(shè)備造成影響,針對獨立設(shè)備的防危往往達不到整體防危的要求。因此,針對整體性防危的要求,本文提出利用防危保護態(tài)以及有窮狀態(tài)機實現(xiàn)防危,如圖2實線所示。系統(tǒng)從正常工作狀態(tài)發(fā)展為事故,一般經(jīng)過多個狀態(tài),從警告、臨界到危險,直至事故。為了實現(xiàn)防危,借鑒容錯理論,引入防危保護狀態(tài)(E),也就是在系統(tǒng)遇到危險或在臨界情況下,通過防危機制進入保護模式,在保護模式下系統(tǒng)可以通過自我調(diào)節(jié)回歸到正常模式。

   
    用狀態(tài)轉(zhuǎn)化圖表示如圖2所示。圖中,A:正常狀態(tài);B:警告狀態(tài);C:臨界狀態(tài);D:危險狀態(tài);F:事故狀態(tài);E:防危保護態(tài)。
    危險包括針對工業(yè)現(xiàn)場的和工控系統(tǒng)自身的,為了從危險狀態(tài)(D)轉(zhuǎn)化到防危保護狀態(tài)(E),針對不同類型的危險,需要通過專家規(guī)則實時判斷工業(yè)現(xiàn)場的危險狀況,或者通過降級服務(wù)對工控系統(tǒng)實施保護。為了從防危保護態(tài)(E)轉(zhuǎn)化為正常態(tài)(A),需要通過工控系統(tǒng)的合理調(diào)度,實現(xiàn)自身狀態(tài)的回歸,或者利用專家知識庫推薦工業(yè)現(xiàn)場的補救方案。
    為了從臨界狀態(tài)(C)轉(zhuǎn)化為防危保護態(tài)(E),一方面需要對關(guān)鍵設(shè)備的情況進行主動預(yù)測和危險預(yù)報;另一方面,通過分析設(shè)備之間的相互影響關(guān)系,預(yù)測系統(tǒng)整體的風(fēng)險。
    針對出現(xiàn)報警(B)的情況,利用專家規(guī)則判斷危險狀況,并根據(jù)專家規(guī)則中的處理辦法進行相應(yīng)的操作,使得系統(tǒng)轉(zhuǎn)化為正常狀態(tài)(A)。
    系統(tǒng)在正常運行(A)期間,通過對關(guān)鍵設(shè)備的情況進行預(yù)測,防患于未然,使系統(tǒng)維持在正常狀態(tài)。
    通過對狀態(tài)之間的操作進行分析整理,可以得出下面一些主要的操作:
    (1)通過分析設(shè)備之間的相互關(guān)系,預(yù)測系統(tǒng)整體風(fēng)險,即全局防危(a);
    (2)通過對關(guān)鍵設(shè)備的情況進行預(yù)測,防患于未然,即主動防危(b);
    (3)利用專家規(guī)則進行實時判斷和推薦,即實時防危(c);
    (4)對工控系統(tǒng)實施保護并且實現(xiàn)狀態(tài)回歸,即自主防危(d)。
  通過提供上面這些防危措施,就可以實現(xiàn)工控系統(tǒng)的防危,將工控系統(tǒng)從非正常狀態(tài)轉(zhuǎn)移到正常狀態(tài)。同時結(jié)合防危技術(shù),實現(xiàn)防危認(rèn)證。
3 基于數(shù)據(jù)挖掘的工控防危機制
    針對現(xiàn)有的工業(yè)控制系統(tǒng),為加強其防危能力,本文提出以建立工控系統(tǒng)的全局防危機制為主線,通過數(shù)據(jù)預(yù)測技術(shù)實現(xiàn)對單點的主動防危;通過建立工控系統(tǒng)復(fù)雜網(wǎng)絡(luò)模型,研究單點異常對其他節(jié)點的影響,實現(xiàn)對整個工控系統(tǒng)的全局防危;提供防危認(rèn)證,從而實現(xiàn)工控系統(tǒng)的防危。防危的體系結(jié)構(gòu)如圖3所示。

 

 

3.1全局防危
    工業(yè)控制系統(tǒng)是一個復(fù)雜網(wǎng)絡(luò),系統(tǒng)內(nèi)各設(shè)備之間相互依賴和影響。根據(jù)工控系統(tǒng)現(xiàn)場環(huán)境、歷史數(shù)據(jù)和經(jīng)驗,建立工控系統(tǒng)復(fù)雜網(wǎng)絡(luò)模型,網(wǎng)絡(luò)中的節(jié)點表示系統(tǒng)中的設(shè)備或者關(guān)鍵采集點,邊表示設(shè)備之間的關(guān)聯(lián)關(guān)系或風(fēng)險傳遞關(guān)系。通過風(fēng)險傳遞算法,此網(wǎng)絡(luò)可以很快收斂,達到穩(wěn)定狀態(tài),從而可以預(yù)測出某一個(或多個)設(shè)備出現(xiàn)風(fēng)險后系統(tǒng)中所有相關(guān)設(shè)備受影響的情況。通過此網(wǎng)絡(luò)模型可以做到對工控系統(tǒng)的整體風(fēng)險預(yù)測和防危。
3.2 主動防危
    為了提高系統(tǒng)的安全性,應(yīng)該開展針對工控系統(tǒng)的趨勢預(yù)測。針對工業(yè)控制系統(tǒng)中設(shè)備的差異性,實現(xiàn)數(shù)據(jù)預(yù)測的通用性,構(gòu)造適合大部分實際應(yīng)用環(huán)境輸入向量的方法,使用迭代法最大限度地保留實時數(shù)據(jù)中的歷史信息,并結(jié)合系統(tǒng)的閉環(huán)反饋實現(xiàn)精確的多步預(yù)測,實現(xiàn)滿足工控系統(tǒng)的高效率、高準(zhǔn)確率的預(yù)測算法。
3.3實時防危
  工業(yè)控制系統(tǒng)對實時性要求很高,通過預(yù)設(shè)的規(guī)則和經(jīng)驗的學(xué)習(xí)建立專家規(guī)則庫。由于專家規(guī)則的推理算法時間復(fù)雜度較高,為滿足工控系統(tǒng)的實時性要求,可以采用GPU并行處理技術(shù)。使用GPU并行處理技術(shù)有兩大好處:(1)降低計算時間,滿足工控系統(tǒng)的實時性要求;(2)解放CPU,使實時防危子系統(tǒng)基本不占用CPU資源。通過專家規(guī)則可以及時發(fā)現(xiàn)系統(tǒng)的異常節(jié)點,通過預(yù)設(shè)的規(guī)則可以給出后續(xù)的補救方案,避免更大的損失,做到對系統(tǒng)的實時防危。
3.4自主防危
    在系統(tǒng)處于超負(fù)荷情況下,采取合理的措施,在確保系統(tǒng)穩(wěn)定的前提下,通過優(yōu)化配置,實現(xiàn)系統(tǒng)的優(yōu)化運行,確保系統(tǒng)自身的穩(wěn)定安全。自主防危從大的方面分為兩部分內(nèi)容:(1)系統(tǒng)監(jiān)控,監(jiān)視系統(tǒng)的運行狀態(tài)以及各關(guān)鍵模塊的狀態(tài),包括進程的狀態(tài)、優(yōu)先級、對于CPU和內(nèi)存的使用情況(包括數(shù)據(jù)采集模塊中的數(shù)據(jù),各個模塊的內(nèi)存,以及GPU的信息); (2)系統(tǒng)的自我管控,當(dāng)系統(tǒng)發(fā)現(xiàn)監(jiān)控的某些狀態(tài)達到峰值,采取措施進行降級處理,避免系統(tǒng)在高負(fù)荷下運行發(fā)生故障或崩潰。
3.5 防危驗證
    防危驗證不僅要考慮失效的頻率,還要兼顧失效的代價,把重要性采樣理論應(yīng)用于防危驗證,提出基于加速險剖面的防危驗證測試方案。通過分析開發(fā)軟件的運行剖面,得到軟件運行的相對發(fā)生頻率。然后,對可能導(dǎo)致災(zāi)難性事故的危險進行分析識別,得到危險剖面。再利用故障樹分析得到安全關(guān)鍵運行。最后,生成軟件的安全運行剖面。
    測試過程中,如果系統(tǒng)進入危險狀態(tài),就認(rèn)為軟件存在風(fēng)險,沒有通過防危驗證,測試不達標(biāo)。如果所有的測試用例都沒有進入危險狀態(tài),則證明通過了軟件防危驗證,測試達標(biāo)。
    在符合工程實踐的條件下,本文以加強現(xiàn)有工業(yè)控制系統(tǒng)的防危能力為目標(biāo),針對傳統(tǒng)工控系統(tǒng)防危技術(shù)的不足,提出了基于數(shù)據(jù)挖掘的工控防危機制。設(shè)計和綜合出一套能夠進行風(fēng)險主動預(yù)測、故障實時檢測、系統(tǒng)自適應(yīng)調(diào)節(jié)的工控系統(tǒng)防危機制及其實現(xiàn)算法,并通過仿真實驗和理論分析的手段,評估防危機制與算法的性能,最終實現(xiàn)對現(xiàn)有工業(yè)控制系統(tǒng)的防危保護。
參考文獻
[1] STOUFFER K, FALCO J, SCARFONE K. Guide to industrial control systems (ICS) security[M]. National Institute of Standards and Technology, 2011:55-62.
[2] Client Company. Quarterly report on cyber security incidents and trends affecting industrial control systems[J]. Security Incidents Organization, 2009:35-77.
[3] Horng Jaojia, Lin Yishu, Shu Chimin. Using consequence analysis on some chlorine operation hazards and their possible effects on neighborhoods in central taiwan[C]. International Conference on the 20th Anniversary of Bhopal Gas Tragedy, The Indian Institute of Technology, 2004:3-12.
[4] KONSTANTIN I M, 夏光.切爾諾貝利事故:問題的實質(zhì)[J]. 科學(xué)對社會的影響, 1992(03):2-6.
[5] FALCO J, STOUFFER K, WAVERING A, et al. IT security for industrial control systems[M]. National Institute of Standards and Technology, 2001:201-235.
[6] LAPRIE J C. On the dependability evaluation of high safety systems[C].Proceeding of the 15th International Sym posium  on Fault Tolerant Computing, 1985:5-16.
[7] LAPRIE J C. Dependable computing: concepts, limits, challenges[J]. In Special Issue FTCS-25. Pasadera. CA.1995:42-54.
[8] LAPRIE J C. Dependability of computer systems: concepts, limits,improvements[C]. Proceedings 6th International Symposium on Fault Tolerant Computing, 1995:12-32.
[9] LEVESON N G. Murphy: expecting the worst and preparing for it[M]. The small computer evolution, Arlington,VA,1984:294-300.
[10] ZALEWSKI J, SAGLIETTIC F, et al. Safety of computer control systems: challenges and results in software development, Annual Reviews in control,2003,27(1):23-37.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容