Dcs信息安全控制方法及控制站的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種工業(yè)自動(dòng)化控制技術(shù),特別涉及一種DCS信息安全控制方法及DCS信息安全控制站。
【背景技術(shù)】
[0002]現(xiàn)今越來越多工業(yè)控制系統(tǒng)的現(xiàn)場(chǎng)控制站采用商用化PLC或工業(yè)PC產(chǎn)品,這些商用化設(shè)備兼容許多通用的網(wǎng)絡(luò)協(xié)議,且普遍采用諸如IEC61131-3等標(biāo)準(zhǔn)化的編程語言,容易造成安全漏洞,被病毒、惡意軟件等威脅非法入侵。
[0003]傳統(tǒng)工業(yè)控制系統(tǒng)的軟硬件平臺(tái)存在嚴(yán)重的脆弱性,如Stuxnet震網(wǎng)病毒通過上傳MC7 (匯編語言)代碼,獲取系統(tǒng)控制權(quán)限,讓工業(yè)網(wǎng)絡(luò)內(nèi)的PLC控制器感染,修改了 DLL通訊鏈路,從而破壞了 PLC的正常運(yùn)作,甚至控制了系統(tǒng)的運(yùn)行。造成這一現(xiàn)象的一個(gè)重要原因是,大部分PLC控制器的編程體系支持匯編語言,病毒可以在上位機(jī)Windows工程師站中簡單編譯后下載到控制器運(yùn)行,而且控制器的嵌入式操作系統(tǒng)相當(dāng)開放,其運(yùn)行機(jī)制也為病毒制造者所熟悉。
[0004]然而目前大部分技術(shù)廠商針對(duì)工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全提出技術(shù)研發(fā)與解決方案主要停留在研制設(shè)備或網(wǎng)絡(luò)的安全漏洞監(jiān)測(cè)系統(tǒng)、工業(yè)網(wǎng)絡(luò)防火墻、安全審計(jì)以及面向各類協(xié)議的軟插件系統(tǒng)等第三方軟件工具的層面上,均未能從本質(zhì)上對(duì)控制系統(tǒng)組態(tài)數(shù)據(jù)的編譯、傳輸、執(zhí)行等關(guān)鍵模塊進(jìn)行安全監(jiān)測(cè)與優(yōu)化,仍然無法有力地抵制威脅的侵入。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問題之一,在于提供一種DCS信息安全控制方法,解決工業(yè)控制系統(tǒng)控制站常受病毒等威脅非法攻擊、控制站運(yùn)行故障難以可視化診斷等技術(shù)問題。
[0006]本發(fā)明要解決的技術(shù)問題之一是這樣實(shí)現(xiàn)的:一種DCS信息安全控制方法,在控制站內(nèi)設(shè)置控制引擎和安全引擎;所述控制引擎,主要負(fù)責(zé)控制組態(tài)算法的計(jì)算執(zhí)行、設(shè)備1處理以及控制引擎與上位機(jī)、控制站間的通訊管理;所述安全引擎,主要負(fù)責(zé)所述控制引擎的安全偵測(cè)與防御,包括控制站的訪問對(duì)象安全監(jiān)測(cè)、通訊數(shù)據(jù)準(zhǔn)確校驗(yàn)以及所述控制引擎執(zhí)行狀態(tài)偵測(cè);當(dāng)控制站保護(hù)投入開關(guān)啟用時(shí),上位機(jī)向控制引擎發(fā)送的任何數(shù)據(jù)或操作訪問請(qǐng)求都需要經(jīng)過安全引擎的檢測(cè)與校驗(yàn);同時(shí)安全引擎也會(huì)將異常數(shù)據(jù)、異常操作的偵測(cè)結(jié)果反饋至上位機(jī),并對(duì)異常狀況提出實(shí)時(shí)報(bào)警。
[0007]進(jìn)一步的,所述上位機(jī)向控制引擎發(fā)送操作訪問請(qǐng)求時(shí),安全引擎的檢測(cè)、校驗(yàn)以及實(shí)時(shí)報(bào)警具體為:
[0008](I)、當(dāng)控制引擎接收到上位機(jī)的操作訪問請(qǐng)求時(shí),所述安全引擎首先通過身份驗(yàn)證判斷訪問對(duì)象是否為合法用戶,若是,則允許建立連接,若不是,則禁止建立連接,并產(chǎn)生非法入侵報(bào)警;
[0009](2)、當(dāng)控制引擎未接收到上位機(jī)的訪問請(qǐng)求時(shí),若所述安全引擎檢測(cè)到所述控制引擎的通訊連接數(shù)比上一次有所增加,則判定為至少存在一個(gè)非法入侵操作,并產(chǎn)生非法入侵報(bào)警。
[0010]進(jìn)一步的,所述上位機(jī)向控制引擎發(fā)送任何數(shù)據(jù)時(shí),安全引擎的檢測(cè)、校驗(yàn)以及實(shí)時(shí)報(bào)警具體過程為:
[0011 ] (I)上位機(jī)在發(fā)送目標(biāo)通訊數(shù)據(jù)至控制引擎前,安全引擎先對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算生成校驗(yàn)碼,并將其與目標(biāo)通訊數(shù)據(jù)一同發(fā)送至控制站;
[0012](2)控制站接受目標(biāo)通訊數(shù)據(jù)及校驗(yàn)碼至通訊緩存區(qū),并根據(jù)接收到的目標(biāo)通訊數(shù)據(jù)重新計(jì)算校驗(yàn)碼;
[0013](3)安全引擎判斷新計(jì)算得到的校驗(yàn)碼與上位機(jī)發(fā)送的校驗(yàn)碼是否一致,是則將目標(biāo)通訊數(shù)據(jù)接收至控制引擎的目的共享內(nèi)存區(qū);反之,則拒絕接收目標(biāo)通訊數(shù)據(jù)至目的共享內(nèi)存區(qū),并產(chǎn)生非法數(shù)據(jù)報(bào)警。
[0014]進(jìn)一步的,所述安全引擎還實(shí)時(shí)監(jiān)測(cè)控制站的運(yùn)行狀態(tài),對(duì)異常情況產(chǎn)生相應(yīng)的報(bào)警。所述安全引擎實(shí)時(shí)監(jiān)測(cè)控制站的運(yùn)行狀態(tài),對(duì)異常情況產(chǎn)生相應(yīng)的報(bào)警的具體步驟如下:
[0015](I)在上位機(jī)完成針對(duì)控制站安全診斷事務(wù)的邏輯組態(tài)、人機(jī)交互界面組態(tài),并將診斷組態(tài)算法數(shù)據(jù)下載至控制站安全引擎中;
[0016](2)安全引擎從控制引擎中讀取控制站各功能模塊的實(shí)時(shí)狀態(tài)數(shù)據(jù);該實(shí)時(shí)狀態(tài)數(shù)據(jù)包括控制引擎的運(yùn)行狀態(tài)、CPU負(fù)荷、計(jì)算負(fù)荷、通訊負(fù)荷、通訊連接數(shù)、訪問對(duì)象以及通訊數(shù)據(jù)合法性的狀態(tài)信息;
[0017](3)安全引擎結(jié)合接收到的診斷組態(tài)數(shù)據(jù)和實(shí)時(shí)狀態(tài)數(shù)據(jù),完成安全診斷相關(guān)算法的周期性計(jì)算,并將運(yùn)行結(jié)果實(shí)時(shí)地反饋至上位機(jī),并對(duì)超過閾值范圍的異常狀態(tài)做出報(bào)警提示。
[0018]本發(fā)明要解決的技術(shù)問題之二,在于提供一種DCS信息安全控制站,解決工業(yè)控制系統(tǒng)控制站常受病毒等威脅非法攻擊、控制站運(yùn)行故障難以可視化診斷等技術(shù)問題。
[0019]本發(fā)明要解決的技術(shù)問題之二是這樣實(shí)現(xiàn)的:一種DCS信息安全控制站,包括控制引擎和安全引擎,控制引擎主要用于負(fù)責(zé)控制組態(tài)算法的計(jì)算執(zhí)行、設(shè)備1處理以及控制引擎與上位機(jī)、控制站間的通訊管理;安全引擎主要用于負(fù)責(zé)所述控制引擎的安全偵測(cè)與防御,包括控制站的訪問對(duì)象安全監(jiān)測(cè)、通訊數(shù)據(jù)準(zhǔn)確校驗(yàn)以及所述控制引擎執(zhí)行狀態(tài)偵測(cè);當(dāng)控制站保護(hù)投入開關(guān)啟用時(shí),上位機(jī)向控制引擎發(fā)送的任何數(shù)據(jù)或操作訪問請(qǐng)求都需要經(jīng)過安全引擎的檢測(cè)與校驗(yàn);同時(shí)安全引擎也會(huì)將異常數(shù)據(jù)、異常操作的偵測(cè)結(jié)果反饋至上位機(jī),并對(duì)異常狀況提出實(shí)時(shí)報(bào)警。
[0020]進(jìn)一步的,所述控制引擎進(jìn)一步包括:
[0021]控制組態(tài)執(zhí)行模塊,用于在接收到控制組態(tài)數(shù)據(jù)之后,對(duì)控制組態(tài)算法進(jìn)行分析、計(jì)算,并將計(jì)算結(jié)果實(shí)時(shí)地更新到共享內(nèi)存中,并結(jié)合現(xiàn)場(chǎng)的實(shí)時(shí)數(shù)據(jù)和控制組態(tài)數(shù)據(jù)完成控制組態(tài)算法的周期性計(jì)算;
[0022]1驅(qū)動(dòng)模塊,負(fù)責(zé)獲取現(xiàn)場(chǎng)的實(shí)時(shí)數(shù)據(jù);
[0023]基于共享內(nèi)存的實(shí)時(shí)數(shù)據(jù)庫,用于存儲(chǔ)和管理獲取到的現(xiàn)場(chǎng)的實(shí)時(shí)數(shù)據(jù)、源于上位機(jī)的控制組態(tài)數(shù)據(jù)、設(shè)備1信息以及控制站各功能模塊的實(shí)時(shí)狀態(tài)數(shù)據(jù);
[0024]其他功能模塊,主要負(fù)責(zé)控制站冗余切換、冗余數(shù)據(jù)同步、系統(tǒng)存盤與加載、組態(tài)數(shù)據(jù)在線修改、數(shù)據(jù)迀移等事務(wù)的處理。
[0025]進(jìn)一步的,所述安全引擎進(jìn)一步包括:
[0026]入侵檢測(cè)模塊,用于判斷控制引擎的訪問對(duì)象的操作是否為非法入侵操作;
[0027]數(shù)據(jù)校驗(yàn)?zāi)K,用于判斷上位機(jī)向控制引擎發(fā)送的數(shù)據(jù)的合法性;
[0028]狀態(tài)偵測(cè)模塊,用于實(shí)時(shí)監(jiān)測(cè)控制站的運(yùn)行狀態(tài);
[0029]診斷數(shù)據(jù)組態(tài)執(zhí)行模塊,用于處理控制站運(yùn)行狀態(tài)的實(shí)時(shí)分析及診斷計(jì)算等信息安全相關(guān)任務(wù),對(duì)非法入侵、非法操作以及影響控制站正常運(yùn)行的信息安全異常事件提出報(bào)警。
[0030]本發(fā)明具有如下優(yōu)點(diǎn):
[0031]1、本發(fā)明中的DCS信息安全控制站由于其運(yùn)行機(jī)理與傳統(tǒng)工業(yè)控制器不同,具有預(yù)測(cè)和防范病毒、惡意軟件等威脅入侵,支持控制站運(yùn)行狀況的實(shí)時(shí)監(jiān)測(cè),對(duì)系統(tǒng)崩盤、數(shù)據(jù)非法篡改等異常狀況提出報(bào)警等功能,因此能夠有效地抵御針對(duì)傳統(tǒng)控制器運(yùn)行機(jī)制的攻擊和威脅,確保控制站組態(tài)信息的安全,確保系統(tǒng)長時(shí)間地穩(wěn)定運(yùn)行。
[0032]2、本發(fā)明中安全引擎內(nèi)置的診斷數(shù)據(jù)組態(tài)執(zhí)行模塊,提供了與控制引擎完全相同的控制組態(tài)計(jì)算環(huán)境,這種環(huán)境支持上位機(jī)以圖形化邏輯組態(tài)的方式實(shí)現(xiàn)控制站安全信息的計(jì)算及故障診斷,使得控制站內(nèi)部的運(yùn)行狀態(tài)及其變化趨勢(shì)等信息更加透明化,能夠有力地解決故障診斷過程數(shù)據(jù)無法可視化監(jiān)測(cè)等技術(shù)問題,為工控系統(tǒng)控制站的信息安全提供了一種更加靈活、多變的信息安全診斷方法。
【附圖說明】
[0033]下面參照附圖結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說明。
[0034]圖1為本發(fā)明DCS信息安全控制站的結(jié)構(gòu)示意圖。
[0035]圖2為本發(fā)明DCS信息安全控制方法的流程圖。
[0036]圖3為本發(fā)明方法的非法入侵監(jiān)測(cè)操作步驟流程圖。
[0037]圖4為本發(fā)明方法的目標(biāo)數(shù)據(jù)合法性校驗(yàn)流程圖。
【具體實(shí)施方式】
[0038]如圖1到圖4所示,本發(fā)明通過改變對(duì)傳統(tǒng)控制站訪問對(duì)象、數(shù)據(jù)傳輸和運(yùn)行狀態(tài)的監(jiān)測(cè)方式,對(duì)可能造成系統(tǒng)崩潰、數(shù)據(jù)被篡改等因素進(jìn)行預(yù)測(cè)與防范,能夠有效地防御病毒等威脅的攻擊,保護(hù)工業(yè)控制系統(tǒng)的信息安全。
[0039]如圖1所示,本發(fā)明的DCS信息安全控制站采用雙引擎模式驅(qū)動(dòng)控制組態(tài)數(shù)據(jù)的計(jì)算執(zhí)行與安全管理,其內(nèi)部是由安全引擎和控制引擎兩部分構(gòu)成。
[0040]所述控制引擎,主要負(fù)責(zé)控制組態(tài)算法的計(jì)算執(zhí)行、設(shè)備1處理以及控制引擎與上位機(jī)、控制站間的通訊管理;
[0041]所述安全引擎,主要負(fù)責(zé)所述控制引擎的安全偵測(cè)與防御,包括控制站的訪問對(duì)象安全監(jiān)測(cè)、通訊數(shù)據(jù)準(zhǔn)確校驗(yàn)以及所述控制引擎執(zhí)行狀態(tài)偵測(cè);
[0042]如圖2所示,當(dāng)控制站保護(hù)投入開關(guān)啟用時(shí),上位機(jī)向控制引擎發(fā)送的任何數(shù)據(jù)或操作訪問請(qǐng)求都需要經(jīng)過安全引擎的檢測(cè)與校驗(yàn);同時(shí)安全引擎也會(huì)將異常數(shù)據(jù)、異常操作的偵測(cè)結(jié)果反饋至上位機(jī),并對(duì)異常狀況提出實(shí)時(shí)報(bào)警。
[0043]如圖1所示,所述控制引擎進(jìn)一步包括:
[0044]控制組態(tài)執(zhí)行模塊,用于在接收到控制組態(tài)數(shù)據(jù)之后,對(duì)控制組態(tài)算法進(jìn)行分析、計(jì)算,并將計(jì)算結(jié)果實(shí)時(shí)地更新到共享內(nèi)存中,并結(jié)合現(xiàn)場(chǎng)的實(shí)時(shí)數(shù)據(jù)和控制組態(tài)數(shù)據(jù)完成控制組態(tài)算法的周期性計(jì)算;
[0045]1驅(qū)動(dòng)模塊,負(fù)責(zé)獲取現(xiàn)場(chǎng)的實(shí)時(shí)數(shù)據(jù);
[0046]基于共享內(nèi)存的實(shí)時(shí)數(shù)據(jù)庫,用于存儲(chǔ)和管理獲取到的現(xiàn)場(chǎng)的實(shí)時(shí)數(shù)據(jù)、源于上位機(jī)的控制組態(tài)數(shù)據(jù)、設(shè)備1信息以及控制站各功能模塊的實(shí)時(shí)狀態(tài)數(shù)據(jù);
[0047]其他功能模塊,主要負(fù)責(zé)控制站冗余切換、冗余數(shù)據(jù)同步、系統(tǒng)存盤與加載、組態(tài)數(shù)據(jù)在線修改、數(shù)據(jù)迀移等事務(wù)的處理。
[0048]所述安全引擎進(jìn)一步包括:
[0049]入侵檢測(cè)模塊,用于判斷控制引擎的訪問對(duì)象的操作是否為非法入侵操作;
[0050]數(shù)據(jù)校驗(yàn)?zāi)K,用于判斷上位機(jī)向控制引擎發(fā)送的數(shù)據(jù)的合法性;
[0051]狀態(tài)偵測(cè)模塊,用于實(shí)時(shí)監(jiān)測(cè)控制站的運(yùn)行狀態(tài);
[0052]診斷數(shù)據(jù)組態(tài)執(zhí)行模塊,用于處理控制站運(yùn)行狀態(tài)的實(shí)時(shí)分析及診斷計(jì)算等信息安全相關(guān)任務(wù),對(duì)非法入侵、非法操作以及影響控制站正常運(yùn)行的信息安全異常事件提出報(bào)警。
[0053]其中,所述安全引擎的診斷數(shù)據(jù)組態(tài)執(zhí)行模塊與控制引擎的控制組態(tài)執(zhí)行模塊工作原理相同,即:
[0054]I) 二者都具有計(jì)算、執(zhí)行組態(tài)算法的功能,且提供的組態(tài)算法計(jì)算環(huán)境完全相同;
[0055]2)都支持上位機(jī)以圖形化組態(tài)的方式來實(shí)現(xiàn)事務(wù)的計(jì)算邏輯;
[0056]3