一种基于中间人的路由协议模糊测试方法及系统

文档序号:32337339发布日期:2022-11-26 08:30阅读:95来源:国知局
一种基于中间人的路由协议模糊测试方法及系统

1.本发明主要涉及到网络和信息安全技术领域,特指一种基于中间人的路由协议模糊测试方法及系统。


背景技术:

2.安全漏洞是研究安全问题的生命线,是网络和信息安全的核心问题。安全漏洞指信息系统在设计、实现或者运行管理过程中存在的缺陷或不足,从而使攻击者能够在未授权的情况下利用这些缺陷破坏系统的安全策略。大量未知的和未修复的漏洞导致网络的不安全,一旦这些漏洞被利用,带来的后果不可估量。
3.模糊测试是一种有效的漏洞发现方法,近年来得到了广泛应用。模糊测试技术可以追溯到1950年,当时计算机的数据主要保存在打孔卡片上,计算机程序读取这些卡片的数据进行计算和输出。如果碰到一些垃圾卡片或一些废弃不适配的卡片,对应的计算机程序就可能产生错误和异常甚至崩溃,这样,漏洞就产生了。模糊测试的概念在1989年就由威斯康星州麦迪逊大学bartonmiller教授提出,但模糊测试的技术突破是最近几年的事。近年,随着网络应用的普及,人们越来越关注软件的安全性、稳定性和软件质量问题。而软件系统也越来越复杂,经过仔细测试过的软件也会时有漏洞逃逸。模糊测试作为一种高效的测试方法被广泛研究,常用于发现一些隐藏比较深的漏洞。由模糊测试揭露出的问题往往是开发人员不太可能构建的输入触发的。模糊测试扩大了常规自动化测试的代码覆盖范围,通过模糊测试使用的非预期输入通常会触发一些平时不会触发的执行流。模糊测试具有成本相对较低、发现漏洞的效率较高、可以自动化执行等优点,是一种有效的软件测试方法。在现在的具体应用中,模糊测试系统生成大量正常和异常输入,提供给测试目标,通过监测目标程序执行状态来发现目标存在的漏洞。相比于一般的信息系统,网络协议在运行中会进入不同的协议状态,不同状态对应不同的输入。模糊测试需要提供不同的测试用例覆盖协议的所有状态,因此网络协议的模糊测试过程较为复杂,传统的模糊测试方法难以达到理想的效果。
4.路由协议作为一种特殊的网络协议,具有比一般网络协议更加复杂的状态模型。同时,在不同配置下的路由器中存在的协议漏洞也不完全一致,对于一个具体的网络,往往需要在具体的环境下进行测试。
5.目前针对有状态类信息系统的模糊测试方法可大致分为两类。一是类似于传统模糊测试的方式,使用诸如单元测试、变异消息序列等方法。然而单元测试需要得到测试目标的源代码,也无法测试状态之间的交互和转换,变异消息序列则会产生许多被测试目标拒绝的无效消息,导致测试效率低下。另一类是建立状态转换模型,这是最近的网络协议模糊测试方法中最常用的手段。建立状态转换模型的方法也可分为两类。一是根据协议规范手动构建,这需要花费大量的时间去研究协议规范文档。二是使用程序自动构建,构建程序通过抓取协议交换的正常流量,使用各类算法完成状态转换模型的构建。这种方法需要能够确定目标状态,然而如何确定目标状态也是一项具有挑战性的工作。
6.在网络协议模糊测试方法中,autofuzz使用了基于中间人的模糊测试。autofuzz利用socks5代理服务器作为中间人,客户端将数据用socks5会话封装发送到socks5代理服务器,socks5代理服务器将接收到的数据进行处理并发送至目标服务器进行模糊测试。autofuzz的模糊测试目标为非路由协议的网络协议。
7.使用socks5代理作为中间人的网络协议模糊测试方法主要有以下缺点:
8.1.通过socks5服务器进行通讯,要求协议软件本身具有socks5的接口。对于没有socks5的接口且不能进行设置的目标,无法使用socks5代理服务器。
9.2.socks5实际上是一个传输层的代理协议,在基于tcp/ip的客户端和服务器之间充当代理角色,对于不是基于tcp/ip的网络协议无法使用。
10.例如ospf等路由协议并不是基于tcp/ip运行的,运行路由协议的网络设备也难以集成socks5服务。


技术实现要素:

