基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法
【專利摘要】本發(fā)明公開了一種基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,通過協(xié)議描述規(guī)則對電力通信協(xié)議L2-L7層(鏈路層到應(yīng)用層)定義、協(xié)議狀態(tài)機邏輯及異常處理邏輯進(jìn)行描述,形成協(xié)議規(guī)則定義文件,然后通過協(xié)議規(guī)則解析引擎將協(xié)議規(guī)則定義文件翻譯成協(xié)議規(guī)則庫,根據(jù)協(xié)議規(guī)則庫對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議解析、狀態(tài)檢測及異常處理,不僅能夠?qū)崿F(xiàn)對各種應(yīng)用層協(xié)議的動態(tài)擴展支持,能夠?qū)崿F(xiàn)對應(yīng)用層協(xié)議上、下文狀態(tài)檢測與異常處理的動態(tài)擴展支持,便于電力通信協(xié)議異常檢測,具有良好的應(yīng)用前景。
【專利說明】基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信協(xié)議的異常檢測方法,具體涉及一種基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法。
【背景技術(shù)】
[0002]近年來,針對特定應(yīng)用層業(yè)務(wù)的網(wǎng)絡(luò)攻擊事件不斷發(fā)生,傳統(tǒng)的網(wǎng)絡(luò)安全防護(hù)設(shè)備(如防火墻、IDS等)由于只針對網(wǎng)絡(luò)層進(jìn)行檢測,難以發(fā)現(xiàn)這類應(yīng)用層攻擊事件,因此,急需加強對網(wǎng)絡(luò)應(yīng)用層數(shù)據(jù)的安全監(jiān)測。
[0003]相比于網(wǎng)絡(luò)層的通信協(xié)議,應(yīng)用層協(xié)議數(shù)量眾多,不僅有大量通用的應(yīng)用層協(xié)議(如HTTP、FTP、SSH等),而且還有很多行業(yè)專用的應(yīng)用層協(xié)議(如電力通信行業(yè)專用的IEC60870-5-104、IEC61850協(xié)議等),同時,各種新的應(yīng)用層協(xié)議層出不窮,完全實現(xiàn)對如此眾多的應(yīng)用層協(xié)議的識別與解析幾乎不可能。
[0004]目前,針對電力通信行業(yè)中的應(yīng)用層協(xié)議識別與解析所采用的方法大體分為以下幾種:一、采用硬編碼的方式,直接將所支持的應(yīng)用層協(xié)議的識別與解析編寫進(jìn)程序代碼,采用此方法時,在需要對協(xié)議解析方法進(jìn)行修改或者需要擴充支持更多的應(yīng)用層協(xié)議時,需要重新進(jìn)行硬編碼,可擴展性差;二、采用動態(tài)庫的方式,采用此方法,可以方便的擴展對新應(yīng)用層協(xié)議的支持,但必須要程序編碼人員進(jìn)行定制開發(fā),費時費力;三、采用中間腳本語言,實現(xiàn)對網(wǎng)絡(luò)協(xié)議的解析,如Wireshark支持通過Lua腳本語言添加對新的網(wǎng)絡(luò)協(xié)議的解析支持,但使用者需要掌握Lua的語法,且Lua提供的功能有限,不適合對數(shù)據(jù)包上下文進(jìn)行狀態(tài)檢測跟蹤等復(fù)雜的處理。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所解決的技術(shù)問題是相比于網(wǎng)絡(luò)層的通信協(xié)議,應(yīng)用層協(xié)議數(shù)量眾多,難以發(fā)現(xiàn)這類應(yīng)用層攻擊事件,尤其電力通信協(xié)議出現(xiàn)異常的情況的問題。本發(fā)明的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,通過將應(yīng)用層協(xié)議的解析邏輯、協(xié)議狀態(tài)機邏輯及異常處理邏輯統(tǒng)一定義在可編輯的協(xié)議文件中,不僅能夠?qū)崿F(xiàn)對各種應(yīng)用層協(xié)議的動態(tài)擴展支持,能夠?qū)崿F(xiàn)對應(yīng)用層協(xié)議上、下文狀態(tài)檢測與異常處理的動態(tài)擴展支持,便于電力通信協(xié)議異常檢測,具有良好的應(yīng)用前景。
[0006]為了解決上述問題,本發(fā)明所采用的技術(shù)方案是:
一種基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:包括以下步驟,
步驟(1 ),針對電力通信中所用的電力應(yīng)用層協(xié)議,分析其報文格式、交互流程,建立針對該電力應(yīng)用層協(xié)議的有限狀態(tài)機模型及異常處理模型;
步驟(2),基于可配置擴展的PDL語言,分別對該電力應(yīng)用層協(xié)議的報文格式定義、協(xié)議狀態(tài)機邏輯及異常處理邏輯進(jìn)行描述,形成協(xié)議規(guī)則定義文件;
步驟(3),通過協(xié)議規(guī)則解析引擎對協(xié)議規(guī)則定義文件進(jìn)行翻譯,形成協(xié)議規(guī)則庫; 步驟(4),從標(biāo)準(zhǔn)PCAP文件或者網(wǎng)絡(luò)適配器中獲取電力通信的網(wǎng)絡(luò)數(shù)據(jù)包;
步驟(5),根據(jù)協(xié)議規(guī)則庫對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議識別與解析、狀態(tài)檢查與跟蹤,在檢測到異常時,觸發(fā)異常處理動作。
[0007]前述的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(2 )協(xié)議狀態(tài)機邏輯是指應(yīng)用層協(xié)議有限個狀態(tài)之間轉(zhuǎn)移的關(guān)系。
[0008]前述的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(2)形成協(xié)議規(guī)則定義文件采用XML格式為可編輯的,并支持動態(tài)可擴展。
[0009]前述的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(3)形成協(xié)議規(guī)則庫,包括針對網(wǎng)絡(luò)協(xié)議的識別與解析邏輯,還包括電力通信中所用的電力應(yīng)用層協(xié)議的狀態(tài)機邏輯及異常處理邏輯。
[0010]前述的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(3)通過協(xié)議規(guī)則解析引擎對協(xié)議規(guī)則定義文件進(jìn)行翻譯,形成協(xié)議規(guī)則庫的方法,包括以下步驟,
(1)根據(jù)協(xié)議規(guī)則解析引擎對協(xié)議規(guī)則定義文件進(jìn)行解析,建立全局的網(wǎng)絡(luò)協(xié)議層次嵌套結(jié)構(gòu)表;
(2)依據(jù)電力通信中所用的電力應(yīng)用層協(xié)議的有限狀態(tài)機邏輯建立相應(yīng)的狀態(tài)轉(zhuǎn)移表,形成協(xié)議規(guī)則庫。
[0011]前述的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(5)對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議識別與解析的過程為,
(1)根據(jù)全局的網(wǎng)絡(luò)協(xié)議層次嵌套結(jié)構(gòu)表,對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行識別與解析,實現(xiàn)解析網(wǎng)絡(luò)數(shù)據(jù)包的鏈路層到傳輸層協(xié)議;
(2)根據(jù)解析結(jié)果,匹配該網(wǎng)絡(luò)數(shù)據(jù)包所屬的數(shù)據(jù)流;
(3)針對網(wǎng)絡(luò)數(shù)據(jù)包的應(yīng)用層內(nèi)容進(jìn)行解析,將解析結(jié)果存入相應(yīng)的結(jié)構(gòu)體中;
(4)若解析過程中出錯,則進(jìn)行異常處理。
[0012]前述的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(5 )狀態(tài)檢查與跟蹤的過程為,
(1)針對網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)的每一條數(shù)據(jù)流,維護(hù)當(dāng)前狀態(tài)信息;
(2)當(dāng)狀態(tài)信息發(fā)生改變時,依據(jù)協(xié)議規(guī)則庫中相應(yīng)的應(yīng)用層協(xié)議的狀態(tài)轉(zhuǎn)移表,檢查狀態(tài)的改變是否符合預(yù)期,若符合,則更新當(dāng)前狀態(tài)信息,否則,進(jìn)行異常處理。
[0013]前述的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(5)觸發(fā)異常處理動作包括審計、告警、阻斷處理。
[0014]本發(fā)明的有益效果是:本發(fā)明的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,通過協(xié)議描述規(guī)則對電力通信協(xié)議L2-L7層定義、協(xié)議狀態(tài)機邏輯及異常處理邏輯進(jìn)行描述,形成協(xié)議規(guī)則定義文件,然后通過協(xié)議規(guī)則解析引擎將協(xié)議規(guī)則定義文件翻譯成協(xié)議規(guī)則庫,根據(jù)協(xié)議規(guī)則庫對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議解析、狀態(tài)檢測及異常處理,并具有以下優(yōu)點,
(1)通過可擴展的PDL對應(yīng)用層協(xié)議進(jìn)行詳細(xì)描述,能夠?qū)鹘y(tǒng)邊界網(wǎng)關(guān)所無法深度處理的協(xié)議內(nèi)容進(jìn)行深度處理,實現(xiàn)對包括報文頭以及報文數(shù)據(jù)字段內(nèi)容的全面控制;
(2)通過基于有限狀態(tài)機模型的狀態(tài)檢查與跟蹤,能夠?qū)νㄐ艌笪纳舷挛男袨檫M(jìn)行細(xì)顆粒度異常檢查;
(2)將應(yīng)用層協(xié)議解析、協(xié)議狀態(tài)機邏輯及異常處理邏輯全部定義在可編輯的協(xié)議規(guī)則定義文件中,方便了對新的應(yīng)用層協(xié)議的支持,同時,非編碼人員經(jīng)過一定的培訓(xùn),也能夠通過修改協(xié)議規(guī)則定義文件來支持對新的應(yīng)用層協(xié)議的處理,具有良好的應(yīng)用前景。
【專利附圖】
【附圖說明】
[0015]圖1是本發(fā)明的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法的數(shù)據(jù)流向圖。
【具體實施方式】
[0016]下面將結(jié)合說明書附圖,對本發(fā)明作進(jìn)一步的說明。
[0017]本發(fā)明的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,通過協(xié)議描述規(guī)則對電力通信協(xié)議L2-L7層(鏈路層到應(yīng)用層)定義、協(xié)議狀態(tài)機邏輯及異常處理邏輯進(jìn)行描述,形成協(xié)議規(guī)則定義文件,然后通過協(xié)議規(guī)則解析引擎將協(xié)議規(guī)則定義文件翻譯成協(xié)議規(guī)則庫,根據(jù)協(xié)議規(guī)則庫對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議解析、狀態(tài)檢測及異常處理,如圖1所示,具體包括以下步驟,
步驟(1),針對電力通信中所用的電力應(yīng)用層協(xié)議,分析其報文格式、交互流程,建立針對該電力應(yīng)用層協(xié)議的有限狀態(tài)機模型及異常處理模型;
步驟(2),基于可配置擴展的PDL語言,分別對該電力應(yīng)用層協(xié)議的報文格式定義、協(xié)議狀態(tài)機邏輯及異常處理邏輯進(jìn)行描述,形成協(xié)議規(guī)則定義文件,協(xié)議規(guī)則定義文件,采用XML格式為可編輯的,并支持動態(tài)可擴展,可以方便的添加對新的應(yīng)用層協(xié)議的支持,可擴展性強;
步驟(3),通過協(xié)議規(guī)則解析引擎對協(xié)議規(guī)則定義文件進(jìn)行翻譯,形成協(xié)議規(guī)則庫,協(xié)議規(guī)則庫包括針對網(wǎng)絡(luò)協(xié)議的識別與解析邏輯,還包括電力通信中所用的電力應(yīng)用層協(xié)議的狀態(tài)機邏輯及異常處理邏輯,包括以下步驟,
(1)根據(jù)協(xié)議規(guī)則解析引擎對協(xié)議規(guī)則定義文件進(jìn)行解析,建立全局的網(wǎng)絡(luò)協(xié)議層次嵌套結(jié)構(gòu)表;
(2)依據(jù)電力通信中所用的電力應(yīng)用層協(xié)議的有限狀態(tài)機邏輯建立相應(yīng)的狀態(tài)轉(zhuǎn)移表,形成協(xié)議規(guī)則庫;
步驟(4 ),從標(biāo)準(zhǔn)PCAP文件或者網(wǎng)絡(luò)適配器中獲取電力通信的網(wǎng)絡(luò)數(shù)據(jù)包;
步驟(5),根據(jù)協(xié)議規(guī)則庫對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議識別與解析、狀態(tài)檢查與跟蹤,在檢測到異常時,觸發(fā)異常處理動作,
協(xié)議識別與解析的過程為,
(1)根據(jù)全局的網(wǎng)絡(luò)協(xié)議層次嵌套結(jié)構(gòu)表,對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行識別與解析,實現(xiàn)解析網(wǎng)絡(luò)數(shù)據(jù)包的L2-L4層(鏈路層到傳輸層)協(xié)議;
(2)根據(jù)解析結(jié)果,匹配該網(wǎng)絡(luò)數(shù)據(jù)包所屬的數(shù)據(jù)流;
(3)針對網(wǎng)絡(luò)數(shù)據(jù)包的L7層(應(yīng)用層)內(nèi)容進(jìn)行解析,將解析結(jié)果存入相應(yīng)的結(jié)構(gòu)體中;
(4)若解析過程中出錯,則進(jìn)行異常處理。
[0018]狀態(tài)檢查與跟蹤的過程為,
(1)針對網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)的每一條數(shù)據(jù)流,維護(hù)當(dāng)前狀態(tài)信息;
(2)當(dāng)狀態(tài)信息發(fā)生改變時,依據(jù)協(xié)議規(guī)則庫中相應(yīng)的應(yīng)用層協(xié)議的狀態(tài)轉(zhuǎn)移表,檢查狀態(tài)的改變是否符合預(yù)期,若符合,則更新當(dāng)前狀態(tài)信息,否則,
觸發(fā)異常處理,觸發(fā)動作包括審計、告警、阻斷處理,當(dāng)進(jìn)行連接阻斷時,將對TCP連接的兩端分別發(fā)放重置報文,從而強制斷開此TCP連接。
[0019]根據(jù)本發(fā)明的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,介紹一具體實施例,
針對電力通信協(xié)議IEC-60870-5-104協(xié)議(以下簡稱104協(xié)議),
(1)分析其報文幀格式(包括I幀、S幀、U幀等),確立協(xié)議的各種狀態(tài)并建立狀態(tài)轉(zhuǎn)移表(如在遙控操作時,先進(jìn)入遙控預(yù)置狀態(tài),然后可以進(jìn)入遙控執(zhí)行狀態(tài)或者遙控撤銷狀態(tài));
(2 )通過PDL描述語言將104協(xié)議的協(xié)議解析邏輯,協(xié)議狀態(tài)機邏輯及異常處理邏輯定義到協(xié)議規(guī)則定義文件中去;
(3)這里為1個電力通信協(xié)議IEC-60870-5-104協(xié)議,協(xié)議規(guī)則定義文件即為協(xié)議規(guī)則庫;
(4)在對報文進(jìn)行處理時,當(dāng)幀測到基于104協(xié)議的數(shù)據(jù)流的第一條報文時,為對應(yīng)的數(shù)據(jù)流建立狀態(tài)跟蹤信息,并將狀態(tài)跟蹤信息置于初始狀態(tài),之后依據(jù)之前建立的104協(xié)議狀態(tài)轉(zhuǎn)移表對此104協(xié)議數(shù)據(jù)流進(jìn)行持續(xù)的狀態(tài)跟蹤,并更新狀態(tài)信息內(nèi)容;
(5)當(dāng)對104協(xié)議進(jìn)行協(xié)議解析過程中出錯,或者在狀態(tài)檢查的過程中出錯時(如在沒有進(jìn)入遙控預(yù)置狀態(tài)的情況下,直接進(jìn)入了遙控執(zhí)行狀態(tài)),進(jìn)行審計、告警、阻斷等異常處理。
[0020]以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。
【權(quán)利要求】
1.基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:包括以下步驟, 步驟(I ),針對電力通信中所用的電力應(yīng)用層協(xié)議,分析其報文格式、交互流程,建立針對該電力應(yīng)用層協(xié)議的有限狀態(tài)機模型及異常處理模型; 步驟(2),基于可配置擴展的PDL語言,分別對該電力應(yīng)用層協(xié)議的報文格式定義、協(xié)議狀態(tài)機邏輯及異常處理邏輯進(jìn)行描述,形成協(xié)議規(guī)則定義文件; 步驟(3),通過協(xié)議規(guī)則解析引擎對協(xié)議規(guī)則定義文件進(jìn)行翻譯,形成協(xié)議規(guī)則庫; 步驟(4),從標(biāo)準(zhǔn)PCAP文件或者網(wǎng)絡(luò)適配器中獲取電力通信的網(wǎng)絡(luò)數(shù)據(jù)包; 步驟(5),根據(jù)協(xié)議規(guī)則庫對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議識別與解析、狀態(tài)檢查與跟蹤,在檢測到異常時,觸發(fā)異常處理動作。
2.根據(jù)權(quán)利要求1的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(2)協(xié)議狀態(tài)機邏輯是指應(yīng)用層協(xié)議有限個狀態(tài)之間轉(zhuǎn)移的關(guān)系。
3.根據(jù)權(quán)利要求1的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(2)形成協(xié)議規(guī)則定義文件采用XML格式為可編輯的,并支持動態(tài)可擴展。
4.根據(jù)權(quán)利要求1的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(3)形成協(xié)議規(guī)則庫,包括針對網(wǎng)絡(luò)協(xié)議的識別與解析邏輯,還包括電力通信中所用的電力應(yīng)用層協(xié)議的狀態(tài)機邏輯及異常處理邏輯。
5.根據(jù)權(quán)利要求1或4的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(3)通過協(xié)議規(guī)則解析引擎對協(xié)議規(guī)則定義文件進(jìn)行翻譯,形成協(xié)議規(guī)則庫的方法,包括以下步驟, (1)根據(jù)協(xié)議規(guī)則解析引擎對協(xié)議規(guī)則定義文件進(jìn)行解析,建立全局的網(wǎng)絡(luò)協(xié)議層次嵌套結(jié)構(gòu)表; (2)依據(jù)電力通信中所用的電力應(yīng)用層協(xié)議的有限狀態(tài)機邏輯建立相應(yīng)的狀態(tài)轉(zhuǎn)移表,形成協(xié)議規(guī)則庫。
6.根據(jù)權(quán)利要求1的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(5)對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議識別與解析的過程為, (1)根據(jù)全局的網(wǎng)絡(luò)協(xié)議層次嵌套結(jié)構(gòu)表,對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行識別與解析,實現(xiàn)解析網(wǎng)絡(luò)數(shù)據(jù)包的鏈路層到傳輸層協(xié)議; (2)根據(jù)解析結(jié)果,匹配該網(wǎng)絡(luò)數(shù)據(jù)包所屬的數(shù)據(jù)流; (3)針對網(wǎng)絡(luò)數(shù)據(jù)包的應(yīng)用層內(nèi)容進(jìn)行解析,將解析結(jié)果存入相應(yīng)的結(jié)構(gòu)體中; (4)若解析過程中出錯,則進(jìn)行異常處理。
7.根據(jù)權(quán)利要求1的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(5)狀態(tài)檢查與跟蹤的過程為, (1)針對網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)的每一條數(shù)據(jù)流,維護(hù)當(dāng)前狀態(tài)信息; (2)當(dāng)狀態(tài)信息發(fā)生改變時,依據(jù)協(xié)議規(guī)則庫中相應(yīng)的應(yīng)用層協(xié)議的狀態(tài)轉(zhuǎn)移表,檢查狀態(tài)的改變是否符合預(yù)期,若符合,則更新當(dāng)前狀態(tài)信息,否則,進(jìn)行異常處理。
8.根據(jù)權(quán)利要求1的基于有限狀態(tài)機動態(tài)可擴展的電力通信協(xié)議異常檢測方法,其特征在于:步驟(5)觸發(fā)異常處理動作包括審計、告警、阻斷處理。
【文檔編號】H04L29/08GK104363131SQ201410540266
【公開日】2015年2月18日 申請日期:2014年10月14日 優(yōu)先權(quán)日:2014年10月14日
【發(fā)明者】黃益彬, 金倩倩, 楊維永, 俞皓, 朱應(yīng)飛, 朱世順, 宋述停, 王強 申請人:國家電網(wǎng)公司, 南京南瑞集團公司, 南京南瑞信息通信科技有限公司, 國網(wǎng)山西省電力公司