一种基于BWT的协议字段逆向分析系统及方法技术方案

技术编号:19828783 阅读:37 留言:0更新日期:2018-12-19 17:01
本发明专利技术提供一种基于BWT的协议字段逆向分析系统及方法,构建了特定的后缀索引,从而使特定的子字符串匹配在每次比对过程中只需要完整一次,并且基于后缀索引的比对算法设计灵活性大,索引阶段空间消耗较少,子序列长度或可变,能够快速识别协议字段。本发明专利技术在识别固定字段后,通过随机多流多段匹配的方法,统计高频率出现的字段,并依据字段位置和字段数量构建文法树,提取字段结构,从而实现字段格式的逆向。本发明专利技术对于逆向的字段进行分类后,作为模糊测试工具的输入,向目标通信实体发送大量畸形测试用例,同时结合调试器和嗅探器对目标通信实体进行异常监控,发现异常并分析异常,以便后续提高目标通信实体的安全性。

【技术实现步骤摘要】
一种基于BWT的协议字段逆向分析系统及方法
本专利技术涉及网络协议领域,尤其涉及一种基于BWT的协议字段逆向分析系统及方法。
技术介绍
随着互联网技术的普及,网络协议相关的研究越来越多,许多研究以协议的详细描述信息,即协议规范为基础,从而协议逆向领域的作用越发重要。协议是指计算机网络和分布式系统中各种通信实体间相互交换信息时,必须遵守的一组规则和约定,这些规则规定了通信双方所交换的数据格式及有关的同步问题,从而保证了通信双方有条不紊、可靠地交换信息。网络中不仅存在大量已经标准化的通信协议外,网络中还存在大量私有协议,即未知协议。未知协议的出现一部分是由于软件厂商或个人出于经济利益、安全、隐私等因素的考虑,没有公开协议细节;另一部分是由于一些恶意软件使用私有协议防止被跟踪和分析。协议逆向分析是指在协议特征(如协议格式特征、端口、流量特征等)未知的条件下,通过对网络协议报文或协议软件执行过程的分析得到协议规范描述模型。协议规范包括协议格式和协议状态机。目前协议格式提取主要采用渐进多序列比对算法,渐进多序列算法执行比对时不考虑报文样本的格式类型,强行将不同格式的报文样本比对会降低协议分析的本文档来自技高网...

【技术保护点】
1.一种基于BWT的协议字段逆向分析系统,其特征在于,包括:输入预处理模块,协议格式提取模块以及字段模糊测试模块;输入预处理模块用于以会话和报文为粒度对输入的报文分割,在分割之前需要提出原始数据中的冗余和干扰;协议格式提取模块用于识别每个报文对应的格式;基于网络流量的协议格式提取,以截获的网络数据流为分析对象,依据协议字段的取值变化频率和特征推断得到协议格式,并且在识别了协议的部分字段后,构建字段结构树;字段模糊测试模块用于通过模糊测试工具SPIKE,对协议格式模块提取的特定字段进行模糊测试。

【技术特征摘要】
1.一种基于BWT的协议字段逆向分析系统,其特征在于,包括:输入预处理模块,协议格式提取模块以及字段模糊测试模块;输入预处理模块用于以会话和报文为粒度对输入的报文分割,在分割之前需要提出原始数据中的冗余和干扰;协议格式提取模块用于识别每个报文对应的格式;基于网络流量的协议格式提取,以截获的网络数据流为分析对象,依据协议字段的取值变化频率和特征推断得到协议格式,并且在识别了协议的部分字段后,构建字段结构树;字段模糊测试模块用于通过模糊测试工具SPIKE,对协议格式模块提取的特定字段进行模糊测试。2.一种基于BWT的协议字段逆向分析方法,其特征在于,方法包括:步骤一,以会话和报文为粒度对输入的报文分割,在分割之前需要提出原始数据中的冗余和干扰;数据采集,会话定界和抽象聚类是输入预处理的三个重要阶段;采用TCP四元组来标志一次TCP会话;以提取的TCP流为输入,进行抽象聚类,从而将找出具有相似特征的TCP流集合;步骤二,识别每个报文对应的格式;对抽象流集合进行标记,采用BWT算法对每一个抽象流集合进行比对,提取其中的固定字段;同时采用随机多流多段统计的方法,统计不同字段的出现次数,依据数量关系构造字段结构树,实现对协议格式的提取;步骤三,将协议格式提取模块提取出的字段进行协议域分类,对固定字段后可变的取值域进行模糊,构造畸形测试用例,发送给目标通信实体,同时采用调试器和嗅探器监视目标通信实体的异常。3.根据权利要求2所述的基于BWT的协议字段逆向分析方法,其特征在于,步骤一包括:数据采集单元,会话定界单元以及抽象聚类单元;数据采集单元基于定时任务命令编写捕捉数据流量的脚本,在脚本中,对目标通信实体进行预设次数的访问;定义访问目标通信过滤规则,保留与目标通信实体相关的流量,每一次访问的流量存放至对应的pcap文件中,储存采集的离线数据包文件;会话定界单元在采集到数据包文件之后,根据协议族对数据报文进行多层次的剥离,使用流提取工具对多个pcap文件进行流提取;抽象聚类单元对提取的流进行聚类,从而将多条流抽象为不同的类型;聚类后得到多个抽象流类,每个抽象流类中的流具有相似性,使用聚类号作为抽象流类序号;将报文重新标记为抽象流类序号格式。4.根据权利要求2所述的基于BWT的协议字段逆向分析方法,其特征在于,步骤二包括:基于BWT的序列比对单元;BWT的序列比对单元针对预设母序列构建BWT序列,在母序列末尾添加一个$符,循环右移,每次移动一位,得到一个新序列;最终得到n个长度为n的序列,与母序列构成BWT矩阵,n为母序列长度;n个序列按字典序排序,形成BWT阵列;$字符的字典序最小;取每个序列的最后一位,从上到下拼在一起,即为BWT串;取待查找子串的最后一位字符x,在BWT阵列左侧第一列查找该字符x,获取该行最后一位字符k,若该行末尾k为BWT最后一列中的第n个k,则在BWT阵列左侧第一列寻找第n个k,取该行末尾为新的k,循环,若循环过程中每一个k形成的序列与待查子串的逆序不匹配则退出循环,若一直匹配,则m次操作后停止,m为待查子串长度,找到待查子串。5.根据权利要求2所述的基于BWT的协议字段逆向分析方法,其特征在于,步骤二包括:基于BWT的协议格式提取单元;BWT的协议格式提取单元用于在同一类抽象流中随机选取两条流x和y,在已经对两条流进行AB段标记的基础上,选择相同位置的A段,以y流的A段为模板构建后缀树,以x流的A段为分割对象,对其进行指定单位长度的均匀分割;AB段...

【专利技术属性】
技术研发人员:黄晓雪孙云霄黄俊恒刘扬王佰玲王巍
申请(专利权)人:哈尔滨工业大学威海
类型:发明
国别省市:山东,37

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

1