- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
优秀硕士毕业论文,完美PDF内部资料。支持编辑复制!!!
摘 要
软件安全漏洞是导致信息安全问题的重要原因之一。如何在软件发布前检
测出其中的安全漏洞并进行修正,是信息安全领域的一个研究热点。早期的手
工检查方式,需要由专业的技术人员进行,效率低,主观性强。后来人们研究
了自动化的漏洞检测方法,其主要可分为动态检测和静态检测两种方式。漏洞
静态检测方法不需要运行系统程序,能够发现一些隐藏较深的安全漏洞,且在
软件开发的早期就能够及时发现以修正可能的安全漏洞,节约了软件的开发成
本,已成为一种主流的漏洞检测方法。
然而漏洞静态检测的误报率(False Positive )和漏报率(False Negative )较
高,其原因有很多,如缺少对非可信数据合法性检查的识别、分析了不可行路
径(Infeasible Path )等。虽然现有的漏洞静态检测系统在非可信数据合法性检
查识别和不可行路径剪枝方面的研究都取得了一些成果,但由于这两个问题本
身的复杂性,尤其是非可信数据合法性检查的识别,现有的漏洞静态检测系统
由于其模型空间的限制,对非可信数据合法性检查是否有效缺少必要的深入分
析,在检测过程中仍然会产生较多的误报和漏报。
本文从漏洞静态检测中非可信数据合法性检查识别和不可行路径剪枝这两
个方面,提出了一种降低漏洞静态检测漏报和误报的方法。
首先,我们对程序变量的安全状态空间进行了扩展。使用对应多个安全相
关属性的向量标识变量安全状态,而不再只是使用单一属性表示。由此细化了
变量安全状态的转换粒度,以提供更为精确的程序安全行为的识别。通过平行
地分别设置程序变量安全状态分量的取值标识变量所经过的各个合法性检查步
骤,更好地实现了对非可信数据合法性检查操作的有效识别。
其次,在变量的状态中增加了一个变量属性来记录变量的取值。在静态检
测的遍历过程中,基于对变量取值状态的跟踪和检查实现不可行路径剪枝。
最后,基于上述方法实现了一个原型系统。实验结果表明,我们的方法能
够有效地降低漏洞静态检测的误报和漏报。特别是原型系统还检测出了一些主
流漏洞检测系统没能发现的安全漏洞。
关键词:漏洞静态检测;合法性检查;不可行路径剪枝
Abstract
The software security vulnerability is one of the basic reasons which can result
in information security issues. How to detect security vulnerabilities and fix them
before releasing programs is a hot research spot in information security area. The
manual inspection in early time needs to be carried out by the professionals. It is low
efficient and subjective. Then people studied automated vulnerability detection
methods which may mainly be divided into two kinds: dynamic detection and static
detection. The static detection does not need to run system program, it can discover
some deep security vulnerabilities. And just in early time of software development, it
can detect security vulnerabilities promptly so as to fix them, which can reduce the
cost of the software development greatly. So now the vulnerability static detection
has become one of the mai
文档评论(0)