一种未知二进制协议帧切分与层次划分方法技术

技术编号:13375426 阅读:49 留言:0更新日期:2016-07-20 21:58
本发明专利技术公开了一种未知二进制协议帧切分与层次划分方法,在无先验知识情况下,对协议数据进行分词处理,以分词后的二进制协议数据作为输入,识别其中的关键特征,并关联分析关键特征之间的位置关系,计算选择帧的同步码,以此作为切分帧的依据,同时分析分词后的二进制协议数据,计算其公共子序列的长度,从而划分出协议帧中所包含的层次关系。本发明专利技术是一种通用的方法,能够将完全由“0”和“1”构成的未知二进制协议数据中定位出协议帧的起始位置,并能够分析出该协议中包含的层次关系。

【技术实现步骤摘要】

本专利技术涉及无线通信中未知协议识别领域,特别是涉及一种未知二进制协议帧切分与层次划分方法
技术介绍
无线通信领域中,经常获取或截获各种通信数据,经解调解码解密后,数据为二进制数据,在未知的协议规范情况下,获取其承载的信息载荷的内容是目前无线通信领域中的一个难以解决的问题。而要获取其信息载荷,必须先对数据进行协议帧的切分,将获取的二进制数据拆分为一个一个的协议帧,之后再对协议进行层次划分,以明确该通信协议有几个层次,如链路层、网络层、应用层。因在无线通信领域中,协议层次不再同有线网络一样始终遵循几种标准且层次固定,无线通信可以根据实际需要专门设计协议的层次,如卫星通信、地空通信等。因此从通信数据中获取帧并进行层次划分已成为协议逆向分析的一个重要组成部分。目前,国内外的研发状态主要呈现以下特点:1)多数研究成果主要针对的是文本协议,对二进制协议相应的研究成果少,且在实际应用中仍有很大的制约与局限。2)绝大多数研究成果是针对应用层协议,在应用层协议中无需进行帧切分和层次划分,对于二进制协议从链路层、网络层、传输层、直至应用层协议的较为通用的帧切分和层次划分无法适用。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种应用于无线通信中未知协议识别领域的二进制协议帧切分与层次划分方法。本专利技术的目的是通过以下技术方案来实现的:一种未知二进制协议帧切分与层次划分方法,所述方法包括以下步骤:S1,在无先验知识情况下,对二进制协议数据进行分词处理;S2,以分词后的二进制协议数据作为输入,识别其中的关键特征,并关联分析特征之间的位置关系,计算关键特征的位置差;S3,根据一定的同步码识别规则,选择帧的同步码;S4,根据识别的同步码,确认帧起始位置,并采用同步码串匹配对比特数据集进行切分,从而得到独立的报文帧;S5,以分词后的二进制协议数据作为输入,同时依据关键特征位置差的关联分析与帧切分的结果,分析分词后的二进制协议数据,获取其公共子序列,并计算公共子序列的长度,获取格式划分边界值,根据公共子序列的长度对协议帧进行层次划分。进一步的,所述步骤S1包括以下子步骤:S101,采用多重滑动窗口进行二进制协议数据基本串统计计算;S102,以Nbit为步进滑动窗口,记录步进滑动窗口中串值的位置,统计其出现次数,以形成基本串集合,其中N≥1。在所述二进制数据的分词处理中,采用多重滑动窗口进行基本串统计,位数序列为非常见序列的(例如7位序列)可以通过对基本串的后续分析获得,其滑动窗口方式以拟统计的最少位窗口为基本窗口,以本次窗口和多次移动前窗口形成较大的窗口,类推构造更大的窗口,确定窗口滑动的步长通过一次搜索获得多种长度多种数值的序列串信息。由于,数据帧头部一般存在相同的频繁特征;分词处理后的数据,可以计算各种特征字段,而其位置差也相对固定,可以通过计算特征字段之间的位置差来进行帧长确定。因此进一步的,所述步骤S2具体包括:在分词基础上,采用位置差关联分析频繁序列间的关系,进而确定协议帧的帧长参数,并以帧长参数作为一个分隔依据对协议数据进行分帧处理。由于,同步码有模式固定的同步字段(一般为连续出现的0,1或者01交替出现)和帧起始符SFD,这对于比特流数据来说是非常明显的特征。因此进一步的,所述步骤S3在查找同步码时具体包括以下子步骤:S301,对分词获取到的频繁序列按照其位置关系递归地进行拼接,直到不能获取更长的特征串为止;S302,将得到的长频繁序列结合前导码的特征进行排序,选取排在前n位的频繁序列组成前导码候选集合;S303,从候选集合中选出最终的标准前导码即标准同步码。进一步的,所述步骤S303包括以下方式:A、将候选集合中出现次数最多的长频繁序列作为最终选择的标准同步码;B、S3031,对前导码候选集中的长频繁序列进行最长公共子序列LCS匹配处理,得到最长公共子序列L,记录其出现次数c;S3032,对最长公共子序列L以mbit为步长进行扩充,得到扩充后的序列L′i,并统计每次扩充之后序列L′i出现的次数c′i,其中i表示进行扩充的次数;S3033,将出现次数c′i最多的长频繁序列作为最终选择的标准同步码。进一步的,由于无线通信协议的帧同步码一般较长,同步码在每个报文中都会出现,所以是最频繁的,并且同步码一般具有很明显的特征,如0、1间隔等。因此,步骤S3中所述的同步码识别规则,一般可为选择最长、最频繁的序列为同步码的识别规则。进一步的,步骤S5中,一般采用序列比对法,通过对帧格式序列集中的全部格式序列进行两两比对,来计算每对格式序列的公共子序列长度。进一步的,统计出全部格式序列的公共子序列长度,获取格式划分边界值。本专利技术的有益效果是:本专利技术为应用于无线通信中未知协议识别领域的二进制协议帧切分与层次划分方法,包括对二进制数据进行分词处理、对分词结果进行关键特征位置差的关联分析、帧同步码的选择等步骤来完成协议帧的切分,之后根据分词处理和关联分析等结果,进一步对协议帧进行层次划分。本专利技术是一种通用方法,能适用于各种二进制协议的分析,而不用关心该二进制协议是哪一层的协议。本专利技术能够实现将完全由“0”和“1”构成的数据中定位出协议帧的起始位置,并能够分析出该协议中包含的层次关系。附图说明图1为本专利技术的一种流程示意图;图2为本专利技术基于滑动窗口的数据序列计算算法示意图;图3为本专利技术同步码序列查找方法流程图;图4为本专利技术公共子序列的提取结果示例图。具体实施方式下面结合附图进一步详细描述本专利技术的技术方案,但本专利技术的保护范围不局限于以下所述。如图1所示,该实施例描述了一种未知二进制协议帧切分与层次划分方法,所述方法包括以下步骤:S1,在无先验知识情况下,对二进制协议数据进行分词处理;S2,以分词后的二进制协议数据作为输入,识别其中的关键特征,并关联分析特征之间的位置关系,计算关键特征的位置差;S3,根据一定的同步码识别规则,选择帧的同步码;S4,根据识别的同步码,确认帧起始位置,并采用同步码串匹配对比特数据集进行切分,从而得到独立的报文帧;S5,以分词后的二进制协议数据作为输入,同时依据关键特征位置差的关联分析与帧切分的结果,分析分词后的二进制协议数据,获取其公共子序列,并计算公共子序列的长度,获取格式划分边界值,根据公共子序列的长度对协议帧进行层次划分。进一步的,所述步骤S1包括以下子步骤:S101,采用多重滑动窗口进本文档来自技高网...

