二进制消息数据的协议格式识别方法

文档序号:7813096阅读:426来源:国知局
二进制消息数据的协议格式识别方法
【专利摘要】本发明公开了一种二进制消息数据的协议格式识别方法,它对由单位数据构成的测试消息数据包进行筛选,筛选出测试消息数据包中的频繁单位数据序列,对测试消息数据包中相邻频繁单位数据序列聚类获得多个优选聚类,处理优选聚类获得用于标识未知协议的消息数据包的特征串。本发明对未知协议识别的准确率和召回率均在80%以上,对公有协议识别的准确率和召回率均在99%以上。
【专利说明】二进制消息数据的协议格式识别方法

【技术领域】
[0001] 本发明涉及无线数字通信【技术领域】,具体涉及一种二进制消息数据的协议格式识 别方法。

【背景技术】
[0002] 无线通信网络是基于射频无线电技术发展起来的数字通信网络。由于无线通信网 络具有免布线、移动接入、易于规划部署、易于故障定位、网络扩展性好等特点,其已成为当 今互联网络的重要组成部分。随着基于智能手机、WiFi无线设备的普及,无线互联应用已 成为人们生活中的一部分。
[0003] 为了提高无线网络的扩展性,合理配置无线网络资源,无线网络采用基于注册表 的MAC地址。基于注册表的MAC地址,其接入端口采用动态分配,容易造成插入攻击、漫游 攻击者、无线钓鱼、无线通信被劫持和监视、网络资源被窃取等技术问题。因此,如何及时识 别网络攻击,产生攻击预警,是无线网络安全运行的有力保障。
[0004] 在网络通信【技术领域】,主要通过识别承载网络消息数据的网络通信协议来监测和 预警网络入侵行为。网络通信协议包括公有协议和私有协议,公有协议有公开的协议规范 文档,私有协议为专用未知协议,其没有公开的协议规范文档,要实现私有协议的分类和识 别非常困难。目前基于无线网络的网络入侵或者攻击多采用专用未知协议为载体。
[0005] 现有的网络入侵监测和防范技术手段,大多基于端口映射、静态特征匹配等方法 进行公有协议的识别,实现网络行为预警和方法。显而易见,使用专用未知协议,通过动态 分配端口进行网络入侵的无线网络攻击行为是无法通过现有的网络入侵监测和防范技术 手段进行监测和预警的。


【发明内容】

