責(zé)探測工業(yè)控制網(wǎng)絡(luò)數(shù)據(jù)報(bào)。系統(tǒng)中可以有多個(gè)數(shù)據(jù)報(bào) 探測器。數(shù)據(jù)報(bào)探測器與IDS分析檢測主機(jī)之間通過專用線路通信。數(shù)據(jù)報(bào)探測器接收 IDS主機(jī)配置的報(bào)文過濾規(guī)則。數(shù)據(jù)報(bào)探測器給探測到的數(shù)據(jù)報(bào)打時(shí)間戳。各個(gè)數(shù)據(jù)報(bào)探 測器與IDS分析檢測主機(jī)保持時(shí)鐘同步。
[0094]本發(fā)明可檢測攻擊的能力舉例:
[0095]例1:蠕蟲病毒。若工業(yè)控制系統(tǒng)中某個(gè)節(jié)點(diǎn)感染了蠕蟲病毒,則該節(jié)點(diǎn)會向網(wǎng)絡(luò) 中發(fā)出掃描探測報(bào)文。其掃描探測報(bào)文的通信連接模式與本發(fā)明建立的工業(yè)控制系統(tǒng)通信 規(guī)則不符,此時(shí)IDS分析檢測主機(jī)將產(chǎn)生報(bào)警。
[0096]例2:控制命令注入。若工業(yè)控制網(wǎng)絡(luò)中被注入了控制命令,則該控制命令報(bào)文的 周期與控制命令的原有周期不符,此時(shí)IDS分析檢測系統(tǒng)將檢測出命令周期異常,產(chǎn)生報(bào) 警。
[0097] 例3 :有控制命令劫持導(dǎo)致的主站和從站之間的主從通信時(shí)序和輪詢順序混 亂。一個(gè)典型的實(shí)例是Stunex病毒可以劫持西門子工業(yè)控制系統(tǒng)的控制命令,使西門子 S7-300PLC在啟動和停止之間切換。若主站和從站中有S7-300PLC時(shí),其主從通信時(shí)序和 輪詢順序關(guān)系將出現(xiàn)混亂。若有類似的控制名利劫持,本發(fā)明中的主從分析檢測模塊將產(chǎn) 生告警。
[0098] 根據(jù)實(shí)際工業(yè)控制網(wǎng)絡(luò)情況,在控制網(wǎng)絡(luò)中部署多個(gè)數(shù)據(jù)報(bào)探測器。數(shù)據(jù)報(bào)探測 器可通過交換機(jī)端口鏡像、路由器檢測端口、多路轉(zhuǎn)發(fā)(例如使用分光器)或鏈路串接等方 式獲取鏈路層數(shù)據(jù)報(bào)。
[0099] 數(shù)據(jù)報(bào)探測器與IDS分析檢測主機(jī)之間組成入侵檢測系統(tǒng),數(shù)據(jù)報(bào)探測器與IDS主機(jī)之間使用獨(dú)立于工業(yè)控制網(wǎng)絡(luò)的通信網(wǎng)絡(luò)。入侵檢測系統(tǒng)使用IEEE1588精確時(shí)間同 步協(xié)議同步IDS分析主機(jī)和數(shù)據(jù)報(bào)探測器的時(shí)間。
[0100] IDS分析檢測主機(jī)采用安全計(jì)算平臺。IDS分析檢測主機(jī)運(yùn)行系統(tǒng)通信模型與通 信規(guī)則生成模塊、分析檢測模塊、系統(tǒng)配置模塊和系統(tǒng)響應(yīng)模塊。系統(tǒng)配置模塊提供節(jié)點(diǎn)描 述文件、工控協(xié)議描述文件、協(xié)議過濾規(guī)則、報(bào)文過濾規(guī)則的配置。IDS將報(bào)文過濾規(guī)則下發(fā) 到報(bào)文探測器,報(bào)文探測器依據(jù)報(bào)文過濾規(guī)則捕獲報(bào)文并傳給IDS分析檢測主機(jī)。
[0101] 系統(tǒng)運(yùn)行分為兩個(gè)階段:階段1是建立工業(yè)控制系統(tǒng)通信模型和通信規(guī)則。在工 業(yè)控制系統(tǒng)安裝調(diào)試階段以及尚未發(fā)生生攻擊階段進(jìn)行學(xué)習(xí),建立通信模型并生成通信規(guī) 則集。階段2是入侵檢測階段。當(dāng)在階段2發(fā)現(xiàn)有誤報(bào)時(shí),對誤報(bào)原因進(jìn)行分析,在人工指 導(dǎo)下轉(zhuǎn)入階段1重新構(gòu)建工業(yè)控制系統(tǒng)通信模型和通信規(guī)則,之后再進(jìn)入階段2。
【主權(quán)項(xiàng)】
1. 一種基于通信模型的工業(yè)控制系統(tǒng)的入侵檢測方法,其特征在于:包括建立工業(yè)控 制系統(tǒng)通信模型步驟和入侵檢測步驟:首先建立工業(yè)控制系統(tǒng)通信模型和通信規(guī)則,所述 的通信模型包含節(jié)點(diǎn)信息和通信連接信息;工業(yè)控制系統(tǒng)通信模型建立之后,以通信模型 為基礎(chǔ)產(chǎn)生合法通信規(guī)則集,在工業(yè)控制系統(tǒng)安裝調(diào)試階段以及尚未發(fā)生攻擊階段進(jìn)行學(xué) 習(xí),建立通信模型并生成通信規(guī)則集;然后在工業(yè)控制網(wǎng)絡(luò)中部署探測器,捕獲數(shù)據(jù)報(bào),由 數(shù)據(jù)報(bào)分析并提取通信連接信息,與所述生成的合法通信規(guī)則集進(jìn)行比對,若有違反該合 法通信規(guī)則集的通信連接則產(chǎn)生告警;若發(fā)現(xiàn)入侵,則調(diào)用系統(tǒng)響應(yīng)模塊采取相應(yīng)的響應(yīng) 策略,若實(shí)際檢測有誤,則進(jìn)行分析并重新進(jìn)行學(xué)習(xí)。2. 如權(quán)利要求1所述的一種基于通信模型的工業(yè)控制系統(tǒng)的入侵檢測方法,其特征在 于:其中建立系統(tǒng)通信模型采用以下方法: 第一步,捕獲數(shù)據(jù)報(bào);實(shí)時(shí)從數(shù)據(jù)鏈路層捕獲數(shù)據(jù)報(bào); 第二步,將實(shí)時(shí)捕獲的數(shù)據(jù)報(bào)或由已有數(shù)據(jù)報(bào)文件取得的數(shù)據(jù)報(bào),按照時(shí)間戳的順序 存儲到數(shù)據(jù)報(bào)隊(duì)列中,然后進(jìn)行協(xié)議分析; 第三步,進(jìn)行通信周期分析,分析兩個(gè)節(jié)點(diǎn)之間每次通信連接的起始時(shí)間和結(jié)束時(shí)間, 獲取通信周期; 第四步,生成通信模型:根據(jù)通信周期分析結(jié)果、通信記錄庫條目和預(yù)定義的節(jié)點(diǎn)描述 文件生成通信模型,并將通信模型數(shù)據(jù)存入通信模型庫; 第五步,分析主從關(guān)系:實(shí)際工業(yè)控制系統(tǒng)中包含多個(gè)互不連通的子系統(tǒng),則為每個(gè)子 系統(tǒng)分別建立通信模型,生成通信規(guī)則以及進(jìn)行入侵檢測,設(shè)通信模型庫中存儲的信息為 一個(gè)有向圖,對該有向圖進(jìn)行遍歷,獲取所有主從關(guān)系域信息,為每個(gè)主從關(guān)系與生成輪詢 順序函數(shù); 第六步,生成通信規(guī)則:由通信模型庫以及主從分析結(jié)果生成通信規(guī)則庫。3. 如權(quán)利要求2所述的一種基于通信模型的工業(yè)控制系統(tǒng)的入侵檢測方法,其特征在 于:其中第一步中只捕獲感興趣的數(shù)據(jù)報(bào)。4. 如權(quán)利要求3所述的一種基于通信模型的工業(yè)控制系統(tǒng)的入侵檢測方法,其特征 在于:其中第一步中預(yù)先設(shè)定過濾規(guī)則,采用捕獲前過濾的方式,過濾掉不符合規(guī)則的數(shù)據(jù) 報(bào)。5. 如權(quán)利要求3所述的一種基于通信模型的工業(yè)控制系統(tǒng)的入侵檢測方法,其特征在 于:其中第一步中捕獲數(shù)據(jù)報(bào)時(shí)為數(shù)據(jù)報(bào)打時(shí)間戳,對加有時(shí)間戳的數(shù)據(jù)報(bào)進(jìn)行實(shí)時(shí)分析, 或?qū)⒓佑袝r(shí)間戳的數(shù)據(jù)報(bào)存儲為數(shù)據(jù)報(bào)文件。6. 如權(quán)利要求2或3或4或5所述的一種基于通信模型的工業(yè)控制系統(tǒng)的入侵檢測 方法,其特征在于:其中第二步根據(jù)預(yù)定義的工控協(xié)議描述文件識別協(xié)議類型、信源地址、 信宿地址、負(fù)載二進(jìn)制位串,對過濾后的協(xié)議進(jìn)行通信連接分析,通信模型中也只建立協(xié)議 過濾后的通信連接關(guān)系,若報(bào)文格式與預(yù)定義工控協(xié)議描述文件中的任何一個(gè)協(xié)議均不匹 配,則判別為未知協(xié)議數(shù)據(jù)報(bào),此時(shí)只識別數(shù)據(jù)鏈路層地址,而將數(shù)據(jù)鏈路層的協(xié)議數(shù)據(jù)單 元PDU直接作為負(fù)載二進(jìn)制位串;對每個(gè)通信連接加上時(shí)間信息,協(xié)議分析之后的數(shù)據(jù)報(bào) 信息包含本次通信的開始時(shí)間和結(jié)束時(shí)間;對于面向連接的通信,結(jié)束時(shí)間大于開始時(shí)間; 對于非面向連接的通信,結(jié)束時(shí)間等于開始時(shí)間。7. 如權(quán)利要求6所述的一種基于通信模型的工業(yè)控制系統(tǒng)的入侵檢測方法,其特征 在于:第四步所述的預(yù)定義的節(jié)點(diǎn)描述文件依據(jù)工業(yè)控制系統(tǒng)設(shè)計(jì)文檔或系統(tǒng)組態(tài)文件編 寫,包括節(jié)點(diǎn)上的所有"協(xié)議-地址"信息對。8. 如權(quán)利要求7所述的一種基于通信模型的工業(yè)控制系統(tǒng)的入侵檢測方法,其特征在 于:其中采用"指導(dǎo)"與"探測"相結(jié)合的方法建立通信模型,所述的"指導(dǎo)"是以指先驗(yàn)知 識為指導(dǎo)生成模型的部分信息,工業(yè)控制系統(tǒng)設(shè)計(jì)說明書中有控制部件、計(jì)算和信息部件 以及通信部件的詳細(xì)設(shè)計(jì)說明,以此為基礎(chǔ)確定模型中的節(jié)點(diǎn)信息、節(jié)點(diǎn)之間的主從關(guān)系 以及拓?fù)湫畔?;所述?探測"是指使用探測工業(yè)控制系統(tǒng)通信數(shù)據(jù)報(bào)的方法獲取模型的部 分信息;在工業(yè)控制系統(tǒng)部署探測器探測網(wǎng)絡(luò)通信數(shù)據(jù)報(bào),對探測得到的網(wǎng)絡(luò)通信數(shù)據(jù)進(jìn) 行分析和挖掘,提取通信連接信息。9. 如權(quán)利要求1所述的一種基于通信模型的工業(yè)控制系統(tǒng)的入侵檢測方法,其特征在 于:其中入侵檢測采用以下方法: 步驟一,根據(jù)報(bào)文過濾規(guī)則實(shí)時(shí)捕獲數(shù)據(jù)報(bào),存入數(shù)據(jù)報(bào)隊(duì)列; 步驟二,根據(jù)協(xié)議過濾規(guī)則、工控協(xié)議描述文件分析數(shù)據(jù)報(bào)隊(duì)列數(shù)據(jù),分析結(jié)果并存入 通信記錄隊(duì)列; 步驟三,對通信記錄隊(duì)列進(jìn)行通信周期分析和主從關(guān)系分析,把分析結(jié)果傳給異常告 警模塊做進(jìn)一步分析; 步驟四,異常告警分析:實(shí)時(shí)接收通信周期分析、主從關(guān)系分析的結(jié)果并進(jìn)行綜合分 析,對比規(guī)則庫中的通信規(guī)則,若有違反該合法通信規(guī)則集的通信連接則產(chǎn)生告警;若發(fā)現(xiàn) 入侵,則調(diào)用系統(tǒng)響應(yīng)模塊采取相應(yīng)的響應(yīng)策略,若實(shí)際檢測有誤,則進(jìn)行分析并轉(zhuǎn)入重新 學(xué)習(xí),重新構(gòu)建通信模型和通信規(guī)則庫。10. -種基于通信模型的工業(yè)控制系統(tǒng)的入侵檢測系統(tǒng),其特征在于:包括多個(gè)數(shù)據(jù) 報(bào)探測器和一個(gè)IDS分析檢測主機(jī);其中IDS分析檢測主機(jī)包含系統(tǒng)配置模塊、系統(tǒng)響應(yīng)模 塊、通信模型與通信規(guī)則生成模塊以及分析檢測模塊;其中: 系統(tǒng)配置模塊用于提供節(jié)點(diǎn)描述文件、工控協(xié)議描述文件、協(xié)議過濾規(guī)則、報(bào)文過濾規(guī) 則的配置功能; 系統(tǒng)響應(yīng)模塊用于針對分析檢測模塊傳來的告警按照策略進(jìn)行響應(yīng); 通信模型與通信規(guī)則生成模塊用于提供在系統(tǒng)未發(fā)生攻擊狀態(tài)下的通信建模和通信 規(guī)則生成功能; 分析檢測模塊用于實(shí)時(shí)檢測從工業(yè)控制系統(tǒng)網(wǎng)絡(luò)中捕獲的報(bào)文,驗(yàn)證報(bào)文的通信連接 是否符合之前生成的通信規(guī)則,若有違反通信規(guī)則的通信連接則產(chǎn)生告警信息發(fā)送給系統(tǒng) 響應(yīng)模塊; 數(shù)據(jù)報(bào)探測器用于探測工業(yè)控制網(wǎng)絡(luò)數(shù)據(jù)報(bào),接收IDS分析檢測主機(jī)配置的報(bào)文過濾 規(guī)則,并給探測到的數(shù)據(jù)報(bào)打時(shí)間戳。
【專利摘要】本發(fā)明提出一種基于通信模型的工業(yè)控制系統(tǒng)的入侵檢測方法及系統(tǒng),在保證實(shí)用性的同時(shí),最大限度地提高入侵檢測的準(zhǔn)確率。首先建立工業(yè)控制系統(tǒng)通信模型和通信規(guī)則,所述的通信模型包含節(jié)點(diǎn)信息和通信連接信息;工業(yè)控制系統(tǒng)通信模型建立之后,以通信模型為基礎(chǔ)產(chǎn)生合法通信規(guī)則集,在工業(yè)控制系統(tǒng)安裝調(diào)試階段以及尚未發(fā)生攻擊階段進(jìn)行學(xué)習(xí),建立通信模型并生成通信規(guī)則集;然后在工業(yè)控制網(wǎng)絡(luò)中部署探測器,捕獲數(shù)據(jù)報(bào),由數(shù)據(jù)報(bào)分析并提取通信連接信息,與所述生成的合法通信規(guī)則集進(jìn)行比對,若有違反該合法通信規(guī)則集的通信連接則產(chǎn)生告警;若發(fā)現(xiàn)入侵,則調(diào)用系統(tǒng)響應(yīng)模塊采取相應(yīng)的響應(yīng)策略,若實(shí)際檢測有誤,則進(jìn)行分析并重新進(jìn)行學(xué)習(xí)。
【IPC分類】G05B23/02
【公開號】CN105204487
【申請?zhí)枴緾N201410828107
【發(fā)明人】鄭康鋒, 高大永, 張冬梅, 武斌, 伍淳華, 周楊, 查選
【申請人】北京郵電大學(xué)
【公開日】2015年12月30日
【申請日】2014年12月26日