[发明专利]一种未知二进制协议帧切分与层次划分方法有效
申请号: | 201610111110.4 | 申请日: | 2016-02-29 |
公开(公告)号: | CN105791278B | 公开(公告)日: | 2019-01-22 |
发明(设计)人: | 刘渊;张春瑞;孟凡治 | 申请(专利权)人: | 中国工程物理研究院计算机应用研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 成都金英专利代理事务所(普通合伙) 51218 | 代理人: | 袁英 |
地址: | 621054*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 未知 二进制 协议 切分 层次 划分 方法 | ||
本发明公开了一种未知二进制协议帧切分与层次划分方法,在无先验知识情况下,对协议数据进行分词处理,以分词后的二进制协议数据作为输入,识别其中的关键特征,并关联分析关键特征之间的位置关系,计算选择帧的同步码,以此作为切分帧的依据,同时分析分词后的二进制协议数据,计算其公共子序列的长度,从而划分出协议帧中所包含的层次关系。本发明是一种通用的方法,能够将完全由“0”和“1”构成的未知二进制协议数据中定位出协议帧的起始位置,并能够分析出该协议中包含的层次关系。
技术领域
本发明涉及无线通信中未知协议识别领域,特别是涉及一种未知二进制协议帧切分与层 次划分方法。
背景技术
无线通信领域中,经常获取或截获各种通信数据,经解调解码解密后,数据为二进制数 据,在未知的协议规范情况下,获取其承载的信息载荷的内容是目前无线通信领域中的一个 难以解决的问题。而要获取其信息载荷,必须先对数据进行协议帧的切分,将获取的二进制 数据拆分为一个一个的协议帧,之后再对协议进行层次划分,以明确该通信协议有几个层次, 如链路层、网络层、应用层。因在无线通信领域中,协议层次不再同有线网络一样始终遵循 几种标准且层次固定,无线通信可以根据实际需要专门设计协议的层次,如卫星通信、地空 通信等。因此从通信数据中获取帧并进行层次划分已成为协议逆向分析的一个重要组成部分。
目前,国内外的研发状态主要呈现以下特点:
1)多数研究成果主要针对的是文本协议,对二进制协议相应的研究成果少,且在实际应 用中仍有很大的制约与局限。
2)绝大多数研究成果是针对应用层协议,在应用层协议中无需进行帧切分和层次划分, 对于二进制协议从链路层、网络层、传输层、直至应用层协议的较为通用的帧切分和层次划 分无法适用。
发明内容
本发明的目的在于克服现有技术的不足,提供一种应用于无线通信中未知协议识别领域 的二进制协议帧切分与层次划分方法。
本发明的目的是通过以下技术方案来实现的:一种未知二进制协议帧切分与层次划分方 法,所述方法包括以下步骤:
S1,在无先验知识情况下,对二进制协议数据进行分词处理;
S2,以分词后的二进制协议数据作为输入,识别其中的关键特征,并关联分析特征之间 的位置关系,计算关键特征的位置差;
S3,根据一定的同步码识别规则,选择帧的同步码;
S4,根据识别的同步码,确认帧起始位置,并采用同步码匹配对比特数据集进行切分, 从而得到独立的报文帧;
S5,以分词后的二进制协议数据作为输入,同时依据关键特征位置差的关联分析与帧切 分的结果,分析分词后的二进制协议数据,获取其公共子序列,并计算公共子序列的长度, 获取格式划分边界值,根据公共子序列的长度对协议帧进行层次划分。
进一步的,所述步骤S1包括以下子步骤:
S101,采用多重滑动窗口进行二进制协议数据基本串统计计算;
S102,以Nbit为步进滑动窗口,记录步进滑动窗口中串值的位置,统计其出现次数,以 形成基本串集合,其中N≥1。
在所述二进制数据的分词处理中,采用多重滑动窗口进行基本串统计,位数序列为非常 见序列的(例如7位序列)可以通过对基本串的后续分析获得,其滑动窗口方式以拟统计的 最少位窗口为基本窗口,以本次窗口和多次移动前窗口形成较大的窗口,类推构造更大的窗 口,确定窗口滑动的步长通过一次搜索获得多种长度多种数值的序列串信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工程物理研究院计算机应用研究所,未经中国工程物理研究院计算机应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610111110.4/2.html,转载请声明来源钻瓜专利网。