漏洞挖掘技术研究.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1 漏洞挖掘技术研究 2010年04月21日 “攻防”栏目是H3C攻防研究团队定期向读者分析安全事件、安全漏洞、漏洞技术以及分享实践经验的园地。H3C攻防研究团队是进行安全趋势研究、安全热点事件追踪和漏洞挖掘分析的专业团队,其目的是将研究的成果及时转化到H3C安全产品。 漏洞挖掘技术研究 文/H3C攻防研究团队 漏洞(vulnerability)是指系统中存在的一些功能性或安全性的逻辑缺陷,包括一切导致威胁、损坏计算机系统安全性的所有因素,是计算机系统在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷和不足。漏洞的存在不可避免,一旦某些较严重的漏洞被攻击者发现,就有可能被其利用,在未授权的情况下访问或破坏计算机系统。先于攻击者发现并及时修补漏洞可有效减少来自网络的威胁。因此主动发掘并分析系统安全漏洞,对网络攻防具有重要的意义。 目前国际上比较权威的漏洞发布机构是国际安全组织CVE(Common Vulnerabilities Exposures,通用漏洞披露)和CERT(Computer Emergency Response Team,计算机应急响应小组)。CVE会对认证产品从CVE Mapping等四个维度进行严格考核,同时会对厂商的攻防研究能力也进行持续的定期评估,在攻防领域没有持续投入的厂商会被取消CVE认证资格。H3C很早就从事漏洞的分析和研究,是CVE兼容性认证厂商和MAPP(Microsoft Active Protections Program,微软主动防御计划)认证厂商。 漏洞研究主要分为漏洞挖掘与漏洞分析两部分。漏洞挖掘技术是指对未知漏洞的探索,综合应用各种技术和工具,尽可能地找出软件中的潜在漏洞;漏洞分析技术是指对已发现漏洞的细节进行深入分析,为漏洞利用、补救等处理措施作铺垫。本文简要介绍几种流行的漏洞挖掘方法,以及使用该方法挖掘的典型漏洞。 1 漏洞挖掘技术分类 根据分析对象的不同,漏洞挖掘技术可以分为基于源码的漏洞挖掘技术和基于目标代码的漏洞挖掘技术两大类。 随着Internet和网页应用的普及,Web漏洞挖掘技术也浮出水面。Web漏洞出现在动态Web页面程序中,动态Web页面一般是无法获取到源码或只能获取部分源码的,因此Web漏洞挖掘技术可以归类为基于目标代码的漏洞挖掘技术。基于源码的漏洞挖掘是将源码获取后,使用自动工具或手工检查的方法进行源代码分析,从而找到软件漏洞的技术。这类漏洞挖掘多是在软件生产中测试过程的一环,可以提高软件发布后的安全性。开源(Open Source)软件也经常被第三方机构、爱好者和黑客做开源漏洞挖掘,为的是找到更多开源软件的漏洞,以促进软件的健壮性。 基于目标代码的漏洞挖掘技术与软件测试技术相近,分为白盒分析、黑盒分析和灰盒分析三种。 白盒分析采用逆向工程的方法将目标程序转换为二进制码或还原部分源代码。但是在一般情况下,很难将目标程序完全转换为可读的源代码,尤其是当原作者采用了扰乱、加密措施后,采用白盒分析会很困难。 黑盒分析是控制程序的输入,观察输出的一种方法,而不对目标程序本身进行逆向工程。它可以对某些上下文关联密切、有意义的代码进行汇聚,降低其复杂性,最后通过分析功能模块,来判断是否存在漏洞。但黑盒分析的过程需要分析者具有较高技术水平,否则很难在较短时间内找到可利用的漏洞。 灰盒分析则是将两种分析技术结合起来的方法,从而能够提高分析命中率和分析质量。 2 漏洞挖掘分析技术 漏洞挖掘分析技术有多种,只应用一种漏洞挖掘技术,是很难完成分析工作的,一般是将几种漏洞挖掘技术优化组合,寻求效率和质量的均衡。 2.1 人工分析 人工分析是一种灰盒分析技术。针对被分析目标程序,手工构造特殊输入条件,观察输出、目标状态变化等,获得漏洞的分析技术。输入包括有效的和无效的输入,输出包括正常输出和非正常输出。非正常输出是漏洞出现的前提,或者就是目标程序的漏洞。非正常目标状态的变化也是发现漏洞的预兆,是深入挖掘的方向。人工分析高度依赖于分析人员的经验和技巧。人工分析多用于有人机交互界面的目标程序,Web漏洞挖掘中多使用人工分析的方法。 2.2 Fuzzing技术 Fuzzing技术是一种基于缺陷注入的自动软件测试技术,它利用黑盒分析技术方法,使用大量半有效的数据作为应用程序的输入,以程序是否出现异常为标志,来发现应用程序中可能存在的安全漏洞。半有效数据是指被测目标程序的必要标识部分和大部分数据是有效的,有意构造的数据部分是无效的,应用程序在处理该数据时就有可能发生错误,可能导致应用程序的崩溃或者触发相应的安全漏洞。 根据分析目标的特点,Fuzzing可以分为三类: ü 动态Web页面Fuzzing,针对ASP、PHP、Java、Perl等编写的网页程序,

文档评论(0)

xieliandimei + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档