论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
其次,病毒产业链的形成意味着更多的未知漏洞被发现。在互联网的协作模式下,黑客间通过共享技术和成果,漏洞挖掘能力大幅提升,速度远远超过了操作系统和软件生产商的补丁发布速度。
再次,黑客通过租用更好的服务器、更大的带宽,为漏洞利用和病毒提供硬件上的便利;利用互联网论坛、博客等,高级黑客雇佣“软件民工”来编写更强的驱动程序,加入病毒中加强对抗功能。大量软件民工的加入,使得病毒产业链条更趋“正规化、专业化”,效率也进一步提高。
最后,黑客通过使用自动化的“肉鸡”工具,达到控制海量的受害主机并且利用其作为继续牟取商业利润的目的。至此整个黑客产业内部形成了一个封闭的以黑客养黑客的“良性循环”圈。
3 漏洞挖捆与利用
病毒产业能有今天的局面,与其突破了漏洞挖掘的瓶颈息息相关。而漏洞挖掘也是我们寻找漏洞、弥补漏洞的有利工具,这是一柄双刃剑。
3.1漏洞存在的必然性
首先,由于Internet中存在着大量早期的系统,包括低级设备、旧的系统等,拥有这些早期系统的组织没有足够的资源去维护、升级,从而保留了大量己知的未被修补的漏洞。其次,不断升级中的系统和各种应用软件,由于要尽快推向,往往没有足够的时间进行严格的测试,不可避免地存在大量安全隐患。再次,在软件开发中,由于开发、开发周期、系统规模过分庞大等等原因,Bug的存在有其固有性,这些Bug往往是安全隐患的源头。另外,过分庞大的网络在连接、组织、管理等方面涉及到很多因素,不同的硬件平台、不同的系统平台、不同的应用服务交织在一起,在某种特定限制下安全的网络,由于限制条件改变,也会漏洞百出。
3.2漏洞挖掘技术
漏洞挖掘技术并不单纯的只使用一种方法,根据不同的应用有选择地使用自下而上或者自上而下技术,发挥每种技术的优势,才能达到更好的效果。下面是常用的漏洞挖掘方法:
(1)安全扫描技术。安全扫描也称为脆弱性评估,其基本原理是采用模拟攻击的方式对目标系统可能存在的已知安全漏洞进行逐项检测。借助于安全扫描技术,人们可以发现主机和网络系统存在的对外开放的端口、提供的服务、某些系统信息、错误的配置等,从而检测出已知的安全漏洞,探查主机和网络系统的入侵点。
(2)手工分析。针对开源软件,手工分析一般是通过源码阅读工具,例如sourceinsight等,来提高源码检索和查询的速度。简单的分析一般都是先在系统中寻找strcpy0之类不安全的库函数调用进行审查,进一步地审核安全库函数和循环之类的使用。非开源软件与开源软件相比又有些不同,非开源软件的主要局限性是由于只能在反汇编获得的汇编代码基础上进行分析。在针对非开源软件的漏洞分析中,反编引擎和调试器扮演了最蘑要的角色,如IDA Pro是目前性能较好的反汇编工具。
(3)静态检查。静态检查根据软件类型分为两类,针对开源软件的静态检查和针对非开源软件的静态检查。前者主要使用编译技术在代码扫描或者编译期间确定相关的判断信息,然后根据这些信息对特定的漏洞模型进行检查。而后者主要是基于反汇编平台IDAPro,使用自下而上的分析方法,对二进制文件中的库函数调用,循环操作等做检查,其侧重点主要在于静态的数据流回溯和对软件的逆向工程。
(4)动态检查。动态检查也称为运行时检查,基本的原理就是通过操作系统提供的资源监视接口和调试接口获取运行时目标程序的运行状态和运行数据。目前常用的动态检查方法主要有错误注入法和数据流分析法。以上介绍的各种漏洞挖掘技术之间并不是完全独立的,各种技术往往通过融合来互相弥补缺陷,从而构造功能强大的漏洞挖掘工具。
3.3漏洞利用
漏洞的价值体现在利用,如果一个漏洞没有得到广泛的利用便失去了意义。通常,从技术层面上讲,黑客可以通过远程/本地溢出、脚本注入等手段,利用漏洞对目标主机进行渗透,包括对主机信息和敏感文件的获取、获得主机控制权、监视主机活动、破坏系统、暗藏后门等,而当前漏洞利用的主要趋势是更趋向于Web攻击,其最终日标是要在日标主机(主要针对服务器)上植入可以综合利用上面的几种挖掘技术的复合型病毒,达到其各种目的。