本發(fā)明涉及工業(yè)控制安全領(lǐng)域技術(shù)領(lǐng)域,特別涉及一種工業(yè)控制系統(tǒng)中工業(yè)控制協(xié)議的安全防護(hù)方法。
背景技術(shù):
由于工業(yè)控制系統(tǒng)設(shè)計(jì)之初是一個(gè)與外界物理隔離的系統(tǒng),因此傳統(tǒng)的工業(yè)控制協(xié)議沒(méi)有考慮信息安全和網(wǎng)絡(luò)安全的問(wèn)題。隨著標(biāo)準(zhǔn)網(wǎng)絡(luò)和互聯(lián)網(wǎng)技術(shù)在工業(yè)控制系統(tǒng)的廣泛應(yīng)用,工業(yè)控制系統(tǒng)的安全威脅正日益加劇,現(xiàn)有的防火墻技術(shù)只能部分解決安全問(wèn)題,比如訪問(wèn)控制列表(Access Control List)就不能解決無(wú)序數(shù)據(jù)包的問(wèn)題;狀態(tài)檢測(cè)防火墻(SPI)只關(guān)心報(bào)文的前后關(guān)聯(lián)性,對(duì)于那些合規(guī),有關(guān)聯(lián)性但對(duì)控制設(shè)備和執(zhí)行設(shè)備有害的命令并不能阻止;再有深度包解析的防火墻盡管能夠?qū)?yīng)用數(shù)據(jù)包的內(nèi)容進(jìn)行解析,但是完全解碼并在應(yīng)用協(xié)議級(jí)別分析每個(gè)數(shù)據(jù)包需要額外的處理能力,深度包解析技術(shù)隱含著巨大的處理能力的消耗和突出的網(wǎng)絡(luò)延時(shí),在典型的工業(yè)控制系統(tǒng)對(duì)實(shí)時(shí)性的要求很高,因此使用全方位的深度包解析的應(yīng)用場(chǎng)景并不普遍,這些外在的防護(hù)手段具有明顯的局限性。
技術(shù)實(shí)現(xiàn)要素:
為此,本發(fā)明提供了一種工業(yè)控制系統(tǒng)中工業(yè)控制協(xié)議的安全防護(hù)方法,用于解決在控制系統(tǒng)中的控制設(shè)備在外界干擾或自身出現(xiàn)問(wèn)題時(shí)發(fā)送不符合正常操作流程的操作指令,導(dǎo)致控制設(shè)備或執(zhí)行設(shè)備功能喪失所造成的危險(xiǎn)等問(wèn)題。
為實(shí)現(xiàn)本發(fā)明的目的,本發(fā)明所采用的技術(shù)方案如下:
1.當(dāng)配置控制設(shè)備時(shí),在工業(yè)控制協(xié)議棧中對(duì)控制設(shè)備支持的所有工業(yè)控制協(xié)議的控制指令進(jìn)行安全選項(xiàng)的預(yù)定義,預(yù)定義的內(nèi)容是根據(jù)正常的操作流程,控制設(shè)備功能要求和控制設(shè)備安全對(duì)控制指令執(zhí)行的限制,現(xiàn)場(chǎng)執(zhí)行設(shè)備的功能要求和設(shè)備安全對(duì)控制指令執(zhí)行的限制。
2.當(dāng)一個(gè)控制系統(tǒng)中的上位機(jī)發(fā)送一條控制指令到控制設(shè)備時(shí),控制設(shè)備首先會(huì)進(jìn)行工業(yè)控制協(xié)議一致性檢查,當(dāng)滿(mǎn)足協(xié)議一致性要求之后,控制設(shè)備會(huì)根據(jù)控制指令安全選項(xiàng)預(yù)先設(shè)置決定是否執(zhí)行該條控制指令,若該控制指令不符合安全設(shè)置,控制設(shè)備放棄執(zhí)行該控制指令,反之,執(zhí)行該控制指令。
本發(fā)明的有益效果:本發(fā)明能夠使工業(yè)控制協(xié)議在接收到外界錯(cuò)誤指令的時(shí)候保證控制設(shè)備自身和控制設(shè)備所控制的執(zhí)行設(shè)備的安全;這樣既可以避免內(nèi)部人員的誤操作,也可以有效阻止外部各種針對(duì)控制設(shè)備及執(zhí)行設(shè)備為目標(biāo)的攻擊行為,提高工業(yè)控制系統(tǒng)的安全防護(hù)效果。
附圖說(shuō)明
圖1是本發(fā)明在工業(yè)控制系統(tǒng)中工業(yè)控制協(xié)議安全方法實(shí)現(xiàn)方法示意圖;
圖2是具有代表性的控制設(shè)備、人機(jī)界面和上位機(jī)組成的示意圖;
圖3是具有代表性的控制設(shè)備實(shí)現(xiàn)控制指令處理的流程圖;
圖4是本發(fā)明在控制設(shè)備實(shí)現(xiàn)控制指令安全防護(hù)方法的流程圖;
圖5是本發(fā)明在人機(jī)界面中配置控制指令列表的示意圖;
圖6是本發(fā)明安全防護(hù)方法流程示意圖。
附圖標(biāo)記:
1-人機(jī)界面, 2-上位機(jī),
3-控制設(shè)備, 4-執(zhí)行設(shè)備,
100-工業(yè)控制環(huán)境, 200-通信接口,
202-處理器, 204-用戶(hù)界面,
300-工業(yè)控制協(xié)議, 302-應(yīng)用程序接口,
304-輸入信息, 306-輸出控制指令。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的較佳實(shí)施例進(jìn)行詳細(xì)闡述,參考標(biāo)號(hào)是指本發(fā)明中的組件、技術(shù),以便本發(fā)明的優(yōu)點(diǎn)和特征在適合的環(huán)境下實(shí)現(xiàn)能更易于被理解。下面的描述是對(duì)本發(fā)明的具體實(shí)施例的描述,并且與權(quán)利要求相關(guān)的其它沒(méi)有明確說(shuō)明的具體實(shí)現(xiàn)也屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提出了一個(gè)通過(guò)與預(yù)定義的控制流程行為模式比較的方法來(lái)決定是否執(zhí)行/告警/阻斷控制指令的安全防護(hù)方法,區(qū)別于網(wǎng)絡(luò)防火墻的安全防護(hù)方法,并且這種方法還有效的解決了設(shè)備的處理能力不足和網(wǎng)絡(luò)延時(shí)造成的影響。
在圖1表示工業(yè)控制系統(tǒng)環(huán)境100中,上位機(jī)2與控制設(shè)備3之間通過(guò)工業(yè)控制協(xié)議300進(jìn)行通信??刂圃O(shè)備3和人機(jī)界面1之間存在一個(gè)應(yīng)用程序接口302,使用者通過(guò)人機(jī)界面1和應(yīng)用程序接口302對(duì)工業(yè)控制協(xié)議300中的每個(gè)控制指令安全操作進(jìn)行設(shè)置,控制設(shè)備3根據(jù)應(yīng)用程序接口302中的設(shè)置決定是否執(zhí)行從工業(yè)控制協(xié)議300中接收到的控制指令,執(zhí)行設(shè)備4通過(guò)控制設(shè)備3的輸出控制指令306受控于上位機(jī)2,同時(shí)執(zhí)行設(shè)備4通過(guò)控制設(shè)備3的輸入信息304反饋現(xiàn)場(chǎng)測(cè)量信息,比如溫度、壓力、轉(zhuǎn)速等等。
圖2是控制設(shè)備3,上位機(jī)2和人機(jī)界面1的組成的通用結(jié)構(gòu)示意圖,它們的基本組成是通信接口200,處理器202和用戶(hù)界面204。其中通信接口200通過(guò)特定的通信協(xié)議與外界通信,處理器202負(fù)責(zé)所有設(shè)備的計(jì)算和管理,用戶(hù)界面204提供顯示狀態(tài)和配置界面的功能。
一般典型的工業(yè)控制協(xié)議執(zhí)行的流程在圖3中描述,一個(gè)控制設(shè)備3通過(guò)工業(yè)控制協(xié)議300接收到上位機(jī)2控制指令時(shí)的處理流程,如步驟S31上位機(jī)2發(fā)送控制指令給控制設(shè)備3,控制設(shè)備3進(jìn)行步驟S32首先檢查收到的指令是否符合工業(yè)控制協(xié)議300的規(guī)范,若符合,如步驟S33執(zhí)行控制指令,并進(jìn)行步驟S34向上位機(jī)發(fā)送響應(yīng)信息和數(shù)據(jù),返回準(zhǔn)備接收新控制指令的狀態(tài);若不符合,進(jìn)行步驟S35控制設(shè)備3向上位機(jī)2發(fā)送出錯(cuò)信息,返回準(zhǔn)備接收新控制指令。
在實(shí)現(xiàn)本發(fā)明的工業(yè)控制協(xié)議的安全實(shí)現(xiàn)機(jī)制的第一步是在人機(jī)界面1設(shè)備上為所有工業(yè)控制協(xié)議300中的每個(gè)控制指令預(yù)定義安全設(shè)置。圖5是人機(jī)界面1的設(shè)置實(shí)施例的示意圖。操作員根據(jù)操作流程,控制設(shè)備和現(xiàn)場(chǎng)設(shè)備的不同要求進(jìn)行設(shè)置。設(shè)置信息通過(guò)人機(jī)界面1和控制設(shè)備3之間的應(yīng)用程序接口302傳達(dá)給控制設(shè)備3。應(yīng)用程序接口302傳輸包括所有工業(yè)控制協(xié)議中包含的控制指令列表、安全設(shè)置選項(xiàng)、時(shí)間選項(xiàng)、條件選項(xiàng)和其它選項(xiàng)。其中控制指令包括所有控制設(shè)備3使用或支持的所有特定工業(yè)控制協(xié)議的控制指令:控制指令1,控制指令2,……,控制指令N;安全設(shè)置:允許;特定時(shí)間段允許;特定條件允許;特定時(shí)間+特定條件允許;禁止;以及各種符合邏輯的組合。時(shí)間選項(xiàng)包括:永遠(yuǎn)有效,永不有效,和指定時(shí)間段。時(shí)間選項(xiàng)也可以根據(jù)需要包括日期或星期等條件。條件選項(xiàng)主要指在某種特定條件比如:現(xiàn)場(chǎng)執(zhí)行設(shè)備4對(duì)控制設(shè)備3的輸入信息304的測(cè)量參數(shù)處于某個(gè)值時(shí),允許或禁止該指令;其它條件是指控制指令不僅要符合控制協(xié)議的一致性要求,但是其中的數(shù)據(jù)或地址也要符合控制設(shè)備的寄存器映射規(guī)則或范圍等等控制設(shè)備3的自身?xiàng)l件因素,才能允許該控制指令執(zhí)行等等。這里的時(shí)間選項(xiàng),條件選項(xiàng)和其它選項(xiàng)可以是各種情況的組合,上述說(shuō)明并不限制本發(fā)明的專(zhuān)利范圍。圖5的呈現(xiàn)形式并非用戶(hù)界面唯一選擇,用于工業(yè)控制協(xié)議安全設(shè)置的預(yù)定義用戶(hù)界面只要包括控制指令列表和控制指令安全預(yù)設(shè)以及預(yù)設(shè)值條件的特征都包括在本發(fā)明的范圍以?xún)?nèi)。
控制設(shè)備3通過(guò)工業(yè)控制協(xié)議預(yù)定義API應(yīng)用程序接口302得到在人機(jī)界面1上預(yù)定義的安全設(shè)置之后,本發(fā)明的工業(yè)控制協(xié)議的安全實(shí)現(xiàn)機(jī)制流程的一個(gè)實(shí)施例在圖4中進(jìn)行了描述,如步驟S41處于運(yùn)行之中的控制設(shè)備3準(zhǔn)備通過(guò)工業(yè)控制協(xié)議接收來(lái)自上位機(jī)2的控制指令,當(dāng)控制設(shè)備3接收到一個(gè)控制指令時(shí)如步驟S42首先判斷控制指令是否符合正在使用的工業(yè)控制協(xié)議300的規(guī)定,如果不符合,如步驟S47控制設(shè)備3進(jìn)行出錯(cuò)處理并返回錯(cuò)誤代碼給上位機(jī)2;如果從上位機(jī)2接收到的控制指令符合正在使用的工業(yè)控制協(xié)議300的規(guī)定,如步驟S43控制設(shè)備3將通過(guò)應(yīng)用程序接口302檢查該控制指令的安全操作選項(xiàng),如步驟S44判斷是否允許執(zhí)行控制指令,如步驟S45若符合運(yùn)行要求的控制指令將被執(zhí)行,并進(jìn)行步驟S46返回工業(yè)控制協(xié)議300規(guī)定的操作碼和數(shù)據(jù)響應(yīng);若應(yīng)用程序接口302中該控制指令的安全操作選項(xiàng)為屏蔽/放棄,如步驟S48控制設(shè)備3放棄該控制指令的操作并返回初始接收控制指令狀態(tài)。
一種工業(yè)控制系統(tǒng)中工業(yè)控制協(xié)議的安全防護(hù)方法,該方法的流程示意圖如圖6所示,通過(guò)人機(jī)界面在工業(yè)控制協(xié)議棧中預(yù)先設(shè)定控制指令的執(zhí)行條件如步驟S61所示,接下來(lái)如步驟S62所示上位機(jī)發(fā)送控制指令到控制設(shè)備,并對(duì)控制指令的執(zhí)行條件進(jìn)行判斷,最后進(jìn)行步驟S63所示判斷符合執(zhí)行條件后,控制指令發(fā)送到執(zhí)行設(shè)備,若不符合執(zhí)行條件則控制指令不發(fā)送到執(zhí)行設(shè)備。實(shí)現(xiàn)安全防護(hù)方法的系統(tǒng)包括控制設(shè)備、上位機(jī)、人機(jī)界面和執(zhí)行設(shè)備;上位機(jī)和控制設(shè)備之間,控制設(shè)備與執(zhí)行設(shè)備之間通過(guò)通信網(wǎng)絡(luò)連接。通過(guò)操作人員在控制設(shè)備中進(jìn)行控制協(xié)議的預(yù)定義設(shè)定,并對(duì)所有通過(guò)上位機(jī)發(fā)出的控制指令必須在控制設(shè)備中進(jìn)行預(yù)定義判斷比較,只有合法指令才能通過(guò)并被發(fā)送到執(zhí)行設(shè)備,進(jìn)而實(shí)現(xiàn)對(duì)工業(yè)控制系統(tǒng)中工業(yè)控制協(xié)議的安全防護(hù),避免工業(yè)控制系統(tǒng)遭遇到非法入侵,造成工業(yè)控制設(shè)備和執(zhí)行設(shè)備的損壞,在原有的網(wǎng)絡(luò)防火墻安全防護(hù)基礎(chǔ)上,增加了根據(jù)用戶(hù)特定需求的安全防護(hù)方法,提升工業(yè)控制系統(tǒng)的安全效果。
工業(yè)控制協(xié)議棧的軟件中包括一個(gè)應(yīng)用程序API接口,該應(yīng)用程序API接口提供所有工業(yè)控制協(xié)議中定義的控制指令的執(zhí)行配置列表,執(zhí)行配置列表中的每個(gè)控制指令都有對(duì)應(yīng)的權(quán)限設(shè)置,權(quán)限設(shè)置選項(xiàng)包括但不限于:執(zhí)行、放棄,對(duì)執(zhí)行配置列表中的控制指令的權(quán)限進(jìn)行設(shè)置,為用戶(hù)提供權(quán)限選擇,方便用戶(hù)根據(jù)實(shí)際工業(yè)現(xiàn)場(chǎng)的控制需求進(jìn)行特定的設(shè)定,擴(kuò)大本安全防護(hù)方法的適用范圍。
工業(yè)控制協(xié)議棧的接口與人機(jī)界面中的圖形用戶(hù)接口相連,并且在圖形用戶(hù)接口,操作員能夠根據(jù)控制設(shè)備的正常操作規(guī)程通過(guò)圖形用戶(hù)界面設(shè)置選擇相關(guān)的控制設(shè)備對(duì)于接收到的命令處理方法,即執(zhí)行或放棄,通過(guò)人機(jī)界面,方便遠(yuǎn)程控制端工程師通過(guò)遠(yuǎn)程實(shí)現(xiàn)對(duì)工業(yè)控制系統(tǒng)安全防護(hù)方法的定制設(shè)定和啟用。
在上述的控制指令安全防護(hù)限定方法的基礎(chǔ)上,進(jìn)一步對(duì)于控制命令執(zhí)行的設(shè)置能夠根據(jù)時(shí)間標(biāo)簽來(lái)進(jìn)行設(shè)定,需要在特定的時(shí)間點(diǎn)或時(shí)間段才允許執(zhí)行或放棄一個(gè)或多個(gè)控制指令,進(jìn)一步工業(yè)控制系統(tǒng)的安全防護(hù)效果。
工業(yè)控制協(xié)議棧的軟件中包括一個(gè)應(yīng)用程序接口(例如API接口),應(yīng)用程序接口提供所有交互命令的執(zhí)行配置列表,使得執(zhí)行配置列表中的每個(gè)控制指令都有對(duì)應(yīng)的權(quán)限設(shè)置,權(quán)限設(shè)置選項(xiàng)包括但不限于:執(zhí)行、放棄和特定的規(guī)定有效時(shí)段,進(jìn)一步增加安全防護(hù)等級(jí)。其中,規(guī)定有效時(shí)段包括永遠(yuǎn)有效,永不有效,以及具體的時(shí)間段有效的定義。
對(duì)于控制指令的執(zhí)行的設(shè)置能夠以滿(mǎn)足特定的條件選項(xiàng)或條件選項(xiàng)的組合來(lái)決定執(zhí)行或放棄一個(gè)或多個(gè)控制指令,其中,條件選項(xiàng)是與控制設(shè)備自身相關(guān)要求控制指令符合工業(yè)控制協(xié)議一致性要求,但相關(guān)的數(shù)據(jù)部分會(huì)造成控制指令執(zhí)行出錯(cuò)的情況;條件選項(xiàng)包括但不限于協(xié)議寄存器大小限定、協(xié)議長(zhǎng)度定義限定、寄存器地址匹配限定。
工業(yè)控制協(xié)議棧的軟件實(shí)現(xiàn)中包括一個(gè)應(yīng)用程序接口,應(yīng)用程序接口提供所有交互命令的執(zhí)行配置列表,列表中的每個(gè)控制指令都有對(duì)應(yīng)的權(quán)限設(shè)置,權(quán)限設(shè)置選項(xiàng)包括但不限于:執(zhí)行,執(zhí)行的條件選項(xiàng);放棄,放棄的條件選項(xiàng)。
另一實(shí)施例,基于上述安全防護(hù)方法,控制命令的執(zhí)行設(shè)置還能夠根據(jù)執(zhí)行設(shè)備的測(cè)量值或執(zhí)行設(shè)備的信息作為決定執(zhí)行或放棄一個(gè)或多個(gè)命令的限定條件,即控制指令的執(zhí)行與否,還需要根據(jù)現(xiàn)場(chǎng)執(zhí)行設(shè)備的狀態(tài)信息進(jìn)一步判斷決定,避免因錯(cuò)誤的操作指令對(duì)執(zhí)行設(shè)備造成不良影響;并且,工業(yè)控制協(xié)議棧的軟件中包括一個(gè)應(yīng)用程序接口,應(yīng)用程序接口提供所有交互命令的執(zhí)行配置列表,執(zhí)行配置列表中的每個(gè)控制指令都有對(duì)應(yīng)的權(quán)限設(shè)置,權(quán)限設(shè)置選項(xiàng)包括但不限于以下含義:執(zhí)行,執(zhí)行的條件選項(xiàng);放棄,放棄的條件選項(xiàng)。
以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。
應(yīng)該注意的是,上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包括”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱(chēng)。