將未知多協議混合數據幀分離為單協議數據幀的方法
【技術領域】
[0001] 本發(fā)明設及一種將未知多協議混合數據帖分離為單協議數據帖的方法。
【背景技術】
[0002] 隨著科學技術的發(fā)展和計算機技術水平的提高,網絡的發(fā)展日趨復雜,保障信息 網絡的安全已成為國家信息化戰(zhàn)略的核屯、內容,在特定的網絡環(huán)境下,通過特殊手段進行 竊密的威脅日趨嚴峻,此類竊密途徑通常是通過無線通信的方式發(fā)送,且該種通信采用的 數據大多數為未知多協議混合數據,因此,將未知多協議混合數據帖分離為單協議數據帖, 對協議的識別W及信息安全的后續(xù)判定就非常重要。
[0003] 但目前的將未知多協議混合數據帖分離為單協議數據帖的方法中,具有=個難 點,對混合多協議數據帖協議種類近似值K的計算困難,將不同的協議區(qū)分開困難,對協議 聚類效果的評估準確度低,難W直觀有效。
【發(fā)明內容】
[0004] 本發(fā)明的目的在于克服現有技術的不足,提供一種將未知多協議混合數據帖分離 為單協議數據帖的方法,解決了混合協議種類數K的近似值計算困難,將不同的協議區(qū)分 開困難,協議帖類簇的評估準確度低,難W直觀有效的問題。
[0005] 本發(fā)明的目的是通過W下技術方案來實現的;將未知多協議混合數據帖分離為單 協議數據帖的方法,它包括W下步驟:
[0006] S1.將二進制數據轉換為十六進制格式,輸入n行m列的混合未知協議數據帖;
[0007] S2.計算所輸入的未知協議數據帖的種類數的近似值K;
[000引 S3.使用K-means算法指定K值進行聚類,得到n個類簇;
[0009] S4.使用基于滴的類簇評估算法進行評估每一個類簇的好壞;
[0010] S5.將聚類效果好的類簇放入結果集中,提取該類的指紋信息,并存入指紋庫;
[0011] 所述的步驟S1中輸入的n行m列的混合未知協議數據帖,每一種協議都具有協議 標識,同種協議的標識在相同位置會出現;不同種協議的協議標識可能出現在不同位置,也 可能出現在相同位置;協議標識的長度不定但不少于1字節(jié);不同協議的數據帖數量不同。
[0012] 所述的步驟S2包括W下子步驟:
[0013] S21.將輸入數據構成二維矩陣,一個字節(jié)作為最小處理單元;
[0014] S22.計算出每一列中出現頻率最高的字符,表示為al,a2,a3,…,am,同時計算出 al到am中,每個字節(jié)都有哪些行出現,分別由集合S1,S2,S3,…Sm表示;
[0015] S23.將出現頻率大于liminal%的字符W及出現頻率小于l〇w_liminal%的字符 剔除,設有i個,令m=m-i;
[0016] S24.找出集合SI到Sm中,集合中個數最多的一個,設為Smax,設集合R,元素為集 合S,先將Smax加入集合R;
[0017] S25.遍歷集合S1到Sm,如果Sx與集合R中所有的集合的交集率都低于 uniterate%,將Sx加入集合R,如果交集率高于uniterate%,貝Ij取Smax與Sx的交集作為Smax;
[0018] S26.集合R中元素的個數,即為要求的K的近似值,求出R中所有元素的并集,即 為篩選出來的數據帖;
[0019] S27.將篩選出來的數據帖從輸入數據帖中除去,如果剩余的數據帖數量仍比較 大,可再次做為輸入樣本計算該些數據帖的K值;
[0020]S28.取uniterate的值從50至Ij99,得出對應的K值,Wuniterate的值為X軸, K值為Y軸作曲線;
[0021]S29.取K值變化比較平緩的最大uniterate區(qū)間,計算在此區(qū)間內的K的平均值, 即為所求的協議種類數的近似值。
[002引 所述的Liminal和low_liminal為可設置變量,如Liminal設置為99,low_liminal設置為 10;;
[0023] 所述的步驟S3包括W下子步驟:
[0024] S31.輸入處理好的協議數據帖和簇的數目K;
[0025]S32.任意選擇K個數據對象作為初始聚類中屯、;
[0026]S33.計算各個數據到所選出來的各個中屯、的距離,將數據對象指派到最近的簇 中,然后計算每個簇的均值,根據簇中對象的平均值,將每個對象賦給最類似的簇;
[0027]S34.更新簇的平均值,即計算每個對象簇中對象的平均值;
[002引 S35.計算聚類準則函數E,并判斷聚類準則函數E是否收斂:
[0029] (1)若聚類準則函數E不收斂,跳轉至步驟S32;
[0030] 似若聚類準則函數E收斂,則輸出聚類結果。
[0031] 所述的步驟S4包括W下子步驟:
[0032]S41;將步驟S2得到的經過處理的數據帖轉換為列二維矩陣,每一個元素為一個 字節(jié);遍歷所有字節(jié),計算出每一列中的字符的種類表示為al,a2,a3,…,ax,同時計算出 al到ax中,每個字節(jié)出現的概率;
[0033] S42;遍歷所有字節(jié),計算出每一列中出現頻率最高的字符,并分別表示為 al,a2,a3,…,am;同時計算出該些字符在哪些行出現,并分別由集合S1,S2,S3,…Sm表示, 即al為第一列出現頻率最高的字符,S1為第一列中出現字符al的所有行的行號的集合; 并將出現的次數除W總行數就得到該字節(jié)出現的頻率Pi;
[0034]S43;計算每一列的滴值H,由于有m列則有m個滴值,計算公式如下:
[0035]
【主權項】
1. 將未知多協議混合數據幀分離為單協議數據幀的方法,其特征在于:它包括以下步 驟:
51. 將二進制數據轉換為十六進制格式,輸入η行m列的混合未知協議數據幀;
52. 計算所輸入的未知協議數據幀的種類數的近似值K ;
53. 使用K-means算法指定K值進行聚類,得到η個類簇;
54. 使用基于熵的類簇評估算法進行評估每一個類簇的好壞;
55. 將聚類效果好的類簇放入結果集中,提取該類的指紋信息,并存入指紋庫。
2. 根據權利要求1所述的將未知多協議混合數據幀分離為單協議數據幀的方法,其特 征在于:所述的步驟Sl中輸入的η行m列的混合未知協議數據幀,每一種協議都具有協議 標識,同種協議的標識在相同位置會出現;不同種協議的協議標識可能出現在不同位置,也 可能出現在相同位置;協議標識的長度不定但不少于1字節(jié);不同協議的數據幀數量不同。
3. 根據權利要求1所述的將未知多協議混合數據幀分離為單協議數據幀的方法,其特 征在于:所述的步驟S2包括以下子步驟:
521. 將輸入數據構成二維矩陣,一個字節(jié)作為最小處理單元;
522. 計算出每一列中出現頻率最高的字符,表示為31,32,33,~,3111,同時計算出31到 am中,每個字節(jié)都有哪些行出現,分別由集合SI, S2, S3,…Sm表示;
323.將出現頻率大于111^11&1%的字符以及出現頻率小于1〇¥_111^11&1%的字符剔 除,設有i個,令m = m-i ;
524. 找出集合SI到Sm中,集合中個數最多的一個,設為Smax,設集合R,元素為集合 S,先將Smax加入集合R ;
525. 遍歷集合Sl到Sm,如果Sx與集合R中所有的集合的交集率都低于uniterate%, 將Sx加入集合R,如果交集率高于uniterate %,則取Smax與Sx的交集作為Smax ;
526. 集合R中元素的個數,即為要求的K的近似值,求出R中所有元素的并集,即為篩 選出來的數據幀;
527. 將篩選出來的數據幀從輸入數據幀中除去,如果剩余的數據幀數量仍比較大,可 再次做為輸入樣本計算這些數據幀的K值;
528. 取uniterate的值從50到99,得出對應的K值,以uniterate的值為X軸,K值 為Y軸作曲線;
529. 取K值變化比較平緩的最大uniterate區(qū)間,計算在此區(qū)間內的K的平均值,即為 所求的協議種類數的近似值。
4. 根據權利要求3所述的將未知多協議混合數據幀分離為單協議數據幀的方法,其特 征在于:所述的Liminal和low_liminal為可設置變量,如Liminal設置為99, low_liminal 設置為10。
5. 根據權利要求1所述的將未知多協議混合數據幀分離為單協議數據幀的方法,其特 征在于:所述的步驟S3包括以下子步驟:
531. 輸入處理好的協議數據幀和簇的數目K ;
532. 任意選擇K個數據對象作為初始聚類中心;
533. 計算各個數據到所選出來的各個中心的距離,將數據對象指派到最近的簇中,然 后計算每個簇的均值,根據簇中對象的平均值,將每個對象賦給最類似的簇;
534. 更新簇的平均值,即計算每個對象簇中對象的平均值;
535. 計算聚類準則函數E,并判斷聚類準則函數E是否收斂: (1) 若聚類準則函數E不收斂,跳轉至步驟S32 ; (2) 若聚類準則函數E收斂,則輸出聚類結果。
6.根據權利要求1所述的將未知多協議混合數據幀分離為單協議數據幀的方法,其特 征在于:所述的步驟S4包括以下子步驟: 541 :將步驟S2得到的經過處理的數據幀轉換為列二維矩陣,每一個元素為一個字節(jié); 遍歷所有字節(jié),計算出每一列中的字符的種類表示為al, a2, a3,…,ax,同時計算出al到ax 中,每個字節(jié)出現的概率; 542 :遍歷所有字節(jié),計算出每一列中出現頻率最高的字符,并分別表示為 al,a2, a3,…,am ;同時計算出這些字符在哪些行出現,并分別由集合SI, S2, S3,…Sm表示, 即al為第一列出現頻率最高的字符,Sl為第一列中出現字符al的所有行的行號的集合; 并將出現的次數除以總行數就得到該字節(jié)出現的頻率Pi ; 543 :計算每一列的熵值H,由于有m列則有m個熵值,計算公式如下:
式中,m為一列中字符的種類數,Pi為第i中字符出現的概率,對數以2為底; 544 :以列號為X軸,該列的熵值為Y軸做圖,分析聚類結果的好壞: 設定一個評估閾值l〇w_entropy,當越多的列j:商值小于low_entropy,聚類效果就越 好。
【專利摘要】本發(fā)明公開了一種將未知多協議混合數據幀分離為單協議數據幀的方法,它包括以下步驟:S1.將二進制數據轉換為十六進制格式,輸入n行m列的混合未知協議數據幀;S2.計算所輸入的未知協議數據幀的種類數的近似值K;S3.使用K-means算法指定K值進行聚類,得到n個類簇;S4.使用基于熵的類簇評估算法進行評估每一個類簇的好壞;S5.將聚類效果好的類簇放入結果集中,提取該類的指紋信息,并存入指紋庫。提供一種將未知多協議混合數據幀分離為單協議數據幀的方法,解決了混合協議種類數K的近似值計算困難,將不同的協議區(qū)分開困難,協議幀類簇的評估準確度低,難以直觀有效的問題。
【IPC分類】H04L29-06
【公開號】CN104767739
【申請?zhí)枴緾N201510127523
【發(fā)明人】張鳳荔, 周洪川, 劉淵, 郝玉潔, 張俊嬌
【申請人】電子科技大學
【公開日】2015年7月8日
【申請日】2015年3月23日