将未知协议多通信方数据流分离为点对点数据流的方法

文档序号:8433822阅读:262来源:国知局
将未知协议多通信方数据流分离为点对点数据流的方法
【技术领域】
[0001] 本发明设及一种将未知协议多通信方数据流分离为点对点数据流的方法。
【背景技术】
[0002] 在当前信息战场景下,被敌方通过进口器件或特种木马进行窃密的威胁日益严 峻,此类窃密其途径通常是通过无线通信方式发送设密信息,且该种通信所采用的协议均 为非常规的专用未知协议,而现有的防范措施基本只针对已知协议,大多采用基于端口映 射或静态特征匹配等方法,无法对该类窃密渠道进行监测和检测。本课题针对上述问题,拟 提出一种基于数据报指纹关系的未知协议发现方法,为该类窃密渠道的监测手段奠定技术 基础。

【发明内容】

[0003] 本发明的目的在于克服现有技术的不足,提供一种将未知协议多通信方数据流分 离为点对点数据流的方法,提出了一种简单有效的寻找未知协议地址信息的方法,此方法 的前提是得到了单协议数据帖。
[0004] 本发明的目的是通过W下技术方案来实现的;将未知协议多通信方数据流分离为 点对点数据流的方法,它包括W下步骤:
[0005]S1;将混合未知多协议数据流分为单协议数据帖:采用聚类算法将混合未知多协 议数据流分为单协议数据帖,并用评估算法确定所得到的类簇是比较可信的单协议数据 帖;
[0006]S2;将分割好的单协议数据帖按地址分为点对点数据帖;通过寻找具有"地址特 征"的列队来组成地址对候选集,然后通过对地址对候选集进行拼接,得到最后的地址对。
[0007] 所述的S1包括W下子步骤:
[0008]S11;计算所输入的未知协议数据帖的种类数的近似值K,并且得到经过处理的数 据帖;
[000引S12;使用K-means算法指定K值进行聚类,得到n个类簇;
[0010] S13 ;使用基于滴的类簇评估算法进行评估每一个类簇的好坏,确定出可信的单协 议数据帖。
[0011] 所述的S1还包括W下子步骤:
[0012]S14;将聚类效果好的类簇放入结果集中,提取该类的指纹信息,并存入指纹库;
[0013]S15;将聚类效果好的类簇加上类标识进行机器学习,建立分类模型,使用分类模 型进行分类。
[0014] 所述的S11包括W下子步骤:
[0015]S1101;将输入数据构成二维矩阵,一个字节作为最小处理单元;
[0016]S1102;遍历所有字节,计算出每一列中出现频率最高的字符,并分别表示为 al,a2,a3,…,am;同时计算出该些字符在哪些行出现,并分别由集合S1,S2,S3,…Sm表示, 即al为第一列出现频率最高的字符,SI为第一列中出现字符al的所有行的行号的集合;
[0017] S1103;将出现频率大于liminal%的字符W及出现频率小于l〇w_liminal%的字 符剔除,设有i个字符符合要求,则对m的值进行更新:令m=m-i;所述的liminal%和low_liminal%为频率最小阔值和频率最大阔值;
[001引S1104;找出集合S1到Sm中,元素个数最大的集合,设为Smax;
[0019]S1105;定义一个新的集合R,所述的集合R的元素为集合S,并将集合Smax加入集 合R;
[0020] S1106 ;取uniterate的值从50到99,遍历集合S1到Sm,根据遍历到的集合与集 合R中所有的集合的交集率,做不同的处理:
[002。 (1)若遍历到的集合Sx与集合R中所有的集合的交集率低于uniterate%,则将 Sx加入集合R;
[0022] 似若遍历到的集合Sx与集合R中所有的集合的交集率高于或等于 uniterate%,则取Smax和Sx的交集作为Smax;
[0023] 所述的uniterate%为交集率阔值;
[0024]S1107;求出R中所有元素的并集,即为筛选出来的数据帖;
[0025]S1108;将筛选出来的数据帖从输入数据帖中除去,对剩余的数据帖数量进行判 断:
[0026] (1)如果剩余的数据帖数量仍比较大,再次做为输入样本计算该些数据帖的K值, 即返回步骤S1101;
[0027] 似否则,进入步骤S1109;
[002引 S1109;得出对应的K值,Wuniterate的值为X轴,K值为Y轴作曲线;
[0029]S1110;取K值变化比较平缓的最大uniterate区间,计算在此区间内的K的平均 值,即为所求的协议种类数的近似值K。
[0030] 所述的S12包括W下子步骤:
[0031]S1201;将步骤S11得到的经过处理的数据帖和簇的近似值K输入;
[0032]S1202;随机选择K个数据对象作为初始聚类中屯、;
[0033]S1203;根据簇中对象的平均值,将每个对象赋给最类似的簇;
[0034]S1204;更新簇的平均值,即重新计算每个对象簇中对象的平均值;
[0035]S1205;判断聚类准则函数是否收敛即计算聚类准则函数E值是否变化:
[003引 (1)若聚类准则函数未收敛即聚类准则函数E值仍在变化,则返回步骤S1203;
[0037] (2)若聚类准则函数收敛即聚类准则函数E值没有在变化,则输出K个簇。
[0038] 所述的S13包括W下子步骤:
[0039]S1301;将步骤S11得到的经过处理的数据帖转换为列二维矩阵,每一个元素为一 个字节;
[0040]遍历所有字节,计算出每一列中的字符的种类表示为al,a2,a3,…,ax,同时计算 出al到ax中,每个字节出现的概率
[0041]S1302;遍历所有字节,计算出每一列中出现频率最高的字符,并分别表示为 al,a2,a3,…,am;同时计算出该些字符在哪些行出现,并分别由集合S1,S2,S3,…Sm表示, 即al为第一列出现频率最高的字符,S1为第一列中出现字符al的所有行的行号的集合; 并将出现的次数除W总行数就得到该字节出现的频率Pi;
[0042] S1303 ;计算每一列的滴值H,由于有m列则有m个滴值,计算公式如下:
[0043]
【主权项】
1. 将未知协议多通信方数据流分离为点对点数据流的方法,其特征在于:它包括以下 步骤: 51 :将混合未知多协议数据流分为单协议数据帧:采用聚类算法将混合未知多协议数 据流分为单协议数据帧,并用评估算法确定所得到的类簇是比较可信的单协议数据帧; 52 :将分割好的单协议数据帧按地址分为点对点数据帧:通过寻找具有"地址特征"的 列队来组成地址对候选集,然后通过对地址对候选集进行拼接,得到最后的地址对。
2. 根据权利要求1所述的将未知协议多通信方数据流分离为点对点数据流的方法,其 特征在于:所述的Sl包括以下子步骤: 511 :计算所输入的未知协议数据帧的种类数的近似值K,并且得到经过处理的数据 帧; 512 :使用K-means算法指定K值进行聚类,得到η个类簇; 513 :使用基于熵的类簇评估算法进行评估每一个类簇的好坏,确定
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1