一種工業控制網絡安全防護方法和系統的制作方法
【專利摘要】本發明公開了一種工業控制網絡安全防護方法和系統,該工業控制網絡被劃分為至少兩個子網絡層;其中,該工業控制網絡與外部網絡之間設置有防火墻,工業控制網絡內設置有控制子網絡層間數據傳輸的安全防護模塊,該方法包括:安全防護模塊截獲所述子網絡層之間傳輸的數據報文;安全防護模塊判斷所述數據報文所請求的操作是否滿足預設條件;當所述安全防護模塊判斷出所述操作不滿足預設條件時,阻斷所述數據報文的傳輸;當所述安全防護模塊判斷出所述操作滿足所述預設條件時,濾除所述數據報文中存在安全隱患的數據,并將濾除后的數據報文向所述數據報文對應的目的子網絡層傳輸。通過該方法可以提高工業控制網絡的安全性以及可靠性。
【專利說明】一種工業控制網絡安全防護方法和系統
【技術領域】
[0001]本發明涉及工業控制系統網絡安全【技術領域】,更具體的說是涉及一種工業控制網絡安全防護方法和系統。
【背景技術】
[0002]工業控制系統是由各種自動化控制組件和實時數據采集、監測的過程控制組件共同構成。工業控制系統已經廣泛遍布于工業、能源、交通、水利等領域,用于控制生產設備的運行。
[0003]隨著信息化和工業化的融合,工業控制系統的安全問題也變得日益突出。一旦工業控制系統出現安全漏洞,則使得工業控制系統遭受病毒、木馬等威脅攻擊的可能性增大,進而使得工業生成控制過程面臨安全性威脅。目前,工業控制系統中所采取的安全防護措施一般是在工業控制系統網絡的企業管理層和外部網絡之間部署防火墻。由于防護措施較少,一旦該企業管理層與外部網絡之間的防火墻被攻擊者攻破,則工業控制系統的內部網絡便很容易被控制,從而使得工業控制系統中的生產資料等數據被竊取,或者現場設備被惡意操控,影響到正常的工業控制。
【發明內容】
[0004]有鑒于此,本發明提供一種工業控制網絡安全防護方法和系統,以提高工業控制網絡的安全性以及可靠性。
[0005]為實現上述目的,本發明提供如下技術方案:一種工業控制網絡安全防護方法,所述工業控制網絡被劃分為至少兩個子網絡層;其中,所述工業控制網絡與外部網絡之間設置有防火墻,所述工業控制網絡內設置有控制所述子網絡層間數據傳輸的安全防護模塊,所述方法包括:
[0006]所述安全防護模塊截獲所述子網絡層之間傳輸的數據報文;
[0007]所述安全防護模塊判斷所述數據報文所請求的操作是否滿足預設條件;
[0008]當所述安全防護模塊判斷出所述操作不滿足預設條件時,阻斷所述數據報文的傳輸;
[0009]當所述安全防護模塊判斷出所述操作滿足所述預設條件時,濾除所述數據報文中存在安全隱患的數據,并將濾除后的數據報文向所述數據報文對應的目的子網絡層傳輸;
[0010]其中,所述數據報文中存在安全隱患的數據至少包括:惡意代碼以及不滿足預設的訪問控制規則的數據報文,其中,所述不滿足預設的訪問控制規則的數據報文至少包括:能夠引起DOS攻擊的數據報文和報文長度超過預設長度的數據報文。
[0011]優選的,所述工業控制網絡被劃分為至少兩個子網絡層,包括:
[0012]所述工業控制網絡至少被劃分為企業管理網絡層、制造執行系統網絡層、過程監控網絡層、現場控制網絡層,其中,所述企業管理網絡層通過網絡與所述制造執行系統網絡層連接,所述制造執行系統網絡層通過網絡與所述過程監控網絡層連接,所述過程監控網絡層與所述現場控制網絡層連接。
[0013]優選的,所述工業控制網絡內設置有控制所述企業管理網絡層與所述制造執行系統網絡層間數據傳輸的安全防護模塊;
[0014]所述安全防護模塊所述截獲所述子網絡層之間傳輸的數據報文,包括:
[0015]所述安全防護模塊截獲所述企業管理網絡層向所述制造執行系統網絡層傳輸的第一數據報文;
[0016]所述安全防護模塊判斷所述數據報文所請求的操作是否滿足預設條件,包括:
[0017]所述安全防護模塊對所述第一數據報文的發起方進行身份認證,并分析所述第一數據報文針對所述制造執行系統網絡層中存儲的生產資料信息的第一處理請求;
[0018]所述安全防護模塊根據所述身份認證結果以及所述第一處理請求,判斷是否所述第一數據報文對所述生產資料信息的訪問請求不屬于非授權訪問,以及所述第一處理請求所請求的處理操作不屬于預設的違規操作;
[0019]相應的,當所述安全防護模塊確定出所述第一數據報文對所述生產資料數據的訪問請求不屬于非授權訪問,且所述第一處理請求所請求的處理操作不屬于所述違規操作時,則確定所述第一數據報文所請求的操作滿足預設條件。
[0020]優選的,所述工業控制網絡內設置有控制所述制造執行系統網絡層與所述過程監控網絡層間數據傳輸的安全防護模塊;
[0021]其中,所述安全防護模塊截獲所述子網絡層之間傳輸的數據報文,包括:
[0022]所述安全防護模塊截獲所述制造執行系統網絡層向所述過程監控網絡層傳輸的第二數據報文;
[0023]所述安全防護模塊判斷所述數據報文所請求的操作是否滿足預設條件,包括:
[0024]所述安全防護模塊判斷所述第二數據報文所請求訪問的數據庫地址是否為所述過程監控網絡層中指定數據庫的地址;
[0025]相應的,當所述安全防護模塊判斷出所述第二數據報文所請求訪問的數據庫地址為所述指定數據庫的地址時,則確定所述第二數據報文所請求的操作滿足預設條件。
[0026]優選的,所述工業控制網絡內設置有控制所述過程監控網絡層與現場控制網絡層間數據傳輸的安全防護模塊;
[0027]所述安全防護模塊截獲所述子網絡層之間傳輸的數據報文,包括:
[0028]所述安全防護模塊截獲所述過程監控網絡層向所述現場控制網絡層傳輸的第三數據報文;
[0029]所述安全防護模塊判斷所述數據報文所請求的操作是否滿足預設條件,包括:
[0030]所述安全防護模塊確定所述第三數據報文所包含的控制指令,其中,所述控制指令為下發到所述現場控制網絡層中的控制器內的運行指令;
[0031]所述安全防護模塊判斷所述控制器執行所述運行指令是否會導致現場設備的運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據;
[0032]相應的,當所述安全防護模塊判斷出所述控制器執行所述運行指令會導致所述現場設備運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據,則確定所述第三數據報文所請求的操作不滿足預設條件。
[0033]優選的,所述過程監控網絡層包括:通過網絡連接的客戶端網絡區和服務器網絡區,其中,所述客戶端網絡區至少包括通過網絡連接的操作員站以及實時數據庫服務器,所述服務器網絡區至少包括操作站服務器、工程師站以及OPC服務器;
[0034]所述客戶端網絡區設置有第一加解密模塊,所述服務器網絡區設置有第二加解密模塊;
[0035]所述方法還包括:
[0036]所述第一加解密模塊獲取所述客戶端網絡區輸出至所述服務器網絡區的指令數據包,根據第一私鑰對所述指令數據包進行加密,并將加密后的指令數據包傳輸至所述服務器網絡區;
[0037]所述第二加解密模塊截獲傳輸至所述服務器網絡區的所述指令數據包,根據所述第一私鑰對應的第一公鑰對所述指令數據包進行解密,并當檢測所述指令數據包中包含的控制指令屬于指定類型的控制指令時,將所述指令數據包對應的目的終端,所述目的終端為所述服務器網絡區中的操作站服務器、工程師站或者OPC服務器。
[0038]優選的,所述現場控制網絡層的控制器通過現場總線與現場設備層的現場設備相連,在所述現場總線上連接有控制網絡層與所述現場設備網絡層之間設置有現場入侵感知模塊;
[0039]所述方法還包括:
[0040]所述現場入侵感知模塊對接入現場總線上所有設備進行安全分析,對現場設備的狀態進行在線檢測,并對現場設備的數據資源、操作系統或者應用平臺進行檢測,同時,對基于工業控制系統現場設備層通信協議傳輸的所有數據進行檢測,當檢測到異常時,輸出提示信息。
[0041]另一方面,本發明還提供了一種工業控制網絡安全防護系統,所述工業控制網絡被劃分為至少兩個子網絡層,所述系統包括:
[0042]設置于所述工業控制網絡與外部網絡之間的防火墻;
[0043]以及對能夠進行數據傳輸的子網絡層之間的數據傳輸進行控制的安全防護模塊;
[0044]其中,所述安全防護模塊包括:
[0045]報文截獲單元,用于截獲所述子網絡層之間傳輸的數據報文;
[0046]判斷單元,用于判斷所述數據報文所請求的操作是否滿足預設條件;
[0047]報文阻斷單元,用于當所述操作不滿足預設條件時,阻斷所述數據報文的傳輸;
[0048]報文濾除單元,用于當所述安全防護模塊判斷出所述操作滿足所述預設條件時,濾除所述數據報文中存在安全隱患的數據,并將濾除后的數據報文向所述數據報文對應的目的子網絡層傳輸;
[0049]其中,所述數據報文中存在安全隱患的數據至少包括:惡意代碼以及不滿足預設的訪問控制規則的數據報文,其中,所述不滿足預設的訪問控制規則的數據報文至少包括:能夠引起DOS攻擊的數據報文和報文長度超過預設長度的數據報文。
[0050]優選的,所述工業控制網絡至少被劃分為企業管理網絡層、制造執行系統網絡層、過程監控網絡層、現場控制網絡層,其中,所述企業管理網絡層通過網絡與所述制造執行系統網絡層連接,所述制造執行系統網絡層通過網絡與所述過程監控網絡層連接,所述過程監控網絡層與所述現場控制網絡層連接。[0051]優選的,所述安全防護模塊包括控制所述企業管理網絡層與所述制造執行系統網絡層之間數據傳輸的第一安全防護模塊;
[0052]相應的,所述報文截獲單元包括:第一報文截獲單元,用于截獲所述企業管理網絡層向所述制造執行系統網絡層傳輸的第一數據報文;
[0053]所述判斷單元,包括:
[0054]身份認證單元,用于對所述第一數據報文的發起方進行身份認證,并當根據身份認證結果判斷出所述第一數據報文對所述生產資料信息的訪問請求屬于非授權訪問時,確定所述第一數據報文所請求的操作不滿足預設條件;
[0055]行為審計單元,用于分析所述第一數據報文針對所述制造執行系統網絡層中存儲的生產資料信息的第一處理請求,并當判斷出第一處理請求所請求的處理操作屬于預設的違規操時,確定所述第一數據報文所請求的操作不滿足預設條件;
[0056]所述報文阻斷單元,包括:第一報文阻斷單元,用于當所述身份認證單元和/或所述行為審計單元確定出所述第一數據報文所請求的操作不滿足預設條件時,阻斷所述數據報文的傳輸;
[0057]所述報文濾除單元,包括:第一報文濾除單元,用于當所述身份單元和所述行為審計單元確定所述第一數據報文所請求的操作滿足所述預設條件時,濾除所述第一數據報文中存在安全隱患的數據,將濾除后的第一數據報文向所述制造執行系統網絡層傳輸。
[0058]優選的,所述安全防護模塊包括控制所述制造執行系統網絡層與所述過程監控網絡層之間數據傳輸的第二安全防護模塊;
[0059]其中,所述報文截獲單元,包括:
[0060]第二報文截獲單元,用于截獲所述制造執行系統網絡層向所述過程監控網絡層傳輸的第二數據報文;
[0061]所述判斷單元,包括:
[0062]第二判斷單元,用于判斷所述第二數據報文所請求訪問的數據庫地址是否為所述過程監控網絡層中指定數據庫的地址;
[0063]相應的,所述報文阻斷單元包括:第二報文阻斷單元,用于當所述第二判斷單元判斷出所述第二數據報文所請求訪問的數據庫地址不是所述指定數據庫的地址時,阻斷所述第二數據報文向所述過程監控網絡層的傳輸。
[0064]所述報文濾除單元包括:第二報文濾除單元,用于當所述第二判斷單元判斷出所述第二數據報文所請求訪問的數據庫地址為所述指定數據庫的地址時,濾除所述第二數據報文中存在安全隱患的數據,將濾除后的第二數據報文向所述過程監控網絡層傳輸。
[0065]優選的,所述安全防護模塊包括控制所述過程監控網絡層與所述現場控制網絡層之間數據傳輸的第三安全防護模塊;
[0066]相應的,所述報文截獲單元,包括:第三報文截獲單元,用于截獲所述過程監控網絡層向所述現場控制網絡層傳輸的第三數據報文;
[0067]所述判斷單元,包括:指令分析單元,用于確定所述第三數據報文所包含的控制指令,其中,所述控制指令為下發到所述現場控制網絡層中的控制器內的運行指令;
[0068]第三判斷單元,用于判斷所述控制器執行所述運行指令是否會導致現場設備的運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據;[0069]所述報文阻斷單元包括:第三報文阻斷單元,用于當所述第三判斷單元判斷出所述控制器執行所述運行指令會導致所述現場設備運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據,則阻斷所述第三報文數據向所述現場控制網絡層傳輸。
[0070]優選的,所述過程監控網絡層包括:通過網絡連接的客戶端網絡區和服務器網絡區,其中,所述客戶端網絡區至少包括通過網絡連接的操作員站以及實時數據庫服務器,所述服務器網絡區至少包括操作站服務器、工程師站以及OPC服務器;
[0071]所述系統還包括設置于客戶端網絡區的第一加解密模塊以及設置于所述服務器網絡區的第二加解密模塊;
[0072]其中,所述第一加解密模塊,用于獲取所述客戶端網絡區輸出至所述服務器網絡區的指令數據包,根據第一私鑰對所述指令數據包進行加密,并將加密后的指令數據包傳輸至所述服務器網絡區;
[0073]所述第二加解密模塊,用于截獲傳輸至所述服務器網絡區的所述指令數據包,根據所述第一私鑰對應的第一公鑰對所述指令數據包進行解密,并當檢測所述指令數據包中包含的控制指令屬于指定類型的控制指令時,將所述指令數據包對應的目的終端,所述目的終端為所述服務器網絡區中的操作站服務器、工程師站或者OPC服務器。
[0074]優選的,所述系統還包括設置于所述操作員站、實時數據庫服務器、操作站服務器、工程師站以及OPC服務器內的監控防護模塊;
[0075]所述監控防護模塊,用于監測到被控設備與可移動存儲設備連接時,檢測所述可移動存儲設備中存在的可執行的惡意程序,并阻止所述惡意程序的運行;監控用戶的登錄操作,對登錄用戶的身份進行驗證,阻止非授權的用戶登錄;對指定文件保護目錄中的文件、程序、軟件進行備份和保護,對于非授權的增加、修改、替換和刪除行為進行阻止,對于已損壞的或丟失的文件進行恢復;對本地存儲的用于編譯程序的文件或者是生成組態的文件進行驗真處理,并掃描本地存儲的指定文件中的字段信息,以發掘能夠引起漏洞的特征碼。
[0076]優選的,所述現場控制網絡層的控制器通過現場總線與現場設備層的現場設備相連,所述系統還包括:連接在所述現場總線上的現場入侵感知模塊;
[0077]所述現場入侵感知模塊,用于對接入現場總線上所有設備進行安全分析,對現場設備的狀態進行在線檢測,并對現場設備的數據資源、操作系統或者應用平臺進行檢測,同時,對基于工業控制系統現場設備層通信協議傳輸的所有數據進行檢測,當檢測到異常時,輸出提不信息。
[0078]經由上述的技術方案可知,該工業控制網絡被劃分為至少兩個子網絡層,安全防護模塊截獲子網絡層間傳輸的數據報文,并當判斷出該數據報文所請求的操作不滿足預設條件時,阻斷該數據報文的傳輸,從而避免數據報文所請求的操作對破壞該數據報文對應的目的子網絡層;同時,當該數據報文所請求操作滿足預設條件時,該安全防護模塊還會濾除該數據報文中存在安全隱患的數據,避免存在安全隱患的數據影響該數據報文對應的目的子網絡層的安全。這樣,即使工業控制系統與外部網絡之間的防火墻被攻破,由于安全防護模塊對子網絡層間數據傳輸的控制,也可以避免造成整個工業控制網絡癱瘓的情況出現,進而提高了工業控制網絡的安全性和可靠性。【專利附圖】
【附圖說明】
[0079]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
[0080]圖1示出了本發明一種工業控制網絡安全防護方法一個實施例的流程示意圖;
[0081]圖2示出了本發明部署安全防護的工業控制系統網絡劃分出的各個子網絡層之間的結構關系不意圖;
[0082]圖3示出了本發明一種工業控制網絡安全防護方法另一個實施例的流程示意圖;
[0083]圖4示出了本發明一種工業控制網絡安全防護方法另一個實施例的流程示意圖;
[0084]圖5示出了本發明一種工業控制網絡安全防護方法另一個實施例的流程示意圖;
[0085]圖6示出了本發明一種工業控制網絡安全防護系統中安全防護模塊的結構示意圖;
[0086]圖7示出了本發明一種工業控制網絡安全防護系統的組成結構示意圖。
【具體實施方式】
[0087]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0088]參見圖1,示出了本發明一種工業控制網絡安全防護方法一個實施例的流程示意圖,本發明實施例中,該工業控制系統的網絡包括至少兩個子網絡層,也就是說工業控制網絡被劃分為至少兩個子網絡層。其中不同的子網絡層對該工業控制系統中的作用與功能不同。該工業控制網絡與外部網絡之間設置有防火墻,該防火墻對工業控制網絡之外的外部網絡發送至該工業控制網絡的數據進行過濾,并濾除該數據中存在安全隱患的數據,如,該防火墻可以濾除外部網絡發送的數據中所包含的惡意代碼、可能引起緩沖區溢出的超長報文以及有可能引起服務拒絕(DOS,Denial of Service)攻擊的報文。在本發明實施例中,該工業控制網絡內設置有控制子網絡層間數據傳輸的安全防護模塊。本實施例的方法包括:
[0089]步驟101:安全防護模塊截獲子網絡層之間傳輸的數據報文。
[0090]當一個子網絡層內的設備向另一子網絡層的設備傳輸數據報文時,該安全防護模塊則可以截獲該數據報文,并通過后續的操作對該數據報文進行分析,以便當該數據報文能夠威脅到工業控制網絡安全的情況下,組織該數據報文的傳輸。
[0091]步驟102:安全防護模塊判斷該數據報文所請求的操作是否滿足預設條件。
[0092]其中,截獲的數據報文所請求的操作是否滿足預設條件可以根據不同子網絡層的功能以及性質的不同,設置不同的條件。一般以該數據報文所請求的操作對該數據報文對應的目的子網絡層不會造成破壞為準。
[0093]步驟103:當該安全防護模塊判斷出該數據報文所請求的操作不滿足預設條件時,阻斷該數據報文的傳輸。
[0094]步驟104:當該安全防護模塊判斷出該數據報文所請求的操作滿足預設條件時,濾除該數據報文中存在安全隱患的數據,并將濾除后的數據報文向該數據報文對應的目的子網絡層傳輸。
[0095]為了防止數據報文中攜帶威脅工業控制網絡安全的數據,當該數據報文所請求的操作滿足預設條件時,還需要濾除該數據報文中所攜帶的存在安全隱患的數據,然后將濾除后的數據報文向相應的目的子網絡傳輸。
[0096]其中,濾除的存在安全隱患的數據可以包括濾除該數據報文中包含的惡意代碼以及不滿足預設的訪問控制規則的數據報文。
[0097]其中,惡意代碼可以包括病毒、木馬、蠕蟲中的一種或者幾種。
[0098]該不滿足預設的訪問控制規則的數據報文至少可以包括:報文長度超過預設長度的數據報文,即能夠引起緩沖區溢出的超長報文;以及能夠引起DOS攻擊,進而造成通訊鏈路阻斷的報文。比如,常見的能夠引起DOS攻擊的報文,包括LAND攻擊、TCP synflood攻擊、RST攻擊等。
[0099]通過濾除數據報文中的惡意代碼以及能夠引起DOS攻擊的報文,提高了傳輸至目的子網絡層的數據的安全性,進而提高了工業控制網絡的安全性。
[0100]在本申請實施例中,工業控制網絡被劃分為至少兩個子網絡層,安全防護模塊截獲子網絡層間傳輸的數據報文,并當判斷出該數據報文所請求的操作不滿足預設條件時,阻斷該數據報文的傳輸,從而避免數據報文所請求的操作對破壞該數據報文對應的目的子網絡層;同時,當該數據報文所請求操作滿足預設條件時,該安全防護模塊還會濾除該數據報文中存在安全隱患的數據,避免存在安全隱患的數據影響該數據報文對應的目的子網絡層的安全。這樣,即使工業控制系統與外部網絡之間的防火墻被攻破,由于安全防護模塊對子網絡層間數據傳輸的控制,也可以避免造成整個工業控制網絡癱瘓的情況出現,進而提高了工業控制網絡的安全性和可靠性。
[0101 ] 在實際應用中,為了能夠對于對能夠進行數據交互的任意兩個子網絡層的數據傳輸進行控制,在任意兩個能夠具有數據交互的子網絡之間均設置一個安全防護模塊。具體的,可以是在這兩個子網絡層之間,或者至少這兩個子網絡層中的一個子網絡層內設置有一個安全防護模塊。
[0102]在對工業控制網絡劃分子網絡層時,可以根據該工業控制網絡系統的各個部分的功能進行劃分子網絡層,如可以將該工業控制網絡分為企業管理網絡層、制造執行系統(MES, manufacturing execution system)網絡層以及工業控制網絡層。企業管理網絡層是該工業控制網絡系統中負責系統信息管理的部分網絡,其中包含了許多子系統,如:生產管理、物質管理、財務管理、質量管理、車間管理、能源管理、銷售管理、人事管理、設備管理、技術管理、綜合管理等等。制造執行系統網絡層處于工業控制網絡層與企業管理網絡層之間,主要負責生產管理和調度執行。通過制造執行系統網絡層,管理者可以及時掌握和了解生產工藝各流程的運行狀況和工藝參數的變化,實現對工藝的過程監視與控制。工業控制層由各種自動化控制組件和實時數據采集、監測的過程控制組件共同構成,主要完成加工作業、檢測和操控作業、作業管理等功能。通過本發明的方式,可以對各網絡層之間的數據交互進行控制,從而保證工業控制系統的網絡安全。
[0103]進一步的,該工業控制層還可以細分為過程監控網絡層以及現場控制層,相應的,該工業控制網絡至少被劃分為企業管理網絡層、制造執行系統MES網絡層、過程監控網絡層、現場控制網絡層。如圖2所示,為工業控制系統的網絡劃分示意圖,在該圖中可以看出,該各個網絡層之間的關系,其中,該企業管理網絡層通過網絡與制造執行系統網絡層連接,該制造執行系統網絡層通過網絡與過程監控網絡層連接,該過程監控網絡層與現場控制網絡層連接。在圖2所示的圖中,任意上下相鄰的兩網絡層的設備之間可以進行數據傳輸。
[0104]由圖2可以看出,該企業管理網絡層中設置有辦公計算機、web客戶端、生產管理客戶端等等,該企業管理網絡中部分設備可以訪問制造執行系統網絡層中的相關設備,以獲取生廣資料數據等。
[0105]該MES網絡層則可以包括MES應用服務器、生產管理數據庫服務器,以及負責生產調度、性能分析等的設備或服務器。
[0106]過程監控網絡層可以包括操作員站、實時數據庫服務器、操作站服務器、工程師站、以及內置有指定數據訪問規則的服務器,如OPC (OLE for Process Control)服務器,將OLE (Object Linking and Embedding,對象連接與嵌入)應用于工業控制領域。其中,實時數據庫中存儲了來自現場設備采集的實時數據以及歷史數據,如工業控制系統的調試參數以及一些告警等。例如,以水處理系統為例,在該實時數據庫中則可以記錄有液位、壓強等數值。OPC服務器則可以從現場的控制器中獲取采集到數據,并將數據存儲至實時數據庫服務器中。操作員站具有人機界面,可以對工業控制系統進行一些監控,同時可以向操作員站服務器下發一些指令數據等,操作站服務器接收操作員站下發的控制指令,對指令數據包進行解析、重組和封裝,并以工業控制系統私有協議形式向系統中的控制進行轉發。該工程師站一般是來提供組態編程的。
[0107]該現場控制網絡層則包括控制器,現場控制網絡層中控制器與現場設備直接或間接相連。控制器根據過程監控級下發或配置的控制指令,對現場設備進行控制。
[0108]其中,在圖2所示的工業控制網絡劃分體系中,相鄰的上下兩個子網絡層之間能夠進行數據傳輸,每兩個任意能夠進行數據傳輸的子網絡層之間的數據傳輸均通過一個安全防護模塊進行控制,但是對于不同的兩個子網絡層所需交互的數據類型以及數據內容會有較大差異,因而對于不同的具有數據交互的兩個子網絡層而言,安全防護模塊對數據傳輸的控制過程也會有所差異。
[0109]參見圖3,示出了本發明一種工業控制網絡安全防護方法另一個實施例的流程示意圖,本實施例以控制企業管理網絡層與制造執行系統網絡層間數據傳輸的安全防護模塊對這兩個子網絡層之間的數據傳輸的控制為例進行描述,本實施例的方法包括:
[0110]步驟301:截獲企業管理網絡層向MES網絡層傳輸的第一數據報文。
[0111]其中,為了區分不同網絡層之間傳輸的數據報文,將該企業管理網絡層與MES網絡層傳輸的報文稱為第一數據報文。相應的,后續出現的第二數據報文、第三數據報文也僅僅是為了區分不同網絡層間傳輸的數據報文。
[0112]在本實施例中,該安全防護模塊可以截獲企業管理網絡層與MES網絡層傳輸的數據,并不僅限于截獲該企業管理網絡層向MES網絡層傳輸的數據。但是考慮到對工業控制網絡系統的破壞的目的都是破壞現場設備的生產過程,也就是說對工業控制系統的破壞一般都是從圖2所示的上層向下層網絡進行破壞。因此,本申請實施例中以截獲企業管理網絡層向MES網絡層傳輸的數據報文為例。當然,后續對于其他兩個子網絡層之間的數據傳輸,也是基于圖2所示的結構,以對上層網絡層向下層網絡層傳輸數據為例進行介紹。[0113]步驟302:對第一數據報文的發起方進行身份認證,并分析該第一數據報文針對該MES網絡層中存儲的生產資料信息的第一處理請求。
[0114]步驟303:根據身份認證結果以及該第一處理請求,判斷是否第一數據報文對生產資料信息的訪問請求不屬于非授權訪問,以及第一處理請求所請求的處理操作不屬于預設的違規操作。
[0115]第一數據報文的發起方即為該企業管理網絡層中發送該第一數據報文的設備信息,以及利用該企業管理網絡層中的設備發送該第一數據報文的用戶標識信息等信息中的一種或者幾種。
[0116]安全防護模塊對該第一數據報文進行分析,可以確定出該第一數據報文中所包含的第一處理請求,該第一處理請求是針對該MES網絡層各個與生產資料相關的服務器的訪問請求,以對相應的生產資料信息進行處理。其中,該生產資料信息包括工業控制系統中的流程工業的工序調度、生產資料分配以及過程管理等信息。
[0117]通過對第一數據報文的發起方進行身份認證,可以及時檢測出非授權的訪問行為。其中,非授權的訪問行為,包括對企業管理網絡層中,企業管理相關業務進行控制的操作人員越權訪問該MES網絡層中生產資料信息,以及未授權的業務操作人員訪問該MES網絡層中的生產資料信息。其中,生成資料信息包括流程工藝中的工序調度、生產資料分配和
過程管理等信息。
[0118]其中,預設的違規操作可以包括:通過人機交互終端輸入的違反設定操作規則的行為,操作人員的誤操作,以及惡意的篡改數據的操作等。
[0119]步驟304:當確定出第一數據報文對生產資料數據的訪問請求不屬于非授權訪問,且該第一處理請求所請求的處理操作不屬于違規操作時,濾除該第一數據報文中存在安全隱患的數據,并將濾除后的第一數據報文向MES網絡層傳輸。
[0120]由于MES網絡層收集現場控制系統采集的相關數據,以Web形式與上層企業管理網絡層各服務器和客戶端等終端設備進行數據交互。若入侵者突破了企業管理網絡層的防御,即獲取了工業控制系統企業管理網中任意一臺終端主機的控制權限,則可以利用Web服務漏洞注入惡意代碼,獲取MES層的Web服務器的控制權限。因此,當該第一數據報文對應的訪問請求不屬于非授權訪問,同時,該第一數據報文對應的處理操作不屬于違規操作時,還需要濾除了該第一數據報文中存在安全隱患的數據,并將濾除后的第一數據報文向MES層傳輸。
[0121]其中,濾除的存在安全隱患的數據可以包括濾除該數據報文中包含的惡意代碼以及不滿足預設的訪問控制規則的數據報文。具體可以參見圖1對應的實施例的相關介紹。在本實施例中,該存在安全隱患的安全隱患的數據還可以包括向工業控制系統中人一些地址的惡意腳本代碼。另外,存在安全隱患的數據還可以包括一些非法操作數據,如通過終端輸入的違規操作數據,或者是誤操作數據,以及對過程監控子網絡層的數據進行惡意篡改的控制數據等。
[0122]步驟305:當確定出第一數據報文對生產資料數據的訪問請求屬于非授權訪問,和/或該第一處理請求所請求的處理操作屬于違規操作時,阻斷該第一數據報文的傳輸。
[0123]當確定出該第一數據報文滿足:該第一數據對應的訪問請求屬于非授權訪問;該第一數據報文中包含的第一處理請求所請求的處理操作屬于違規操作,這兩種情況中的任意一種或者兩種時,則需要阻斷該第一數據報文向MES網絡層傳輸。
[0124]當然,如果確定出該第一處理請求所請求的處理操作屬于違規操作時,還可以進行報警,如輸出報警鈴聲或者語音提示等等。
[0125]參見圖4,示出了本發明一種工業控制網絡安全防護方法另一個實施例的流程示意圖,本實施例以控制該制造執行系統網絡層與過程監控網絡層之間數據傳輸的安全防護模塊對這兩個網絡層之間的數據傳輸的控制為例,本實施例的方法包括:
[0126]步驟401:截獲MES網絡層向過程監控網絡層傳輸的第二數據報文。
[0127]步驟402:判斷該第二數據報文所請求訪問的數據庫地址是否為該過程監控網絡層中指定數據庫的地址,如果是,則執行步驟403 ;否則,執行步驟404。
[0128]步驟403:濾除該數據報文中存在安全隱患的數據,并將濾除后的第二數據報文向過程監控網絡層傳輸。
[0129]步驟404:阻斷所述第二數據報文向過程監控網絡層的傳輸。
[0130]一旦攻擊者突破了工業控制系統的前兩層防御,即企業管理網絡層和MES網絡層的防御,獲取了 MES層中某個生產管理服務器的控制權限,則該過程監控網絡層中的實時數據庫服務器與MES層中各生產管理服務器終端交互的數據有可能被攻擊者竊取。因此,需要判斷該第二數據報文所請求訪問的地址是否該過程監控網絡層中指定數據的地址。
[0131]其中,該指定數據庫為該過程監控網絡層中存儲有來自現場設備采集的數據信息的實時數據庫。
[0132]如果該第二數據報文所請求訪問的數據庫的地址不是該實時數據庫的地址,則認為該第二數據報文為不合法的數據報文,并阻斷該第二數據報文的傳輸。如果該第二數據報文為合法的數據報文,還需要對該第二數據報文進行檢驗,過濾該第二數據報文中包含的報文長度超過預設長度的數據報文,可能引起DOS攻擊的報文,以及任意操作內存地址的惡意代碼等。另外,在本申請實施例中,數據報文中存在安全隱患的數據,還可以包括:任意操作內存地址的惡意代碼和異常數據等。
[0133]參見圖5,示出了本發明一種工業控制網絡安全防護方法另一個實施例的流程示意圖,本實施例以控制過程監控網絡層與現場控制層之間數據傳輸的安全防護模塊對這兩個網絡層之間的數據傳輸的控制為例進行描述,本實施例的方法包括:
[0134]步驟501:截獲該過程監控網絡層向現場控制網絡層傳輸的第三數據報文。
[0135]步驟502:確定該第三數據報文所包含的控制指令,其中,該控制指令為下發到控制現場控制網絡層中的控制器內的運行指令。
[0136]步驟503:判斷控制器執行該運行指令是否會導致現場設備運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據,如果是,則執行步驟504 ;如果否,則執行步驟505。
[0137]該過程監控網絡層中的設備可以向現場設備網絡層控制器發送獲取現場設備數據的指令,以便控制器執行相應的運行指令,將獲取到的現場設備的數據發送給過程監控網絡層。同時,過程監控網絡層中的操作員站以及工程師站可以向該現場控制網絡層中的控制器下發組態編譯以及相應的運行指令。例如,通過更改下發到該控制器中組態信息,或者是對控制器中的程序進行更新等,來改變控制器對現場設備的控制過程,從而達到攻擊控制器的目的。因此,在截獲到第三數據報文后,需要分析該第三數據報文中包含的需要下發至控制器中的運行指令。
[0138]判斷該控制器執行該運行指令是否會導致現場設備運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據,可以通過仿真的方式來運行該運行指令,進而對可能造成的影響進行預估,防止控制器中運行非預期組態,以及對控制器中運行程序的惡意更新。
[0139]步驟504:阻斷第三數據報文向現場控制層傳輸。
[0140]步驟505:濾除該第三數據報文中存在安全隱患的數據,并將濾除后的第三數據報文向現場控制網絡層傳輸。
[0141]如果判斷出該控制器執行該運行指令是否會導致現場設備運行異常,則阻斷該第三數據報文的傳輸,從而避免控制器中運行該運行指令。如果該控制器執行該運行指令是否會導致現場設備運行異常,則還需要濾除該第三數據報文中存在安全隱患的數據。
[0142]其中,在本實施例中存在安全隱患的數據可以包括圖1實施例描述的惡意代碼、超長報文以及可能引起DOS攻擊的報文。進一步的,在本實施例中,還可以預置基于工業控制系統私有協議的攻擊特征庫,例如基于S7的工業控制系統私有協議的攻擊特征庫,來過濾惡意代碼。
[0143]進一步的,在以上任意一個實施例中,當判斷出數據報文不滿足預設的條件,需要阻斷該數據報文向目的子網絡層傳輸,以及檢測出該數據報文中存在安全隱患數據時,可以輸出提示信息,以向用戶提示檢測出的相關信息。例如,通過輸出鈴聲進行報警的方式來提示用戶,或者通過文字輸出的方式提示用戶等等。
[0144]為了能夠更好的保護工業控制系統的網絡安全,在本申請實施例中,還可以將過程監控網絡層劃分為兩個子系統,并分別對這兩個子系統采取相應的措施進行安全防護,以提高過程監控網絡層內的安全,進而提高向該現場控制層中的控制器內下發的數據的安全性。
[0145]具體的,該過程監控網絡層可以包括通過網絡連接的客戶端網絡區和服務器網絡區。如圖2所示,該過程監控網絡層包括位于客戶端網絡區,該客戶端網絡區至少包括通過網絡連接的操作員站以及實時數據庫服務器。在該客戶端網絡區的下方包括服務器網絡區,在該服務器網絡區至少包括操作站服務器,工程師站,以及內置有指定數據訪問規則的服務器如圖中的OPC服務器等。
[0146]在該客戶端網絡區設置有第一加解密模塊,該服務器網絡區設置有第二加解密模塊。可以是該客戶端網絡區的每一臺設備的輸出端或者在每一臺設備內設置一個第一加解密模塊。相應的,在該服務器網絡區中每臺設備的輸入端設置一個第二加解密模塊。
[0147]相應的,本實施例的方法還包括:
[0148]該第一加解密模塊獲取該客戶端網絡區輸出至服務器網絡區的指令數據包,根據第一私鑰對所述指令數據包進行加密,并將加密后的指令數據包傳輸至該服務器網絡區;
[0149]該第二加解密模塊截獲傳輸至所述服務器網絡區的所述指令數據包,根據所述第一私鑰對應的第一公鑰對該指令數據包進行解密,并當檢測所述指令數據包中包含的控制指令屬于指定類型的控制指令時,將所述指令數據包對應的目的終端,所述目的終端為所述服務器網絡區中的操作站服務器、工程師站或者OPC服務器。
[0150]其中,檢測該指令數據包中包含的控制指令是否屬于指定類型的控制指令可以是:來自該指令數據包的發起端設備是否為指定類型的設備,該指令數據包的封裝形式是否利用指定協議進行封裝。其中,指定協議可以包括以太網的TCP/IP協議,以及工業控制系統私有協議。
[0151]例如,在操作員站的輸出端可以連接第一加解密模塊,并在操作站服務器的輸入端連接第二加解密模塊,當該操作員站向該操作站服務器下發指令數據包后,該第一加解密模塊對該指令數據包進行加密,并將加密后的指令數據包傳輸給操作站服務器。該第二加解密模塊截獲該解密后的指令數據包后,按照設定的公鑰對該指令數據包進行解密,如果解密不成功,則認為該指令數據包存在異常,并阻斷異常的指令數據包的傳輸;當該第二加解密模塊對該指令數據包解密成功后,該第二加解密模塊還需要判斷該指令數據包是否為指令類型的控制指令,以判斷該指令數據包是否為合法數據。如果該指令數據包來自操作員站,且為該操作員站請求獲得現場設備中控制參數值的指令,則認為該指令數據包為合法數據。相反的,如果該指令數據包解密后無法識別,或者是不屬于指定類型,則認為該指令數據包為不合法的數據。
[0152]進一步的,在在該服務器網絡區中每臺設備的輸出端設置一個第三加解密模塊。而在現場控制層的控制器輸入端設置有第四加解密模塊;
[0153]該第三加解密模塊獲取服務器網絡區向控制器傳輸的第三數據報文,根據第二私鑰對所述第三數據報文進行加密,并將加密后的第三數據報文傳輸至現場控制網絡層的控制器中;
[0154]相應的,該第四加解密模塊可以截獲向控制器中傳輸的第三數據報文,并根據與該第二私鑰對應的第二公鑰對該第三數據報文進行解密,并在解密出成功后將所述第三數據報文向所述控制器傳輸。當然,該第四加解密模塊輸出解密后的第三數據報文后,安全防護模塊仍會截獲該第三報文數據,并在安全防護模塊分析出該第三報文數據不存在安全隱患的情況下,由控制器處理所述第三數據報文。
[0155]進一步的,由于過程監控網絡層能夠對現場控制層中的控制器下發控制指令,同時能夠通過控制器獲取現場設備采集到數據信息。因此,過程監控網絡層一旦被攻擊,將直接關系到整個工業控制系統的網絡安全。為了加強安全控制,在本申請中,在該過程監控網絡層中的操作員站、實時數據庫服務器、操作站服務器、工程師站以及OPC服務器中均內置有監控防護模塊。
[0156]相應的,本申請的方法還可以包括:監控防護模塊監測到被控設備與可移動存儲設備連接時,檢測該可移動存儲設備中可執行的惡意程序,并阻止所述惡意程序的運行;監控用戶的登錄操作,對登錄用戶的身份進行驗證,阻止非授權的用戶登錄;對指定文件保護目錄中的文件、程序、軟件進行備份和保護,對于非授權的增力口、修改、替換和刪除行為進行阻止,對于已損壞的或丟失的文件進行恢復;對本地存儲的用于編譯程序的文件或者是生成組態的文件進行驗真處理,并掃描本地存儲的指定文件中的字段信息,以發掘能夠引起漏洞的特征碼。
[0157]其中,過程監控網絡層中設置有監控防護模塊的設備即為被控設備。例如,當操作員站中設置有監控防護模塊時,該監控防護模塊可以連接到該操作員站上的可移動存儲設備進行檢測。當有用戶登錄該操作員站時,該監控防護模塊對用戶身份進行驗證,只有具有管理員權限的用戶才允許登錄該操作員站啟動工業控制系統的上位機軟件。如果該監控防護模塊檢測到不具有管理員權利的用戶登錄該操作員站,并試圖啟動控制系統上位機應用軟件時,會進行攔截,還可以產生相應的警報,從而可以阻止非授權的用戶對現場控制網絡層下發惡意指令的行為。同時,該監控防護模塊通過校驗、簽名等技術對操作員站中用戶編譯程序所需的庫文件進行驗真處理,并對該操作員站中存儲的指定文件中的字段信息進行掃描,以檢測出可能引起漏洞的特征碼。其中,指定文件可以包括操作員站控制系統應用軟件控件的庫文件、操作員站控制系統應用軟件功能塊的庫文件、操作員站用戶程序二進制文件、操作員站上的項目文件等。
[0158]當然,對于設置于該過程監控網絡層其他設備上的監控防護模塊而言,其控制過程與操作員站上的監控防護模塊的控制過程相似,不同的僅僅是需要掃描的指定文件可能會有所不同。
[0159]進一步的,在以上任意實施例中,該現場控制網絡層的控制器通過現場總線與現場設備層的現場設備相連,在所述現場總線上連接有控制網絡層與所述現場設備網絡層之間設置有現場入侵感知模塊。其中,現場設備是指工業控制系統的網絡中處于生產線上的設備,例如壓力變送器、溫度變送器以及液位監測器等等。
[0160]相應的,本申請的方法還可以包括:該現場入侵感知模塊對接入現場總線上所有設備進行安全分析,對現場設備的狀態進行在線檢測,并對現場設備資源進行磁盤操作系統(DOS,Disk Operating System)檢測,同時,對基于工業控制系統現場設備層通信協議傳輸的所有數據進行檢測,并當檢測到異常時,輸出提示信息。其中,輸出提示信息可以是以聲音信號、光信號或者是輸出文字的方式來進行警報,以提示用戶檢測過程中所出現的異
堂
巾O
[0161]其中,該現場入侵感知模塊對接入大現場總線上所有設備進行安全分析,從而可以及時發現工業控制系統網絡外的竊聽設備,進而即時發現異常信息。
[0162]該現場入侵感知模塊對現場設備的狀態在線檢測具體包括對現場設備采集到的現場設備層內的狀態數據以及傳輸數據進行檢測,按照通信協議對采集到的數據進行解析,并當分析出可疑數據時,輸出提示信息。可疑數據是指采集到的數值與預設的正常值之間的差超出預設范圍的數值。如,以采集到的數據壓力或溫度為例,當采集到的壓力值或溫度值超出預設的壓力值或者溫度值的范圍達到預設閾值,則采集到的狀態數據或傳輸數據中存在異常數據。
[0163]現場設備資源的DOS檢測是是檢測攻擊或惡意破壞現場設備的情況,并統計一段時間內與該工業控制網絡相連的現場設備的總數量,并當與連接在工業控制網絡內的現場設備的總數量超過預設閾值時,輸出提示信息,以免資源消耗過大,影響整個工業控制系統的運行。
[0164]通過對基于工業控制系統現場設備層通信協議傳輸的所有數據進行檢測,并分析現場設備層的數據傳輸方式與現場總線通信協議的一致性,如果發現網絡傳輸異常,則輸出提示信息。
[0165]對應本發明的一種工業控制網絡安全防護方法,本發明還提供了一種工業控制網絡安全防護系統,該工業控制網絡被劃分為至少兩個子網絡層,在工業控制網絡與所述外部網絡之間設置有防火墻,該防火墻,用于對所述外部網絡發送至所述企業管理網絡層的第一數據進行過濾,并濾除所述第一數據中存在安全隱患的數據。本實施例的安全防護系統還包括:對能夠進行數據傳輸的子網絡層之間的數據傳輸進行控制的安全防護模塊。如,可以在任意兩個能夠進行數據傳輸的子網絡層之間設置安全防護模塊,該安全防護模塊可以獨立于子網絡層,也可以設置在這兩個子網絡層中的任一個子網絡層內,只要是能夠對向該子網絡層傳輸數據以及該子網絡層向其他子網絡層傳輸數據進行控制即可。參見圖6,示出了本發明的工業控制網絡安全防護系統中安全防護模塊的結構示意圖,本實施例中該安全防護模塊600可以包括報文截獲單元601、判斷單元602、報文阻斷單元603和報文濾除單元604。
[0166]其中,報文截獲單元601,用于截獲所述子網絡層之間傳輸的數據報文。
[0167]判斷單元602,用于判斷所述數據報文所請求的操作是否滿足預設條件。
[0168]報文阻斷單元603,用于當所述操作不滿足預設條件時,阻斷所述數據報文的傳輸。
[0169]報文濾除單元604,用于當所述安全防護模塊判斷出所述操作滿足所述預設條件時,濾除所述數據報文中存在安全隱患的數據,并將濾除后的數據報文向所述數據報文對應的目的子網絡層傳輸;其中,所述數據報文中存在安全隱患的數據至少包括:惡意代碼以及不滿足預設的訪問控制規則的數據報文,其中,所述不滿足預設的訪問控制規則的數據報文至少包括:能夠引起DOS攻擊的數據報文和報文長度超過預設長度的數據報文。
[0170]可選的,該工業控制網絡至少被劃分為企業管理網絡層、制造執行系統MES網絡層、過程監控網絡層、現場控制網絡層。每個網絡層均可以認為是該工業控制網絡的一個子網絡。其中,所述企業管理網絡層通過網絡與所述制造執行系統網絡層連接,所述制造執行系統網絡層通過網絡與所述過程監控網絡層連接,所述過程監控網絡層與所述現場控制網絡層連接。
[0171]相應的,在以上工業控制網絡劃分的子網絡層的基礎上,在各個子網絡之間均對應有一個安全防護模塊。
[0172]相應的,該系統的安全防護模塊可以包括:控制所述企業管理網絡層與所述制造執行系統網絡層之間數據傳輸的第一安全防護模塊;
[0173]控制所述制造執行系統網絡層與所述過程監控網絡層之間數據傳輸的第二安全防護模塊;
[0174]控制所述過程監控網絡層與所述現場控制網絡層之間數據傳輸的第三安全防護模塊。
[0175]其中,該第一安全防護模塊可以設置在企業管理網絡層與該制造執行系統網絡層之間;也可以在設置在該企業管理網絡層或制造執行系統網絡層中任意一個網絡層中,例如,設置在制造執行系統網絡層中或者該制造執行系統網絡層中數據交換設備內,且該企業管理網絡層向該制造執行系統網絡層內傳輸的數據均經過該第一安全防護模塊。
[0176]與此類似,該第二安全防護模塊也可以是設置在制造執行系統網絡層與過程監控網絡層之間,或者是設置在制造執行系統網絡層或過程監控網絡層的任意一個網絡層中。而該第三安全防護模塊可以設置在過程監控網絡層與現場控制網絡層之間,或者這兩個網絡層中的任意一個網絡層內。
[0177]為了便于理解,參見圖7,該圖7為在圖2所示的工業控制系統網絡劃分的各個子網絡層基礎上,該工業控制網絡的安全防護系統的一種結構示意圖。[0178]由圖7可見,工業控制網絡中與外部Internet網絡之間連接的子網絡為該企業管理網絡層,在申請實施例的安全防護系統中,在該外部網絡與該企業管理網絡層之間設置有防火墻700,以過濾外部Internet網絡向該企業管理網絡層傳輸的數據中所存在的惡意代碼或者是超長報文等。
[0179]在該企業管理網絡層與該制造執行系統網絡層之間設置有第一安全防護模塊701。
[0180]該第一安全防護模塊701中的報文截獲單元包括:第一報文截獲單元,用于截獲所述企業管理網絡層向所述MES網絡層傳輸的第一數據報文;
[0181]該第一安全防護模塊701中的判斷單元,具體包括:
[0182]身份認證單元,用于對所述第一數據報文的發起方進行身份認證,并當根據身份認證結果判斷出所述第一數據報文對所述生產資料信息的訪問請求屬于非授權訪問時,確定所述第一數據報文所請求的操作不滿足預設條件;
[0183]行為審計單元,用于分析所述第一數據報文針對所述制造執行系統網絡層中存儲的生產資料信息的第一處理請求,并當判斷出第一處理請求所請求的處理操作屬于預設的違規操時,確定所述第一數據報文所請求的操作不滿足預設條件;
[0184]相應的該第一安全防護模塊701的報文阻斷單元,包括:第一報文阻斷單元,用于當所述身份認證單元和/或所述行為審計單元確定出所述第一數據報文所請求的操作不滿足預設條件時,阻斷所述數據報文的傳輸;
[0185]相應的,該第一安全防護模塊701的報文濾除單元,包括:第一報文濾除單元,用于當所述身份單元和所述行為審計單元確定所述第一數據報文所請求的操作滿足所述預設條件時,濾除所述第一數據報文中存在安全隱患的數據,將濾除后的第一數據報文向所述制造執行系統網絡層傳輸。
[0186]本實施例中的安全防護模塊還包括控制所述制造執行系統網絡層與所述過程監控網絡層之間數據傳輸的第二安全防護模塊。如圖7,設置在該過程監控網絡層的實時數據庫前端的第二安全防護模塊702,這樣,MES網絡層中所有服務器或者終端與該實時數據庫交互的數據均需要通過該第二安全防護模塊702。
[0187]其中,該第二安全防護模塊702中的報文截獲單元,包括:
[0188]第二報文截獲單元,用于截獲所述制造執行系統網絡層向所述過程監控網絡層傳輸的第二數據報文;
[0189]該第二安全防護模塊內的判斷單元,包括:
[0190]第二判斷單元,用于判斷所述第二數據報文所請求訪問的數據庫地址是否為所述過程監控網絡層中指定數據庫的地址;
[0191]相應的,該第二安全防護模塊中的報文阻斷單元包括:第二報文阻斷單元,用于當所述第二判斷單元判斷出所述第二數據報文所請求訪問的數據庫地址不是所述指定數據庫的地址時,阻斷所述第二數據報文向所述過程監控網絡層的傳輸。
[0192]該第二安全防護模塊中的報文濾除單元包括:第二報文濾除單元,用于當所述第二判斷單元判斷出所述第二數據報文所請求訪問的數據庫地址為所述指定數據庫的地址時,濾除所述第二數據報文中存在安全隱患的數據,將濾除后的第二數據報文向所述過程監控網絡層傳輸。[0193]本實施例系統中的安全防護模塊還包括控制所述過程監控網絡層與所述現場控制網絡層之間數據傳輸的第三安全防護模塊。如圖7,設置在該過程監控網絡與該現場控制層的控制器之間的第三安全防護模塊703。該第三安全防護模塊可以設置在連接該控制器與該過程監控網絡的控制行為管理器(圖中未畫出)內。當然,第三安全防護模塊過程監控網絡層與現場控制層的關系并不限于圖7所示,如該第三安全防護模塊也可以內置在控制器中。
[0194]相應的,該第三安全防護模塊的報文截獲單元,包括:第三報文截獲單元,用于截獲所述過程監控網絡層向所述現場控制網絡層傳輸的第三數據報文;
[0195]該第三安全防護模塊的判斷單元,包括:指令分析單元,用于確定所述第三數據報文所包含的控制指令,其中,所述控制指令為下發到所述現場控制網絡層中的控制器內的運行指令;
[0196]第三判斷單元,用于判斷所述控制器執行所述運行指令是否會導致現場設備的運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據;
[0197]該第三安全防護模塊的報文阻斷單元包括:第三報文阻斷單元,用于當所述第三判斷單元判斷出所述控制器執行所述運行指令會導致所述現場設備運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據,阻斷所述第三報文數據向所述現場控制網絡層傳輸。
[0198]進一步的,現場控制網絡層的控制器通過現場總線與現場設備層的現場設備相連。相應的,本實施例的系統還包括:連接在所述現場總線上的現場入侵感知模塊704。
[0199]該現場入侵感知模塊704,用于對接入現場總線上所有設備進行安全分析,對現場設備的狀態進行在線檢測,并對現場設備資源進行磁盤操作系統DOS檢測,同時,對基于工業控制系統現場設備層通信協議傳輸的所有數據進行檢測,當檢測到異常時,輸出提示信肩、O
[0200]其中,該入侵感知模塊可以具體為一個感知器。
[0201]進一步的,如圖7所示,該過程監控網絡層可以包括:通過網絡連接的客戶端網絡區和服務器網絡區,其中,所述客戶端網絡區至少包括通過網絡連接的操作員站以及實時數據庫服務器,所述服務器網絡區至少包括操作站服務器、工程師站以及OPC服務器。
[0202]相應的,該系統還包括:設置于客戶端網絡區的第一加解密模塊705,以及設置于所述服務器網絡區的第二加解密模塊706。
[0203]其中,所述第一加解密模塊,用于獲取所述客戶端網絡區輸出至所述服務器網絡區的指令數據包,根據第一私鑰對所述指令數據包進行加密,并將加密后的指令數據包傳輸至所述服務器網絡區;
[0204]所述第二加解密模塊,用于截獲傳輸至所述服務器網絡區的所述指令數據包,根據所述第一私鑰對應的第一公鑰對所述指令數據包進行解密,并當檢測所述指令數據包中包含的控制指令屬于指定類型的控制指令時,將所述指令數據包對應的目的終端,所述目的終端為所述服務器網絡區中的操作站服務器、工程師站或者OPC服務器。
[0205]如圖7所示,在客戶端網絡區中任意一臺設備與服務器網絡區的數據輸出端均連接有第一加解密模塊,相應的,在該服務器網絡區的任意一臺設備與該客戶端網絡區之間設置有該第二加解密模塊,該第二加解密模塊可以截獲由該客戶端網絡區的某臺設備向該服務器網絡區中某個服務器或工程師站傳輸的數據。當然。該第一加解密模塊也可以內置在該客戶端網絡區的各個設備,相應的,該第二加解密模塊也可以內置在該服務器網絡區的各個設備內。
[0206]進一步的,該系統還包括設置于操作員站、實時數據庫服務器、操作站服務器、工程師站以及OPC服務器內的監控防護模塊;
[0207]該監控防護模塊,用于監測到被控設備與可移動存儲設備連接時,檢測所述可移動存儲設備中存在的可執行的惡意程序,并阻止所述惡意程序的運行;監控用戶的登錄操作,對登錄用戶的身份進行驗證,阻止非授權的用戶登錄;對指定文件保護目錄中的文件、程序、軟件進行備份和保護,對于非授權的增加、修改、替換和刪除行為進行阻止,對于已損壞的或丟失的文件進行恢復;對本地存儲的用于編譯程序的文件或者是生成組態的文件進行驗真處理,并掃描本地存儲的指定文件中的字段信息,以發掘能夠引起漏洞的特征碼。
[0208]進一步的,在該服務器網絡區中每臺設備的輸出端或者每臺設備內部還設置有第三加解密模塊707。而在現場控制層的控制器輸入端設置有第四加解密模塊(圖中未畫出);
[0209]該第三加解密模塊獲取服務器網絡區向控制器傳輸的第三數據報文,根據第二私鑰對所述第三數據報文進行加密,并將加密后的第三數據報文傳輸至現場控制網絡層的控制器中;
[0210]相應的,該第四加解密模塊可以截獲向控制器中傳輸的第三數據報文,并根據與該第二私鑰對應的第二公鑰對該第三數據報文進行解密,并在解密出成功后將所述第三數據報文向所述控制器傳輸。當然,該第四加解密模塊輸出解密后的第三數據報文后,安全防護模塊仍會截獲該第三報文數據,并在安全防護模塊分析出該第三報文數據不存在安全隱患的情況下,由控制器處理所述第三數據報文。
[0211]本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的系統而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
[0212]對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【權利要求】
1.一種工業控制網絡安全防護方法,其特征在于,所述工業控制網絡被劃分為至少兩個子網絡層;其中,所述工業控制網絡與外部網絡之間設置有防火墻,所述工業控制網絡內設置有控制所述子網絡層間數據傳輸的安全防護模塊,所述方法包括: 所述安全防護模塊截獲所述子網絡層之間傳輸的數據報文; 所述安全防護模塊判斷所述數據報文所請求的操作是否滿足預設條件; 當所述安全防護模塊判斷出所述操作不滿足預設條件時,阻斷所述數據報文的傳輸;當所述安全防護模塊判斷出所述操作滿足所述預設條件時,濾除所述數據報文中存在安全隱患的數據,并將濾除后的數據報文向所述數據報文對應的目的子網絡層傳輸; 其中,所述數據報文中存在安全隱患的數據至少包括:惡意代碼以及不滿足預設的訪問控制規則的數據報文,其中,所述不滿足預設的訪問控制規則的數據報文至少包括:能夠引起DOS攻擊的數據報文和報文長度超過預設長度的數據報文。
2.根據權利要求1所述的方法,其特征在于,所述工業控制網絡被劃分為至少兩個子網絡層,包括: 所述工業控制網絡至少被劃分為企業管理網絡層、制造執行系統網絡層、過程監控網絡層、現場控制網絡層,其中,所述企業管理網絡層通過網絡與所述制造執行系統網絡層連接,所述制造執行系統網絡層通過網絡與所述過程監控網絡層連接,所述過程監控網絡層與所述現場控制網絡層連接。
3.根據權利要求2所述的方法,其特征在于,所述工業控制網絡內設置有控制所述企業管理網絡層與所述制造執行系統網絡層間數據傳輸的安全防護模塊; 所述安全防護模塊所述截獲所述子網絡層之間傳輸的數據報文,包括: 所述安全防護模塊截獲所述企業管理網絡層向所述制造執行系統網絡層傳輸的第一數據報文; 所述安全防護模塊判斷所述數據報文所請求的操作是否滿足預設條件,包括: 所述安全防護模塊對所述第一數據報文的發起方進行身份認證,并分析所述第一數據報文針對所述制造執行系統網絡層中存儲的生產資料信息的第一處理請求; 所述安全防護模塊根據所述身份認證結果以及所述第一處理請求,判斷是否所述第一數據報文對所述生產資料信息的訪問請求不屬于非授權訪問,以及所述第一處理請求所請求的處理操作不屬于預設的違規操作; 相應的,當所述安全防護模塊確定出所述第一數據報文對所述生產資料數據的訪問請求不屬于非授權訪問,且所述第一處理請求所請求的處理操作不屬于所述違規操作時,則確定所述第一數據報文所請求的操作滿足預設條件。
4.根據權利要求2所述的方法,其特征在于,所述工業控制網絡內設置有控制所述制造執行系統網絡層與所述過程監控網絡層間數據傳輸的安全防護模塊; 其中,所述安全防護模塊截獲所述子網絡層之間傳輸的數據報文,包括: 所述安全防護模塊截獲所述制造執行系統網絡層向所述過程監控網絡層傳輸的第二數據報文; 所述安全防護模塊判斷所述數據報文所請求的操作是否滿足預設條件,包括: 所述安全防護模塊判斷所述第二數據報文所請求訪問的數據庫地址是否為所述過程監控網絡層中指定數據庫的地址;相應的,當所述安全防護模塊判斷出所述第二數據報文所請求訪問的數據庫地址為所述指定數據庫的地址時,則確定所述第二數據報文所請求的操作滿足預設條件。
5.根據權利要求2所述的方法,其特征在于,所述工業控制網絡內設置有控制所述過程監控網絡層與現場控制網絡層間數據傳輸的安全防護模塊; 所述安全防護模塊截獲所述子網絡層之間傳輸的數據報文,包括: 所述安全防護模塊截獲所述過程監控網絡層向所述現場控制網絡層傳輸的第三數據報文; 所述安全防護模塊判斷所述數據報文所請求的操作是否滿足預設條件,包括: 所述安全防護模塊確定所述第三數據報文所包含的控制指令,其中,所述控制指令為下發到所述現場控制網絡層中的控制器內的運行指令; 所述安全防護模塊判斷所述控制器執行所述運行指令是否會導致現場設備的運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據; 相應的,當所述安全防護模塊判斷出所述控制器執行所述運行指令會導致所述現場設備運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據,則確定所述第三數據報文所請求的操作不滿足預設條件。
6.根據權利要求5所述的方法,其特征在于,所述過程監控網絡層包括:通過網絡連接的客戶端網絡區和服務器網絡區,其中,所述客戶端網絡區至少包括通過網絡連接的操作員站以及實時數據庫服務器 ,所述服務器網絡區至少包括操作站服務器、工程師站以及OPC服務器; 所述客戶端網絡區設置有第一加解密模塊,所述服務器網絡區設置有第二加解密模塊; 所述方法還包括: 所述第一加解密模塊獲取所述客戶端網絡區輸出至所述服務器網絡區的指令數據包,根據第一私鑰對所述指令數據包進行加密,并將加密后的指令數據包傳輸至所述服務器網絡區; 所述第二加解密模塊截獲傳輸至所述服務器網絡區的所述指令數據包,根據所述第一私鑰對應的第一公鑰對所述指令數據包進行解密,并當檢測所述指令數據包中包含的控制指令屬于指定類型的控制指令時,將所述指令數據包對應的目的終端,所述目的終端為所述服務器網絡區中的操作站服務器、工程師站或者OPC服務器。
7.根據權利要求6所述的方法,其特征在于,所述操作員站、實時數據庫服務器、操作站服務器、工程師站以及OPC服務器中均內置有監控防護模塊; 所述監控防護模塊監測到被控設備與可移動存儲設備連接時,檢測所述可移動存儲設備中存在的可執行的惡意程序,并阻止所述惡意程序的運行;監控用戶的登錄操作,對登錄用戶的身份進行驗證,阻止非授權的用戶登錄;對指定文件保護目錄中的文件、程序、軟件進行備份和保護,對于非授權的增加、修改、替換和刪除行為進行阻止,對于已損壞的或丟失的文件進行恢復;對本地存儲的用于編譯程序的文件或者是生成組態的文件進行驗真處理,并掃描本地存儲的指定文件中的字段信息,以發掘能夠引起漏洞的特征碼。
8.根據權利要求2或5所述的方法,其特征在于,所述現場控制網絡層的控制器通過現場總線與現場設備層的現場設備相連,在所述現場總線上連接有控制網絡層與所述現場設備網絡層之間設置有現場入侵感知模塊; 所述方法還包括: 所述現場入侵感知模塊對接入現場總線上所有設備進行安全分析,對現場設備的狀態進行在線檢測,并對現場設備的數據資源、操作系統或者應用平臺進行檢測,同時,對基于工業控制系統現場設備層通信協議傳輸的所有數據進行檢測,當檢測到異常時,輸出提示信息。
9.一種工業控制網絡安全防護系統,其特征在于,所述工業控制網絡被劃分為至少兩個子網絡層,所述系統包括: 設置于所述工業控制網絡與外部網絡之間的防火墻; 以及對能夠進行數據傳輸的子網絡層之間的數據傳輸進行控制的安全防護模塊; 其中,所述安全防護模塊包括: 報文截獲單元,用于截獲所述子網絡層之間傳輸的數據報文; 判斷單元,用于判斷所述數據報文所請求的操作是否滿足預設條件; 報文阻斷單元,用于當所述操作不滿足預設條件時,阻斷所述數據報文的傳輸; 報文濾除單元,用于當所述安全防護模塊判斷出所述操作滿足所述預設條件時,濾除所述數據報文中存在安全隱患的數據,并將濾除后的數據報文向所述數據報文對應的目的子網絡層傳輸;` 其中,所述數據報文中存在安全隱患的數據至少包括:惡意代碼以及不滿足預設的訪問控制規則的數據報文,其中,所述不滿足預設的訪問控制規則的數據報文至少包括:能夠引起DOS攻擊的數據報文和報文長度超過預設長度的數據報文。
10.根據權利要求9所述的系統,其特征在于,所述工業控制網絡至少被劃分為企業管理網絡層、制造執行系統網絡層、過程監控網絡層、現場控制網絡層,其中,所述企業管理網絡層通過網絡與所述制造執行系統網絡層連接,所述制造執行系統網絡層通過網絡與所述過程監控網絡層連接,所述過程監控網絡層與所述現場控制網絡層連接。
11.根據權利要求10所述的系統,其特征在于,所述安全防護模塊包括控制所述企業管理網絡層與所述制造執行系統網絡層之間數據傳輸的第一安全防護模塊; 相應的,所述報文截獲單元包括:第一報文截獲單元,用于截獲所述企業管理網絡層向所述制造執行系統網絡層傳輸的第一數據報文; 所述判斷單元,包括: 身份認證單元,用于對所述第一數據報文的發起方進行身份認證,并當根據身份認證結果判斷出所述第一數據報文對所述生產資料信息的訪問請求屬于非授權訪問時,確定所述第一數據報文所請求的操作不滿足預設條件; 行為審計單元,用于分析所述第一數據報文針對所述制造執行系統網絡層中存儲的生產資料信息的第一處理請求,并當判斷出第一處理請求所請求的處理操作屬于預設的違規操時,確定所述第一數據報文所請求的操作不滿足預設條件; 所述報文阻斷單元,包括:第一報文阻斷單元,用于當所述身份認證單元和/或所述行為審計單元確定出所述第一數據報文所請求的操作不滿足預設條件時,阻斷所述數據報文的傳輸; 所述報文濾除單元,包括:第一報文濾除單元,用于當所述身份單元和所述行為審計單元確定所述第一數據報文所請求的操作滿足所述預設條件時,濾除所述第一數據報文中存在安全隱患的數據,將濾除后的第一數據報文向所述制造執行系統網絡層傳輸。
12.根據權利要求10所述的系統,其特征在于,所述安全防護模塊包括控制所述制造執行系統網絡層與所述過程監控網絡層之間數據傳輸的第二安全防護模塊; 其中,所述報文截獲單元,包括: 第二報文截獲單元,用于截獲所述制造執行系統網絡層向所述過程監控網絡層傳輸的第二數據報文; 所述判斷單元,包括: 第二判斷單元,用于判斷所述第二數據報文所請求訪問的數據庫地址是否為所述過程監控網絡層中指定數據庫的地址; 相應的,所述報文阻斷單元包括:第二報文阻斷單元,用于當所述第二判斷單元判斷出所述第二數據報文所請求訪問的數據庫地址不是所述指定數據庫的地址時,阻斷所述第二數據報文向所述過程監控網絡層的傳輸; 所述報文濾除單元包括:第二報文濾除單元,用于當所述第二判斷單元判斷出所述第二數據報文所請求訪問的數據庫地址為所述指定數據庫的地址時,濾除所述第二數據報文中存在安全隱患的數據,將濾除后的第二數據報文向所述過程監控網絡層傳輸。
13.根據權利要求10所述的系統,其特征在于,所述安全防護模塊包括控制所述過程監控網絡層與所述現場控制網絡層之間數據傳輸的第三安全防護模塊; 相應的,所述報文截獲單元,包括:第三報文截獲單元,用于截獲所述過程監控網絡層向所述現場控制網絡層傳輸的 第三數據報文; 所述判斷單元,包括:指令分析單元,用于確定所述第三數據報文所包含的控制指令,其中,所述控制指令為下發到所述現場控制網絡層中的控制器內的運行指令; 第三判斷單元,用于判斷所述控制器執行所述運行指令是否會導致現場設備的運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據; 所述報文阻斷單元包括:第三報文阻斷單元,用于當所述第三判斷單元判斷出所述控制器執行所述運行指令會導致所述現場設備運行異常、非法訪問現場設備的數據或者非法修改現場設備的數據,則阻斷所述第三報文數據向所述現場控制網絡層傳輸。
14.根據權利要求13所述的系統,其特征在于,所述過程監控網絡層包括:通過網絡連接的客戶端網絡區和服務器網絡區,其中,所述客戶端網絡區至少包括通過網絡連接的操作員站以及實時數據庫服務器,所述服務器網絡區至少包括操作站服務器、工程師站以及OPC服務器; 所述系統還包括設置于客戶端網絡區的第一加解密模塊以及設置于所述服務器網絡區的第二加解密模塊; 其中,所述第一加解密模塊,用于獲取所述客戶端網絡區輸出至所述服務器網絡區的指令數據包,根據第一私鑰對所述指令數據包進行加密,并將加密后的指令數據包傳輸至所述服務器網絡區; 所述第二加解密模塊,用于截獲傳輸至所述服務器網絡區的所述指令數據包,根據所述第一私鑰對應的第一公鑰對所述指令數據包進行解密,并當檢測所述指令數據包中包含的控制指令屬于指定類型的控制指令時,將所述指令數據包對應的目的終端,所述目的終端為所述服務器網絡區中的操作站服務器、工程師站或者OPC服務器。
15.根據權利要求14所述的系統,其特征在于,所述系統還包括設置于所述操作員站、實時數據庫服務器、操作站服務器、工程師站以及OPC服務器內的監控防護模塊; 所述監控防護模塊,用于監測到被控設備與可移動存儲設備連接時,檢測所述可移動存儲設備中存在的可執行的惡意程序,并阻止所述惡意程序的運行;監控用戶的登錄操作,對登錄用戶的身份進行驗證,阻止非授權的用戶登錄;對指定文件保護目錄中的文件、程序、軟件進行備份和保護,對于非授權的增加、修改、替換和刪除行為進行阻止,對于已損壞的或丟失的文件進行恢復;對本地存儲的用于編譯程序的文件或者是生成組態的文件進行驗真處理,并掃描本地存儲的指定文件中的字段信息,以發掘能夠引起漏洞的特征碼。
16.根據權利要求10或13所述的系統,其特征在于,所述現場控制網絡層的控制器通過現場總線與現場設備層的現場設備相連,所述系統還包括:連接在所述現場總線上的現場入侵感知模塊; 所述現場入侵感知模塊,用于對接入現場總線上所有設備進行安全分析,對現場設備的狀態進行在線檢測,并對現場設備的數據資源、操作系統或者應用平臺進行檢測,同時,對基于工業控制系統現場設備層通信協議傳輸的所有數據進行檢測,當檢測到異常時,輸出提示信息。`
【文檔編號】H04L29/06GK103491108SQ201310483291
【公開日】2014年1月1日 申請日期:2013年10月15日 優先權日:2013年10月15日
【發明者】馮冬芹, 褚健, 劉文龍 申請人:浙江中控研究院有限公司