本發(fā)明屬于序列號識別技術(shù)領(lǐng)域,涉及基于網(wǎng)絡(luò)報文的序列號識別方法,尤其適用于協(xié)議逆向的序列號識別。
背景技術(shù):
隨著近幾年網(wǎng)絡(luò)和應(yīng)用技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)攻擊事件急劇增加,網(wǎng)絡(luò)安全問題日益突出。為抵御網(wǎng)絡(luò)攻擊,保障網(wǎng)絡(luò)、設(shè)備安全,眾多安全人員設(shè)計研發(fā)出眾多安全措施,如入侵檢測、協(xié)議重用、模糊測試等。這些安全措施均依靠協(xié)議的詳細描述規(guī)范,然而目前網(wǎng)絡(luò)上大部分協(xié)議都是私有協(xié)議,缺少相應(yīng)的規(guī)范文檔。因此高效、精確的逆向工程方法就成為了安全人員乃至黑客所迫切需求的。
序列號是協(xié)議報文格式中的常規(guī)內(nèi)容,因此,序列號識別是協(xié)議逆向工程中的一項基本功能,且其結(jié)果影響協(xié)議逆向的后續(xù)分析。序列號是用于標識報文序號的數(shù)值,是一組在周期性單調(diào)等差變化的數(shù)值。
序列號識別主要通過相鄰報文之間的差值進行判斷。首先截取所有報文對應(yīng)字節(jié)的數(shù)據(jù),然后按報文順序判斷相鄰報文之間的差值,若差值基本一致,僅在固定間隔處突變成某一特定值,則認定該字節(jié)為序列號域。
但是由于用于分析的報文樣本不一定完備,會存在眾多問題,如:可能存在報文丟失;序號域數(shù)值發(fā)生漂移等等。這些問題直接導(dǎo)致序號域的識別、判斷失誤,進而導(dǎo)致協(xié)議逆向分析結(jié)果的錯誤,無法得到精確的協(xié)議信息,影響安全人員或黑客的后續(xù)研究。
技術(shù)實現(xiàn)要素:
由于現(xiàn)有的序列號識別技術(shù)未能在精準性等方面達到良好效果,使序列號未能被識別,造成協(xié)議逆向結(jié)果產(chǎn)生嚴重的偏差。本發(fā)明的目的是提供一種基于網(wǎng)絡(luò)報文的序列號識別方法,能夠高精確性地實現(xiàn)序列號的快速識別,并針對識別出的序列號進行驗證,防止數(shù)值漂移、多序列號混合以及多報文格式共用序列號等情況對序列號識別的影響,為后續(xù)報文分類、狀態(tài)機推斷提供了保障。
本發(fā)明通過周期識別與序列號驗證方法來解決序列號識別精確度低的問題。本發(fā)明提出的基于層次聚類的周期識別方法,根據(jù)序列號周期呈單調(diào)性的原則以及多報文格式共用序列號的現(xiàn)象,對多個集合合并后的數(shù)據(jù)進行周期劃分與判斷,避免多報文格式共用序列號以及數(shù)值漂移、丟失的影響;本發(fā)明提出的驗證方法通過在子類中對已識別的序列號進行重新識別,并對有誤的識別信息進行修正,提高了序列號識別的精確性。
具體地,本發(fā)明通過以下技術(shù)方案實現(xiàn):
一種基于網(wǎng)絡(luò)報文的序列號識別方法,包括以下步驟:
(1)將報文樣本集按會話劃分成不同的報文集合,并對每個報文集合中的報文內(nèi)容進行劃分,將報文從報文負載開始劃分成多個域。
(2)對多個報文集合從報文負載開始,依次按域進行序列號的初始識別。
(3)根據(jù)報文長度的不同或已識別出的格式標志位,對經(jīng)步驟(1)劃分后的每個報文集合進行劃分,使各報文子集格式相同。
(4)在劃分的格式相同的報文子集中,對初始識別出的序列號進行驗證,并根據(jù)驗證結(jié)果取消或修正誤判。
進一步地,步驟(1)又包括以下步驟:
1-1)根據(jù)源IP地址(srcIP)、目的IP地址(dstIP)、源端口號(srcPORT)、目的端口號(dstPORT)、傳輸層協(xié)議號(IP_proto)對報文樣本集進行劃分,確保每個報文集合{Pno}均是由同一個會話產(chǎn)生的,其中no表示集合編號;
1-2)將{Pno}作為根節(jié)點為每個報文集合構(gòu)造相應(yīng)的樹形結(jié)構(gòu),并對形成的結(jié)構(gòu)樹中的報文內(nèi)容進行劃分,設(shè)定一個字節(jié)為一個域,將報文從報文負載開始依次按字節(jié)進行劃分,從而將每個報文轉(zhuǎn)換成由多個域組成的報文數(shù)組。
進一步地,步驟(2)中,采用改進的層次聚類方法合并報文集合,并從報文負載開始,依次按域進行序列號識別,若多個報文集合的數(shù)據(jù)長度不同,則以最短報文中包含的域為界依次進行識別。
進一步地,上述改進的層次聚類方法需構(gòu)建一個相似度矩陣,用于表示每對報文集合合并后各域的序列號判斷結(jié)果,包括:
2-1)構(gòu)造序列號信息庫,用于存放識別出的序列號信息;
2-2)判斷中同層的報文集合個數(shù)set_num,若set_num<2,則對單個報文集合內(nèi)的序列號進行識別并跳轉(zhuǎn)到2-4);否則(即set_num≥2)執(zhí)行2-3);
2-3)計算用于表示每對報文集合合并后各域的序列號判斷結(jié)果的相似度矩陣,其中數(shù)值amn,q表示報文集合m和報文集合n合并后第q域的序列號判斷結(jié)果,若為非序列號,則對應(yīng)取值為+∞;否則為序列號信息庫中對應(yīng)的編號;
2-4)在對報文集合(單報文集合或合并后的報文集合)的各域進行序列號識別后,若存在相似矩陣(合并后的報文集合情況),則在相似矩陣中查找所有不為+∞的取值,分別判斷為多報文集合共用序列號,并將其相關(guān)信息在序列號信息庫進行更新;更新相似度矩陣,將共用序列號的報文集合在矩陣對應(yīng)的行(列)進行合并;若不存在相似矩陣(單報文集合情況),結(jié)束序列號的初始識別過程;
2-5)當(dāng)矩陣中全為+∞或全合并成一個報文集合時,結(jié)束層次聚類。
進一步地,按域進行序列號的初始識別是通過識別報文集合中對應(yīng)域的周期,并根據(jù)單周期或多周期比例識別方法,識別出對應(yīng)的序列號,最后依據(jù)迭代方法識別序列號高位。
進一步地,識別報文集合中對應(yīng)域的周期的方法包括:首先,根據(jù)報文個數(shù)和域取值個數(shù)篩選出可識別的域;其次,依次判斷相鄰兩個報文對應(yīng)域的差值的正負狀態(tài)Δ,組成差值狀態(tài)數(shù)組{Δj},其中j為該報文集合中的報文序號;再次,識別出|Δj+1-Δj|≠0的報文作為切分點報文,根據(jù)切分點將報文劃分成多個周期;若無切分點報文,則認為是單周期,無需劃分;
單周期比例識別方法包括:首先,在周期中判斷各非零差值所占的比率其中i為相鄰兩個報文對應(yīng)域的差值,Δi_num為對應(yīng)周期中差值為i的個數(shù),dnum為該周期的報文個數(shù);其次,判斷該周期中是否存在滿足下列條件:max{ri}≥μ1的周期差值,max{ri}為差值比率的最大值,μ1為單周期內(nèi)差值比率閾值,若存在則判定該域為序列號域,否則判斷該域為非序列號域,結(jié)束對該域的識別;
多周期比例識別方法包括:首先,在各個周期中判斷各非零差值所占的比率其中Δi_num為對應(yīng)周期中差值為i的個數(shù),dnum為該周期的報文個數(shù);其次,判斷該周期中是否存在滿足下列條件:max{ri}≥μ2的周期差值,max{ri}為差值比率的最大值,μ2為周期內(nèi)差值比率閾值;若不存在則該周期無周期差值;再次,在所有周期差值中,判斷是否存在滿足下列條件:的周期差值,為周期差值比率的最大值,dcycle_num為該域存在的周期差個數(shù),di_num為該域周期差值為i的個數(shù),η為周期間差值比率閾值,若存在則判定該域為序列號域,否則判斷該域為非序列號域,結(jié)束對該域的識別;
識別序列號高位的方法包括:首先,判斷該序列號左右相鄰的域是否是序列號高位,若判斷該域(位)為序列號域,在該域左右相鄰的域中識別2字節(jié)序列號的高位;其次,若判斷該序列號為2字節(jié),則在該域左右相鄰的2個域中識別4字節(jié)序列號的高位。
進一步地,2字節(jié)序列號的序列號高位識別方法包括:首先,在序列號的各個周期中,判斷其左右相鄰的域值是否一致,若不一致則判定該域不是序列號高位,結(jié)束對該域的識別;其次,判斷序列號域數(shù)據(jù)是否存在多個周期,若為單周期,則判定該域為序列號高位并結(jié)束對該域的識別;再次,判斷多周期間,該域周期差值是否符合序列號高位周期差值規(guī)律,若符合則判定該位為序列號高位,否則不是序列號高位,結(jié)束對該域的識別,序列號高位周期差值規(guī)律是兩周期的周期差值等于周期相差個數(shù)乘以相鄰周期差值;
4字節(jié)序列號的序列號高位識別方法包括:首先根據(jù)2字節(jié)序列號的高位按周期進行劃分;其次,判斷各周期內(nèi)該序列號左右相鄰的2個域數(shù)據(jù)是否一致,若不一致則判定該域不是序列號高位且該序列號域僅由2字節(jié)組成,結(jié)束對該序列號域的識別;再次,根據(jù)已識別出的序列號域,推斷序列號高位的架構(gòu);將序列號高位中的低位1和序列號低位中的高位2組合起來看作1個2字節(jié)序列號,調(diào)用2字節(jié)序列號的序列號高位識別方法,對序列號高位中的低位1進行判斷,若判斷成功則該低位1存在,否則判定該域為非序列號高位并結(jié)束對該序列號域的識別;最后,將序列號高位看作1個2字節(jié)序列號,調(diào)用2字節(jié)序列號的序列號高位識別方法,對序列號高位中的高位1進行判斷,若判斷成功則該高位1存在,與低位1共同組成序列號高位;否則判定該域為非序列號高位,結(jié)束對序列號的識別。
進一步地,步驟(3)又包括以下步驟:
3-1)判斷步驟(1)劃分后的報文集合是否是變長數(shù)據(jù),若是變長數(shù)據(jù)則按照數(shù)據(jù)長度對該報文集合進行劃分,使得各報文子集均是定長報文集合,更新并記錄其劃分出的所有報文子集;
3-2)若步驟(1)劃分后的報文集合是定長數(shù)據(jù),則判斷在上次報文劃分位置之后能否尋找到格式標志位,若存在則跳轉(zhuǎn)到3-3);否則結(jié)束整個序列號的判定過程;
3-3)根據(jù)其它相關(guān)信息(包括格式標志位等)對該報文集合進行劃分,使得各報文子集格式相同,更新{Pi}結(jié)構(gòu)樹并記錄其劃分出的所有報文子集。
進一步地,步驟(4)又包括:
4-1)針對已識別出的序列號域,采用步驟(2)進行重新判斷,同時將該算法中的μ和η的取值增加j*ζ,即:max{ri}≥μ1+j*ζ;max{ri}≥μ2+j*ζ和且max{μ1+j*ζ,μ2+j*ζ,η+j*ζ}≤Ω,其中j為報文樣本集劃分的次數(shù),ζ為每次準確率增加的程度,Ω為保證能避免突變等影響的準確率閾值;
4-2)若該域被重新判斷為非序列號,則消去該序列號域,跳轉(zhuǎn)到4-4);
4-3)若重新判斷仍為序列號,但序列號差值不符,則更新該序列號域信息,跳轉(zhuǎn)到4-4);
4-4)根據(jù)結(jié)構(gòu)樹找到原序列號對應(yīng)的所有父輩及它們的所有報文子集,修改對應(yīng)域(相同位置的序列號域)的序列號層次,使其序列號層次與當(dāng)前報文子集的層次相同;更新序列號信息庫,并修正原序列號對應(yīng)的集合范圍。
本發(fā)明的技術(shù)效果如下:
本發(fā)明提出了一種基于網(wǎng)絡(luò)報文的序列號識別方法,以便能在協(xié)議逆向中高效、精確地識別出序列號及其相應(yīng)的層次。
本發(fā)明為了解決傳統(tǒng)序列號識別技術(shù)的精確性的不足,采用了基于層次聚類的周期識別方法與子類驗證修訂的驗證方法,從而實現(xiàn)了在網(wǎng)絡(luò)報文中準確地識別出序列號。
本發(fā)明提出的基于層次聚類的周期識別方法通過層次聚類方法以及周期內(nèi)、外部差值的變化識別方法,避免了數(shù)值丟失、漂移以及多報文格式共用序列號等所造成的序列號識別失誤情況;本發(fā)明提出的驗證方法,通過重新識別的驗證方法,快速修正識別問題,提高序列號識別的準確性。
附圖說明
圖1是報文序列號的三種主要格式,a.4字節(jié)序列號;b.2字節(jié)序列號;c.1字節(jié)序列號。
圖2是本發(fā)明基于網(wǎng)絡(luò)報文的序列號識別方法整體流程圖。
圖3是本發(fā)明中序列號初始識別階段流程圖。
具體實施方式
本發(fā)明針對傳統(tǒng)序列號識別技術(shù)在準確性上的不足,提出了結(jié)合周期識別方法與驗證方法,針對報文的序列號識別技術(shù),利用基于層次聚類的周期差值變化識別方法與重識別的驗證方法來提高序列號識別的精度。
如圖1所示,在正常報文中,序列號一共有3種情況,其長度分別為1字節(jié)、2字節(jié)和4字節(jié)。本識別方案首先識別出1字節(jié)序列號,再逐層判斷其高位的存在,進而推斷出整個序列號域。
如圖2所示,本發(fā)明的整體流程分為四個階段:報文預(yù)處理;序列號的初步識別;樣本集劃分;對已有序列號的驗證。
報文預(yù)處理階段,將報文樣本集進行聚類,根據(jù)數(shù)據(jù)來源和方向?qū)笪臉颖炯瘎澐殖啥鄠€小集合。
該過程首先將報文樣本集按照會話進行劃分,即根據(jù)五元組(srcIP、dstIP、srcPORT、dstPORT、IP_proto)對報文樣本集進行劃分,確保每個報文集合{Pno}均是由同一個會話產(chǎn)生的,其中no表示報文集合編號。
然后將{Pno}作為根節(jié)點為每個報文集合構(gòu)造相應(yīng)的樹形結(jié)構(gòu),并對結(jié)構(gòu)樹中的報文內(nèi)容進行劃分,設(shè)定一個字節(jié)為一個域,將報文從報文負載開始依次按域進行劃分,即將每個報文轉(zhuǎn)換成由多個域組成的報文數(shù)組。
序列號初始識別階段,如圖3所示,其中,圖中涉及的各條件如表1所示。
表1序列號初始識別流程圖條件說明
為應(yīng)對多個報文集合共用一個序列號域的情況,采用多報文集合合并識別的方案,通過改進的層次聚類方法合并報文集合,并從報文負載開始,依次按域進行識別,若多個樣本集合的數(shù)據(jù)長度不同,則以最短報文中包含的域為界依次進行識別。每個域的序列號識別方法是通過識別{Pno}中對應(yīng)域的周期,根據(jù)計算出的周期差值在整個樣本對應(yīng)域的周期差值集合中所占的比值,識別出對應(yīng)的序列號。該過程可以敘述如下:
1)構(gòu)造序列號信息庫,用于存放識別出的序列號信息;
2)判斷結(jié)構(gòu)樹中同層的報文集合個數(shù)set_num,若set_num<2,則跳轉(zhuǎn)到4)對單個報文集合內(nèi)的序列號進行識別,否則執(zhí)行3);
3)計算用于表示每對報文集合合并后各域的序列號判斷結(jié)果(其中序列號的判斷過程如4)-9)所示)的相似度矩陣,其中數(shù)值amn,q表示報文集合m和報文集合n合并后第q域的序列號判斷結(jié)果,若為非序列號,則對應(yīng)取值為+∞;否則為序列號信息庫中對應(yīng)的編號;
序列號判斷過程:
4)判斷該域的取值個數(shù)ψ,若ψ<2,則認為該域為常量,結(jié)束該域的序列號識別;
5)周期識別:通過判斷數(shù)值的單調(diào)性劃分成各個周期
a)由于在報文過少的情況下無法判斷序列號,因此首先判斷該類報文個數(shù)p_num,若p_num<λ(λ為能判定序列號的最少報文個數(shù)),則認為該域無法判斷,判定該域為非序列號域,結(jié)束該域的序列號識別;否則執(zhí)行b);
b)在該類報文中,依次判斷相鄰兩個報文對應(yīng)域的差值的正負狀態(tài)Δ,組成差值狀態(tài)數(shù)組{Δj};
c)依次比較{Δj}中的數(shù)據(jù),若滿足條件1:|Δj+1-Δj|≠0,即前后兩報文單調(diào)性不同,對應(yīng)報文為切分點報文,根據(jù)切分點將報文劃分成多個周期,若無切分點報文,則認為是單周期,無需劃分;
6)判斷各周期中的所有差值Δ′
7)根據(jù)比率識別序列號
a)在每個周期中判斷各非零差值所占的比率其中Δi_num為對應(yīng)周期中差值為i(i不為零)的個數(shù),dnum為該周期的報文個數(shù);
b)判斷是否存在多個周期,若為單周期,則跳轉(zhuǎn)到c);否則跳轉(zhuǎn)到d);
c)在該周期中,選取周期差值(這里也被稱為序列號差值D)D=d=argmax{ri}滿足下列條件3:max{ri}≥μ1,μ1為單周期內(nèi)差值比率閾值;若D存在,則判定該域為序列號域,并標示相應(yīng)的層次,跳轉(zhuǎn)到8);若不存在這樣的D,則判定該域為非序列號域,結(jié)束對該域的識別;
d)在每個周期中,選取周期差值d=argmax{ri}滿足下列條件2:max{ri}≥μ2,μ2為周期內(nèi)差值比率閾值;若不存在這樣的d則認為該周期無周期差值;
e)選取對應(yīng)域序列號差值D=argmax{di_num}滿足下列條件4:其中dcycle_num為該域存在的周期差個數(shù),di_num為該域周期差值為i的個數(shù),η為周期間差值比率閾值。若D存在,則判定該域為序列號域,并標示相應(yīng)的層次;若不存在這樣的D,則判定該域為非序列號域;
8)若判斷該位為序列號域,在該域左右相鄰的域V中識別2字節(jié)序列號的高位
a)判斷各周期中,其左(或右)相鄰的域值{Vi}是否一致;
i.根據(jù)該域劃分出的周期,在每個周期中截取其左(或右)相鄰域的取值{Vi},i為周期序號;
ii.在每個周期中,判斷{Vi}的取值個數(shù)ψ,若ψ≥2,則認為該域取值不一致,不是序列號高位,結(jié)束對該域的識別;
b)判斷是否存在多個周期,若為單周期,則判定該域為序列號高位,并標示出相應(yīng)的層次(和序列號域的層次相同),結(jié)束對該域的識別;
c)選取T域中每個周期的唯一取值,組成周期取值集合{V′};
d)選取周期差值d滿足下列條件5:V′i+j-Vi′=j(luò)*d。若d存在,則判定該域為序列號高位,并標示出相應(yīng)的層次(和序列號域的層次相同);若d不存在,則判定該域為非序列號高位;
9)若判斷該序列號為2字節(jié),則在該域左右相鄰的2個域中識別4字節(jié)序列號的高位
a)判斷是否為由4個域組成的序列號域
i.判斷識別出的序列號高位是否存在多個周期,若為多周期,則進行劃分;
ii.判斷各周期中,該序列號左(或右)相鄰的兩個域的取值是否固定不變,若為變量,則該序列號僅有2字節(jié),結(jié)束對該序列號域的識別;否則該序列號可能是由4字節(jié)組成;
b)判斷4字節(jié)組成的序列號高位
i.根據(jù)已識別出的序列號域,推斷序列號高位的架構(gòu)(即序列號高位中的高位1、低位1的排列順序);
ii.將序列號高位中的低位1和序列號低位中的高位2組合起來看作1個2字節(jié)序列號,調(diào)用8)對序列號高位中的低位1進行判斷,若判斷成功則該低位1存在;否則判定該域為非序列號高位,結(jié)束對該序列號域的識別;
iii.將序列號高位看作1個2字節(jié)序列號,調(diào)用8)對序列號高位中的高位1進行判斷,若判斷成功則該高位1存在,與低位1共同組成序列號高位,并標示出相應(yīng)的層次(和序列號低位相同);否則判定該域為非序列號高位,結(jié)束對序列號的識別;
序列號判斷過程結(jié)束
10)若存在相似矩陣,則在相似矩陣中查找所有不為+∞的取值,分別判斷為多報文集合共用序列號,并將其相關(guān)信息在序列號信息庫進行更新;更新相似度矩陣,將共用序列號的報文集合在矩陣對應(yīng)的行(列)進行合并。若不存在相似矩陣,結(jié)束序列號的初始識別過程;
11)重復(fù)執(zhí)行步驟3)和步驟10),直至矩陣中全為+∞或全合并成一個報文集合時,結(jié)束序列號的初始識別過程。
樣本集劃分階段,根據(jù)數(shù)據(jù)中已獲得的信息,對傳遞到序列號初始識別階段的(未合并前的)報文集合{Pno}按格式進行劃分,使各報文子集格式相同。
在協(xié)議逆向中,獲取的樣本均是包含眾多格式,隨著逆向過程的進行,可提取出多個格式標志位(指明后續(xù)數(shù)據(jù)格式的域)等信息用于區(qū)分多個格式,且格式區(qū)分的精確度隨著逆向過程的執(zhí)行越發(fā)趨于精確。因此,隨著協(xié)議逆向的進行,可將報文集合{Pno}從報文中上次劃分位置(報文起始位置)開始尋找格式標志位,并依該格式標志位信息將報文集合{Pno}進行劃分,使得相應(yīng)報文集合中格式數(shù)量逐步降低,進而有效地提升了序列號識別的精確性。該過程可以敘述如下:
1)判斷該報文集合是否是變長數(shù)據(jù),若是變長數(shù)據(jù)則按照數(shù)據(jù)長度對{Pno}進行劃分,使得各報文子集均是定長報文集合,并記錄其劃分出的所有報文子集
2)若是定長數(shù)據(jù),則判斷在上次報文劃分位置之后能否尋找到格式標志位。若存在則跳轉(zhuǎn)到3);否則結(jié)束整個序列號的判定過程
3)根據(jù)其它相關(guān)信息(如格式標志位等)對{Pno}進行劃分,使得各報文子集格式相同,并記錄其劃分出的所有報文子集
序列號驗證階段,對已識別的序列號進行驗證,修正或消除判斷失誤的序列號。
在初始識別過程中,所采用的報文集合包含了眾多格式,因此會出現(xiàn)對應(yīng)域為序列號和常量或序列號和序列號混雜,但該類整體特征符合序列號的判斷的情況,造成對該域的誤判。然而在經(jīng)歷過報文集合劃分階段后,報文集合中包含的格式趨于單一,導(dǎo)致對應(yīng)域的變化規(guī)律發(fā)生變化,消除上述混雜情況。因此需要對序號域進行驗證,以提高其識別準確性。
驗證的核心是對已識別的序列號進行再判斷。在該階段,首先從報文負載開始依次對每個域進行查看,發(fā)現(xiàn)已識別出的序列號域。然后重用初步識別方法對這些已識別的序列號域進行再次識別,然后根據(jù)相應(yīng)結(jié)果,取消或修正誤判。該過程可以敘述如下:
1)針對已識別出的序列號域,重新采用序列號初始識別算法進行驗證,但為提升判斷精度,將該算法中的μ和η的取值增加j*ζ,即將序列號初始識別算法中7)的c)、d)和e)中的條件分別修正為:max{ri}≥μ1+j*ζ;max{ri}≥μ2+j*ζ和且max{μ1+j*ζ,μ2+j*ζ,η+j*ζ}≤Ω,其中j為報文樣本集劃分的次數(shù),ζ為每次準確率增加的程度,Ω為保證能避免突變等影響的準確率閾值
2)根據(jù)重新判斷的結(jié)果對該域進行相應(yīng)的處理
a)若該域被重新判斷為常量(非序列號),則消去該序列號域,跳轉(zhuǎn)到c);
b)若重新判斷仍為序列號,但變化幅度不符(即序列號差值不符),則更新該序列號域信息(修改對應(yīng)的序列號差值、序列號高位信息等),跳轉(zhuǎn)到c);
c)若出現(xiàn)a)或b)的情況,則根據(jù)標號找到原序列號對應(yīng)的所有父輩及它們的所有報文子集,修改對應(yīng)域(相同位置的序列號域)的序列號層次,使其序列號層次與當(dāng)前報文子集的層次相同;更新序列號信息庫,并修正原序列號對應(yīng)的報文集合范圍。
在執(zhí)行完序列號驗證階段后,由于報文集合報文格式不統(tǒng)一,除上述情況外,還會出現(xiàn)序列號和變量、序列號和序列號混雜,導(dǎo)致序列號無法識別的情況。同時由于對報文集合進行劃分,導(dǎo)致報文子集格式數(shù)量減少,某些域中混雜的數(shù)據(jù)被拆散,增加了該域被識別的可能性。因此需要重新跳轉(zhuǎn)到序列號初始識別階段,對報文子集中的其它域進行重新識別。
本發(fā)明提出的基于網(wǎng)絡(luò)報文的序列號識別技術(shù)對報文中的各個域進行判斷,保證高效地識別出序列號域。
本發(fā)明提出的基于層次聚類和周期劃分的識別方法,有效地避免了數(shù)值漂移、丟失以及多報文格式共用序列號等情況,提高了序列號域的識別準確度。
本發(fā)明提出的基于子類驗證修訂的驗證方法,有效地排除了誤判,提高了序列號識別的精確性。
以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍內(nèi)。