[0006] 本发明所要解决的技术问题是提供一种能对专用未知协议进行标识的二进制消 息数据的协议格式识别方法。
[0007] 本发明解决技术问题所采用的技术方案是:
[0008] 二进制消息数据的协议格式识别方法,对由单位数据构成的测试消息数据包进行 筛选,筛选出测试消息数据包中的频繁单位数据序列,对测试消息数据包中相邻频繁单位 数据序列聚类获得多个优选聚类,处理优选聚类获得用于标识未知协议的消息数据包的特 征串,包括以下步骤:
[0009] 步骤1 :制作由单位数据构成的测试消息数据包:从网络环境中抓取二进制消息 数据流,将二进制消息数据流转换成以单位数据为构成单元的测试消息数据包;
[0010] 步骤2 :筛选出测试消息数据包中的频繁单位数据序列:将测试消息数据包的单 位数据分成数组,以单位数据、单位数据出现频率建立VSM向量空间模型,在VSM向量空间 模型中定义单位数据相似度;分别以多组单位数据出现频率为预选阀值对VSM向量空间模 型中的每个数组的单位数据进行筛选形成新数组,计算预选阀值对应的新数组单位数据相 似度,建立预选阀值和数组单位数据相似度的关系模型;通过关系模型找出单位数据相似 度最大值对应的用于筛选测试消息数据包中频繁单位数据序列的筛选阀值,以筛选阀值筛 选出测试消息数据包中的频繁单位数据序列;
[0011] 步骤3 :对测试消息数据包中的相邻频繁单位数据序列聚类获得多个优选聚类: 标记测试消息数据包中的频繁单位数据序列,将相邻的两个频繁单位数据拼接成关键词, 对测试消息数据包中的关键词通过聚类算法进行聚类,获得测试消息数据包中的多个优选 聚类;
[0012] 步骤4:处理优选聚类获得用于标识未知协议的消息数据包的特征串,通过特征 串标识测试消息数据包中的未知协议消息数据:对优选聚类采用序列比对算法,提取消息 数据包的特征串,获得消息数据的协议格式表达式,通过协议格式标识测试消息数据包中 的未知协议消息数据。
[0013] 进一步,步骤1中制作由单位数据构成的测试消息数据包具体为从网络环境中抓 取二进制消息数据流,将二进制消息数据流转换成十六进制消息数据包,按照定字节长度 将十六进制消息数据包切分成单位数据,形成由单位数据构成的测试消息数据包。
[0014] 进一步,定字节长度为一个字节长度。
[0015] 进一步,步骤2中筛选出测试消息数据包中的频繁单位数据序列,包括以下步骤:
[0016] 1)、建立基于单位数据的VSM向量空间模型:将测试消息数据包的单位数据按数 量进行分成数组,以单位数据和单位数据的出现频率建立VSM向量空间模型,将单位数据 字符串向量转换成VSM向量;在VSM向量空间模型中定义用于表征数组单位数据相似度的 Jaccard 指数;
[0017] 2)、通过VSM向量空间模型得出用于筛选测试消息数据包中频繁单位数据序列的 筛选阀值:分别以多组单位数据出现频率为预选阀值选出数组中出现频率大于预选阀值的 单位数据形成新数组,计算出新数组的单位数据Jaccard指数,建立预选阀值和单位数据 Jaccard指数关系模型,通过关系模型找出单位数据Jaccard指数最大值对应的预选阀值, 以此预选阀值作为筛选测试消息数据包中频繁单位数据序列的筛选阀值;
[0018] 3)、采用筛选阀值筛选测试消息数据包中的频繁单位数据序列:采用筛选阀值对 整个测试消息数据包进行筛选,选取出现频率大于筛选阀值的单位数据组成频繁单位数据 序列。
[0019] 进一步,步骤3中对测试消息数据包中相邻频繁单位数据序列聚类获得多个优选 聚类,包括以下步骤:
[0020] 1)、标记测试消息数据包中的频繁单位数据序列:在筛选出频繁单位数据序列之 后,对测试消息数据包中的频繁单位数据序列进行标记;
[0021] 2)、将相邻的两个频繁单位数据拼接成关键词:在测试消息数据包中,尽可能长地 将相邻的两个频繁单位数据拼接起来作为关键词;
[0022] 3)、通过聚类算法对测试消息数据包中的关键词进行聚类获得最佳聚类数目:通 过关键词标记测试消息数据包的单位数据,实现测试消息数据包的消息数据的数值化,将 VSM向量转化成数值化向量,对数值化向量采用K-Means聚类算法实现消息数据聚类,找出 优选聚类模式及其对应的最佳聚类数目;
[0023] 4)、通过最佳聚类数目获得优选聚类:以最佳聚类数目对测试消息数据包进行聚 类,获得测试消息数据包的多个优选聚类。
[0024] 进一步,通过聚类算法对测试消息数据包中的关键词进行聚类获得最佳聚类数 目,包括以下步骤:
[0025] 1)采用K-Means聚类算法对关键词进行聚类找出聚类中心,具体为:
[0026] 1. 1)以关键词为待聚类的点寻找聚类中心;
[0027] 1. 2)计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中;
[0028] 1. 3)计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心;
[0029] 1. 4)反复执行(1. 1)、(1. 2),直到聚类中心不再进行大范围移动或者聚类次数达 到要求为止;
[0030] 2)找出优选聚类模式及其对应的最佳聚类数目:定义用于选择最优的聚类数目 的Dunn指数,计算Dunn指数的最大值,Dunn指数最大值对应的消息数据聚类数目为最优 聚类数目;
[0031] 用于选择最优的聚类数目的Dunn指数的计算公式为
[0032]

