论文部分内容阅读
随着信息技术与网络技术的发展,软件规模的扩大和复杂性的提高,软件变得越来越难以开发和维护。由于互联网技术的快速发展,软件漏洞大规模的暴漏在攻击事件和入侵事件中,使得软件的安全性研究成为信息技术发展的重点。软件的安全性研究包括软件漏洞挖掘技术与漏洞分析技术。漏洞挖掘是指应用各种技术和工具,对该软件的未知漏洞的进行查找,找出其中潜在的逻辑错误或者缺陷;软件漏洞挖掘方法分为两种:正向分析法和逆向分析法。正向分析在知道软件源代码的基础上,通过正则表达式的分析,找出源代码中未加边界检查的数组和存在问题的函数调用,从而发现软件漏洞。然而,在大多数情况下,我们是无法获得应用程序源代码的,这就需要逆向分析法来帮助我们。逆向分析在不知道源代码的情况下,通过反汇编技术,跟踪调试等相关手段,挖掘应用程序中存在的漏洞。漏洞分析技术是指对已挖掘到的漏洞原理进行详细分析,为漏洞利用和修复提供技术支持。本文分析了传统的漏洞安全性研究的基本原理及其中存在的不足,并在此基础上提出了一种基于Fuzz技术与文件格式解析技术相结合的漏洞挖掘技术,并设计了该技术的实现方案,最终通过编程实现该自动化工具,并达到了预期的效果,从而大大地提高了漏洞挖掘与利用的效率。在本文提出的漏洞挖掘设计方案中,首先要对输入的测试文档进行格式解析,解析过后找到文档中的敏感数据,按照设定的修改模式修改文档中敏感数据,生成测试文档;然后调用目标程序进行自动测试,在自动测试的过程中监视并记录过程中可疑代码段的运行情况和目标程序的异常信息。最后分析所产生的异常信息,如果存在有漏洞的文档则分析其漏洞成因,从中寻找可以利用该漏洞的方法。此方案大大的提高漏洞研究效率和研究成果,验证了该技术方案的实际应用价值。在文章的最后基于该漏洞挖掘方案提出了一些漏洞的防范措施。