本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別是指一種針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)。
背景技術(shù):
近年來,以太網(wǎng)技術(shù)的傳遞速率和實時性隨其自身的發(fā)展得到了大幅度的提高,這也使其逐步應(yīng)用到工業(yè)網(wǎng)絡(luò)中,使現(xiàn)場總線型網(wǎng)絡(luò)技術(shù)與以太網(wǎng)型網(wǎng)絡(luò)技術(shù)自然而然的結(jié)合在一起。工業(yè)控制系統(tǒng)從一個封閉、孤立的系統(tǒng)逐漸發(fā)展為更加開放、與公共網(wǎng)絡(luò)有多連接的系統(tǒng)。以太網(wǎng)帶給傳統(tǒng)工業(yè)的巨大利好時,信息安全這個過去與工業(yè)領(lǐng)域鮮有關(guān)聯(lián)的問題卻凸顯在所有人的面前,給工業(yè)網(wǎng)絡(luò)和核心設(shè)備帶了嚴重的破壞。
工業(yè)網(wǎng)絡(luò)與傳統(tǒng)的商業(yè)網(wǎng)絡(luò)不同,工業(yè)網(wǎng)絡(luò)之間面對的是現(xiàn)場工作人員和工作設(shè)備,即使是微小的誤差也可能引起工業(yè)網(wǎng)絡(luò)的崩潰,導致難以估量的生命財產(chǎn)損失。
常規(guī)的網(wǎng)絡(luò)產(chǎn)品或者由于自身存在的缺陷與不足,不能滿足工業(yè)網(wǎng)絡(luò)較高的防護要求,或者因為不是專門針對工業(yè)網(wǎng)絡(luò)設(shè)計,難以在工業(yè)場合安全穩(wěn)定的應(yīng)用,這給工業(yè)網(wǎng)絡(luò)帶來了嚴重的威脅。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng),以解決現(xiàn)有技術(shù)所存在的網(wǎng)絡(luò)產(chǎn)品不能滿足工業(yè)網(wǎng)絡(luò)較高的防護要求,或不適用于工業(yè)場合的問題。
為解決上述技術(shù)問題,本發(fā)明實施例提供一種針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng),包括:
網(wǎng)絡(luò)嗅探單元,用于捕獲所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù);
入侵檢測單元,用于通過預先建立的網(wǎng)絡(luò)特征hash值規(guī)則鏈表、實時更新生成的控制指令檢測規(guī)則鏈表及預設(shè)的空間狀態(tài)分類器對捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)進行入侵檢測,若有入侵行為,則發(fā)出報警信息;
數(shù)據(jù)傳輸單元,用于將所述報警信息發(fā)送出去。
進一步地,所述網(wǎng)絡(luò)嗅探單元,用于以旁路偵聽的方式接入所述工業(yè)控制系統(tǒng),捕獲所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù)。
進一步地,所述網(wǎng)絡(luò)嗅探單元,具體用于利用libpcap抓包方法捕獲所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù)。
進一步地,所述系統(tǒng)還包括:協(xié)議解析單元;
所述協(xié)議解析單元,用于對捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)進行協(xié)議解析,解析成功后,輸出所述網(wǎng)絡(luò)通信數(shù)據(jù)的協(xié)議格式。
進一步地,所述協(xié)議解析單元包括:監(jiān)控數(shù)據(jù)獲取模塊及協(xié)議解析模塊;
所述監(jiān)控數(shù)據(jù)獲取模塊,用于從組態(tài)監(jiān)控界面,獲取監(jiān)控到的監(jiān)控數(shù)據(jù);
所述協(xié)議解析模塊,用于對捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)的數(shù)據(jù)包輪詢套用預設(shè)的工業(yè)網(wǎng)絡(luò)協(xié)議庫中的工業(yè)總線協(xié)議,若協(xié)議套用成功,則輸出套用成功的協(xié)議類型;否則,將所述數(shù)據(jù)包中的數(shù)據(jù)逐位組合進行浮點化處理,將浮點化處理后的數(shù)據(jù)與獲取的所述監(jiān)控數(shù)據(jù)進行匹配,輸出浮點化處理后的數(shù)據(jù)在原始數(shù)據(jù)包中的起始位置與所述監(jiān)控數(shù)據(jù)之間的匹配映射表。
進一步地,所述入侵檢測單元包括:網(wǎng)絡(luò)特征檢測模塊;
所述網(wǎng)絡(luò)特征檢測模塊、用于提取捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)的網(wǎng)絡(luò)特征,獲取所述網(wǎng)絡(luò)特征的hash值,查詢預先建立的網(wǎng)絡(luò)特征hash值規(guī)則鏈表,若所述網(wǎng)絡(luò)特征的hash值沒有包含在所述預先建立的網(wǎng)絡(luò)特征hash值規(guī)則鏈表中,則發(fā)出報警信息,其中,所述網(wǎng)絡(luò)特征hash值規(guī)則鏈表包括:網(wǎng)絡(luò)通信數(shù)據(jù)的網(wǎng)絡(luò)特征的hash值;所述網(wǎng)絡(luò)特征包括:協(xié)議類型、源IP地址、目的IP地址、源端口、目的端口。
進一步地,所述網(wǎng)絡(luò)特征檢測模塊、具體用于采用hash算法進行網(wǎng)絡(luò)特征自學習建立所述網(wǎng)絡(luò)特征hash值規(guī)則鏈表。
進一步地,所述入侵檢測單元包括:控制指令檢測模塊;
所述控制指令檢測模塊、用于獲取所述工業(yè)控制系統(tǒng)當前的運行狀態(tài),依據(jù)獲取的所述工業(yè)控制系統(tǒng)當前的運行狀態(tài),利用三級鏈表結(jié)構(gòu),依據(jù)預設(shè)的工業(yè)控制模型規(guī)則庫,實時更新生成控制指令檢測規(guī)則鏈表;若捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)為控制指令,則檢測所述控制指令是否違反所述控制指令檢測規(guī)則鏈表中規(guī)則,若違反所述控制指令檢測規(guī)則鏈表中規(guī)則,則發(fā)出報警信息。
進一步地,所述入侵檢測單元還包括:空間狀態(tài)檢測模塊;
所述空間狀態(tài)檢測模塊,具體用于利用工業(yè)控制系統(tǒng)正常狀態(tài)下運行數(shù)據(jù),生成訓練樣本,根據(jù)主元分析法對所述訓練樣本進行降維處理,利用單類支持向量機對降維后的訓練樣本進行訓練生成所述空間狀態(tài)分類器;對沒有違反所述控制指令檢測規(guī)則鏈表中規(guī)則的網(wǎng)絡(luò)通信數(shù)據(jù)進行主元分析降維后,利用預設(shè)的空間狀態(tài)分類器檢測所述網(wǎng)絡(luò)通信數(shù)據(jù)為正常數(shù)據(jù),若不是正常數(shù)據(jù),則發(fā)出報警信息。
進一步地,所述系統(tǒng)還包括:4路數(shù)字量輸入輸出電路;
所述數(shù)字量輸入輸出電路與所述工業(yè)控制系統(tǒng)中的報警模塊相連,所述報警模塊與所述工業(yè)控制系統(tǒng)中的控制器相連;
所述數(shù)字量輸入輸出電路,用于將所述報警信息發(fā)送至所述報警模塊。
本發(fā)明的上述技術(shù)方案的有益效果如下:
上述方案中,通過網(wǎng)絡(luò)嗅探單元捕獲所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù);由入侵檢測單元通過預先建立的網(wǎng)絡(luò)特征hash值規(guī)則鏈表、實時更新生成的控制指令檢測規(guī)則鏈表及預設(shè)的空間狀態(tài)分類器對捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)進行入侵檢測,若有入侵行為,則發(fā)出報警信息;最后,通過數(shù)據(jù)傳輸單元將所述報警信息發(fā)送出去。這樣,通過入侵檢測單元能夠有效檢測出所述工業(yè)控制系統(tǒng)是否被入侵,如果發(fā)現(xiàn)被入侵則進行報警,從而保護并提高所述工業(yè)控制系統(tǒng)的通信安全。
附圖說明
圖1為本發(fā)明實施例提供的針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例提供的針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的硬件平臺架構(gòu)示意圖;
圖3為本發(fā)明實施例提供的接入分布式工業(yè)控制系統(tǒng)的接入示意圖;
圖4為本發(fā)明實施例提供的捕獲網(wǎng)絡(luò)通信數(shù)據(jù)的流程示意圖;
圖5為本發(fā)明實施例提供的協(xié)議解析單元的工作流程示意圖;
圖6為本發(fā)明實施例提供的協(xié)議解析單元中數(shù)據(jù)浮點化匹配過程示意圖;
圖7為本發(fā)明實施例提供的網(wǎng)絡(luò)特征檢測模塊的工作流程示意圖;
圖8為本發(fā)明實施例提供的工業(yè)控制模型規(guī)則庫的規(guī)則格式;
圖9為本發(fā)明實施例提供的控制指令檢測模塊的工作流程示意圖;
圖10為本發(fā)明實施例提供的空間狀態(tài)檢測模塊的工作流程示意圖;
圖11為本發(fā)明實施例提供的針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的詳細結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進行詳細描述。
本發(fā)明針對現(xiàn)有的網(wǎng)絡(luò)產(chǎn)品不能滿足工業(yè)網(wǎng)絡(luò)較高的防護要求,或不適用于工業(yè)場合的問題,提供一種針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)。
參看圖1所示,本發(fā)明實施例提供的針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng),包括:
網(wǎng)絡(luò)嗅探單元11,用于捕獲所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù);
入侵檢測單元12,用于通過預先建立的網(wǎng)絡(luò)特征hash值規(guī)則鏈表、實時更新生成的控制指令檢測規(guī)則鏈表及預設(shè)的空間狀態(tài)分類器對捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)進行入侵檢測,若有入侵行為,則發(fā)出報警信息;
數(shù)據(jù)傳輸單元13,用于將所述報警信息發(fā)送出去。
本發(fā)明實施例所述的針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng),通過網(wǎng)絡(luò)嗅探單元捕獲所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù);由入侵檢測單元通過預先建立的網(wǎng)絡(luò)特征hash值規(guī)則鏈表、實時更新生成的控制指令檢測規(guī)則鏈表及預設(shè)的空間狀態(tài)分類器對捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)進行入侵檢測,若有入侵行為,則發(fā)出報警信息;最后,通過數(shù)據(jù)傳輸單元將所述報警信息發(fā)送出去。這樣,通過入侵檢測單元能夠有效檢測出所述工業(yè)控制系統(tǒng)是否被入侵,如果發(fā)現(xiàn)被入侵則進行報警,從而保護并提高所述工業(yè)控制系統(tǒng)的通信安全。
本實施例中,所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)運行在嵌入式Linux操作系統(tǒng)上,所述嵌入式Linux操作系統(tǒng)是開源的Linux3.2.0版本內(nèi)核經(jīng)過裁剪定制后得到的,裁剪后的內(nèi)核包括:基本的運行模塊,AR8031網(wǎng)絡(luò)驅(qū)動芯片模塊,USB驅(qū)動模塊,SD卡驅(qū)動模塊;裁剪后的系統(tǒng)內(nèi)核體積小、運行速率快,運行穩(wěn)定,能夠保證所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的安全穩(wěn)定運行。
如圖2所示,本實施例中,所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)所使用的硬件平臺可以采用5V低電壓供電低功耗硬件電路,所述硬件平臺具有SD驅(qū)動電路,可以經(jīng)由SD卡實現(xiàn)系統(tǒng)內(nèi)核的更新,數(shù)據(jù)的緩存等功能。
本實施例中,所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的核心處理器為TI(Texas Instruments德州儀器)工業(yè)級Cortex-A8架構(gòu)AM335x系列主處理器,主頻可以高達1GHz;運行溫度范圍可達-40℃-+85℃;配有512M DDR3內(nèi)存和256M SLC NandFlash;還包含兩個AR8031千兆網(wǎng)絡(luò)收發(fā)器芯片擴展的千兆以太網(wǎng)接口ETH0和ETH1,其中,ETH0接口用來實現(xiàn)對工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù)的偵聽嗅探工作,ETH1接口用來實現(xiàn)報警信息向遠端服務(wù)器發(fā)送數(shù)據(jù)的功能;還可以利用PC847光耦隔離芯片驅(qū)動4路數(shù)字量輸入輸出(I/O)電路,所述數(shù)字量I/O電路可以連接到所述工業(yè)控制系統(tǒng)中控制器下級的報警模件,當檢測到嚴重威脅時直接經(jīng)由該I/O電路發(fā)送報警信息至所述報警模件,以便工業(yè)控制系統(tǒng)中的控制器做出緊急處理。
本實施例中,可以使用所述PC847光耦隔離芯片進行電源隔離,實現(xiàn)電壓可調(diào)節(jié)數(shù)字量輸入輸出電路。
本實施例中,對捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)進行入侵檢測后,如果生成報警信息則需要通過所述數(shù)據(jù)傳輸單元13發(fā)送到遠端服務(wù)器;所述數(shù)據(jù)傳輸單元13可以使用TCP/IP協(xié)議,并設(shè)計成客戶端,通過以太網(wǎng)與遠程服務(wù)器進行連接,連接建立完成之后,進行報警信息的傳輸。當所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)檢測到嚴重的入侵行為時,即對工業(yè)控制系統(tǒng)將會造成很嚴重的破壞時,將直接通過所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的數(shù)字量I/O電路發(fā)送報警信息至工業(yè)控制系統(tǒng)中控制器下級的報警模塊,以便工業(yè)控制系統(tǒng)中的控制器做出緊急處理。
在前述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的具體實施方式中,進一步地,所述網(wǎng)絡(luò)嗅探單元11,用于以旁路偵聽的方式接入所述工業(yè)控制系統(tǒng),捕獲所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù)。
本實施例中,如圖3所示,所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)可應(yīng)用于由分布式工業(yè)控制系統(tǒng)中,所述分布式工業(yè)控制系統(tǒng)包括:含有控制器的控制站、組態(tài)監(jiān)控所在的控制臺以及工業(yè)服務(wù)器等其他設(shè)備,所述設(shè)備通過工業(yè)以太網(wǎng)進行通信,所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)通過工業(yè)交換機接入到所述工業(yè)以太網(wǎng)中,利用ETH0接口實現(xiàn)對所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù)的偵聽捕獲,利用ETH1接口將報警信息經(jīng)由互聯(lián)網(wǎng)發(fā)送至遠端服務(wù)器中。
本實施例中,所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)通過旁路監(jiān)聽的方式接入工業(yè)控制系統(tǒng),不需要不改變原工業(yè)控制系統(tǒng)的拓撲結(jié)構(gòu)、組網(wǎng)方式,方便可行、且通過所述網(wǎng)絡(luò)嗅探單元11以數(shù)據(jù)嗅探的方式獲取所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù),不會影響原工業(yè)控制系統(tǒng)的穩(wěn)定性和實時性。
在前述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的具體實施方式中,進一步地,所述網(wǎng)絡(luò)嗅探單元11,具體用于利用libpcap抓包方法捕獲所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù)。
本實施例中,所述工業(yè)控制系統(tǒng)對數(shù)據(jù)實時性有著很高的要求,為了不影響工控網(wǎng)絡(luò)的實時性,又能實時獲取所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù),可以采用libpcap抓包方案實現(xiàn)所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù)的數(shù)據(jù)嗅探,其中,如圖4所示,采用libpcap抓包方案捕獲所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù)的具體步驟可以包括:查找所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的硬件平臺的ETH0網(wǎng)絡(luò)接口設(shè)備,獲得網(wǎng)絡(luò)號和子網(wǎng)掩碼,打開所述ETH0網(wǎng)絡(luò)接口設(shè)備,編輯并設(shè)置過濾器,然后開始循環(huán)抓包獲取所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù)。
在前述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的具體實施方式中,進一步地,所述系統(tǒng)還包括:協(xié)議解析單元;
所述協(xié)議解析單元,用于對捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)進行協(xié)議解析,解析成功后,輸出所述網(wǎng)絡(luò)通信數(shù)據(jù)的協(xié)議格式。
本實施例中,所述協(xié)議解析單元可以解析網(wǎng)絡(luò)通信協(xié)議,為深度數(shù)據(jù)包檢測提供基礎(chǔ)(深度數(shù)據(jù)包解析包括:應(yīng)用層數(shù)據(jù)解析),使所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)具有很好的適用性和可擴展性,其中,所述網(wǎng)絡(luò)通信協(xié)議包括:私有的工業(yè)網(wǎng)絡(luò)協(xié)議。
在前述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的具體實施方式中,進一步地,所述協(xié)議解析單元包括:監(jiān)控數(shù)據(jù)獲取模塊及協(xié)議解析模塊;
所述監(jiān)控數(shù)據(jù)獲取模塊,用于從組態(tài)監(jiān)控界面,獲取監(jiān)控到的監(jiān)控數(shù)據(jù);
所述協(xié)議解析模塊,用于將捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)的數(shù)據(jù)包與預設(shè)的工業(yè)網(wǎng)絡(luò)協(xié)議庫中的工業(yè)總線協(xié)議進行輪詢套用,若協(xié)議套用成功,則輸出套用成功的協(xié)議類型;否則,將所述數(shù)據(jù)包中的數(shù)據(jù)逐位組合進行浮點化處理,將浮點化處理后的數(shù)據(jù)與獲取的所述監(jiān)控數(shù)據(jù)進行匹配,輸出浮點化處理后的數(shù)據(jù)在原始數(shù)據(jù)包中的起始位置與所述監(jiān)控數(shù)據(jù)之間的匹配映射表。
本實施例中,所述監(jiān)控數(shù)據(jù)獲取模塊,用于從當前工業(yè)控制系統(tǒng)的組態(tài)監(jiān)控界面,獲取監(jiān)控到的監(jiān)控數(shù)據(jù),所述監(jiān)控數(shù)據(jù)為工業(yè)控制系統(tǒng)中設(shè)備運行的觀測值;
本實施例中,工業(yè)網(wǎng)絡(luò)中的網(wǎng)絡(luò)通信數(shù)據(jù)封裝在TCP/IP應(yīng)用層,所述網(wǎng)絡(luò)通信數(shù)據(jù)都有各自的私有協(xié)議封裝,要想得到具體數(shù)據(jù)的物理意義需要解析這些私有協(xié)議,通過所述協(xié)議解析單元可以實現(xiàn)協(xié)議解析,或者為協(xié)議解析提供參考的功能。具體步驟可以包括:首先從組態(tài)監(jiān)控界面,得到實際的監(jiān)控數(shù)據(jù),然后對捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)的數(shù)據(jù)包輪詢套用預設(shè)的工業(yè)網(wǎng)絡(luò)協(xié)議庫中的工業(yè)總線協(xié)議,若協(xié)議套用成功,則輸出套用成功的協(xié)議類型;否則,將所述數(shù)據(jù)包中數(shù)據(jù)四位一組,逐位組合進行浮點化(A,B,C…),將浮點化后的數(shù)據(jù)(A,B,C…)與監(jiān)控數(shù)據(jù)(a,b,c,…)進行匹配,將正確匹配監(jiān)控數(shù)據(jù)a的浮點化數(shù)據(jù)A在原數(shù)據(jù)包中的起始位置與所述監(jiān)控數(shù)據(jù)對應(yīng)起來記錄在匹配映射表中,依次輪詢匹配所有監(jiān)控數(shù)據(jù),輸出匹配映射表,為協(xié)議解析提供參考,如圖5、圖6所示。
本實施例中,所述預設(shè)的工業(yè)網(wǎng)絡(luò)協(xié)議庫中的工業(yè)總線協(xié)議包括:Hostlink通信協(xié)議、Modbus TCP通信協(xié)議、USS通信協(xié)議、Modbus RTU通信協(xié)議、標準TCP/IP通信協(xié)議、EhterCat等協(xié)議,本實施例不做限定。
在前述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的具體實施方式中,進一步地,所述入侵檢測單元12包括:網(wǎng)絡(luò)特征檢測模塊;
所述網(wǎng)絡(luò)特征檢測模塊、用于提取捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)的網(wǎng)絡(luò)特征,獲取所述網(wǎng)絡(luò)特征的hash值,查詢預先建立的網(wǎng)絡(luò)特征hash值規(guī)則鏈表,若所述網(wǎng)絡(luò)特征的hash值沒有包含在所述預先建立的網(wǎng)絡(luò)特征hash值規(guī)則鏈表中,則發(fā)出報警信息,其中,所述網(wǎng)絡(luò)特征hash值規(guī)則鏈表包括:網(wǎng)絡(luò)通信數(shù)據(jù)的網(wǎng)絡(luò)特征的hash值;所述網(wǎng)絡(luò)特征包括:協(xié)議類型、源IP地址、目的IP地址、源端口、目的端口。
在前述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的具體實施方式中,進一步地,所述網(wǎng)絡(luò)特征檢測模塊、具體用于采用hash算法進行網(wǎng)絡(luò)特征自學習建立所述網(wǎng)絡(luò)特征hash值規(guī)則鏈表。
本實施例中,工業(yè)控制系統(tǒng)通信具有規(guī)律性和穩(wěn)定性的特點,即具有規(guī)則的通信流并且具有較固定的行為特征和可預測的行為模式,因此可以利用機器學習的方法自動生成網(wǎng)絡(luò)特征hash值規(guī)則鏈表。
本實施例中,首先,對所述網(wǎng)絡(luò)嗅探單元11捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)進行數(shù)據(jù)預處理后,逐層解碼提取出數(shù)據(jù)包報頭信息得到所述網(wǎng)絡(luò)通信數(shù)據(jù)的網(wǎng)絡(luò)特征;接著,通過規(guī)則自學習模塊對所述網(wǎng)絡(luò)通信數(shù)據(jù)的網(wǎng)絡(luò)特征進行學習并自動生成網(wǎng)絡(luò)特征hash值規(guī)則鏈表,利用生成的網(wǎng)絡(luò)特征hash值規(guī)則鏈表進行規(guī)則的輪詢匹配。
本實施例中,可以采用hash算法進行網(wǎng)絡(luò)特征自學習建立網(wǎng)絡(luò)特征hash值規(guī)則鏈表,根據(jù)所述網(wǎng)絡(luò)特征hash鏈表進行網(wǎng)路特征入侵檢測,初步檢測網(wǎng)絡(luò)通信數(shù)據(jù)是否異常;其中,所述網(wǎng)絡(luò)特征hash值規(guī)則鏈表包括:網(wǎng)絡(luò)通信數(shù)據(jù)中協(xié)議類型、源IP地址、目的IP地址、源端口、目的端口這五個網(wǎng)絡(luò)特征的hash值。
本實施例中,利用網(wǎng)絡(luò)特征hash值規(guī)則鏈表初步檢測網(wǎng)絡(luò)通信數(shù)據(jù)是否異常的具體的步驟可以包括:如圖7所示,將通過網(wǎng)絡(luò)嗅探單元11捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù),經(jīng)過IP分片重組、TCP流重組,數(shù)據(jù)包規(guī)則化等數(shù)據(jù)包預處理過程后生成日志文件,提取日志文件中的網(wǎng)絡(luò)特征字段(協(xié)議類型、源IP地址,目的IP地址、源端口、目的端口),并利用hash算法計算網(wǎng)絡(luò)特征字段對應(yīng)的網(wǎng)絡(luò)特征的hash值,并根據(jù)建立的安全系數(shù)判斷是否通過所述網(wǎng)絡(luò)通信數(shù)據(jù),具體的,當所述網(wǎng)絡(luò)通信數(shù)據(jù)的網(wǎng)絡(luò)特征的hash值大于所述安全系數(shù)時,則通過所述網(wǎng)絡(luò)通信數(shù)據(jù),并將通過的所述網(wǎng)絡(luò)通信數(shù)據(jù)的網(wǎng)絡(luò)特征的hash值插入到網(wǎng)絡(luò)特征hash值規(guī)則鏈表中,達到自學習的目的,其中,所述安全訪問系數(shù)為同一條通信路徑的安全訪問次數(shù)與該通信路徑總的訪問次數(shù)的比值,所述同一條通信路徑是指捕獲的不同的網(wǎng)絡(luò)通信數(shù)據(jù)中的協(xié)議類型、源IP地址、目的IP地址、源端口、目的端口這五個網(wǎng)絡(luò)特征分別對應(yīng)相同;自學習生成所述網(wǎng)絡(luò)特征hash值規(guī)則鏈表,便可以根據(jù)所述網(wǎng)絡(luò)特征hash值規(guī)則鏈表進行網(wǎng)絡(luò)特征匹配,所述匹配過程為:提取捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)的網(wǎng)絡(luò)特征,計算所述網(wǎng)絡(luò)特征的hash值,遍歷網(wǎng)絡(luò)特征hash值規(guī)則鏈表如果匹配成功,所述網(wǎng)絡(luò)通信數(shù)據(jù)正常通過,否則發(fā)出報警信息,并將該網(wǎng)絡(luò)特征加入自學習流程,進行學習是否加入到網(wǎng)絡(luò)特征hash值規(guī)則鏈表中。
在前述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的具體實施方式中,進一步地,所述入侵檢測單元12包括:控制指令檢測模塊;
所述控制指令檢測模塊、用于獲取所述工業(yè)控制系統(tǒng)當前的運行狀態(tài),依據(jù)獲取的所述工業(yè)控制系統(tǒng)當前的運行狀態(tài),利用三級鏈表結(jié)構(gòu),依據(jù)預設(shè)的工業(yè)控制模型規(guī)則庫,實時更新生成控制指令檢測規(guī)則鏈表;若捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)為控制指令,則檢測所述控制指令是否違反所述控制指令檢測規(guī)則鏈表中規(guī)則,若違反所述控制指令檢測規(guī)則鏈表中規(guī)則,則發(fā)出報警信息。
本實施例中,正常的工業(yè)控制系統(tǒng)應(yīng)該是一個穩(wěn)態(tài)的過程,工業(yè)控制系統(tǒng)的狀態(tài)應(yīng)向趨于目標值的方向發(fā)展,正常的控制指令應(yīng)使工業(yè)控制系統(tǒng)狀態(tài)穩(wěn)定。因此當控制指令違背該趨勢時可以判定為錯誤的控制指令,可視為入侵發(fā)生。從自動化角度描述生產(chǎn)過程控制的數(shù)學方法得到了比較深入的研究,從裝置模型、工序模型到工藝模型大都有現(xiàn)成的研究成果,可以為入侵檢測規(guī)則的建立提供指導。所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)為用戶提供規(guī)則編寫接口文件,用戶依照指定的規(guī)則格式,可豐富預設(shè)的工業(yè)控制模型規(guī)則庫中的規(guī)則,規(guī)則格式如圖8所示。
本實施例中,可以利用三級鏈表結(jié)構(gòu),將依照圖8指定的規(guī)則格式存儲的工業(yè)控制模型規(guī)則庫,實時更新生成控制指令檢測規(guī)則鏈表,根據(jù)所述控制指令檢測規(guī)則鏈表,進行網(wǎng)絡(luò)入侵檢測。
本實施例中,所述控制指令檢測模塊,根據(jù)預設(shè)的工業(yè)控制模型規(guī)則庫以及工業(yè)控制系統(tǒng)的實時狀態(tài),動態(tài)更新控制指令檢測規(guī)則鏈表,捕獲發(fā)送的控制指令,檢測所述控制指令是否違反控制指令檢測規(guī)則鏈表中規(guī)則,如果違反所述控制指令檢測規(guī)則鏈表中規(guī)則,則產(chǎn)生相應(yīng)的報警信息。
如圖9所示,所述控制指令檢測模塊檢測步驟,具體可以包括:
A11,讀取預設(shè)的工業(yè)控制模型規(guī)則庫,生成三級規(guī)則鏈表A,其中,所述三級規(guī)則鏈表包括:狀態(tài)檢測規(guī)則和狀態(tài)檢測規(guī)則對應(yīng)的控制指令檢測規(guī)則,如圖8所示;
A12,對圖3所示工業(yè)以太網(wǎng)上的工業(yè)通訊數(shù)據(jù)及捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)進行深度數(shù)據(jù)包解析,并結(jié)合工業(yè)控制系統(tǒng)控制器內(nèi)的控制程序的程序變量點表,獲取工業(yè)控制系統(tǒng)具體的控制變量值和測量變量值,從而確定所述工業(yè)控制系統(tǒng)當前的運行狀態(tài)(簡稱:當前系統(tǒng)狀態(tài)),其中,所述程序變量點表用于表征工業(yè)控制系統(tǒng)內(nèi)各個變量的使用情況;
A13,根據(jù)當前系統(tǒng)狀態(tài),遍歷三級規(guī)則鏈表A,判斷當前系統(tǒng)狀態(tài)是否符合所述三級規(guī)則鏈表A中的狀態(tài)檢測規(guī)則,如果符合三級規(guī)則鏈表A中的狀態(tài)檢測規(guī)則,則將三級規(guī)則鏈表A中對應(yīng)狀態(tài)檢測規(guī)則的相應(yīng)的控制指令檢測規(guī)則提取出來,添加到控制指令檢測規(guī)則鏈表B中,從而,更新控制指令檢測規(guī)則鏈表B;
A14,若捕獲的所述網(wǎng)絡(luò)通信數(shù)據(jù)為控制指令,解析所述網(wǎng)絡(luò)通信數(shù)據(jù)獲取控制指令,遍歷控制指令檢測規(guī)則鏈表B,判斷所述控制指令是否違反控制指令檢測規(guī)則鏈表B中的規(guī)則,如果違反B中的規(guī)則,則判定當前控制指令為入侵指令,發(fā)出報警信息。
A15,重復執(zhí)行A12,A13,A14,根據(jù)當前系統(tǒng)狀態(tài)實時更新控制指令檢測規(guī)則鏈表B,進行入侵檢測。
本實施例中,深度數(shù)據(jù)包解析結(jié)合具體的工業(yè)控制模型規(guī)則庫制定控制指令檢測規(guī)則鏈表,使的入侵檢測具有很強的針對性,檢測結(jié)果更加可信。
在前述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的具體實施方式中,進一步地,所述入侵檢測單元12還包括:空間狀態(tài)檢測模塊;
所述空間狀態(tài)檢測模塊,具體用于利用工業(yè)控制系統(tǒng)正常狀態(tài)下運行數(shù)據(jù),生成訓練樣本,根據(jù)主元分析法對所述訓練樣本進行降維處理,利用單類支持向量機對降維后的訓練樣本進行訓練生成所述空間狀態(tài)分類器;對沒有違反所述控制指令檢測規(guī)則鏈表中規(guī)則的網(wǎng)絡(luò)通信數(shù)據(jù)進行主元分析降維后,利用預設(shè)的空間狀態(tài)分類器檢測所述網(wǎng)絡(luò)通信數(shù)據(jù)為正常數(shù)據(jù),若不是正常數(shù)據(jù),則發(fā)出報警信息。
本實施例中,工業(yè)控制系統(tǒng)的“狀態(tài)有限”和“行為有限”特征決定了工業(yè)控制系統(tǒng)運行的狀態(tài)空間有限的,其中,所述狀態(tài)空間是指所述工業(yè)控制系統(tǒng)的全部可能狀態(tài)的集合。由于入侵行為和正常行為本質(zhì)是可以區(qū)分的,在行為的空間狀態(tài)上異常行為相對于正常行為是不同類的,因此可以利用分類方法將正常行為與異常行為進行分類。因為工業(yè)控制系統(tǒng)得到的數(shù)據(jù)樣本多為正常的樣本數(shù)據(jù),因此對一類樣本進行學習,形成一個對該類樣本的數(shù)據(jù)描述,然后根據(jù)設(shè)計或者給定的閾值來判斷新的數(shù)據(jù)樣本是否屬于正常樣本,以此來進行異常入侵檢測,這樣,基于先驗知識的入侵檢測方法,能夠大大提高所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的可靠性。
本實施例中,如圖10所示,因為工業(yè)控制系統(tǒng)具有大量數(shù)據(jù),具有較多的屬性,數(shù)據(jù)維度高,這樣會降低入侵檢測算法的效率,本實施例中,可以利用工業(yè)控制系統(tǒng)正常狀態(tài)下運行數(shù)據(jù),生成訓練樣本,并采用主元分析(PCA)方法對所述訓練樣本進行數(shù)據(jù)降維處理,減小運算量;然后,根據(jù)降維后的訓練樣本,采用單類支持向量機(OCSVM)進行樣本訓練生成空間狀態(tài)分類器,所述空間狀態(tài)分類器具有兩個重要參數(shù),單類支持向量機參數(shù)ν以及徑向基核函數(shù)g學習效果和判定結(jié)果具有重要的影響,在此采用一種自適應(yīng)的遺傳算法來調(diào)整參數(shù)ν和g,尋求訓練出最佳的空間狀態(tài)分類器。
本實施例中,通過對捕獲的網(wǎng)絡(luò)通信數(shù)據(jù)進行深度數(shù)據(jù)包解析、數(shù)據(jù)降維處理之后,用所述空間狀態(tài)分類器進行分類驗證,如果通過驗證則所述網(wǎng)絡(luò)通信數(shù)據(jù)為正常數(shù)據(jù),如果沒有通過驗證,則說明所述工業(yè)控制系統(tǒng)空間狀態(tài)異常,所述網(wǎng)絡(luò)通信數(shù)據(jù)為異常數(shù)據(jù),發(fā)出報警信息。
綜上,如圖11所示,所述針對分布式工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)包括:網(wǎng)絡(luò)嗅探單元11,協(xié)議解析單元,入侵檢測單元12,數(shù)據(jù)傳輸單元13;所述網(wǎng)絡(luò)嗅探單元11通過ETH0接口接入工業(yè)網(wǎng)絡(luò)進行所述工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)通信數(shù)據(jù)的偵聽捕獲工作,數(shù)據(jù)捕獲后,經(jīng)過預處理提取出應(yīng)用層數(shù)據(jù),送交協(xié)議解析單元,進行工業(yè)網(wǎng)絡(luò)協(xié)議解析,解析成功后輸出協(xié)議格式,之后關(guān)閉協(xié)議解析單元,進入所述入侵檢測單元12;數(shù)據(jù)首先進入入侵檢測單元12的網(wǎng)絡(luò)特征檢測模塊,提取出數(shù)據(jù)的網(wǎng)絡(luò)特征,進行訪問路徑,訪問次數(shù)等網(wǎng)絡(luò)特征檢測,檢測異常則直接進行報警,退出入侵檢測單元12,經(jīng)過數(shù)據(jù)傳輸單元13輸出報警信息;如果檢測正常,則對數(shù)據(jù)做進一步預處理,結(jié)合協(xié)議解析單元解析出的協(xié)議格式,進行深度數(shù)據(jù)包解析工作,解析出的數(shù)據(jù)依次傳入控制指令檢測模塊和空間狀態(tài)檢測模塊。若解析出的數(shù)據(jù)為控制指令,所述控制指令檢測模塊讀取工業(yè)控制模型規(guī)則庫文件,生成控制指令檢測規(guī)則鏈表,并根據(jù)工業(yè)控制系統(tǒng)實時狀態(tài)更新所述控制指令檢測規(guī)則鏈表,對傳入工業(yè)控制系統(tǒng)的控制指令進行檢測,發(fā)現(xiàn)違反所述控制指令檢測規(guī)則鏈表中規(guī)則的控制指令則進行報警輸出;所述空間狀態(tài)檢測模塊,根據(jù)主元分析法及單類支持向量機學習生成的空間狀態(tài)分類器,對工業(yè)控制系統(tǒng)空間狀態(tài)進行分類檢測,如果工業(yè)控制系統(tǒng)空間狀態(tài)異常則發(fā)出報警信息并經(jīng)過數(shù)據(jù)傳輸單元13傳輸所述報警信息。
綜上,本實施例中,采用基于網(wǎng)絡(luò)特征、工業(yè)控制模型規(guī)則庫、工業(yè)控制系統(tǒng)空間狀態(tài)的三維立體式縱深防御的入侵檢測方法,實現(xiàn)分布式控制系統(tǒng)安全及工業(yè)網(wǎng)絡(luò)的安全入侵檢測。
以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。