【技术保护点】
一种未知二进制协议帧切分与层次划分方法,其特征在于,所述方法包括以下步骤:S1,在无先验知识情况下,对二进制协议数据进行分词处理;S2,以分词后的二进制协议数据作为输入,识别其中的关键特征,并关联分析特征之间的位置关系,计算关键特征的位置差;S3,根据一定的同步码识别规则,选择帧的同步码;S4,根据识别的同步码,确认帧起始位置,并采用同步码串匹配对比特数据集进行切分,从而得到独立的报文帧;S5,以分词后的二进制协议数据作为输入,同时依据关键特征位置差的关联分析与帧切分的结果,分析分词后的二进制协议数据,获取其公共子序列,并计算公共子序列的长度,获取格式划分边界值,根据公共子序列的长度对协议帧进行层次划分。

【技术特征摘要】
1.一种未知二进制协议帧切分与层次划分方法,其特征在于,所述方法包括以下步骤:
S1,在无先验知识情况下,对二进制协议数据进行分词处理;
S2,以分词后的二进制协议数据作为输入,识别其中的关键特征,并关联分析特征之间
的位置关系,计算关键特征的位置差;
S3,根据一定的同步码识别规则,选择帧的同步码;
S4,根据识别的同步码,确认帧起始位置,并采用同步码串匹配对比特数据集进行切分,
从而得到独立的报文帧;
S5,以分词后的二进制协议数据作为输入,同时依据关键特征位置差的关联分析与帧切
分的结果,分析分词后的二进制协议数据,获取其公共子序列,并计算公共子序列的长度,
获取格式划分边界值,根据公共子序列的长度对协议帧进行层次划分。
2.根据权利要求1所述的一种未知二进制协议帧切分与层次划分方法,其特征在于,所
述步骤S1包括以下子步骤:
S101,采用多重滑动窗口进行二进制协议数据基本串统计计算;
S102,以Nbit为步进滑动窗口,记录步进滑动窗口中串值的位置,统计其出现次数,以
形成基本串集合,其中N≥1。
3.根据权利要求1所述的一种未知二进制协议帧切分与层次划分方法,其特征在于,所
述步骤S2具体包括:在分词基础...

【专利技术属性】
技术研发人员:刘渊张春瑞孟凡治
申请(专利权)人:中国工程物理研究院计算机应用研究所
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1