將未知協(xié)議多通信方數(shù)據(jù)流分離為點(diǎn)對(duì)點(diǎn)數(shù)據(jù)流的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種將未知協(xié)議多通信方數(shù)據(jù)流分離為點(diǎn)對(duì)點(diǎn)數(shù)據(jù)流的方法。
【背景技術(shù)】
[0002] 在當(dāng)前信息戰(zhàn)場(chǎng)景下,被敵方通過進(jìn)口器件或特種木馬進(jìn)行竊密的威脅日益嚴(yán) 峻,此類竊密其途徑通常是通過無線通信方式發(fā)送設(shè)密信息,且該種通信所采用的協(xié)議均 為非常規(guī)的專用未知協(xié)議,而現(xiàn)有的防范措施基本只針對(duì)已知協(xié)議,大多采用基于端口映 射或靜態(tài)特征匹配等方法,無法對(duì)該類竊密渠道進(jìn)行監(jiān)測(cè)和檢測(cè)。本課題針對(duì)上述問題,擬 提出一種基于數(shù)據(jù)報(bào)指紋關(guān)系的未知協(xié)議發(fā)現(xiàn)方法,為該類竊密渠道的監(jiān)測(cè)手段奠定技術(shù) 基礎(chǔ)。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種將未知協(xié)議多通信方數(shù)據(jù)流分 離為點(diǎn)對(duì)點(diǎn)數(shù)據(jù)流的方法,提出了一種簡(jiǎn)單有效的尋找未知協(xié)議地址信息的方法,此方法 的前提是得到了單協(xié)議數(shù)據(jù)帖。
[0004] 本發(fā)明的目的是通過W下技術(shù)方案來實(shí)現(xiàn)的;將未知協(xié)議多通信方數(shù)據(jù)流分離為 點(diǎn)對(duì)點(diǎn)數(shù)據(jù)流的方法,它包括W下步驟:
[0005]S1;將混合未知多協(xié)議數(shù)據(jù)流分為單協(xié)議數(shù)據(jù)帖:采用聚類算法將混合未知多協(xié) 議數(shù)據(jù)流分為單協(xié)議數(shù)據(jù)帖,并用評(píng)估算法確定所得到的類簇是比較可信的單協(xié)議數(shù)據(jù) 帖;
[0006]S2;將分割好的單協(xié)議數(shù)據(jù)帖按地址分為點(diǎn)對(duì)點(diǎn)數(shù)據(jù)帖;通過尋找具有"地址特 征"的列隊(duì)來組成地址對(duì)候選集,然后通過對(duì)地址對(duì)候選集進(jìn)行拼接,得到最后的地址對(duì)。
[0007] 所述的S1包括W下子步驟:
[0008]S11;計(jì)算所輸入的未知協(xié)議數(shù)據(jù)帖的種類數(shù)的近似值K,并且得到經(jīng)過處理的數(shù) 據(jù)帖;
[000引S12;使用K-means算法指定K值進(jìn)行聚類,得到n個(gè)類簇;
[0010] S13 ;使用基于滴的類簇評(píng)估算法進(jìn)行評(píng)估每一個(gè)類簇的好壞,確定出可信的單協(xié) 議數(shù)據(jù)帖。
[0011] 所述的S1還包括W下子步驟:
[0012]S14;將聚類效果好的類簇放入結(jié)果集中,提取該類的指紋信息,并存入指紋庫(kù);
[0013]S15;將聚類效果好的類簇加上類標(biāo)識(shí)進(jìn)行機(jī)器學(xué)習(xí),建立分類模型,使用分類模 型進(jìn)行分類。
[0014] 所述的S11包括W下子步驟:
[0015]S1101;將輸入數(shù)據(jù)構(gòu)成二維矩陣,一個(gè)字節(jié)作為最小處理單元;
[0016]S1102;遍歷所有字節(jié),計(jì)算出每一列中出現(xiàn)頻率最高的字符,并分別表示為 al,a2,a3,…,am;同時(shí)計(jì)算出該些字符在哪些行出現(xiàn),并分別由集合S1,S2,S3,…Sm表示, 即al為第一列出現(xiàn)頻率最高的字符,SI為第一列中出現(xiàn)字符al的所有行的行號(hào)的集合;
[0017] S1103;將出現(xiàn)頻率大于liminal%的字符W及出現(xiàn)頻率小于l〇w_liminal%的字 符剔除,設(shè)有i個(gè)字符符合要求,則對(duì)m的值進(jìn)行更新:令m=m-i;所述的liminal%和low_liminal%為頻率最小闊值和頻率最大闊值;
[001引S1104;找出集合S1到Sm中,元素個(gè)數(shù)最大的集合,設(shè)為Smax;
[0019]S1105;定義一個(gè)新的集合R,所述的集合R的元素為集合S,并將集合Smax加入集 合R;
[0020] S1106 ;取uniterate的值從50到99,遍歷集合S1到Sm,根據(jù)遍歷到的集合與集 合R中所有的集合的交集率,做不同的處理:
[002。 (1)若遍歷到的集合Sx與集合R中所有的集合的交集率低于uniterate%,則將 Sx加入集合R;
[0022] 似若遍歷到的集合Sx與集合R中所有的集合的交集率高于或等于 uniterate%,則取Smax和Sx的交集作為Smax;
[0023] 所述的uniterate%為交集率闊值;
[0024]S1107;求出R中所有元素的并集,即為篩選出來的數(shù)據(jù)帖;
[0025]S1108;將篩選出來的數(shù)據(jù)帖從輸入數(shù)據(jù)帖中除去,對(duì)剩余的數(shù)據(jù)帖數(shù)量進(jìn)行判 斷:
[0026] (1)如果剩余的數(shù)據(jù)帖數(shù)量仍比較大,再次做為輸入樣本計(jì)算該些數(shù)據(jù)帖的K值, 即返回步驟S1101;
[0027] 似否則,進(jìn)入步驟S1109;
[002引 S1109;得出對(duì)應(yīng)的K值,Wuniterate的值為X軸,K值為Y軸作曲線;
[0029]S1110;取K值變化比較平緩的最大uniterate區(qū)間,計(jì)算在此區(qū)間內(nèi)的K的平均 值,即為所求的協(xié)議種類數(shù)的近似值K。
[0030] 所述的S12包括W下子步驟:
[0031]S1201;將步驟S11得到的經(jīng)過處理的數(shù)據(jù)帖和簇的近似值K輸入;
[0032]S1202;隨機(jī)選擇K個(gè)數(shù)據(jù)對(duì)象作為初始聚類中屯、;
[0033]S1203;根據(jù)簇中對(duì)象的平均值,將每個(gè)對(duì)象賦給最類似的簇;
[0034]S1204;更新簇的平均值,即重新計(jì)算每個(gè)對(duì)象簇中對(duì)象的平均值;
[0035]S1205;判斷聚類準(zhǔn)則函數(shù)是否收斂即計(jì)算聚類準(zhǔn)則函數(shù)E值是否變化:
[003引 (1)若聚類準(zhǔn)則函數(shù)未收斂即聚類準(zhǔn)則函數(shù)E值仍在變化,則返回步驟S1203;
[0037] (2)若聚類準(zhǔn)則函數(shù)收斂即聚類準(zhǔn)則函數(shù)E值沒有在變化,則輸出K個(gè)簇。
[0038] 所述的S13包括W下子步驟:
[0039]S1301;將步驟S11得到的經(jīng)過處理的數(shù)據(jù)帖轉(zhuǎn)換為列二維矩陣,每一個(gè)元素為一 個(gè)字節(jié);
[0040]遍歷所有字節(jié),計(jì)算出每一列中的字符的種類表示為al,a2,a3,…,ax,同時(shí)計(jì)算 出al到ax中,每個(gè)字節(jié)出現(xiàn)的概率
[0041]S1302;遍歷所有字節(jié),計(jì)算出每一列中出現(xiàn)頻率最高的字符,并分別表示為 al,a2,a3,…,am;同時(shí)計(jì)算出該些字符在哪些行出現(xiàn),并分別由集合S1,S2,S3,…Sm表示, 即al為第一列出現(xiàn)頻率最高的字符,S1為第一列中出現(xiàn)字符al的所有行的行號(hào)的集合; 并將出現(xiàn)的次數(shù)除W總行數(shù)就得到該字節(jié)出現(xiàn)的頻率Pi;
[0042] S1303 ;計(jì)算每一列的滴值H,由于有m列則有m個(gè)滴值,計(jì)算公式如下:
[0043]
【主權(quán)項(xiàng)】
1. 將未知協(xié)議多通信方數(shù)據(jù)流分離為點(diǎn)對(duì)點(diǎn)數(shù)據(jù)流的方法,其特征在于:它包括以下 步驟: 51 :將混合未知多協(xié)議數(shù)據(jù)流分為單協(xié)議數(shù)據(jù)幀:采用聚類算法將混合未知多協(xié)議數(shù) 據(jù)流分為單協(xié)議數(shù)據(jù)幀,并用評(píng)估算法確定所得到的類簇是比較可信的單協(xié)議數(shù)據(jù)幀; 52 :將分割好的單協(xié)議數(shù)據(jù)幀按地址分為點(diǎn)對(duì)點(diǎn)數(shù)據(jù)幀:通過尋找具有"地址特征"的 列隊(duì)來組成地址對(duì)候選集,然后通過對(duì)地址對(duì)候選集進(jìn)行拼接,得到最后的地址對(duì)。
2. 根據(jù)權(quán)利要求1所述的將未知協(xié)議多通信方數(shù)據(jù)流分離為點(diǎn)對(duì)點(diǎn)數(shù)據(jù)流的方法,其 特征在于:所述的Sl包括以下子步驟: 511 :計(jì)算所輸入的未知協(xié)議數(shù)據(jù)幀的種類數(shù)的近似值K,并且得到經(jīng)過處理的數(shù)據(jù) 幀; 512 :使用K-means算法指定K值進(jìn)行聚類,得到η個(gè)類簇; 513 :使用基于熵的類簇評(píng)估算法進(jìn)行評(píng)估每一個(gè)類簇的好壞,確定