【摘 要 】对网络上计算机系统的扫描是网络蠕虫传播的第一步,网络蠕虫扫描算法是研究蠕虫传播特性的一个基础环节.通过对常见的网络蠕虫扫描算法的研究,将其进行了分类,并对每一种扫描方法的基本原理及特点进行了分析.
【关 键 词 】网络蠕虫,扫描,传播
随着网络的普及化程度越来越高,网络安全问题也受到了广泛的关注.网络蠕虫是影响网络安全的一个重要因素,扫描主机漏洞是蠕虫传播的前提,影响蠕虫传播的主要因素是如何能快速找到新的目标主机,所以扫描方法的性能直接决定着蠕虫传播的速度.假设计算机系统在整个地址空间均匀分布,按照蠕虫对目标地址空间的选择方式进行分类,网络蠕虫的扫描算法可以分为随机扫描法、基于目标列表的扫描法、路由扫描法、分而治之扫描法以及被动扫描法等.
1.随机扫描法
随机扫描法是指网络蠕虫在寻找攻击目标时事先不知道网络上哪些计算机系统有漏洞,随机地在网络上选择计算机进行扫描并寻找漏洞.CodeRed蠕虫[1]和Slammer蠕虫[2]都是采用随机扫描的方法,一般情况下,随机扫描由于扫描地址空间大,传播速度较慢.
2.基于目标列表的扫描法
基于目标列表的扫描法是指网络蠕虫在传播之前事先将网络上存在漏洞的计算机系统搜索出来组成目标列表,在传播时先将网络蠕虫传播至目标列表中的计算机系统,然后目标列表中的计算机再利用随机扫描法扫描网络上的其他计算机.由于已经有了传播目标列表,采用该扫描方法要比采用随机扫描的蠕虫传播的速度快得多.Staniford等人在文献[3]绍了一种基于目标列表的扫描算法,理想化蠕虫 Falsh[4]就是一种基于 IPV4 地址空间列表的快速扫描蠕虫.
3.路由扫描法
Zou等人在文献[5]绍了一种“路由蠕虫”,它采用BGP路由表中的地址来减小要扫描的地址空间.若采用路由扫描法,其探测地址空间将比随机扫描减小,会极大地提高蠕虫的传播速度.路由扫描法的不足是网络蠕虫传播时必须携带一个路由IP地址库,从而导致蠕虫代码量大.
4.分而治之扫描法
所谓分而治之扫描法是指在释放网络蠕虫之前,首先收集部分存在漏洞且网络连接良好的计算机系统构成目标列表,在将蠕虫传播给列表中的部分主机后,蠕虫给每个受害主机发送目标列表的一部分,然后每台受害主机再按照子目标列表进行扫描.
该扫描法通过逐渐分解地址列表,可以使得扫描造成的流量越来越小,更不容易检测.文献[3]中提出了一种对目标列表进行分而治之扫描的策略.
5.被动式扫描法
被动式扫描法是指蠕虫并不进行主动扫描,而是等待潜在的易感染主机来主动接触它们,或者依赖已感染主机的活动去发现新的攻击目标.采用该扫描方法的蠕虫需要用户触发,传播速度很慢,但具有更强的隐蔽性.文献[6]中的CRClean蠕虫采用的就是被动式扫描法,当它探测到一个主机企图接触被感染主机时,就发起一个反攻来回应,如果反攻成功,就会将自己安装到相应主机上.
6.结束语
本文对网络蠕虫的几种扫描方法做了简单的介绍,其中路由扫描法的传播速度最快,基于目标列表的扫描法在网络蠕虫的初始阶段传播速度较快,被动式扫描算法性能最差,速度最慢.网络蠕虫扫描算法是研究蠕虫传播特性研究的基础环节,可为有效抑制网络蠕虫打下坚实的基础.