论文部分内容阅读
伴随着微软Office系列文档在桌面系统的广泛应用,其相关应用软件的安全问题也引起了国内外安全界和攻击者的普遍关注,从最初的宏病毒到现在的针对文档格式解析的漏洞利用,各种攻击层出不穷。国外的安全公司和组织及独立黑客也将漏洞研究的重点投向Office系列软件,以致最近一段时间经常有Office漏洞因频繁利用而曝光。为此微软现在也加快了针对Office软件的安全公告和补丁程序的发布,以修补不断增加的漏洞。Office系列软件中的excel,word,powerpoint均采用基于OLE2的复合文档结构,这种结构可以包含多种数据格式。同时,它也导致Office文档面临的安全威胁主要集中在以下三个方面:基于宏病毒的攻击,文档被非法拷贝或者正常交流时,涉密信息和隐藏信息的泄漏威胁,以及基于应用程序漏洞的攻击。本课题研究主要研究了Office应用程序的漏洞挖掘和利用技术。漏洞研究包括漏洞挖掘与漏洞分析。漏洞挖掘是指对未知漏洞的探索,应用各种技术和工具,找出软件中的潜在漏洞;漏洞分析是指对已发现漏洞的细节进行深入分析,澄清漏洞成因,为漏洞利用、补救提供技术支持。本文分析了传统漏洞研究技术的基本原理及存在的不足,针对特定的Office应用程序,提出了一种基于文档格式分析的,将Fuzz测试与二进制代码分析相结合的漏洞挖掘技术,以及该技术工程实现的设计方案,从而较大地提高了漏洞研究技术的实际应用价值。我们所设计的挖掘方案中,首先测试文件生成模块对输入的模版文档的格式进行解析,寻找文档中的敏感数据,按照设定的修改模式修改文档数据,生成测试文档;其次动态监测模块利用Windows的调试接口,启动Office进程,一方面监视并记录程序运行过程中可疑代码段的运行情况,另一方面记录并处理程序的异常信息。最后,手工测试分析所产生的异常文档,分析漏洞的形成原因,从中寻找可以利用达到代码执行的漏洞。经过对excel和powerpoint的实际测试,我们得到了大量可以导致进程拒绝服务的漏洞验证文档,进一步分析也从中发现了可远程执行代码的严重级漏洞。我们所提出的技术方案使得漏洞研究效率和效果得到较大提高,验证了技术的实际应用价值。本文提出的漏洞挖掘技术及相应的工程实现设计方案对于其它的应用程序的漏洞研究技术和漏洞的防护检测机制开拓了新的思路,同时在实际工作中发挥了重要作用。目前,技术正进一步的研究中,并将对未来的综合应用起更大的推动作用。