论文部分内容阅读
分布式网络凭借其高性能、资源共享、可靠等优点成为当前互联网发展的趋势,然而应用于其中的软件及系统所存在的漏洞已经成为网络与信息安全的重要隐患,因此及时地发现漏洞并进行修复具有非常重要的意义。Fuzzing(模糊测试)是当前进行网络安全漏洞挖掘的最有效的自动化测试方法之一,该方法通过向目标程序发送大量的畸形数据,以触发异常崩溃来发现程序潜在的漏洞。本文研究分布式网络中的漏洞挖掘技术,对网络协议进行Fuzzing测试。目前大部分模糊测试集中于对客户端或协议服务器的漏洞挖掘,而针对网络中间设备的研究相对较少,因此对网络中间设备的漏洞挖掘是很有必要的。路由器作为网络中重要的中间设备,其安全直接关系到网络能否正常运行,本文选择目前主流的Cisco路由器作为测试目标,由多个Cisco路由器搭建分布式路由系统,并对IOS处理协议数据的过程进行Fuzzing测试。通过研究目标系统、目标网络协议、Fuzzing用例生成算法等完成了分布式路由系统模糊测试器DRSFuzzer的设计。该Fuzzing框架包括了测试端、虚拟运行环境(Dynamips)、监控模块和调试模块。在测试端的设计中采用半有效Fuzzing测试用例生成器(Semi-valid Fuzzing Test Cases Generator, SFTCG)模型生成模糊数据,有效地提高了测试效率和代码覆盖率;通过修改Dynamips源码增加GDBserver模块,方便了Cisco IOS的调试;监控模块采用四种方式对目标进行监控,提高对异常的捕获率;调试模块采用GDB远程调试技术,实现对IOS异常信号的捕获和对进程的动态调试。最后,采用DRSFuzzer对ICMP、FTP、TFTP协议进行模糊测试,成功地挖掘到了多个漏洞,通过计算机仿真验证了DRSFuzzer对分布式路由系统进行漏洞挖掘的有效性。本课题由工信部电子发展基金项目支撑,发表相关论文一篇"Vulnerability Mining of Cisco Router Based on Fuzzing"。