基于集成的协议逆向分析方法技术

技术编号:39732454 阅读:8 留言:0更新日期:2023-12-17 23:35
本申请公开了一种基于集成的协议逆向分析方法

【技术实现步骤摘要】
基于集成的协议逆向分析方法、装置、电子设备及介质


[0001]本申请涉及网络通信安全
,特别涉及一种基于集成的协议逆向分析方法

装置

电子设备及介质


技术介绍

[0002]协议是为进行网络数据交换而建立的一系列的规则

标准和约定,是计算机网络及数据通信的核心

对于开放式协议,如超文本传输协议
(HTTP

Hyper Text Transfer Protocol)
,其详细描述信息可以从公开文档
(

RFCs)
中获取

但对于私有协议,其协议描述信息通常是不公开的

[0003]协议的逆向工程就是指获取未知协议的应用级描述信息的过程,协议逆向工程有很多方面的应用,比如通过协议逆向发现漏洞

通过协议逆向分析了解僵尸网络的通信过程

通过协议逆向分析了解恶意软件的行为机制等等

[0004]协议逆向工程的传统方法是手动的
,
非常耗费人力并且容易出错

在当今的高速网络环境中,这些手动协议逆向工程方法无法应对快速增长的应用程序的出现和更新,为了解决这些问题,过去十年中提出了自动协议逆向工程

[0005]目前比较热门的协议逆向工具为
Netzob
,该工具可以辅助协议逆向专家完成对未知协议的逆向分析,但是当没有协议逆向专家提供的大量先验知识支撑时,该工具呈现的结果会变得不太理想,因此,该工具仅能作为一个半自动化的工具,辅助专业人员完成协议逆向分析的工作

[0006]此外,还有其它一些自动化的协议逆向方法包括
NetPlier、FieldHunter
等,但这些方法同样存在包括假阳率
(False Positive)
比较高

准确率低以及整体自动化程度不够高等的不足之处,从而使得总体的协议逆向分析效率较低


技术实现思路

[0007]为了解决至少一个上述相关技术中存在的技术问题,本申请实施例提出了一种基于集成的协议逆向分析方法

装置

电子设备及介质,旨在实现自动化程度高的协议逆向分析,极大降低协议逆向分析的的假阳率,提升协议逆向分析的准确率,从而进一步提高协议逆向分析的效率

[0008]本申请实施例的第一方面提出了一种基于集成的协议逆向分析方法,包括以下步骤:
[0009]获取待分析协议的多个数据包;
[0010]采用集成检测器对多个所述数据包进行字段识别检测,获得集成检测结果;所述集成检测器至少包括原子检测器

字段边界检测器以及序列化模式检测器;
[0011]根据所述集成检测结果,构建有向无环图;
[0012]根据所述有向无环图,搜索获得最大权重路径,将所述最大权重路径确定为最优解释信息;
[0013]使用所述最优解释信息对多个所述数据包进行逆向分析,输出所述待分析协议的协议分析结果

[0014]在一些实施例,所述采用集成检测器对多个所述数据包进行字段识别检测,获得集成检测结果这一步骤,具体包括:
[0015]对各所述数据包进行切片处理,获得多个数据包切片;
[0016]采用所述原子检测器对所述多个数据包切片进行原子数据类型检测,获得所述多个数据包的原子数据类型结果,其中,所述原子数据类型结果包括所述多个数据包中与所述原子数据类型对应的全部字段;
[0017]采用所述字段边界检测器对所述多个数据包切片进行相邻字节间的边界检测,获得所述多个数据包的字段边界结果,其中,所述字段边界结果包括全部字段边界以及各所述字段边界对应的字段前后关系;
[0018]采用所述序列化模式检测器对所述多个数据包切片进行变长字段检测,获得变长字段集合,其中,所述序列化模式检测器用于根据多种序列化模式进行字段检测,所述变长字段集合包括所述多个数据包中符合序列化模式的全部变长字段

[0019]在一些实施例,所述根据所述集成检测结果,构建有向无环图这一步骤,具体包括:
[0020]根据所述原子类型数据结果以及所述变长字段集合,确定所述有向无环图中的节点;
[0021]根据所述字段边界结果,确定节点之间的连接关系以及节点有向边;所述节点有向边为在所述有向无环图中根据所述节点之间的连接关系确定的边;
[0022]根据各所述节点有向边对应的起始节点信息,计算各所述节点有向边的权重

[0023]在一些实施例,所述根据所述原子类型数据结果以及所述变长字段集合,确定所述有向无环图中的节点这一步骤,具体包括:
[0024]将所述原子类型数据结果中的各个字段,确定为所述有向无环图中的各个节点;
[0025]将所述变长字段集合中的各所述变长字段,确定为所述有向无环图中的各个节点

