漏洞挖掘技术分析与研究

漏洞挖掘技术分析与研究

ID:14872416

大小:26.00 KB

页数:6页

时间:2018-07-30

漏洞挖掘技术分析与研究_第1页
漏洞挖掘技术分析与研究_第2页
漏洞挖掘技术分析与研究_第3页
漏洞挖掘技术分析与研究_第4页
漏洞挖掘技术分析与研究_第5页
资源描述:

《漏洞挖掘技术分析与研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、漏洞挖掘技术分析与研究  摘要:目前,漏洞挖掘技术在信息安全领域中日趋重要。文章从漏洞的概念出发,对漏洞挖掘的含义、作用以及主要技术进行了分析与探讨,并总结了漏洞挖掘技术未来的发展方向。  关键词:漏洞挖掘;手工测试技术;FUZZING技术;动态分析技术;静态分析技术  1漏洞  1.1漏洞的概念  漏洞是指计算机系统或软件中的安全缺陷,这些安全缺陷包括功能缺陷或逻辑缺陷,对计算机系统的安全性具有潜在的威胁。漏洞的存在范围很广泛,在计算机系统的硬件、软件或网络通信协议上都有所体现。  1.2漏洞的特性  1.2.1必然性  漏洞的存在对于计算机系统或软件是客观存在、不

2、可避免的,其根本原因在于系统或软件在实现过程中存在的非正常问题,具体因素可包括编程代码疏忽、软件安全机制规划出错。由于计算机系统或软件的天然脆弱性,所以漏洞也是必然存在的。  1.2.2长期性  随着计算机系统或软件的投入使用,已有的漏洞会随着用户的使用暴露出来。当系统或软件开发商推出补丁修正漏洞时,同时也可能导致程序出现新的安全漏洞。因此,在系统或软件的整个使用过程中,总是会出现旧有漏洞被修复,而新漏洞不断出现的问题。因此,可以说漏洞在系统中的存在是长期性的。  1.3危害性  漏洞的存在容易对计算机系统造成损害。攻击者可以利用计算机系统或软件的漏洞进行攻击行动,使

3、运行有漏洞的系统或软件的计算机用户的资料、数据被篡改或破坏,造成隐私泄露或经济损失。总之,漏洞的危害性是客观存在的。  2漏洞挖掘  2.1漏洞挖掘的概念  漏洞挖掘是指查找目标系统中可能存在的漏洞,在这个过程中,需要运用多种计算机技术和工具。根据挖掘对象的不同,漏洞挖掘一般可以分为两大类,即基于源代码的漏洞挖掘和基于目标代码的漏洞挖掘。对于基于源代码的漏洞挖掘来说,首先要获取系统或软件的源代码程序,采取静态分析或动态调试的方式查找其中可能存在的安全隐患。但大多数商业软件的源代码很难获得,一般只有一些开源系统能为挖掘者提供源码,如LINUX系统,所以目前基于源代码的挖

4、掘一般都是LINUX系统及其开源软件。对于不能提供源码的系统或软件而言,只能采用基于目标代码的漏洞挖掘方法,该方法一般涉及程序编译器、计算机硬件指令系统、可执行文件格式等方面的分析技术,实现难度较大。  2.2漏洞挖掘的作用  由于漏洞的必然存在性和危害性,所以漏洞挖掘是十分必要并有益的。因为一旦攻击者发现系统中存在的严重漏洞,就可能迅速开展攻击行动,从而对计算机系统进行非法访问或破坏。先于攻击者发现并及时修补漏洞可有效减少来自网络的威胁。因此主动发掘并分析系统安全漏洞,对网络安全具有重要的意义。  3漏洞挖掘的主要技术  3.1手工测试技术  手工测试就是通过人的手

5、工方式向测试的目标系统或软件发送特殊的数据,这些数据包括正确的或错误的输入,在发送数据后,通过观察测试目标对输入数据的反应来查找系统中可能存在的漏洞。该方式不需要额外的辅助测试软件,可由漏洞测试者独立完成,具有实现简单、结果直观的优点,但是局限性也很大,主要表现为效率不高、对测试者的个人技术水平依赖较大等方面,所以手工测试一般适用于简单、小型、直观的系统或软件。  3.2FUZZING技术  Fuzzing技术的实现原理是软件工程中的黑盒测试思想,其主要方法是使用大量的数据作为应用系统或软件的输入,以目标对象接受输入后是否出现异常为标志,来查找目标系统中可能存在的安全

6、漏洞。Fuzzing方法所使用的半有效数据一般由特定的工具来生成,这些数据其必要标识和大部分数据是有效的,但在逻辑方面存在一定错误,能够导致应用系统或软件的崩溃,从而发现安全问题所在。  Fuzzing技术的思想较为简单,易于理解与应用,具有漏洞重现容易、误报率低的优点,但其同时也具有黑盒测试技术的一些缺点,比如数据格式不通用、构造测试周期长等问题。总的来说,Fuzzing技术在漏洞挖掘方面的应用越来越广泛,现有漏洞大多数是由Fuzzing方式挖掘而出的。  3.3动态分析技术  动态分析技术是指在目标系统或软件的动态运行中查找漏洞的技术。其主要思想是在特定的容器中运

7、行目标程序,通过目标程序在执行过程中的状态信息来发现有潜在问题,这些状态信息包括当前内存使用状况、CPU寄存器的值等方面。在具体实现过程中,动态分析主要从代码流和数据流两方面进行操作。对于代码流,主要是通过设置程序运行断点来跟踪系统运行状态,分析对象主要是有安全缺陷的函数或函数参数;对于数据流,主要是进行特殊数据的构造,也是采用半有效的数据进行输入。动态分析技术的关键是容纳程序运行的容器,也就是动态调试器工具,常见的动态调试器工具有SoftIce、OllyDbg、WinDbg等工具。  动态分析技术具有较高的漏洞查找准确率,由于是在程序运行中查找错误

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

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

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