本發(fā)明涉及工業(yè)控制,具體涉及一種基于p4模型的工控系統(tǒng)網(wǎng)內(nèi)流量監(jiān)測方法及系統(tǒng)。
背景技術(shù):
1、隨著物聯(lián)網(wǎng)技術(shù)的普及,工控系統(tǒng)變得更加互聯(lián)和智能化,然而,這也使得這些系統(tǒng)暴露在更廣泛的網(wǎng)絡(luò)威脅之下。傳統(tǒng)的安全措施往往難以應(yīng)對這些新興的網(wǎng)絡(luò)攻擊,而p4模型提供了一種靈活而強大的工具,能夠在網(wǎng)內(nèi)交換機上實現(xiàn)對網(wǎng)絡(luò)流量的監(jiān)測,以識別和響應(yīng)異常行為,從而保護工控系統(tǒng)免受潛在的網(wǎng)絡(luò)攻擊。此外,工控系統(tǒng)的可靠性和穩(wěn)定性至關(guān)重要,任何中斷或故障都可能導(dǎo)致生產(chǎn)停滯,甚至帶來巨大的經(jīng)濟損失。p4模型允許用戶通過編程方式定義數(shù)據(jù)包處理邏輯,從而實現(xiàn)精確的流量監(jiān)測和控制,這種實時響應(yīng)能力大大提高了工控系統(tǒng)的可靠性,減少了停機時間和維護成本。隨著工業(yè)數(shù)字化轉(zhuǎn)型的深入,工控系統(tǒng)對數(shù)據(jù)的依賴程度將會不斷增加,通過利用p4模型實現(xiàn)流量監(jiān)測,工控系統(tǒng)能夠收集到更加詳細和準確的網(wǎng)絡(luò)流量數(shù)據(jù),為數(shù)據(jù)分析和優(yōu)化提供了可靠的基礎(chǔ)。這不僅有助于提升系統(tǒng)的安全性和穩(wěn)定性,還能推動工控系統(tǒng)向智能化、數(shù)據(jù)驅(qū)動的方向發(fā)展。
技術(shù)實現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)在實現(xiàn)自動化監(jiān)控檢測時存在的不足,從而提供一種基于p4模型的工控系統(tǒng)網(wǎng)內(nèi)流量監(jiān)測方法,本發(fā)明針對工控系統(tǒng)網(wǎng)絡(luò)流量監(jiān)測的技術(shù)瓶頸,可以根據(jù)工控系統(tǒng)的具體需求靈活定制流量監(jiān)測策略,并通過可編程的p4語言在工業(yè)交換機上實現(xiàn)對網(wǎng)絡(luò)流量的分布式監(jiān)測,不僅能夠提高工控系統(tǒng)中流量監(jiān)測的性能,還能夠使工控系統(tǒng)在高流量環(huán)境下仍然保持高效的運行狀態(tài)。
2、本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:
3、第一方面,本發(fā)明提供了一種基于p4模型的工控系統(tǒng)網(wǎng)內(nèi)流量監(jiān)測方法,所述方法包括以下步驟:根據(jù)工控系統(tǒng)的通信協(xié)議類型與防護要求,利用p4語言編譯用于網(wǎng)內(nèi)流量解析和監(jiān)測的配置文件,下發(fā)給可編程工業(yè)交換機;工業(yè)交換機接收數(shù)據(jù)包后,利用工控協(xié)議解析器提取數(shù)據(jù)包關(guān)鍵字段,并生成內(nèi)嵌計數(shù)器和寄存器結(jié)構(gòu)的元數(shù)據(jù);將元數(shù)據(jù)輸入包含協(xié)議特征監(jiān)測、序列特征監(jiān)測、流量特征監(jiān)測三個數(shù)據(jù)處理單元的流水線,實現(xiàn)對數(shù)據(jù)包的監(jiān)測和攔截;利用工業(yè)協(xié)議逆解析器對未被攔截的數(shù)據(jù)包進行重封裝,并根據(jù)當前網(wǎng)絡(luò)負載情況轉(zhuǎn)發(fā)所述重封裝數(shù)據(jù)包;基于工業(yè)交換機的信息反饋機制,更新網(wǎng)內(nèi)流量監(jiān)測與防護策略,重編譯并下發(fā)解析和監(jiān)測配置文件。
4、可選地,根據(jù)工控系統(tǒng)的通信協(xié)議類型與防護要求,利用p4語言編譯用于網(wǎng)內(nèi)流量解析和監(jiān)測的配置文件,下發(fā)給可編程工業(yè)交換機,包括:根據(jù)工控系統(tǒng)的協(xié)議類型及幀結(jié)構(gòu),構(gòu)建數(shù)據(jù)包解析樹,所述解析樹的節(jié)點表示數(shù)據(jù)包逐層拆封后的結(jié)構(gòu)單元;結(jié)合工控系統(tǒng)業(yè)務(wù)建立最小化防護要求,構(gòu)建流量監(jiān)測策略表,所述策略表的表項表示對數(shù)據(jù)包解析后的攔截規(guī)則;在控制層面利用p4語言進行程序編譯,生成配置文件和應(yīng)用程序接口后,由控制層面向數(shù)據(jù)層面的可編程工業(yè)交換機下發(fā)流表。
5、可選地,工業(yè)交換機接收數(shù)據(jù)包后,利用工控協(xié)議解析器提取數(shù)據(jù)包關(guān)鍵字段,并生成內(nèi)嵌計數(shù)器和寄存器結(jié)構(gòu)的元數(shù)據(jù),包括:工業(yè)交換機完成配置后,將接收到的數(shù)據(jù)包輸入待處理緩沖區(qū),根據(jù)數(shù)據(jù)包的不同類型對數(shù)據(jù)包配置不同的優(yōu)先級;對緩沖區(qū)輸出的數(shù)據(jù)包進行首部和載荷分離,利用由數(shù)據(jù)包解析樹編譯生成的解析器,從所述數(shù)據(jù)包首部中提取關(guān)鍵字段,所述解析器能夠支持對應(yīng)用層工控協(xié)議的拆封和解析;利用提取的關(guān)鍵字段生成元數(shù)據(jù)結(jié)構(gòu)體,并在所述元數(shù)據(jù)中嵌入多個存儲計算中間數(shù)據(jù)的計數(shù)器、寄存器,根據(jù)數(shù)據(jù)包序列標識對所述元數(shù)據(jù)進行分組標記。
6、可選地,將元數(shù)據(jù)輸入包含協(xié)議特征監(jiān)測、序列特征監(jiān)測、流量特征監(jiān)測三個數(shù)據(jù)處理單元的流水線,實現(xiàn)對數(shù)據(jù)包的監(jiān)測和攔截,包括:將元數(shù)據(jù)送入由流量監(jiān)測策略表編譯生成的匹配動作表進行正則匹配,確定數(shù)據(jù)包處理流程,生成包含協(xié)議特征監(jiān)測、序列特征監(jiān)測、流量特征監(jiān)測三個數(shù)據(jù)處理單元的流水線;將元數(shù)據(jù)輸入?yún)f(xié)議特征監(jiān)測單元,檢驗所述元數(shù)據(jù)中的狀態(tài)標志位,如果所述標志位異常,則丟棄對應(yīng)數(shù)據(jù)包并中止當前流水線進程,如果所述標志位正常,則輸出元數(shù)據(jù);將元數(shù)據(jù)輸入序列特征監(jiān)測單元,將所述元數(shù)據(jù)中的數(shù)據(jù)寄存器值與預(yù)設(shè)定的惡意數(shù)據(jù)序列進行精確匹配,如果所述寄存器值異常,則丟棄對應(yīng)數(shù)據(jù)包并中止當前流水線進程,如果所述寄存器值正常,則輸出元數(shù)據(jù);將元數(shù)據(jù)輸入流量特征監(jiān)測單元,根據(jù)元數(shù)據(jù)中的時間戳信息計算流量速率、頻率特征,如果所述流量特征異常,則開啟冗余流水線進行并行處理、輸出元數(shù)據(jù),如果所述流量特征正常,則僅輸出元數(shù)據(jù)。
7、可選地,協(xié)議特征監(jiān)測、序列特征監(jiān)測、流量特征監(jiān)測單元的數(shù)據(jù)處理過程,包括:從匹配動作表中提取操作指令,按序讀入到元數(shù)據(jù)中的指令寄存器,并初始化元數(shù)據(jù)中的程序計數(shù)器;根據(jù)操作指令所需的操作數(shù)在元數(shù)據(jù)的數(shù)據(jù)寄存器中查找,如果所述操作數(shù)不存在,則從數(shù)據(jù)包載荷中查找對應(yīng)的數(shù)據(jù)內(nèi)容,讀入到所述數(shù)據(jù)寄存器;基于操作指令和操作數(shù)進行計算或判斷處理,將處理結(jié)果存入元數(shù)據(jù)的數(shù)據(jù)寄存器。
8、可選地,利用工業(yè)協(xié)議逆解析器對未被攔截的數(shù)據(jù)包進行重封裝,并根據(jù)當前網(wǎng)絡(luò)負載情況轉(zhuǎn)發(fā)所述重封裝數(shù)據(jù)包,包括:從流水線處理后的元數(shù)據(jù)中提取關(guān)鍵字段,利用由數(shù)據(jù)包解析樹編譯生成的逆解析器恢復(fù)數(shù)據(jù)包首部,并與原數(shù)據(jù)包載荷進行重封裝;基于代理轉(zhuǎn)發(fā)規(guī)則和負載均衡規(guī)則,確定重封裝數(shù)據(jù)包的轉(zhuǎn)發(fā)端口,將所述數(shù)據(jù)包輸入待轉(zhuǎn)發(fā)緩沖區(qū);根據(jù)不同類型數(shù)據(jù)包配置的不同優(yōu)先級,將所述數(shù)據(jù)包輸出緩沖區(qū)并發(fā)送至工業(yè)互聯(lián)網(wǎng)中。
9、可選地,基于數(shù)據(jù)層面的信息反饋機制,基于工業(yè)交換機的信息反饋機制,更新網(wǎng)內(nèi)流量監(jiān)測與防護策略,重編譯并下發(fā)解析和監(jiān)測配置文件,包括:將元數(shù)據(jù)中的流量監(jiān)測結(jié)果存入工業(yè)交換機的本地存儲,由控制層面定期調(diào)用應(yīng)用程序接口讀取所述交換機內(nèi)存儲的監(jiān)測結(jié)果;根據(jù)數(shù)據(jù)層面反饋的統(tǒng)計信息,在控制層面修改流量監(jiān)測策略,并通過p4語言重新編譯并下發(fā)流表,以更新工業(yè)交換機配置。
10、第二方面,本發(fā)明實施例提供了一種基于p4模型的工控系統(tǒng)網(wǎng)內(nèi)流量監(jiān)測與防護系統(tǒng),包括:程序編譯模塊,用于利用p4語言編譯生成工業(yè)交換機的配置文件;數(shù)據(jù)包解析模塊,用于從數(shù)據(jù)包首部中提取關(guān)鍵字段并生成元數(shù)據(jù);流水線處理模塊,用于根據(jù)對元數(shù)據(jù)內(nèi)容的檢測,對數(shù)據(jù)包執(zhí)行網(wǎng)內(nèi)流量監(jiān)測和攔截處理;數(shù)據(jù)包逆解析模塊,用于從元數(shù)據(jù)中提取關(guān)鍵字段并重封裝數(shù)據(jù)包;數(shù)據(jù)包轉(zhuǎn)發(fā)模塊,用于根據(jù)負載均衡情況對數(shù)據(jù)包進行路由轉(zhuǎn)發(fā)。
11、第三方面,本發(fā)明實施例提供了一種電子設(shè)備,包括:存儲器和處理器,所述存儲器和所述處理器之間互相通信連接,所述存儲器中存儲有計算機指令,所述處理器通過執(zhí)行所述計算機指令,從而執(zhí)行第一方面,或者第一方面任意一種可選實施方式中所述的方法。
12、第四方面,本發(fā)明實施例提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機指令,所述計算機指令用于使所述計算機執(zhí)行第一方面,或者第一方面任意一種可選實施方式中所述的方法。
13、本公開相對于現(xiàn)有技術(shù)而言,可以根據(jù)工控系統(tǒng)的具體需求靈活定制流量監(jiān)測策略,并通過可編程的p4語言在工業(yè)交換機上實現(xiàn)對網(wǎng)絡(luò)流量的分布式監(jiān)測,不僅能夠提高工控系統(tǒng)中流量監(jiān)測的性能,還能夠使工控系統(tǒng)在高流量環(huán)境下仍然保持高效的運行狀態(tài)。