[0026]在一些实施例,所述根据所述字段边界结果,确定节点之间的连接关系以及节点有向边这一步骤,具体包括:
[0027]根据所述字段边界结果中的字段前后关系,确定所述节点之间的连接关系;
[0028]根据所述节点之间的连接关系,确定多个组合成对的起始节点和终点节点;
[0029]将所述起始节点作为有向边的起点,将与所述起始节点组合成对的所述终点节点作为所述有向边的终点,获得所述节点有向边

[0030]在一些实施例,所述起始节点信息包括起始节点的字段长度;所述根据各所述节点有向边对应的起始节点信息,计算各所述节点有向边的权重这一步骤,具体包括:
[0031]获取数据包数量;所述数据包数量为所述多个数据包的个数;
[0032]根据所述数据包数量和各所述节点有向边中所述起始节点对应的字段长度,计算各所述节点有向边的权重,其中,将所述数据包数量乘以所述节点有向边中所述起始节点对应的字段长度,计算所述节点有向边的权重,或者,计算所述节点有向边中所述起始节点在所述多个数据包中对应的字段长度,获得所述节点有向边的权重

[0033]在一些实施例,所述最优解释信息至少包括协议中数据包的字段边界

所述字段边界对应的字段前后关系以及各个字段的字段类型和字段解释,所述使用所述最优解释信息对多个所述数据包进行逆向分析,输出所述待分析协议的协议分析结果这一步骤,具体包括:
[0034]使用所述最优解释信息,针对各所述数据包进行字段划分和字段解析,获得各所述数据包的字段解释信息;
[0035]组合各所述数据包的字段解释信息,获得所述协议分析结果

[0036]本申请实施例的第二方面提出了一种基于集成的协议逆向分析装置,包括:
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于集成的协议逆向分析方法,其特征在于,包括以下步骤:获取待分析协议的多个数据包;采用集成检测器对多个所述数据包进行字段识别检测,获得集成检测结果;所述集成检测器至少包括原子检测器

字段边界检测器以及序列化模式检测器;根据所述集成检测结果,构建有向无环图;根据所述有向无环图,搜索获得最大权重路径,将所述最大权重路径确定为最优解释信息;使用所述最优解释信息对多个所述数据包进行逆向分析,输出所述待分析协议的协议分析结果
。2.
根据权利要求1所述的基于集成的协议逆向分析方法,其特征在于,所述采用集成检测器对多个所述数据包进行字段识别检测,获得集成检测结果这一步骤,具体包括:对各所述数据包进行切片处理,获得多个数据包切片;采用所述原子检测器对所述多个数据包切片进行原子数据类型检测,获得所述多个数据包的原子数据类型结果,其中,所述原子数据类型结果包括所述多个数据包中与所述原子数据类型对应的全部字段;采用所述字段边界检测器对所述多个数据包切片进行相邻字节间的边界检测,获得所述多个数据包的字段边界结果,其中,所述字段边界结果包括全部字段边界以及各所述字段边界对应的字段前后关系;采用所述序列化模式检测器对所述多个数据包切片进行变长字段检测,获得变长字段集合,其中,所述序列化模式检测器用于根据多种序列化模式进行字段检测,所述变长字段集合包括所述多个数据包中符合序列化模式的全部变长字段
。3.
根据权利要求2所述的基于集成的协议逆向分析方法,其特征在于,所述根据所述集成检测结果,构建有向无环图这一步骤,具体包括:根据所述原子类型数据结果以及所述变长字段集合,确定所述有向无环图中的节点;根据所述字段边界结果,确定节点之间的连接关系以及节点有向边;所述节点有向边为在所述有向无环图中根据所述节点之间的连接关系确定的边;根据各所述节点有向边对应的起始节点信息,计算各所述节点有向边的权重
。4.
根据权利要求3所述的基于集成的协议逆向分析方法,其特征在于,所述根据所述原子类型数据结果以及所述变长字段集合,确定所述有向无环图中的节点这一步骤,具体包括:将所述原子类型数据结果中的各个字段,确定为所述有向无环图中的各个节点;将所述变长字段集合中的各所述变长字段,确定为所述有向无环图中的各个节点
。5.
根据权利要求3所述的基于集成的协议逆向分析方法,其特征在于,所述根据所述字段边界结果,确定节点之间的连接关系以及节点有向边这一步骤,具体包括:根据所述字段边界结果中的字段前后关系,确定所述节...

【专利技术属性】
技术研发人员:杨珉罗远辉盘旭李敬昭崔伟
申请(专利权)人:天翼数字生活科技有限公司
类型:发明
国别省市:

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

1