劉文涵 田曦 李星宇 梁光明
摘要:本文深入研究工業(yè)控制系統(tǒng)中SCADA系統(tǒng),即數(shù)據(jù)采集與監(jiān)控系統(tǒng)的基本原理、鏈路數(shù)據(jù)特點(diǎn),總結(jié)分析了現(xiàn)有信息檢測(cè)、數(shù)據(jù)分析方法,提出了通過(guò)對(duì)上、下位機(jī)間鏈路數(shù)據(jù)的采集、處理并制成關(guān)鍵信息模板進(jìn)行比對(duì)的方法,建立了基于樣本波形比對(duì)的SCADA系統(tǒng)鏈路數(shù)據(jù)關(guān)鍵信息檢測(cè)模型,具有自動(dòng)化程度高、準(zhǔn)確性高、能夠有效處理大規(guī)模相互關(guān)系復(fù)雜的數(shù)據(jù)等優(yōu)點(diǎn),并搭建了實(shí)驗(yàn)平臺(tái),驗(yàn)證了該模型的有效性。
關(guān)鍵詞:SCADA系統(tǒng) 鏈路數(shù)據(jù) 信息檢測(cè) 波形比對(duì)
中圖分類號(hào):TE973.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)08-0089-02
工業(yè)控制系統(tǒng)廣泛的應(yīng)用于我國(guó)電力、水利、污水處理、石油天然氣、化工、交通運(yùn)輸、制藥以及大型制造行業(yè),其中超過(guò)80%的涉及國(guó)計(jì)民生的關(guān)鍵基礎(chǔ)設(shè)施依靠工業(yè)控制系統(tǒng)來(lái)實(shí)現(xiàn)自動(dòng)化作業(yè),工業(yè)控制系統(tǒng)已是國(guó)家安全戰(zhàn)略的重要組成部分[1]。
數(shù)據(jù)采集與監(jiān)控系統(tǒng),即SCADA(Supervisory Control And Data Acquisition)系統(tǒng),是工控系統(tǒng)中的重要組成部分,它以計(jì)算機(jī)為基礎(chǔ)實(shí)現(xiàn)對(duì)工控系統(tǒng)中現(xiàn)場(chǎng)的運(yùn)行設(shè)備控制,數(shù)據(jù)監(jiān)控,測(cè)量、參數(shù)調(diào)節(jié)以及各類信號(hào)報(bào)警等各項(xiàng)功能。研究SCADA系統(tǒng)鏈路信息檢測(cè)方法對(duì)確保工控系統(tǒng)安全有著重要意義。在已有的檢測(cè)方法中,文獻(xiàn)[2,3]中介紹了最早提出的靜態(tài)性能數(shù)據(jù)分析方法——假設(shè)檢驗(yàn)法,如Kolmogorov-Smirnov檢驗(yàn)、Caemer-VonMises 檢驗(yàn)等,此類方法準(zhǔn)確性較高,但具有自動(dòng)化程度低,對(duì)分析人員能力要求較高等缺點(diǎn)。文獻(xiàn)[4]采用了一種基于支持向量機(jī)理論的預(yù)測(cè)建模分析方法,具有能夠快速確定數(shù)據(jù)趨勢(shì)預(yù)測(cè)、準(zhǔn)確性較高等優(yōu)點(diǎn),但缺乏能夠有效處理大規(guī)模、相互關(guān)系復(fù)雜的數(shù)據(jù)的能力。本文總結(jié)分析了現(xiàn)有信息檢測(cè)、數(shù)據(jù)分析方法,提出了基于樣本波形比對(duì)的SCADA系統(tǒng)鏈路數(shù)據(jù)信息檢測(cè)方法,具有自動(dòng)化程度高、準(zhǔn)確性較高、能夠有效處理大規(guī)模、相互關(guān)系復(fù)雜的數(shù)據(jù)等優(yōu)點(diǎn),為獲取SCADA系統(tǒng)鏈路數(shù)據(jù)關(guān)鍵信息中提供了有效手段。
1 SCADA系統(tǒng)鏈路數(shù)據(jù)特點(diǎn)
在生產(chǎn)調(diào)度過(guò)程中,SCADA系統(tǒng)起到了整個(gè)工控系統(tǒng)監(jiān)視和控制數(shù)據(jù)傳導(dǎo)的作用,大量的數(shù)據(jù)在WinCC監(jiān)控機(jī)、PLC控制器和外設(shè)3個(gè)終端設(shè)備不斷傳輸,深入分析SCADA系統(tǒng)鏈路數(shù)據(jù)特點(diǎn)是實(shí)現(xiàn)SCADA系統(tǒng)鏈路信息檢測(cè)的基礎(chǔ)性工作。
圖1為工業(yè)控制系統(tǒng)中SCADA的監(jiān)控原理簡(jiǎn)圖。SCADA系統(tǒng)實(shí)時(shí)監(jiān)視的信息主要來(lái)自于PLC、現(xiàn)場(chǎng)的變送器、過(guò)程量轉(zhuǎn)換器、開(kāi)關(guān)、控制閥、執(zhí)行器等之間交互的數(shù)據(jù),信息包括諸如設(shè)備型號(hào)、監(jiān)測(cè)量、系統(tǒng)組態(tài),報(bào)警標(biāo)識(shí)等[5]。這些數(shù)據(jù)報(bào)文的數(shù)據(jù)量很大,其所攜帶信息量之間的關(guān)系也較為復(fù)雜,普通的數(shù)據(jù)分析方法難以滿足對(duì)其數(shù)據(jù)分析的要求。
對(duì)通信數(shù)據(jù)的分析發(fā)現(xiàn),上裝下載直接以明文形式的ASCII碼傳輸。通過(guò)實(shí)驗(yàn)?zāi)軌蜃R(shí)別出PLC型號(hào)、硬件組態(tài)、外設(shè)屬性等信息,檢測(cè)出包括通信數(shù)據(jù)格式和通信時(shí)序,獲取讀寫(xiě)過(guò)程中WinCC與PLC之間傳輸?shù)臄?shù)據(jù)內(nèi)容。
在工業(yè)以太網(wǎng)上編程上位機(jī)和目標(biāo)PLC通信數(shù)據(jù)中,通過(guò)不斷比對(duì)各個(gè)數(shù)據(jù)包內(nèi)容,可以發(fā)現(xiàn)step7和PLC的物理地址、IP地址等信息。如圖2所示為編程上位機(jī)和目標(biāo)PLC的通信數(shù)據(jù)包,紅色圓圈為PLC的物理地址為00 1b 1b 8d 79 a6,IP地址為192.168.3.2。藍(lán)色圓圈為step7主機(jī)的物理地址為28 d2 44 5d 90 4c,對(duì)應(yīng)的IP地址為C0 A8 03 64即192.163.3.100。而數(shù)據(jù)中的具體操作指令、協(xié)議機(jī)制等則以二進(jìn)制代碼形式體現(xiàn),目前沒(méi)有公開(kāi)通用的方法可以分析此類二進(jìn)制代碼的具體含義。
通過(guò)對(duì)SCADA系統(tǒng)鏈路數(shù)據(jù)特點(diǎn)的分析,為接下來(lái)模型的建立及實(shí)驗(yàn)的驗(yàn)證做好了準(zhǔn)備工作。
2 基于樣本波形比對(duì)模型的建立
基于樣本波形比對(duì)的SCADA系統(tǒng)鏈路數(shù)據(jù)信息檢測(cè)的核心思想,就是利用預(yù)先設(shè)定好的關(guān)鍵信息數(shù)據(jù)樣本作訓(xùn)練集,得到訓(xùn)練模型后,將從內(nèi)部網(wǎng)絡(luò)獲取網(wǎng)絡(luò)數(shù)據(jù)包與訓(xùn)練模型比對(duì),檢測(cè)該數(shù)據(jù)包中是否含有相同的關(guān)鍵信息,其模型如圖3所示。
該模型分為五個(gè)部分:第一部分為樣本數(shù)據(jù)采集,采集感興趣的關(guān)鍵鏈路信息數(shù)據(jù),如上裝OB塊、下載FC塊、關(guān)鍵控制量C等,進(jìn)行簡(jiǎn)單的數(shù)據(jù)與處理;第二、三部分為對(duì)數(shù)據(jù)進(jìn)行互相關(guān)運(yùn)算、時(shí)間同步,利于接下來(lái)的波形比對(duì)。當(dāng)各組數(shù)據(jù)完成時(shí)間同步后,對(duì)各組中同一位置的數(shù)據(jù)求平均值,減少誤差,得到的各個(gè)平均值為SCADA系統(tǒng)關(guān)鍵信息的數(shù)字化,將各平均值用曲線擬合,則構(gòu)成了能描述SCADA系統(tǒng)關(guān)鍵信息的波形圖,即為訓(xùn)練樣本。第四部分為采用同樣的方法,得到采集PLC與上位機(jī)傳輸數(shù)據(jù),繪制測(cè)試數(shù)據(jù)的波形圖。最后,將兩個(gè)波形圖對(duì)比擬合,并計(jì)算變化率,就可以得知所采集的數(shù)據(jù)中是否包含所需要的關(guān)鍵信息。
3 基于樣本波形比對(duì)法的基本原理
假設(shè)設(shè)定PLC編程中A為某個(gè)關(guān)鍵信息量,在采集的數(shù)據(jù)中,等時(shí)間間隔地采取100有效數(shù)據(jù)為一組,重復(fù)采取k組后,得到樣本數(shù)據(jù)(i=1,2,…k;j=1,2.…,100)。以第一組數(shù)據(jù)為基準(zhǔn),分別將其他組數(shù)據(jù)與第一組數(shù)據(jù)做滑動(dòng)互相關(guān)運(yùn)算。
是檢測(cè)組與樣本對(duì)照組的變化率,當(dāng)于小于5%,可以認(rèn)為檢測(cè)組與樣本對(duì)照組完全擬合,即該檢測(cè)量為樣本對(duì)照組代表的關(guān)鍵信息。
4 編程實(shí)現(xiàn)及實(shí)驗(yàn)驗(yàn)證
根據(jù)上文提出的SCADA系統(tǒng)鏈路數(shù)據(jù)信息檢測(cè)模型,本文設(shè)計(jì)了實(shí)驗(yàn)來(lái)驗(yàn)證該模型的準(zhǔn)確性。
搭建一個(gè)簡(jiǎn)單的實(shí)驗(yàn)平臺(tái),包括編程上位機(jī)、監(jiān)視監(jiān)控主機(jī),可編程邏輯控制器等,通過(guò)交換機(jī)相連構(gòu)成工業(yè)控制局域網(wǎng)系統(tǒng)。PLC編寫(xiě)了3個(gè)監(jiān)控量的用戶程序,分別是刪除FC9、下載OB1、上裝FB2,根據(jù)模型將刪除FC9的二進(jìn)制代碼制作了樣本對(duì)照組。
首先通過(guò)網(wǎng)絡(luò)抓包程序,從內(nèi)部網(wǎng)絡(luò)中獲取包含監(jiān)控量的網(wǎng)絡(luò)數(shù)據(jù)包,根據(jù)應(yīng)用層協(xié)議的規(guī)則,從二進(jìn)制數(shù)據(jù)中提取監(jiān)控量信息。取100個(gè)樣本數(shù)據(jù)組,代入模型進(jìn)行分析,得到刪除FC9二進(jìn)制代碼的對(duì)照樣本波形圖,如圖4所示。并將其與測(cè)試組的樣本波形圖,如圖5,進(jìn)行比對(duì),最終通過(guò)計(jì)算誤差率得到實(shí)驗(yàn)結(jié)果如圖6。
通過(guò)實(shí)驗(yàn)分析,測(cè)試組與樣本組擬合程度達(dá)到要求,即數(shù)據(jù)包中是樣本對(duì)照組代表的關(guān)鍵信息。比對(duì)編寫(xiě)的PLC用戶程序,確認(rèn)實(shí)驗(yàn)結(jié)果與預(yù)先設(shè)置相同。
5 結(jié)語(yǔ)
本文分析了SCADA系統(tǒng)的基本原理以及其鏈路數(shù)據(jù)基本特點(diǎn),研究總結(jié)了現(xiàn)有數(shù)據(jù)分析方法,提出了一種SCADA系統(tǒng)鏈路數(shù)據(jù)信息檢測(cè)方法,建立了基于樣本波形比對(duì)法的SCADA系統(tǒng)關(guān)鍵信息檢測(cè)模型,并搭建了實(shí)驗(yàn)平臺(tái),驗(yàn)證了檢測(cè)模型的有效性。該檢測(cè)方法在維護(hù)工業(yè)控制系統(tǒng)安全、保證工業(yè)控制系統(tǒng)定運(yùn)行方面有一定的參考價(jià)值。
參考文獻(xiàn)
[1]王坤.淺談工控系統(tǒng)的安全威脅及防護(hù)體系建立[J].信息網(wǎng)絡(luò)安全,2013.
[2]T.H. Naylor, J.M. Finger. Verification of Computer Simulation Models.Management Science,1967,14(2):92~101.
[3]A.V. Gafarian, J.E. Walsh. Statistical Approach for Validating Simulation Modelsby Comparison with Operational Systems. Proceeding of the 4th International Conference on Operations Research, New York, 1969: 702~705.
[4]田萌.基于數(shù)據(jù)挖掘的復(fù)雜仿真數(shù)據(jù)分析方法研究[D].哈爾濱工業(yè)大學(xué),2010.
[5]Li H, Zhu G. Establish and improve Chinas industrial control system information security system[J]. Microcomputer & Its Applications,2015.