漏洞挖掘技术研究.doc

漏洞挖掘技术研究.doc

ID:50940890

大小:33.50 KB

页数:13页

时间:2020-03-16

漏洞挖掘技术研究.doc_第1页
漏洞挖掘技术研究.doc_第2页
漏洞挖掘技术研究.doc_第3页
漏洞挖掘技术研究.doc_第4页
漏洞挖掘技术研究.doc_第5页
资源描述:

《漏洞挖掘技术研究.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、漏洞挖掘技术研究  【摘要】漏洞挖掘是网络攻防技术的重要组成部分。首先介绍了漏洞的概念、漏洞的成因、漏洞的主要分类以及漏洞挖掘一般流程,然后研究了补丁分析和测试技术两种漏洞挖掘方法,重点对二进制补丁比较、白盒测试、黑盒测试等具体漏洞挖掘技术进行了分析,比较了各种漏洞挖掘技术的优缺点。  【关键词】漏洞;漏洞挖掘;测试技术  1引言  目前,无论从国家层面的网络安全战略还是社会层面的信息安全防护,安全漏洞已成为信息对抗双方博弈的核心问题之一。然而,针对具体安全漏洞,安全研究者往往进行大量的重复工作,研究效率和效果上也有相当的局限性。因此,应该加大对漏

2、洞挖掘的研究力度,以便对各类漏洞采取更为主动合理的处理方式。  2漏洞的概念及分类  2.1什么是漏洞  任何系统和软件的运行都会假定一个安全域,这个安全域是由安全策略规定的,在该域内的任何操作都是安全的、可控的,一旦超出了该域或者违反了安全策略,系统或者软件的运行就是不可控的、未知的。漏洞是由安全域切换到非安全域的触发点,即在计算机安全领域因设计不周而导致的系统或软件存在的缺陷,从而可以使攻击者在非授权的情况下访问或者破坏系统。漏洞是静态的、被动的,但是可触发的。  2.2漏洞的分类  每一个漏洞都有多个特征,而根据不同的特征可以将漏洞按照不同的

3、方式分类。一般情况下,漏洞信息应包括漏洞名称、漏洞成因、漏洞级别、漏洞影响、受影响的系统、漏洞解决方案、漏洞利用类型和漏洞利用方法等。本文根据漏洞的成因对漏洞进行分类,具体可分为:  缓冲区溢出错误(BufferOverflow),未对输入缓冲区的数据进行长度和格式的验证;  输入验证错误(InputValidationError),未对用户输入的数据进行合法性验证;  边界条件错误(BoundaryConditionError),未对边界条件进行有效性验证;  访问验证错误(AccessValidationError),访问验证存在逻辑上的错误;

4、  意外条件错误(ExceptionalConditionError),程序逻辑未考虑意外和特例;  配置错误(ConfigurationError),系统或软件的参数或策略配置错误;  其他错误(Others)。  3漏洞挖掘技术的概念及分类  漏洞的研究主要分为漏洞挖掘与漏洞分析两部分。漏洞挖掘技术是指对未知漏洞的探索,综合应用各种技术和工具,尽可能地找出软件中的潜在漏洞。然而这并非一件很容易的事情,在很大程度上依赖于个人经验。根据分析对象的不同,漏洞挖掘技术可以分为基于源码的漏洞挖掘技术和基于目标代码的漏洞挖掘技术。  基于源码的漏洞挖掘的前

5、提是必须能获取源代码,对于一些开源项目,通过分析其公布的源代码,就可能找到存在的漏洞。例如对Linux系统的漏洞挖掘就可采用这种方法。使用源码审核技术,对软件的源代码进行扫描,针对不安全的库函数使用以及内存操作进行语义上的检查,从而发现安全漏洞,静态分析技术是其中的典型技术。  然而大多数的商业软件其源码很难获得,不能从源码的角度进行漏洞挖掘,只能采用基于目标代码的漏洞挖掘技术。对目标码进行分析涉及编译器、指令系统、可执行文件格式等多方面的知识,难度较大。基于目标代码的漏洞挖掘首先将要分析的二进制目标代码反汇编,得到汇编代码;然后对汇编代码进行切片

6、,即对某些上下文关联密切有意义的代码进行汇聚,降低其复杂性;最后通过分析功能模块来判断是否存在漏洞。  4漏洞挖掘一般流程  M.Sutton等提出了模糊(Fuzzing)测试的一般流程,他将模糊测试的流程划分为识别目标、识别输入、生成模糊测试数据、执行模糊测试数据、监视异常、确定可利用性等六个流程,如图1左侧所示。文献[4]提出的漏洞挖掘流程如图1右侧所示。  5常见的漏洞挖掘方法  目前,还不存在漏洞自动挖掘的解决方案,更没有漏洞自动挖掘程序,只有一些漏洞挖掘的思路、方法和漏洞挖掘的辅助工具,主要以人工分析为主,漏洞挖掘在很大程度上是个人行为,

7、漏洞挖掘的思路和方法因人而异,但漏洞挖掘的方法还是有迹可寻的,归纳起来,漏洞挖掘方法主要有二进制比对技术即补丁比较和测试技术两种。  5.1二进制比对技术  二进制比对技术又可称为补丁比对技术,它主要是被用以挖掘已经发现的漏洞,因此在一定意义上也可被认为是一种漏洞分析技术。由于安全公告中一般都不指明漏洞的确切位置和成因,使得漏洞的有效利用比较困难。但漏洞一般都有相应的补丁,所以可以通过比较补丁前后的二进制文件,确定漏洞的位置和成因。补丁比较主要包括源码补丁比较和二进制补丁比较两种。  5.1.1源码补丁比较  源码补丁比较主要是针对开源软件或系统,

8、例如Linux等。当有漏洞出现后官方会发布源码补丁文件。采取逐行对比的方式,比较补丁前和补丁后的文本文件的异同处,以发现源

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

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

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