本發(fā)明涉及私有協(xié)議解析領(lǐng)域,更具體地說,本發(fā)明涉及基于關(guān)聯(lián)規(guī)則分析和序列比對的電力系統(tǒng)協(xié)議分析方法及系統(tǒng)。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)與工業(yè)控制網(wǎng)絡(luò)的融合,工業(yè)控制系統(tǒng)原本相對封閉的環(huán)境面臨新的安全挑戰(zhàn)。由于工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)設(shè)計基于物理隔離的前提,未充分考慮網(wǎng)絡(luò)安全防護,這為潛在的攻擊者提供了機會。工業(yè)網(wǎng)絡(luò)在通信過程中通常采用特定的私有通信協(xié)議,了解這些私有協(xié)議的設(shè)計細(xì)節(jié)對于提升工業(yè)控制系統(tǒng)的安全性至關(guān)重要,能夠幫助用戶采取有效的防護措施。由于私有協(xié)議的規(guī)范未公開,協(xié)議逆向成為了解其設(shè)計細(xì)節(jié)的必要手段。協(xié)議逆向工程通過監(jiān)控和分析協(xié)議實體的網(wǎng)絡(luò)報文,提取通信過程中使用的協(xié)議格式,不依賴協(xié)議描述。這一過程不僅能夠幫助研究人員和工業(yè)企業(yè)了解協(xié)議細(xì)節(jié),還能夠發(fā)現(xiàn)協(xié)議設(shè)計中的潛在漏洞,并制定針對性預(yù)防措施,以提高工業(yè)系統(tǒng)的安全性。
2、近年來,電力領(lǐng)域的網(wǎng)絡(luò)攻擊事件持續(xù)增加,電力工控網(wǎng)絡(luò)的安全形勢依舊嚴(yán)峻。隨著新型電力系統(tǒng)的逐步建設(shè),電網(wǎng)設(shè)備規(guī)模不斷擴大,大量智能終端設(shè)備,如配電dtu、ftu等,接入配電網(wǎng)。這些設(shè)備技術(shù)較新,規(guī)?;瘧?yīng)用時間較短,通信協(xié)議的防護機制相對薄弱,亟需對新型電力系統(tǒng)中的私有通信協(xié)議進行有效識別和分析,以提升自動化分析私有協(xié)議的效率?;陔娏ο到y(tǒng)中常用的modbus協(xié)議進行參考測試,提出了一種高效的方法,驗證了該方法的準(zhǔn)確性和性能。
3、現(xiàn)有技術(shù)在協(xié)議特征識別中存在不足?,F(xiàn)有的協(xié)議特征提取主要依賴經(jīng)典的apriori算法,該算法需要頻繁掃描原始數(shù)據(jù)集,效率較低。此外,提取出的協(xié)議特征未經(jīng)過進一步分析,影響了協(xié)議逆向的準(zhǔn)確性。在協(xié)議格式提取中,多序列比對算法可以有效推斷協(xié)議格式,但其在比對過程中會插入空白字符,降低協(xié)議格式推斷的準(zhǔn)確性。為提高協(xié)議格式推斷的準(zhǔn)確率,亟需引入新的處理流程進行優(yōu)化。
4、為了解決上述問題,現(xiàn)提供一種技術(shù)方案。
技術(shù)實現(xiàn)思路
1、為了克服現(xiàn)有技術(shù)的上述缺陷,本發(fā)明一方面提供一種基于關(guān)聯(lián)規(guī)則分析和序列比對的電力系統(tǒng)協(xié)議分析方法,通過靜態(tài)字段與動態(tài)字段的精確分離,動態(tài)字段的特征提取得到了優(yōu)化,關(guān)聯(lián)規(guī)則算法深入挖掘了隱藏的頻繁項和關(guān)聯(lián)特征,使動態(tài)字段的特征能夠在特征矩陣中以結(jié)構(gòu)化的方式展現(xiàn),成為后續(xù)聚類與推斷的基礎(chǔ)。在此基礎(chǔ)上,特征矩陣的聚類操作通過dbscan算法將協(xié)議格式進行分類和整合,處理了協(xié)議中的噪聲和異常數(shù)據(jù),為接下來的字段邊界識別提供了更加準(zhǔn)確的初步格式。再結(jié)合needleman-wunsch序列比對和信息熵校驗技術(shù),對邊界位置進行精確識別,并通過字段邊界模糊度指數(shù)與序列對齊誤差修正指數(shù)對模糊字段進行動態(tài)調(diào)整,互信息量校正機制進一步增強了字段劃分的精度,確保了整個協(xié)議格式推斷的準(zhǔn)確性和處理的高效性,從而提升了復(fù)雜協(xié)議的解析能力,實現(xiàn)了自動化的精準(zhǔn)處理流程,以解決上述背景技術(shù)中提出的問題。
2、本發(fā)明另一方面還提供一種基于關(guān)聯(lián)規(guī)則分析和序列比對的電力系統(tǒng)協(xié)議分析系統(tǒng)。
3、為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
4、一種于關(guān)聯(lián)規(guī)則分析和序列比對的電力系統(tǒng)協(xié)議分析方法,包括:
5、從工業(yè)網(wǎng)絡(luò)數(shù)據(jù)包中的實時數(shù)據(jù)包和離線數(shù)據(jù)包中獲取私有協(xié)議數(shù)據(jù)包。
6、基于簡單序列比對的流量劃分,將獲取的私有協(xié)議數(shù)據(jù)包內(nèi)的數(shù)據(jù)按字段分離為靜態(tài)字段和動態(tài)字段,提取動態(tài)字段中的特征信息,將其封裝為特征數(shù)據(jù),生成特征矩陣。
7、對特征矩陣進行聚類處理,形成協(xié)議格式的聚類集合。
8、對聚類后的協(xié)議格式集合進行全局序列比對生成字段邊界初步集合,基于信息熵校驗邊界位置,通過計算相鄰字段的熵差,結(jié)合字段邊界的模糊性與序列對齊誤差的綜合分析,動態(tài)調(diào)整識別為高模糊性的字段邊界位置,直到熵差和熵值變化率滿足優(yōu)化標(biāo)準(zhǔn)。
9、在一個優(yōu)選的實施方式中,所述基于簡單序列比對的流量劃分,將獲取的私有協(xié)議數(shù)據(jù)包內(nèi)的數(shù)據(jù)按字段分離為靜態(tài)字段和動態(tài)字段,提取動態(tài)字段中的特征信息,將特征信息封裝為特征數(shù)據(jù),生成特征矩陣具體包括以下內(nèi)容:
10、將獲取到的私有協(xié)議數(shù)據(jù)包內(nèi)的數(shù)據(jù)按字節(jié)順序序列化處理:將每個數(shù)據(jù)包內(nèi)數(shù)據(jù)的各個字段內(nèi)容轉(zhuǎn)化為連續(xù)的字節(jié)流表示。
11、利用簡單序列比對算法對多個私有協(xié)議數(shù)據(jù)包進行逐字節(jié)位置的對比,判斷同一字節(jié)位置上所有數(shù)據(jù)包中的值是否完全相同;對于在所有數(shù)據(jù)包中一致的字節(jié)位置,將其標(biāo)記為靜態(tài)字段;對于在不同數(shù)據(jù)包中存在變化的字節(jié)位置,將其標(biāo)記為動態(tài)字段,是通過構(gòu)建一個字符集集合,每個集合包含相同字節(jié)位置上的值,若集合大小為1,則對應(yīng)字節(jié)位置為靜態(tài)字段,若集合大小大于1,則為動態(tài)字段;最終輸出一個字段分類矩陣,矩陣中的每個位置標(biāo)記為靜態(tài)字段或動態(tài)字段。
12、在分離出動態(tài)字段后,應(yīng)用關(guān)聯(lián)規(guī)則算法對動態(tài)字段進行頻繁項集的挖掘;首先,對所有動態(tài)字段的位置進行編號,并將每個動態(tài)字段的內(nèi)容視為一個項,使用apriori算法在動態(tài)字段中識別頻繁出現(xiàn)的項集;具體步驟包括:對動態(tài)字段的數(shù)據(jù)進行掃描,統(tǒng)計每個字段出現(xiàn)的頻率,篩選出滿足最小支持度的頻繁項集;然后,基于已識別的頻繁項集生成強關(guān)聯(lián)規(guī)則,記錄每個動態(tài)字段與對應(yīng)的關(guān)聯(lián)特征之間的關(guān)系。
13、基于頻繁項集挖掘的結(jié)果,確定每個動態(tài)字段的關(guān)聯(lián)特征;將每個頻繁項集對應(yīng)的字段位置與其特征信息進行關(guān)聯(lián),將其封裝為特征數(shù)據(jù);
14、將提取出的特征信息封裝成二維矩陣,生成特征矩陣。
15、在一個優(yōu)選的實施方式中,所述對特征矩陣進行聚類處理,形成協(xié)議格式的聚類集合具體包括以下內(nèi)容:
16、從生成的特征矩陣中提取所有行作為數(shù)據(jù)點,每一行對應(yīng)一個私有協(xié)議數(shù)據(jù)包的特征。
17、聚類處理采用dbscan算法,設(shè)定核心參數(shù)鄰域半徑和minpts;鄰域半徑表示以數(shù)據(jù)點為中心的鄰域范圍,即計算一個數(shù)據(jù)點影響到的其他數(shù)據(jù)點的最大距離;minpts表示對應(yīng)鄰域內(nèi)需要包含的最少數(shù)據(jù)點數(shù),以計算核心點。
18、通過設(shè)定好的dbscan參數(shù),進行特征矩陣的聚類操作;對于每個數(shù)據(jù)點,即每個私有協(xié)議數(shù)據(jù)包的特征,計算其與周圍其他數(shù)據(jù)點的距離,判斷是否落在鄰域半徑范圍內(nèi),并根據(jù)minpts參數(shù)判斷是否滿足核心點條件;如果一個數(shù)據(jù)點滿足核心點條件,則將對應(yīng)數(shù)據(jù)點及其鄰域范圍內(nèi)的所有數(shù)據(jù)點歸為一個聚類,繼續(xù)對這個聚類中的數(shù)據(jù)點進行遞歸處理,直到所有數(shù)據(jù)點都被標(biāo)記為核心點或噪聲點;聚類結(jié)果輸出多個聚類,每個聚類代表具有相似動態(tài)字段特征的協(xié)議格式。
19、聚類結(jié)束后,將每個聚類的結(jié)果按順序編號,每個編號對應(yīng)一組相似的私有協(xié)議數(shù)據(jù)包;對于每個聚類中的數(shù)據(jù)點,僅記錄其在特征矩陣中的位置和特征信息,聚類結(jié)果存儲為一組特征矩陣的編號集合,每個集合代表一個協(xié)議格式類別;對每個聚類結(jié)果進行編號,并將其輸出為協(xié)議格式的聚類集合。
20、在一個優(yōu)選的實施方式中,所述對聚類后的協(xié)議格式集合進行全局序列比對生成字段邊界初步集合,基于信息熵校驗邊界位置,通過計算相鄰字段的熵差,結(jié)合字段邊界的模糊性與序列對齊誤差的綜合分析,動態(tài)調(diào)整識別為高模糊性的字段邊界位置,直到熵差和熵值變化率滿足優(yōu)化標(biāo)準(zhǔn),具體包括以下內(nèi)容:
21、從生成的協(xié)議格式聚類集合中,提取具有相似動態(tài)字段特征的協(xié)議數(shù)據(jù)包集合,將其作為輸入,使用needleman-wunsch算法對其進行序列比對;通過全局比對的方式,將協(xié)議報文中的各字段對齊,生成一個對齊的序列比對結(jié)果;序列比對的輸出為協(xié)議數(shù)據(jù)包中的字段邊界集合。
22、序列比對結(jié)果產(chǎn)生后,根據(jù)比對的字段位置,初步判斷協(xié)議報文中各個字段的邊界位置;通過needleman-wunsch算法的比對結(jié)果,將字段按照比對后的序列進行初步劃分,并生成字段邊界位置的初步集合。
23、使用信息熵技術(shù)對序列比對獲得的字段邊界位置進行校驗;輸出為經(jīng)過信息熵校驗后的字段邊界集合。
24、對經(jīng)過信息熵校驗的字段邊界進行分析,評估邊界模糊性和序列對齊誤差;利用字段邊界模糊度指數(shù)量化字段邊界的模糊程度;同時,結(jié)合序列對齊誤差修正指數(shù),分析協(xié)議字段在比對過程中出現(xiàn)的對齊誤差。
25、在一個優(yōu)選的實施方式中,其中,字段邊界模糊度指數(shù)的獲取邏輯如下:
26、對于協(xié)議報文中的每個字段邊界,首先計算其信息熵;設(shè)協(xié)議報文序列為,其中每個代表報文的某個字段或字段的一部分;字段的信息熵定義為:;其中,表示字段中的取值集合,為字段內(nèi)符號出現(xiàn)的概率。
27、捕捉字段邊界處的模糊性,計算每個字段邊界兩側(cè)相鄰字段的熵值差異;設(shè)字段與的邊界為,則計算相鄰字段的熵差為:。
28、捕捉邊界模糊性,計算字段熵值在邊界處的梯度變化率,計算字段兩側(cè)邊界的梯度為:。
29、根據(jù)熵差與熵梯度的綜合分析,計算字段邊界模糊度指數(shù)作為對邊界模糊性的量化指標(biāo);模糊度指數(shù)的公式如下:;其中,為防止分母為零的小值常數(shù)。
30、在一個優(yōu)選的實施方式中,其中,序列對齊誤差修正指數(shù)的獲取邏輯如下:
31、對于每個字段,計算其在比對過程中引入的偏移量,即比對前后字段起始位置的差異:;其中,和分別表示字段在比對前后的起始位置。
32、對于每個相鄰字段和,計算兩者在比對后的錯位距離,表示兩個字段在比對結(jié)果中的相對位置差異:
33、。
34、為了捕捉字段間錯位的變化趨勢,計算錯位距離的梯度變化率;設(shè)字段和其前后相鄰字段的錯位距離為和,則梯度變化率為:;梯度變化率表示錯位距離的波動情況。
35、結(jié)合字段的偏移量、錯位距離以及梯度變化率,計算序列對齊誤差修正指數(shù)用于量化對齊誤差,公式如下:;其中,是防止分母為零的常數(shù)。
36、在一個優(yōu)選的實施方式中,所述對聚類后的協(xié)議格式集合進行全局序列比對生成字段邊界初步集合,基于信息熵校驗邊界位置,通過計算相鄰字段的熵差,結(jié)合字段邊界的模糊性與序列對齊誤差的綜合分析,動態(tài)調(diào)整識別為高模糊性的字段邊界位置,直到熵差和熵值變化率滿足優(yōu)化標(biāo)準(zhǔn),還包括以下內(nèi)容:
37、對字段邊界模糊度指數(shù)和序列對齊誤差修正指數(shù)進行標(biāo)準(zhǔn)化處理,并經(jīng)過加權(quán)求和計算得到協(xié)議復(fù)雜度調(diào)控系數(shù)。
38、根據(jù)協(xié)議復(fù)雜度調(diào)控系數(shù)的大小進行模式選擇:當(dāng)協(xié)議復(fù)雜度調(diào)控系數(shù)超過預(yù)設(shè)的臨界值時,需要啟用增強校正模式,生成高模糊性信號。
39、在一個優(yōu)選的實施方式中,所述對聚類后的協(xié)議格式集合進行全局序列比對生成字段邊界初步集合,基于信息熵校驗邊界位置,通過計算相鄰字段的熵差,結(jié)合字段邊界的模糊性與序列對齊誤差的綜合分析,動態(tài)調(diào)整識別為高模糊性的字段邊界位置,直到熵差和熵值變化率滿足優(yōu)化標(biāo)準(zhǔn),還包括以下內(nèi)容:
40、在得到邊界模糊性與對齊誤差的分析結(jié)果后,針對獲得高模糊性信號的字段邊界,重新計算其信息熵值,設(shè)每個字段的信息熵值為,相鄰字段的熵差;當(dāng)小于,即,表示對應(yīng)邊界存在模糊性;對于變化趨勢的判斷,計算相鄰字段的熵值變化率;當(dāng)與1的絕對差小于或等于預(yù)設(shè)閾值,表明熵值變化趨勢平穩(wěn),即字段邊界變化不明顯,動態(tài)調(diào)整的具體方式是通過額定單位幅度平移字段邊界位置,逐步調(diào)整字段的邊界位置的位置,直到超過,且與1的絕對差大于預(yù)設(shè)閾值,表明字段邊界位置已調(diào)整到要求目的。
41、針對通過信息熵優(yōu)化后仍存在偏差的字段邊界,使用互信息量進行校正。
42、本發(fā)明另一方面還提供一種基于關(guān)聯(lián)規(guī)則分析和序列比對的電力系統(tǒng)協(xié)議分析系統(tǒng),包括:
43、數(shù)據(jù)獲取模塊,用于從工業(yè)網(wǎng)絡(luò)數(shù)據(jù)包中的實時數(shù)據(jù)包和離線數(shù)據(jù)包中獲取私有協(xié)議數(shù)據(jù)包;
44、特征矩陣生成模塊,用于基于簡單序列比對的流量劃分,將獲取的私有協(xié)議數(shù)據(jù)包內(nèi)的數(shù)據(jù)按字段分離為靜態(tài)字段和動態(tài)字段,提取動態(tài)字段中的特征信息,將特征信息封裝為特征數(shù)據(jù),生成特征矩陣;
45、聚類模塊,用于對特征矩陣進行聚類處理,形成協(xié)議格式的聚類集合;
46、字段邊界位置調(diào)整模塊,用于對聚類后的協(xié)議格式集合進行全局序列比對生成字段邊界初步集合,基于信息熵校驗邊界位置,通過計算相鄰字段的熵差,結(jié)合字段邊界的模糊性與序列對齊誤差的綜合分析,動態(tài)調(diào)整識別為高模糊性的字段邊界位置,直到熵差和熵值變化率滿足優(yōu)化標(biāo)準(zhǔn)。
47、本發(fā)明基于關(guān)聯(lián)規(guī)則分析和序列比對的電力系統(tǒng)協(xié)議分析方法的技術(shù)效果和優(yōu)點:
48、1.通過靜態(tài)字段與動態(tài)字段的精確分離,提高了動態(tài)字段特征提取的效率,同時通過關(guān)聯(lián)規(guī)則算法的應(yīng)用,捕捉到了動態(tài)字段中隱藏的頻繁項和關(guān)聯(lián)特征,確保了數(shù)據(jù)的完整性與特征的全面性。利用特征矩陣的形式,使得私有協(xié)議的動態(tài)字段信息能夠以結(jié)構(gòu)化、可分析的方式表達,為私有協(xié)議的逆向解析提供了更高效的處理路徑,有效提升了協(xié)議格式推斷的準(zhǔn)確性和處理效率。
49、2.通過特征矩陣的聚類操作,實現(xiàn)了對私有協(xié)議數(shù)據(jù)包中動態(tài)字段特征的分類與整合。利用dbscan算法的密度聚類特性,可以有效處理協(xié)議數(shù)據(jù)包中的噪聲點和異常數(shù)據(jù),確保協(xié)議格式分類的準(zhǔn)確性和魯棒性。聚類處理簡化了協(xié)議格式推斷的復(fù)雜度,提高了對私有協(xié)議格式的解析效率,并為后續(xù)的字段邊界識別和協(xié)議格式推斷提供了堅實的基礎(chǔ)。
50、3.通過結(jié)合needleman-wunsch序列比對算法與信息熵校驗技術(shù),確保協(xié)議報文的字段邊界能夠被準(zhǔn)確識別,同時借助字段邊界模糊度指數(shù)和序列對齊誤差修正指數(shù)對邊界模糊性和序列對齊誤差的定量分析,實現(xiàn)了對模糊字段的動態(tài)調(diào)整。最終,通過互信息量校正機制進一步優(yōu)化邊界劃分的精度,確保字段的正確劃分和協(xié)議格式的準(zhǔn)確推斷,顯著提升了協(xié)議報文處理的效率和解析的準(zhǔn)確性,為復(fù)雜協(xié)議的自動化解析提供了有力支撐。