论文部分内容阅读
现代化社会,计算机与日常工作生活密不可分。然而伴随着社会的快速发展,计算机的安全问题日趋严重,一个威胁计算机安全的重要因素就是软件中存在漏洞。COTS即Commercial-Off-the-Shelf,COTS软件则是指通过采购得到的具有开放式标准定义的接口的软件产品。这类产品一般具有软件功能结构复杂、不开放源代码、与操作系统关联紧密等特点。本文首先研究了现有的漏洞挖掘技术或工具在面向COTS软件时存在的若干问题,例如路径爆炸、约束困顿、复杂环境交互、漏洞建模等。在对这些问题的研究基础上,本文提出了一种基于全系统的动态符号执行技术方案,并且根据此方案实现了一套面向COTS软件的智能漏洞挖掘系统COTSFuzzer。COTSFuzzer的创新点可以总结为以下四点:1)把全系统的动态符号执行技术应用于软件漏洞挖掘领域;2)引入包括二进制指数路径修剪算法在内的多种性能优化策略,有效抑制了符号执行导致的路径爆炸问题;3)实现了细粒度的用户态异常监控机制,完成了Windows用户态COTS软件的异常监控和崩溃文件生成工作;4)针对Windows软件漏洞挖掘做优化,使其适用于针对ActiveX控件、驱动程序、文件处理型COTS软件的漏洞挖掘任务。实验表明,COTSFuzzer可以有效应用于Windows平台下COTS软件的漏洞挖掘任务。相较于传统的软件测试,该系统可以有效提高目标软件的测试覆盖率,继而挖掘出软件潜在漏洞。