基于过程内路径补全高覆盖率软件脆弱性分析工具的设计

基于过程内路径补全高覆盖率软件脆弱性分析工具的设计

ID:8552610

大小:1.22 MB

页数:26页

时间:2018-04-01

基于过程内路径补全高覆盖率软件脆弱性分析工具的设计_第1页
基于过程内路径补全高覆盖率软件脆弱性分析工具的设计_第2页
基于过程内路径补全高覆盖率软件脆弱性分析工具的设计_第3页
基于过程内路径补全高覆盖率软件脆弱性分析工具的设计_第4页
基于过程内路径补全高覆盖率软件脆弱性分析工具的设计_第5页
资源描述:

《基于过程内路径补全高覆盖率软件脆弱性分析工具的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于过程内路径补全的高覆盖率软件脆弱性分析工具的设计基于过程内路径补全高覆盖率软件脆弱性分析工具的设计摘要随着社会经济的高速发展以及信息技术的越发成熟,计算机已经深入到社会生产生活的各个方面,各种计算机软件呈智能化、复杂化发展,在各个领域发挥着举足轻重的作用。另一方面,软件规模的急剧扩大以及云计算等新型分布式技术的发展使得传统的测试手段越发力不从心,同时,从事开发工作的程序员迫于工程进度压力以及自身的疏忽或者不好的开发习惯使得软件中潜在的脆弱点越来越多,黑客往往利用这些脆弱点对个人计算机、信息系统进行入侵破坏、盗取个人信

2、息或者企业国家的机密数据,这些行为深刻威胁到软件的正常运行、信息安全乃至人身以及社会的安全。然而公布漏洞补丁等补救行为往往是发生在针对脆弱点的攻击发生之后,此时损失已经产生,补救显得相对滞后。因此,以上种种原因便使得计算机安全技术越发重要,新的计算机软件脆弱点检测技术的研究或者工具的开发显得迫不及待。基于以上的社会背景以及计算机软件发展形势,本课题以设计与实现一软件脆弱性分析工具为目的,通过该工具可以对各种计算机软件进行分析,能够在被其他恶意软件或恶意黑客行为加以利用产生攻击前检测出所分析的计算机软件当中已知的或未知的潜

3、在软件脆弱点,并且能够产生软件脆弱点检测报告,以提供给该计算机软件的开发者、维护人员以及用户起到参考、开发、测试和维护作用。动态污点分析,作为一种成熟的动态程序分析技术,能够在目标程序运行时进行数据流跟踪,通过内存建模以及寄存器建模可以准确找出各内存数据与程序输入的联系,从而发现程序的潜在漏洞,目前被广泛应用到软件测试以及漏洞挖掘等计算机安全领域。动态污点分析的优点在于动态执行具有的上下文信息能够保证程序分析的准确性,同时不需要源代码的支持;但另一方面,动态污点分析依赖于动态程序执行路径,因此分析路径的覆盖率相对静态分析

4、而言较低,导致了相对较高的漏报率。此外,动态分析需要在目标程序运行时需要额外的分析的代码进行分析工作,这往往会在目标程序与分析程序间产生上下文切换,从而导致了较高的性能消耗,给动态分析工具的实用性带来巨大的挑战。目前存在的使用污点传播分析的一些工具能够对部分类型的软件脆弱点进行有效的检测,然而这些工具在各方面都具有不可忽视的缺点,使得其难以得到实际的使用。如一些工具需要结合源码的静态分析来支持动态的分析工作,一些工具在检测上局限性很大,只能检测一种或很有限的几种软件脆弱点,而一些工具则在性能上包括时间开销以及空间开销上遇

5、到瓶颈。为了在新的形势下更好地检测计算机软件脆弱点,结合已经存在的各种脆弱点分析工具的优缺点,本文对一个新的软件脆弱性分析工具SDCF进行了阐述,该工具在缺乏目标程序源代码的情况下使用了动态污点分析技术对X86二进制可执行文件进行数据流跟踪分析,能够在目标程序潜在的软件脆弱点被恶意软件或黑客利用产生攻击前就能被检测出来。其首先根据目标程序的输入如所打开的文件内容进行污染源的确定,同时对X86平台的大部分常见指令,尤其是与字符串操作相关的指令建立起污点传播规则以进行动态基于过程内路径补全的高覆盖率软件脆弱性分析工具的设计污

6、点传播分析;与其他使用动态污点传播分析工具不一样的是,SDCF使用一些新的方法与技术在检测软件脆弱点的有效性以及减少性能消耗等方面得到改进。一方面,SDCF通过针对脆弱点特征建立对应规则,能够有效挖掘目标程序中潜在的脆弱点;同时该工具针对程序各过程进行了过程内动态未执行的分支路径的补全,提高了程序分析的覆盖率并降低了对脆弱点的漏报率,从而弥补了动态分析产生的缺点。为了更好地提高性能尤其是时间上的开销,SDCF采取了无关API过滤等优化措施,根据对API函数行为的研究在分析过程中过滤掉对污点传播以及安全不会产生影响的API

7、函数不进行处理,这样便能进一步地提高本工具的性能。此外SDCF还针对基本块处理以及过程内静态路径补全进行多种优化,进一步降低了SDCF的时间消耗。本文还对SDCF性能开销、软件脆弱点检测、过程内静态路径补全等方面设计了实验进行评价,实验的目标程序选取了SPECCINT2006等具有一般性、有效性、通用性、对比性的软件,并将SDCF的实验数据与其他动态分析工具进行了横向比较从而得出较为客观的结果。通过实验数据表明,经过了多层优化之后SDCF在性能上相对与其他动态分析工具有着比较明显的优势,其中结合了无关API过滤等优化措施

8、后对SPECCINT2006测试程序的平均相对时间消耗为3.5倍,同时只有10倍的相对空间消耗,这一数值远低于其他动态分析工具。另一方面,经过过程内静态路径补全后对目标程序分析的平均覆盖率为88%,达到了提高分析覆盖率的目的。使用软件脆弱点检测规则的SDCF能够成功检测出多种文字处理软件中的多个潜在软件脆弱点,这使得

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。