欢迎来到天天文库
浏览记录
ID:14872416
大小:26.00 KB
页数:6页
时间:2018-07-30
《漏洞挖掘技术分析与研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
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等工具。 动态分析技术具有较高的漏洞查找准确率,由于是在程序运行中查找错误
此文档下载收益归作者所有