【权利要求】
1. 二进制消息数据的协议格式识别方法,其特征在于,对由单位数据构成的测试消息 数据包进行筛选,筛选出测试消息数据包中的频繁单位数据序列,对测试消息数据包中相 邻频繁单位数据序列聚类获得多个优选聚类,处理优选聚类获得用于标识未知协议的消息 数据包的特征串,包括以下步骤: 步骤1 :制作由单位数据构成的测试消息数据包:从网络环境中抓取二进制消息数据 流,将二进制消息数据流转换成以单位数据为构成单元的测试消息数据包; 步骤2 :筛选出测试消息数据包中的频繁单位数据序列:将测试消息数据包的单位数 据分成数组,以单位数据、单位数据出现频率建立VSM向量空间模型,在VSM向量空间模型 中定义单位数据相似度;分别以多组单位数据出现频率为预选阀值对VSM向量空间模型 中的每个数组的单位数据进行筛选形成新数组,计算预选阀值对应的新数组单位数据相似 度,建立预选阀值和数组单位数据相似度的关系模型;通过关系模型找出单位数据相似度 最大值对应的用于筛选测试消息数据包中频繁单位数据序列的筛选阀值,以筛选阀值筛选 出测试消息数据包中的频繁单位数据序列; 步骤3 :对测试消息数据包中的相邻频繁单位数据序列聚类获得多个优选聚类:标记 测试消息数据包中的频繁单位数据序列,将相邻的两个频繁单位数据拼接成关键词,对测 试消息数据包中的关键词通过聚类算法进行聚类,获得测试消息数据包中的多个优选聚 类; 步骤4:处理优选聚类获得用于标识未知协议的消息数据包的特征串,通过特征串标 识测试消息数据包中的未知协议消息数据:对优选聚类采用序列比对算法,提取消息数据 包的特征串,获得消息数据的协议格式表达式,通过协议格式标识测试消息数据包中的未 知协议消息数据。
2. 根据权利要求1所述的二进制消息数据的协议格式识别方法,其特征在于,步骤1中 所述制作由单位数据构成的测试消息数据包具体为从网络环境中抓取二进制消息数据流, 将二进制消息数据流转换成十六进制消息数据包,按照定字节长度将十六进制消息数据包 切分成单位数据,形成由单位数据构成的测试消息数据包。
3. 根据权利要求2所述的二进制消息数据的协议格式识别方法,其特征在于,所述定 字节长度为一个字节长度。
4. 根据权利要求1至3中任意一项权利要求所述的二进制消息数据的协议格式识别方 法,其特征在于,步骤2中所述筛选出测试消息数据包中的频繁单位数据序列,包括以下步 骤: 1) 、建立基于单位数据的VSM向量空间模型:将测试消息数据包的单位数据按数量 进行分成数组,以单位数据和单位数据的出现频率建立VSM向量空间模型,将单位数据字 符串向量转换成VSM向量;在VSM向量空间模型中定义用于表征数组单位数据相似度的 Jaccard 指数; 2) 、通过VSM向量空间模型得出用于筛选测试消息数据包中频繁单位数据序列的筛 选阀值:分别以多组单位数据出现频率为预选阀值选出数组中出现频率大于预选阀值的 单位数据形成新数组,计算出新数组的单位数据Jaccard指数,建立预选阀值和单位数据 Jaccard指数关系模型,通过关系模型找出单位数据Jaccard指数最大值对应的预选阀值, 以此预选阀值作为筛选测试消息数据包中频繁单位数据序列的筛选阀值; 3)、采用筛选阀值筛选测试消息数据包中的频繁单位数据序列:采用筛选阀值对整个 测试消息数据包进行筛选,选取出现频率大于筛选阀值的单位数据组成频繁单位数据序 列。
5. 根据权利要求1至3中任意一项权利要求所述的二进制消息数据的协议格式识别方 法,其特征在于,步骤3中所述对测试消息数据包中相邻频繁单位数据序列聚类获得多个 优选聚类,包括以下步骤: 1) 、标记测试消息数据包中的频繁单位数据序列:在筛选出频繁单位数据序列之后,对 测试消息数据包中的频繁单位数据序列进行标记; 2) 、将相邻的两个频繁单位数据拼接成关键词:在测试消息数据包中,尽可能长地将相 邻的两个频繁单位数据拼接起来作为关键词; 3) 、通过聚类算法对测试消息数据包中的关键词进行聚类获得最佳聚类数目:通过关 键词标记测试消息数据包的单位数据,实现测试消息数据包的消息数据的数值化,将VSM 向量转化成数值化向量,对数值化向量采用K-Means聚类算法实现消息数据聚类,找出优 选聚类模式及其对应的最佳聚类数目; 4) 、通过最佳聚类数目获得优选聚类:以最佳聚类数目对测试消息数据包进行聚类,获 得测试消息数据包的多个优选聚类。
6. 根据权利要求5所述的二进制消息数据的协议格式识别方法,其特征在于,所述通 过聚类算法对测试消息数据包中的关键词进行聚类获得最佳聚类数目,包括以下步骤: 1) 采用K-Means聚类算法对关键词进行聚类找出聚类中心,具体为: 1. 1)以关键词为待聚类的点寻找聚类中心; 1.2)计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中; 1. 3)计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心; 1.4)反复执行(1.1)、(1.2),直到聚类中心不再进行大范围移动或者聚类次数达到要 求为止; 2) 找出优选聚类模式及其对应的最佳聚类数目:定义用于选择最优的聚类数目的 Dunn指数,计算Dunn指数的最大值,Dunn指数最大值对应的消息数据聚类数目为最优聚类 数目; 用于选择最优的聚类数目的Dunn指数的计算公式为
其中,分别为第i和j个聚类中心,Λ (Q)为聚类Q的直径距离,δ (Cjp为两 个聚类中心Q、之间的距离,p为消息数据聚类数目; 当D (ρ)取得最大值时,对应的ρ为效果最优的消息数据聚类数目。
【文档编号】H04L29/06GK104159232SQ201410440593
【公开日】2014年11月19日 申请日期:2014年9月1日 优先权日:2014年9月1日
【发明者】郑杰, 李建平 申请人:电子科技大学, 重庆电子工程职业学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1