11.本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、操作简便、能提高测试效率和测试精度的基于中间人的路由协议模糊测试方法及系统。
12.为解决上述技术问题,本发明采用以下技术方案:
13.一种基于中间人的路由协议模糊测试方法,其包括:
14.步骤s1:构建中间人模糊测试系统,使目标路由器之间通过中间人系统交换数据,并通过中间人系统监测目标路由器连通性;
15.步骤s2:筛选分流报文:将待测试的目标协议报文筛选出来输送给模糊测试引擎,其他报文进行透传;
16.步骤s3:生成测试用例进行模糊测试:中间人系统根据路由器之间交互的目标协议数据生成模糊测试用例,然后发送至目标路由器进行模糊测试;
17.步骤s4:监测连通性异常并报告:对目标路由器产生的连通性异常进行监测,并报告可疑漏洞信息。
18.作为本发明方法的进一步改进:在步骤s2中筛选分流报文的流程包括:
19.步骤s2.1:接收通过配置之后下发的配置信息,确定待测试的目标路由协议;
20.步骤s2.2:将流入目标路由器的报文称为输入报文,将流出目标路由器的报文称为输出报文;从输入报文中筛选出目标协议报文,进行模糊测试,非目标协议报文则直接发送给目标路由器。
21.步骤s2.3:对于输出报文则进行透明转发。
22.作为本发明方法的进一步改进:在步骤s3中生成测试用例进行模糊测试的流程包括:
23.步骤s3.1:接收通过配置之后下发的配置信息,确定对协议的哪些重点字段进行变异;
24.步骤s3.2:接收完成筛选分流之后发送的目标协议报文作为种子,根据配置要求对重点字段进行重新赋值,其他字段直接复制原值,然后将生成的测试报文发送给目标路由器;
25.步骤s3.3:将测试相关信息同时发送,进行对照监测。
26.作为本发明方法的进一步改进:所述步骤s3.1中,所述重点字段包括:
27.(a)根据协议的特性选择确定;
28.(b)根据已公布的漏洞选择确定。
29.作为本发明方法的进一步改进:所述步骤s4中监测连通性异常并报告,包括:在对目标路由器实施模糊测试的过程中,通过第一路由器不断向第二路由器进行ping连通性探测,当第一路由器无法ping通第二路由器时,说明目标路由器的路由功能产生了异常,是由模糊测试触发的漏洞造成的。
30.本发明进一步提供一种基于中间人的路由协议模糊测试系统,其包括筛选分流单元、配置单元、监测单元及模糊测试单元,所述筛选分流单元接收配置单元下发的配置信息,确定待测试的目标路由协议;所述模糊测试单元接收配置单元下发的配置信息,确定对协议的重点字段进行变异;模糊测试单元接收筛选分流单元发送的目标协议报文作为种子,根据配置要求对重点字段进行重新赋值,其他字段直接复制原值,然后将生成的测试报文发送给目标路由器;所述模糊测试单元将测试相关信息同时发送给监测单元,以便监测单元进行对照监测。
31.作为本发明系统的进一步改进:所述筛选分流单元将流入目标路由器的报文称为输入报文,将流出目标路由器的报文称为输出报文;所述筛选分流单元从输入报文中筛选出目标协议报文,发送给模糊测试单元进行模糊测试,非目标协议报文则直接发送给目标路由器。
32.作为本发明系统的进一步改进:所述筛选分流单元将输出报文进行透明转发。
33.作为本发明系统的进一步改进:所述重点字段包括:
34.(a)根据协议的特性选择确定;
35.(b)根据已公布的漏洞选择确定。
36.作为本发明系统的进一步改进:所述监测单元用来监测连通性异常并报告,包括:在对目标路由器实施模糊测试的过程中,通过第一路由器不断向第二路由器进行ping连通性探测,当第一路由器无法ping通第二路由器时,说明目标路由器的路由功能产生了异常,是由模糊测试触发的漏洞造成的。
37.与现有技术相比,本发明的优点就在于:
38.1、本发明的一种基于中间人的路由协议模糊测试方法及系统,是一种基于中间人的黑盒路由协议模糊测试方法与系统,该系统在路由器之间接入充当中间人的主机,中间人主机以路由器之间交互的数据为种子生成测试用例对目标进行模糊测试。该方法能透明转发路由器之间的协议数据,测试之前不需要对测试目标做任何修改设置,能够应用在现实路由环境中。
39.2、本发明的一种基于中间人的路由协议模糊测试方法及系统,以中间人的方式在路由器之间接入模糊测试系统,不需要对目标路由器做任何修改设置;路由协议交换数据之前,可能依靠别的协议的运行,例如通过arp协议得到邻接路由器的ip地址,模糊测试过程中,路由器在交换目标路由协议数据的同时,也会交互另外的协议数据,中间人系统对这类数据进行透明转发,不对非目标协议产生影响。因此能够方便地对现实环境中的路由器开展模糊测试。
40.3、本发明的一种基于中间人的路由协议模糊测试方法及系统,直接利用路由协议之间交互的数据作为种子进行模糊测试,可以覆盖路由协议相关功能的状态,不需要人为引导、维护状态转化;可以确保能够被目标路由器接收处理,提高模糊测试的效率;可以针对具有高危漏洞价值的字段进行变异,提高模糊测试的针对性。
附图说明
41.图1是本发明方法的流程示意图。
42.图2是本发明系统在具体应用实例中的原理示意图。
具体实施方式
43.以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
44.如图1所示,本发明的一种基于中间人的路由协议模糊测试方法,用来对复杂路由协议进行简单高效的模糊测试,其步骤包括:
45.步骤s1:构建中间人模糊测试系统,使目标路由器之间通过中间人系统交换数据,并通过中间人系统监测目标路由器连通性;
46.步骤s2:筛选分流报文:将待测试的目标协议报文筛选出来输送给模糊测试引擎,其他报文进行透传;
47.步骤s3:生成测试用例进行模糊测试:中间人系统根据路由器之间交互的目标协议数据生成模糊测试用例,然后发送至目标路由器进行模糊测试;
48.步骤s4:监测连通性异常并报告:对目标路由器产生的连通性异常进行监测,并报告可疑漏洞信息。
49.在本发明的方法中,所述中间人攻击是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。中间人攻击的攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。这种攻击可能被使用在简单的获得访问消息的权利,或者能使得攻击者在转发消息之前先修改消息。
50.在具体应用实例中,在步骤s2中筛选分流报文的具体流程可以包括:
51.步骤s2.1:接收通过配置之后下发的配置信息,确定待测试的目标路由协议;
52.步骤s2.2:将流入目标路由器r2的报文称为输入报文,将流出目标路由器r2的报文称为输出报文;从输入报文中筛选出目标协议报文,进行模糊测试,非目标协议报文则直接发送给目标路由器r2。
53.步骤s2.3:对于输出报文则进行透明转发。
54.在具体应用实例中,在步骤s3中生成测试用例进行模糊测试的具体流程可以包括:
55.步骤s3.1:接收通过配置之后下发的配置信息,确定对协议的哪些重点字段进行变异;
56.所述重点字段是那些更容易引发漏洞的字段,包括但不限于:
57.(a)根据协议的特性选择确定;例如路由协议中跟ip地址相关的字段;
58.(b)根据已公布的漏洞选择确定;如果在目标协议或者类似协议已公布漏洞中涉及到某字段,则说明这个字段更容易产生漏洞。
59.步骤s3.2:接收完成筛选分流之后发送的目标协议报文作为种子,根据配置要求对重点字段进行重新赋值,其他字段直接复制原值,然后将生成的测试报文发送给目标路由器r2;
60.步骤s3.3:将测试相关信息同时发送,进行对照监测。
61.参见图2,在具体应用实例中,在步骤s4中监测连通性异常并报告,其包括:在对目标路由器r2实施模糊测试的过程中,通过路由器r3不断向路由器r4进行ping等连通性探测,当路由器r3无法ping通路由器r4时,说明目标路由器r2的路由功能产生了异常,可能是由模糊测试触发的漏洞造成的。监测单元实时监测目标路由器的连通性异常情况,与模糊测试单元发送的测试信息进行关联分析,并将可疑漏洞信息反馈给用户。
62.在本发明的方法中,采用互联网包探索器,(ping,packet internet groper),所述互联网包探索器用于测试网络连通性的程序。ping是工作在tcp/ip网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送icmp(internet control message protocol互联网报文控制协议)echo请求报文,测试目的是否可达及了解其有关状态。
63.如图2所示,本发明进一步提供一种基于中间人的路由协议模糊测试系统,包括筛选分流单元、配置单元、监测单元及模糊测试单元,所述筛选分流单元接收配置单元下发的配置信息,确定待测试的目标路由协议;所述模糊测试单元接收配置单元下发的配置信息,确定对协议的哪些重点字段进行变异;模糊测试单元接收筛选分流单元发送的目标协议报文作为种子,根据配置要求对重点字段进行重新赋值,其他字段直接复制原值,然后将生成的测试报文发送给目标路由器;所述模糊测试单元将测试相关信息同时发送给监测单元,以便监测单元进行对照监测。
64.在具体应用实例中,所述筛选分流单元将流入目标路由器r2的报文称为输入报文,将流出目标路由器r2的报文称为输出报文;所述筛选分流单元从输入报文中筛选出目标协议报文,发送给模糊测试单元进行模糊测试,非目标协议报文则直接发送给目标路由器r2。
65.在具体应用实例中,所述筛选分流单元将输出报文进行透明转发。
66.在具体应用实例中,所述模糊测试单元接收配置单元下发的配置信息,确定对协议的哪些重点字段进行变异。所述重点字段是那些更容易引发漏洞的字段,包括但不限于:
67.(a)根据协议的特性选择确定;例如路由协议中跟ip地址相关的字段;
68.(b)根据已公布的漏洞选择确定;如果在目标协议或者类似协议已公布漏洞中涉及到某字段,则说明这个字段更容易产生漏洞。
69.在具体应用实例中,所述监测单元在对目标路由器r2实施模糊测试的过程中,通过路由器r3不断向路由器r4进行ping等连通性探测,当路由器r3无法ping通路由器r4时,说明目标路由器r2的路由功能产生了异常,可能是由模糊测试触发的漏洞造成的。监测单元实时监测目标路由器的连通性异常情况,与模糊测试单元发送的测试信息进行关联分析,并将可疑漏洞信息反馈给用户。
70.以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的
普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1