软件安全漏洞检测
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学年论文
(文献检索及专业写作常识2015-2016 第二学期)
题目:软件安全漏洞检测
*者:***
所在学院:信息科学与工程学院
专业年级:信息安全14-1 指导教师:***
职称:副教授
2016年5月25 日
摘要
互联网的全球性普及和发展,使得计算机网络与人们的生活紧密相关,信息安全逐渐成为信息技术的核心问题,软件漏洞检测是信息安全的重要组成部分,漏洞带来的危害日益严重,恶意攻击者可以利用软件漏洞来访问未授权的资源,导致敏感数据被破坏,甚至威胁到整个信息安全系统。计算机软件安全漏洞,计算机系统的一组特性,这些特性一旦被某些恶意的主体利用,通过已授权的手段,来获取对计算机资源的未授权访问,或者通过其他办法对计算机的系统造成损害。首先定义了软件漏洞和软件漏洞分析技术,在此基础上,提出了软件漏洞分析技术体系,并对现有技术进行了分类和对比,归纳出了该领域的科学问题、技术难题和工程问题,最后展望了软件漏洞分析技术的未来发展。
关键词:软件安全,漏洞检测,信息安全
ABSTRACT
Global popularity and development of the Internet so that the computer network is closely related to people's lives, information security has gradually become the core of information technology, software, information security vulnerability detection is an important part of the growing vulnerability harm, malicious attackers You can take advantage of software vulnerabilities to access unauthorized resources, resulting in destruction of sensitive data, even a threat to the entire information security system. A set of characteristics of computer software security vulnerability of computer systems, these features once exploited by some malicious body through authorized means to gain unauthorized access to computer resources, or through other means cause damage to computer systems.
First, the definition of software vulnerabilities and vulnerability analysis software technology, on this basis, the proposed software vulnerability analysis technology system, and the prior art are classified and contrast, sums up the problem in the field of scientific, technical problems and engineering problems, Finally, the prospect of future development of the software vulnerability analysis technology.
Keywords: software security; vulnerability detection; information security
目录
1 绪论 (5)
1.1 背景 (5)
1.2国内外研究现状 (5)
2 软件安全漏洞概述 (7)
2.1漏洞的定义 (7)
2.2 计算机软件所面临的主要安全威胁 (8)
2.3 漏洞的分类 (8)
2.4 漏洞的特征 (9)
2.5 常见的计算机软件安全漏洞 (9)
2.6 软件安全漏洞产生的原因 (10)
3 软件安全漏洞检测方法 (12)
3.1静态分析 (12)
3.2动态检测 (14)
3.3 混合检测技术 (15)
4 软件漏洞分析技术 (17)
4.1漏洞分析技术分类 (17)
4.2软件架构分析 (17)
4.3代码静态分析 (19)
4.4 代码动态分析 (21)
4.5 动静结合分析 (22)
4.6漏洞定位 (22)
5 软件漏洞分析中的关键性问题 (24)
5.1 科学问题 (24)
5.2技术难题 (25)
5.3工程问题 (25)
6 计算机软件漏洞检测技术的实践应用 (26)
7 总结与未来展望 (27)
致谢 (28)
参考文献 (29)
附录 (30)
1 绪论
1.1 背景
计算机技术的发展促进了信息全球化的进程,提高了计算机的普及,人类的各个领域都已经离不开计算机应用。然而,计算机软件安全漏洞对人类的生产活动是一个巨大的隐患。即使是防火墙的设置,入侵检测技术和杀毒软件也不能避免计算机软件自身漏洞带来的威胁[1]。这些漏洞的存在直接给多数网络黑客侵入的机会,直接给计算机软件使用者带来巨大的信息安全威胁。如今计算机更新速度异常迅速,那些漏洞的出现频率也越来越高。所以,就必须不断地提升计算机软件当中的安全漏洞检测技术,这项技术成为寻找和弥补漏洞的主要方式,也是保障计算机安全、稳定运行的关键[2]。
1.2国内外研究现状
传统的漏洞发掘一般是安全分析人员通过阅读源代码或者对软件进行反汇编分析,在理解软件工作原理的情况下,通过手工对目标软件进行分析,从而发现软件中的安全漏洞。随着软件安全性需求的不断增强,这种手工作坊式的方法难以满足快速和准确地找出软件漏洞的要求。在这种形势下,利用自动化方法或者半自动化的辅助工具发现漏洞成为研究的重点。目前利用自动化方法发现漏洞基本上可以归为两类,一类是基于软件测试中的黑盒测试原理,这类方法主要针对软件提供的接口,而不是针对软件的实现进行测试。另外一类是使用编译技术,对软件的源代码进行扫描,针对不安全的库函数使用以及内存操作进行语义上的检查,从而发现安全漏洞。[3]
上个世纪七十年代中期,美国南加州大学对操作系统保护错误的安全缺陷研究PA( Protection Analysis Project)计划是第一项与软件漏洞相关的研究,这个研究开启了对软件安全漏洞及其脆弱性方面的研究。随后,如美国的国家标准局、联邦调查局、国防部等国家权力机关, Stanford、Harvard、Purdue 等著名高校以及 Microsoft、IBM 等国际性的大公司等也加入了这个研究方向。该领域不断出现创新研究成果,包括RISOS 计划、SDC渗透分析方法、Brian Marick 的软件漏洞分析、Landwher的漏洞分类以及 Purdue的COAST 实验室的计算机漏洞研究。
2003 年,美国国防部收到美国国家科学院提交的报告《用于反恐中的信息技术报告》。该报告评估了项目“编写更少漏洞的代码”的研究,而这个研究被