将未知单协议数据流分离为不同类型的数据帧的方法

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

【发明内容】

[0003] 本发明的目的在于克服现有技术的不足,提供一种将未知单协议数据流分离为不 同类型的数据帖的方法。
[0004] 本发明的目的是通过W下技术方案来实现的;将未知单协议数据流分离为不同类 型的数据帖的方法,它包括W下步骤:
[0005] S1 ;n-gram的产生:将原始的数据帖切分成长度为n的字节,为特征候选集的拼接 做准备;在二进制协议的环境下,将gram定义为字节,n为字节的长度,该步骤能够将原始 的数据帖切分成长度为n的字节,为特征候选集的拼接做准备;
[0006] S11 ;利用n-gram技术对数据帖进行分割,输入的是在双方通信中所使用的单协 议数据帖,根据齐夫分布,选择曲线图中最接近直线的n值作为所求;
[0007] S12 ;利用化ccard参数对非频繁字节进行过滤,通过改变不同的阔值得到其最优 解对n-gram进行过滤,得到出现次数多于阔值的n-gram集合;
[000引 S2 ;特征候选集的拼接;形成频繁长串,产生特征候选集;
[0009] S3 ;特征选择;将步骤S3中得到的特征候选集作为输入,利用滴值中的互信息作 为特征选择算法,根据最大相关-最小冗余的特征选择标准,得到不同类型消息的特征,W 此作为特征向量用于步骤S4的聚类中;
[0010] S4 ;聚类;利用聚类算法实现协议消息的识别,将具有相同格式的消息聚在一起。
[0011] 所述的S1包括W下子步骤:
[0012] S101 ;利用n-gram技术对数据帖进行分割:对n取不同值时分别对原始数据集进 行切分,对每个n-gram按其出现的次数进行排序,用X轴表示n-gram的排序,y轴表示对 应n-gram出现的次数,两个坐标轴都用对数来表示,产生相应的齐夫分布曲线图;
[0013] S102 ;选择曲线图中最接近直线的n值作为所求的n值得大小;
[0014] S103 ;对产生的n-grams进行筛选,采用化ccard参数对非频繁字节进行过滤,通 过改变不同的阔值得到其最优解对n-gram进行过滤,得到出现次数多于阔值的n-gram集 合,其中,Jaccard参数的计算公式如下;
[0015]
【主权项】
1. 将未知单协议数据流分离为不同类型的数据帧的方法,其特征在于:它包括以下步 骤: 51 :n-gram的产生:将原始的数据帧切分成长度为η的字节,为特征候选集的拼接做准 备; 52 :特征候选集的拼接:形成频繁长串,产生特征候选集; 53 :特征选择:将步骤S3中得到的特征候选集作为输入,利用熵值中的互信息作为特 征选择算法,根据最大相关-最小冗余的特征选择标准,得到不同类型消息的特征,以此作 为特征向量用于步骤S4的聚类中; 54 :聚类:利用聚类算法实现协议消息的识别,将具有相同格式的消息聚在一起。
2. 根据权利要求1所述的将未知单协议数据流分离为不同类型的数据帧的方法,其特 征在于:所述的Sl包括以下子步骤: 5101 :利用n-gram技术对数据帧进行分割:对η取不同值时分别对原始数据集进行 切分,对每个n-gram按其出现的次数进行排序,用X轴表示n-gram的排序,y轴表示对应 n-gram出现的次数,两个坐标轴都用对数来表示,产生相应的齐夫分布曲线图; 5102 :选择曲线图中最接近直线的η值作为所求的η值得大小; 5103 :对产生的n-grams进行筛选,采用Jaccard参数对非频繁字节进行过滤,通过改 变不同的阈值得到其最优解对n-gram进行过滤,得到出现次数多于阈值的n-gram集合,其 中,Jaccard参数的计算公式如下:
式中,A和B分别表示两个用字节表示的特征向量,Tli和T2i分别表示A和B中的第 i个特征;对阈值进行改变,记录阈值与Jaccard值的变化曲线,选择第一次达到最高点的 Jaccard值所对应的阈值作为所求。
3. 根据权利要求2所述的将未知单协议数据流分离为不同类型的数据帧的方法,其特 征在于:步骤SlOl中所述的η取不同值包括η取1、η取2、和η取3。
4. 根据权利要求1所述的将未知单协议数据流分离为不同类型的数据帧的方法,其特 征在于:步骤S2所述的特征候选集的拼接依据是判断n-grams在每一帧数据中是否连续出 现:如果有两个或两个以上的n-grams在一帧数据中是连续出现的,就将他们拼接在一起 形成频繁长串。
5. 根据权利要求1所述的将未知单协议数据流分离为不同类型的数据帧的方法,其特 征在于:所述的S3包括以下子步骤:根据互信息中最大相关-最小冗余的特征选择标准, 进行评判,公式如下:
式中,特征候选集的拼接模块所得到的特征候选集用集合U= (F1, F2,…F1J表示,实验 中选择出来的特征用集合F表示,其中含有m个特征A为步骤S2中特征候选集中的第i 个特征,每个特征的取值只有4和^,分别表示特征匕出现和不出现;Gt为已选特征,属于 已选择的特征集合;Rel (Fi)表示一个特征匕的相关度,即与整个特征集合的平均互信息; RecKFi, Gt) -个特征Fi与已选特征G t的冗余度;表示公式如下:
Red (Fi, Gt) = Rel (Gt)-Rel (Gt I Fi);
式中Rel(GtIFi)表示一个特征Gt对特征条件相关度,H(F i)表示特征匕所包含的 信息量,H(Fi)越大,表示特征Fi能够给学习算法带来越多的信息:
表示有 了特征Fi之后其它特征信息的减少量,其值越大表示其它的特征能给学习算法带来的"新" 知识越少;公式如下:
式中,表示随机变量Fi中&出现的概率。
6. 根据权利要求1所述的将未知单协议数据流分离为不同类型的数据帧的方法,其特 征在于:所述的S4包括以下步骤:采用聚类算法k-means来对数据帧进行聚类,该算法采 用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。
7. 根据权利要求6所述的将未知单协议数据流分离为不同类型的数据帧的方法,其特 征在于:所述的采用聚类算法k-means来对数据帧进行聚类实用weka中自带的聚类算法 k-means〇
【专利摘要】本发明公开了一种将未知单协议数据流分离为不同类型的数据帧的方法,首先利用n-gram技术对数据帧进行分割,根据齐夫分布,选择曲线图中最接近直线的n值作为所求,然后利用Jaccard参数对非频繁字节进行过滤,通过改变不同的阈值得到其最优解对n-gram进行过滤,得到出现次数多于阈值的n-gram集合;然后利用无监督的特征选择算法提取特征串集合,特征选择中将上一步得到的特征候选集作为输入,根据最大相关-最小冗余的特征选择标准,得到能更好的表征该协议不同类型消息的特征,以此作为特征向量用于聚类中;最后利用聚类算法实现协议消息的识别,将具有相同格式的消息聚在一起。本发明在ICMP上对该方法进行评估,消息识别的准确率和召回率均可达到90%以上。
【IPC分类】H04L29-06
【公开号】CN104767736
【申请号】CN201510127295
【发明人】王勇, 周洪川, 张凤荔, 张俊娇, 刘渊
【申请人】电子科技大学
【公开日】2015年7月8日
【申请日】2015年3月23日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1