4.2网络蠕虫•网络蠕虫的定义•网络蠕虫的特征•网络蠕虫的结构模型•网络蠕虫的工作流程•未来蠕虫的可能的方向•结束语4.2.1网络蠕虫的定义•同病毒一词一样,蠕虫一开始也只是一个生物名词,是指一种藉由身体的肌肉收缩而作蠕形运动的小型虫子。1980年,XeroxPaloAltoResearchCenter(PARC)首次将蠕虫这一概念引入到计算机领域研究人员就编写了一段程序用来尝试进行分布式计(DistributedComputation),整个程序由几个段组成,这些段分布在网络中的不同计算机上,它们能够判断出计算机是否空闲,并向处于空闲状态的计算机迁移。当某个段被破坏掉时,其它的段还能够重新复制出这个段。在1982年,XeroxPARC的JohnF.Shoch等人指出了蠕虫的两个基本的特征:“可以从一台计算机移动到另一台计算机”和“可以自我复制”。他们最初编写蠕虫的目的是做分布式计算的模型试验,但在他们的文章中,蠕虫的破坏性和不易控制己初露端倪。4.2.1网络蠕虫的定义•1988年,第一个蠕虫病毒爆发造成了重大损失。由于蠕虫病毒自身一些独特的性质,使得计算机病毒这一概念已经不适合它了,从此计算机病毒有了广义与狭义之分。EugeneH.Spafford为了区别网络蠕虫和计算机病毒,对网络蠕虫和计算机病毒给出了新的定义—计算机病毒的狭义定义,“计算机病毒是一段代码,能把自身加到其它程序包括操作系统上,它不能独立运行,需要它的宿主程序激活运行它。”该定义是严格联系了病毒作为生物名词的相关特点来说的。但它也确实准确的刻画了早期意义病毒的特征。广义的计算机病毒就是平常所说的,让计算机不按主人或用户的意愿工作,造成自己精神,经济等各方面损失的程序或者代码。而“网络蠕虫可以独立运行,并能把自身的一个包含所有功能的副本传播到另一台计算机上”。4.2.1网络蠕虫的定义•通过上述定义,可以发现网络蠕虫跟狭义的计算机病毒,其实和早期意义的计算机病毒有很大区别,特别是网络蠕虫由于独特的功能破坏了早期意义病毒的几个重要特征。其表现有:•1.蠕虫自动的通过网络进行传播,是一个主动的行为;•2.蠕虫可以主动攻击系统;•3.蠕虫可以独立存在.郑辉把蠕虫和早期意义的病毒做了一些比较蠕虫早期意义的病毒传播形式主动自己传播通过U盘或者受感染的文件存在形式独立存在寄生于某个宿主文件中复制机制自身拷贝插入到宿主程序中传染机制系统或者软件漏洞宿主程序的运行触发传染程序自身计算机使用者攻击目标网络上其他计算机本地文件破坏重点主机自身性能和网络性能本地文件系统搜索机制网络IP扫描本地文件系统扫描防御措施为系统或者软件打补丁从受感染的文件中清除计算机使用者的角色无关病毒传播的关键环节对抗主体计算机使用者,反病毒厂商系统软件,服务软件提供商,网络管理员4.2.2网络蠕虫的特征•1.主动传播•2.传播迅速•3.利用漏洞•4.网络拥塞•5.反复感染•6.留下安全隐患4.2.2网络蠕虫的特征•1.主动传播蠕虫在整个传播过程中,从释放到搜索漏洞、利用搜索到的漏洞进行攻击,再到复制副本到目标主机,整个过程由蠕虫程序自身主动完成。这也是蠕虫区别于传统病毒的主要特征。•2.传播迅速蠕虫的扫描机制决定了蠕虫传播的迅速,一般情况下,蠕虫都会打开几十个甚至上百个线程用来同时对外扫描,且扫描的间隔时间非常短。加上蠕虫爆发时用户尚未对漏洞打补丁,使蠕虫可以在很短的时间内占领整个互联网。4.2.2网络蠕虫的特征•3.利用漏洞计算机系统存在漏洞是蠕虫进行传播的一个必不可少的条件。早期的蠕虫是科学家用来进行分布式计算的,他们的传播对象是经过许可的计算机。蠕虫要想不经过允许而进行传播,只有利用搜索到的漏洞进行攻击,提升权限;•4.网络拥塞这个特性从蠕虫的传播过程可以看出,在蠕虫的传播过程中,首先要进行扫描,找到存在漏洞的计算机,这是一个大面积的搜索过程,这些都无疑会带来大量的数据流。特别是蠕虫传播开了以后,成千上万台机器在不断地扫描,试想一下这是多么大的网络开销。4.2.2网络蠕虫的特征•5.反复感染蠕虫是利用计算机系统的漏洞进行传播,如果只是清除了蠕虫在文件系统中留下的痕迹,像清除病毒一样单单地清除蠕虫本身,而没有及时修补系统的漏洞,计算机在重新联网后还可能会感染这种蠕虫。•6.留下安全隐患大部分的蠕虫会搜集,扩散,暴露系统的敏感信息(如用户信息),并在系统中留下后门。这些都会导致未来的安全隐患。4.2.3网络蠕虫的结构模型•JoseNazario等人提出了蠕虫的一个功能结构框架,把蠕虫的功能模块分为六个部分4.2.3网络蠕虫的结构模型•JoseNazario蠕虫功能结构模型主要是对未来蠕虫的预测,无法准确表达当前网络蠕虫的功能结构.•文伟平又提出了蠕虫的功能模块可以划分为主体功能模块和辅助功能模块的结构模型.实现了主体功能模块的蠕虫可以主动进行网络传播和自我复制,而进一步实现了辅助功能模块的蠕虫则具有更加强大的生存能力和破坏能力。4.2.3网络蠕虫的结构模型4.2.4网络蠕虫的工作流程•网络蠕虫的工作流程一般来说可以分为5个步骤:•搜集信息•探测目标主机•攻击目标系统•自我复制•后续处理•被感染后的主机又会重复上述步骤来攻击网络上其他的主机。开始发现目标主机获得目标主机的权限搜集信息扫描网络,寻找目标主机攻击目标主机后续处理自我复制NNYY4.2.4网络蠕虫的工作流程•收集信息是网络蠕虫传播的第一步,网络蠕虫根据一定的搜索算法对目标网络或主机系统进行信息的收集,这些信息可能包括了目标网络的拓扑结构、路由信息、目标主机的操作系统类型、用户信息,特别是敏感信息,如用户名,口令等。•探测目标主机是网络蠕虫首先获得本机的IP信息,然后产生IP地址列表,再针对IP列表中的主机使用自身的扫描策略进行扫描,探测主机是否存在、是否活动、是否有操作系统或者应用程序漏洞,然后决定如何进行渗透。其扫描策略包括:选择性随机扫描,顺序扫描,基于目标列表扫描,基于路由扫描,基于DNS扫描等等。•攻击目标系统是网络蠕虫利用目标主机存在的漏洞和缺陷,通过共享文件夹、缓冲区溢出等方式获得目标系统的部分或者全部管理员权限。•自我复制是网络蠕虫通过ftp,tftp等方式将自身的副本传输到目标主机上,并利用己经获得的管理员权限,使网络蠕虫副本在目标系统上运行。•后续处理主要是传播到目标主机上的网络蠕虫在目标系统上进行非法操作,如信息窃取、删除文件、安装后门等,并进一步感染其它的计算机系统。4.2.5未来蠕虫可能的方向•良性蠕虫•早期网络蠕虫引入计算机领域就是为了进行科学辅助计算和大规模网络的性能测试,蠕虫本身也体现了分布式计算的特点,所以可以利用良性蠕虫来抑制恶意蠕虫.良性蠕虫首先应具有高度的可控性和非破坏性.其次应尽量避免增加网络负载.•良性蠕虫可以采用以下几种传播方式:①利用恶意蠕虫留下的后门;②利用恶意蠕虫攻击的漏洞;③利用其他未公开的系统漏洞;④利用被攻击主机的授权.良性蠕虫可以有效地消除恶意蠕虫,修补系统漏洞,从而减少网络中易感主机的数量.•良性蠕虫是未来蠕虫研究的方向,其设计的关键在于可控性设计,因此设计良性蠕虫要考虑更多的不可确定性因素,尚需进一步深入研究.4.2.5未来蠕虫可能的方向•P2P蠕虫:随着计算机网络应用的深入发展,计算机病毒对信息安全的威胁日益增加。特别是在P2P环境下,方便的共享和快速的选路机制,为某些网络病毒提供了更好的入侵机会。一个突出的例子就是2003年通过即时通讯(InstantMessage)软件传播病毒的案例显著增多。包括Symantec公司和McAfee公司的高层技术主管都预测即时通讯软件将会成为网络病毒传播和黑客攻击的主要载体之一。4.2.5未来蠕虫可能的方向•P2P网为一种新兴的蠕虫病毒提供了一个理想的传播环境,不同于目前流行的扫描式蠕虫。P2P蠕虫的主要的特点:•1)传播速度极快,蠕虫病毒通过P2P内主机保存的邻居结点的信息来传播,不用浪费时间探测未使用的lP地址;•2)传播成功率很高;•3)不易被发现,由于缺少反常的网络行为性,目前的防御蠕虫的机制对付P2P蠕虫已不再有效,必须分析其传播的特点重新制定相应的防御策略。4.2.5未来蠕虫可能的方向•无线移动蠕虫,蠕虫SymbOS/Cabir引领计算机蠕虫进入了一个全新的领域。•在无线智能电话代替现有的移动通讯系统之后,这样的蠕虫可能会慢慢的流行起来,因为现有的移动通信系统具有一定编程能力;•Cabir蠕虫利用手机的蓝牙功能进行传播;•将来的蠕虫可望代替用户在手机上打电话,基于MMS的邮件群发蠕虫可能成为一个新的领域。4.2.5未来蠕虫可能的方向•各种恶意软件也常常有意无意的和蠕虫合作。•比如蠕虫在穿越一个已经被病毒感染的节点的时,可能会被另一个标准的文件病毒感染。一个蠕虫携带3种甚至更多的病毒的现象并不少见,这种现象对网络蠕虫和标准文件感染性病毒都是有益的。•有些病毒也会有意的和蠕虫合作。“求职信”病毒程序具有双程序结构,分为蠕虫部分(网络传播)和病毒部分(感染文件,破坏文件)。4.2.6结束语随着网络环境的高速发展,各种各样的平台日益增多,我们对网络的高度依赖,蠕虫的威胁越来越严峻。蠕虫采用了各种新技术,加密存储,远程下载,多态蠕虫,都使得蠕虫越来越智能化。而且由于蠕虫的传播性强,各种恶意软件也常和蠕虫结合,给人们带来更加多的危害。随着新技术的发展,各种新的平台为蠕虫提供了新的发展领域,如P2P蠕虫,无线蠕虫等等。所以抵抗蠕虫的威胁确实刻不容缓。蠕虫的检测查杀技术越来越重要。关于蠕虫的对抗技术,我们会在第五章防治篇中进一步的阐述。