鉴于这种愈演愈烈的情况,对于软件等漏洞的分析和挖掘技术就显得尤其重要。这不仅关系到个人上网的安全问题,对于集体利益则是更加重要。因此,我的毕业设计研究的课题即是对于控件的漏洞分析和挖掘。
1.2 国内外研究概况
漏洞挖掘的研究由来已久。早在上世纪70年代中期,美国南加州大学就开始了PA研究计划,主要针对操作系统的安全漏洞进行研究,以增加计算机操作系统的安全性,后续还有RISOS计划、SDC的渗透分析、brian marick的软件漏洞分析、Landwher的漏洞分类、普渡大学COAST实验室的计算机漏洞研究等[1]。
1980年美国密执安大学B.Hebbard小组通过渗透分析方法,成功发现计算机系统程序中的部分漏洞。漏洞挖掘和检测工作一直备受关注,如WIN XP操作系统开发过程中使用了ZING模型检测工具进行漏洞检测,安全性有了明显提高。许多组织在漏洞挖掘和利用研究方面做出了大量工作,国外black和国内的安全焦点就是其中优秀的代表[2]。
然而,到目前为止对于安全漏洞的定义、分类、特征以及挖掘方法仍未形成统一和公认的结论。国内外安全漏洞研究组织公布的都是一些传统的漏洞挖掘研究技术。针对具体漏洞,安全研究者往往进行大量的重复工作,研究效率和效果上也有相当的局限性。因此,如何设计和使用自动化或者半自动化的辅助工具,快速、高效和准确挖掘软件中的安全漏洞成为最近相关研究的热点和难点。
1.3 章节安排
本次课题是从对控件漏洞的挖掘原理的研究入手,通过对挖掘以及分析工具的学习,以实现对具体控件漏洞的挖掘和分析。论文分为五章,具体安排如下:
第一章:引言。阐述本课题研究的目的和意义,以及目前国内外对此研究的情况。最后对本文的组织内容进行说明。
第二章:漏洞的挖掘和利用原理。分成两个小节,分别对挖掘原理和分析利用原理进行介绍。
第三章:ActiveX控件漏洞。分成三个小节,分别介绍ActiveX控件及其安全性、ActiveX控件漏洞挖掘分析工具以及对COM组件的接口的跟踪调试。
第四章:对暴风影音ActiveX控件漏洞的分析和利用。分成两个小节,分别是概述和具体实施。
第五章:结论。总结完成的工作,并提出今后努力的方向。
1.4 本章小结
本章首先阐述了本课题研究的目的和意义,然后介绍了目前国内外对此研究的情况。最后对本文的章节安排进行了说明。
2 漏洞挖掘和利用原理
简单介绍漏洞挖掘、分析和利用原理。
2.1 漏洞挖掘原理
漏洞挖掘是一个多种漏洞挖掘分析技术相互结合、共同使用和优势互补的过程。目前漏洞挖掘分析技术有多种,主要包括手工测试技术(manual testing)、Fuzzing技术、静态分析技术(static analysis)、动态分析技术(runtime analysis)等。
Fuzzing技术可以用于检测多种安全漏洞,包括:缓冲区溢出漏洞、整型溢出漏洞、格式化串漏洞、竞争条件漏洞、SQL注入、跨站点脚本、远程命令执行、文件系统攻击、信息泄露等。目前公布的安全漏洞中有许多都是使用Fuzzing技术检测发现的,并且有许多Fuzzing工具可以用于测试应用程序的安全性。Fuzzing技术是最常用也是最好用的漏洞挖掘技术,因此,我们重点研究其原理。
Fuzzing是一种基于缺陷注入的自动软件测试技术,它使用大量半有效的数据作为应用程序的输入,以程序是否出现异常为标志,来发现应用程序中可能存在的安全漏洞[3]。所谓半有效的数据是指对应用程序来说,文件的必要标识部分和大部分数据是有效的,这样应用程序就会认为这是一个有效的数据,但同时该数据的其他部分是无效的,这样应用程序在处理该数据时就有可能发生错误,这种错误能够导致应用程序的崩溃或者触发相应的安全漏洞。Fuzzing技术是利用Fuzzer工具通过完全随机的或精心构造一定的输入来实现的。Fuzzing技术的通用测试过程如图2.1。 ActiveX漏洞挖掘技术研究+文献综述(2):http://www.751com.cn/jisuanji/lunwen_6136.html