本发明专利技术公开一种TCP通信链路无感复用的加密报文模糊测试方法。所述方法包括:接收报文,对报文进行哈希运算,将哈希值存入哈希桶,根据哈希桶是否存在冲突通信报文进行分类,确定报文类型为加密报文或加密+认证报文;对加密报文进行时序测试或截断测试;对加密+认证报文进行重放测试。本发明专利技术通过哈希碰撞的方法对加密报文进行分类,并通过利用被测设备正常的TCP通道进行数据叠加测试,可以有效绕过设备直接的认证,并通过分类后的报文进行时序、截断、重放等测试方法,可以有效解决一部分加密报文的设备的测试。报文的设备的测试。报文的设备的测试。
【技术实现步骤摘要】
一种TCP通信链路无感复用的加密报文模糊测试方法
[0001]本专利技术涉及模糊测试
,尤其涉及一种TCP通信链路无感复用的加密报文模糊测试方法。
技术介绍
[0002]在模糊测试领域,基于TCP通信链路的应用层协议的测试是一个很重要的部分,其中包括了很多工业领域的工控协议的测试,例如modbus、IEC
‑
104、S7等等,某些工控设备在正式通信前会有简单的设备认证等过程,或者通信中存在心跳等操作,这种给模糊测试带来了很大的困难,另外,目前有很多工控设备的通信是通过加密或者加密+认证的方式,由于模糊测试是需要对报文进行变异的,由于加密后,所有针对报文的变异都会失效,所以针对加密或者加密+认证的报文,在模糊测试领域很难进行。本专利技术提出了一种TCP通信链路无感复用的模糊测试方法及装置,可以在一定程度上解决上述困难,完成针对有链接认证,或者报文加密及加密+认证的模糊测试。
技术实现思路
[0003]本专利技术提供了一种TCP通信链路无感复用的加密报文模糊测试方法,包括:
[0004]接收报文,对报文进行哈希运算,将哈希值存入哈希桶,根据哈希桶是否存在冲突通信报文进行分类,确定报文类型为加密报文或加密+认证报文;
[0005]对加密报文进行时序测试或截断测试;
[0006]对加密+认证报文进行重放测试。
[0007]如上所述的一种TCP通信链路无感复用的加密报文模糊测试方法,其中,当接收的报文个数达到阈值后,查看哈希桶是否存在冲突,如果哈希桶出现冲突,说明只做了加密,没有做认证,如果没有冲突,说明报文是加密+认证的方式。
[0008]如上所述的一种TCP通信链路无感复用的加密报文模糊测试方法,其中,通过调整阈值大小进行多次哈希桶冲突判定。
[0009]如上所述的一种TCP通信链路无感复用的加密报文模糊测试方法,其中,对加密报文进行时序测试,具体包括:
[0010]对接收的报文按照接收顺序存储;
[0011]当接收到一定数量的报文后,对报文的顺序进行重新排列;
[0012]按着打乱后的序列把报文发送到被测设备;
[0013]监视被测设备的异常。
[0014]如上所述的一种TCP通信链路无感复用的加密报文模糊测试方法,其中,对加密报文进行截断测试,具体包括:
[0015]接收报文;
[0016]随机去掉一个或者多个数据包,将其他数据包发送给被测设备;
[0017]监视被测设备的异常。
[0018]如上所述的一种TCP通信链路无感复用的加密报文模糊测试方法,其中,对加密+认证报文进行重放测试,具体包括:
[0019]对某些报文进行存储后放行;
[0020]针对存储的报文进行重放;
[0021]监视被测设备异常。
[0022]本专利技术还提供一种TCP通信链路无感复用的加密报文模糊测试系统,,包括上位机和被测设备,采用桥接的方式进行组网,在上位机和被测设备之间串联测试设备,上位机的通信报文透过测试设备能够直接发送到被测设备;所述测试设备执行上述任一项所述的一种TCP通信链路无感复用的加密报文模糊测试方法。
[0023]如上所述的一种TCP通信链路无感复用的加密报文模糊测试系统,其中,测试设备锁定上位机和被测设备通信的一条流F;对流F通信的正常报文不做任何处理,直接转发,保证真正传输业务报文前的各种认证均能够通过。
[0024]本专利技术还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被处理器执行上述任一项所述的一种TCP通信链路无感复用的加密报文模糊测试系统。
[0025]本专利技术实现的有益效果如下:本专利技术通过哈希碰撞的方法对加密报文进行分类,并通过利用被测设备正常的TCP通道进行数据叠加测试,可以有效绕过设备直接的认证,并通过分类后的报文进行时序、截断、重放等测试方法,可以有效解决一部分加密报文的设备的测试。
附图说明
[0026]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0027]图1是本专利技术实施例提供的一种TCP通信链路无感复用的加密报文模糊测试系统示意图;
[0028]图2是一种TCP通信链路无感复用的加密报文模糊测试方法流程图。
具体实施方式
[0029]下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0030]实施例一
[0031]本专利技术实施例一提供一种TCP通信链路无感复用的加密报文模糊测试方法,应用于测试设备中,在如图1所示的测试系统10中,所述测试系统10包括上位机11和被测设备12,采用桥接的方式进行组网,在上位机11和被测设备12之间串联测试设备13,上位机11的通信报文透过测试设备13能够直接发送到被测设备12。测试设备13锁定上位机11和被测设
备12通信的一条流F(五元组:源IP、目的IP、源端口、目的端口,协议);对流F通信的正常报文,不做任何处理,直接转发,保证真正传输业务报文前的各种认证可以通过。
[0032]参见图2,所述TCP通信链路无感复用的加密报文模糊测试方法,具体包括:
[0033]步骤210,接收报文,对报文进行哈希运算,将哈希值存入哈希桶,根据哈希桶是否存在冲突通信报文进行分类,确定报文类型为加密报文或加密+认证报文;
[0034]通信报文可以分为加密报文、加密+认证报文;对接收的报文进行哈希运算,得到哈希值,并进入哈希桶H;当接收的报文个数达到阈值K后,查看哈希桶H是否存在冲突,如果哈希桶H出现冲突,说明工控设备只是做了加密,没有做认证,如果没有冲突,说明报文是加密+认证的方式。需要说明的是,上述判定与阈值K有关,可以通过调整K的大小来进行多次判定。
[0035]由于加密后的报文如果没有秘钥是无法实时解密的,所以对于无法改变内容的报文进行模糊测试。
[0036]步骤220、对加密报文进行时序测试或截断测试;
[0037]其中,对加密报文进行时序测试,具体包括:
[0038]S221
‑
1、对接收的报文按照接收顺序存储;
[0039]S222
‑
1、当接收到一定数量的报文后,对报文的顺序进行重新排列;
[0040]由于报文的TCP层有序列号,如果只是打乱顺序发送后,接收端会重新按着TCP序列号重组成正确序列,所以,需要修改打乱后序列的TCP序列号,保证序列号是在打乱后的发送序列中正确本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种TCP通信链路无感复用的加密报文模糊测试方法,其特征在于,包括:接收报文,对报文进行哈希运算,将哈希值存入哈希桶,根据哈希桶是否存在冲突通信报文进行分类,确定报文类型为加密报文或加密+认证报文;对加密报文进行时序测试或截断测试;对加密+认证报文进行重放测试。2.如权利要求1所述的一种TCP通信链路无感复用的加密报文模糊测试方法,其特征在于,当接收的报文个数达到阈值后,查看哈希桶是否存在冲突,如果哈希桶出现冲突,说明只做了加密,没有做认证,如果没有冲突,说明报文是加密+认证的方式。3.如权利要求2所述的一种TCP通信链路无感复用的加密报文模糊测试方法,其特征在于,通过调整阈值大小进行多次哈希桶冲突判定。4.如权利要求1所述的一种TCP通信链路无感复用的加密报文模糊测试方法,其特征在于,对加密报文进行时序测试,具体包括:对接收的报文按照接收顺序存储;当接收到一定数量的报文后,对报文的顺序进行重新排列;按着打乱后的序列把报文发送到被测设备;监视被测设备的异常。5.如权利要求1所述的一种TCP通信链路无感复用的加密报文模糊测试方法,其特征在于,对加密报文进行截断测试,具体包括:接收报文;随机去掉一个或者多个数据...
【专利技术属性】
技术研发人员:王方立,黄敏,龙国东,
申请(专利权)人:北京威努特技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。