版权归原作者所有,如有侵权,请联系我们

[科普中国]-开放蠕虫

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

蠕虫是一种可以自我复制的代码,并且通过网络传播,无需人为干涉就能传播。

网络蠕虫在传播阶段的首要功能是寻找其他系统进行感染,这个过程可以叫作扫描(scanning)或指纹采集(fingerprinting)。对使用远程访问的网络服务来攻击软件漏洞的蠕虫而言,它必须先明确找出潜在的运行有易感染服务的系统,然后再进行感染。此后,通常来说,已经安装在被感染机器上的蠕虫将重复相同的扫描过程,直到被感染机器形成一个大型的分布式网络。1

蠕虫技术的现状蠕虫技术的发展水平包括如下特征:

多平台(multiplatform):新的蠕虫不再局限于Windows平台,它们可以攻击多种平台,尤其是那些流行的UNIX类平台,或者攻击支持宏或脚本语言的流行的文档格式。

多种攻击手段(multiexploit):新的蠕虫会使用多种方法对系统进行渗透,例如利用Web服务器、浏览器、电子邮件、文件共享或其他的基于网络的应用程序漏洞。

超快速传播(ultrafast spreading):使用多种技术手段优化蠕虫的传播速率,尽可能在短时间内感染尽可能多的机器。

多态(polymorphic):为了躲避检测、过滤和实时分析,蠕虫借鉴了病毒的多态技术。每个蠕虫的拷贝都能够利用在功能上等价的指令和加密技术来生成新的代码。

变形(metamorphic):除了改变自身形态外,变形蠕虫还根据其行为模式库在传播的不同阶段表现出不同的行为。

传输载体(transport vehicle):因为蠕虫能够迅速地感染大量系统,因此它们是传播其他分布式攻击程序(如分布式拒绝服务bot、rootldt、垃圾电子邮件生成器和间谍软件)的理想载体。

O-day攻击(zero-day exploit):为获得最大的震动和扩散范围,蠕虫会利用未被人知的漏洞。这种漏洞只有在蠕虫发起攻击时,才会被网络公众所发现。1

原理蠕虫首先对计算机进行漏洞扫描,然后利用系统漏洞进行攻击(如缓冲区溢出)以获得入侵目标的相应权限,完成后继的复制副本和传播过程后.便运行蠕虫代码,改变系统配置,从而在系统中隐藏自己,并通过目标选择算法寻找下一台要感染的计算机。在这个过程中,大量的扫描和攻击线程会造成网络拥塞、耗费系统的资源,导致系统的性能下降。蠕虫会在系统中留下后门,供攻击者远程控制目标计算机或发动DDoS攻击。2

防御蠕虫通过下列几项措施可以有效防御蠕虫攻击:

1)安装反病毒软件

反病毒软件能够阻止各种形式的恶意代码,也包括蠕虫。大部分反病毒软件能够产生最新的蠕虫特征码,并且加入到病毒库中。这就要求用户及时更新病毒库以预防蠕虫的感染。但同时,对于通过Internet传播的蠕虫。事故处理组配置相应的特征码可能要花费几个小时甚至几天的时间,在没有产生相应特征码的情况下,这些蠕虫就无法被反病毒软件阻止了。所以。反病毒软件是一个重要的解决方案,但不是完整的解决方案,还需要提高预防和响应能力。

2)及时配置补丁程序

为了防止蠕虫攻击,打造一个完整和安全的操作系统是很重要的。在一个系统连上网络之前.必须打好所有的相关补丁并且加固所有的配置。

3)阻断任意的输出连接

一旦蠕虫侵占了系统,常常通过建立输出连接扫描其他潜在受害者,进而试图传播。应该严格限制所有来自公共访问系统的输出连接,如Web、DNS、E—mail、FTP等。许多单位严格过滤连入的数据,但是却忘记了输出连接,从而使感染蠕虫者成为一个蠕虫散布者。

4)建立事故响应机制

对于一些重要系统来说,建立一个计算机事故响应小组也是很有必要的,具有明确的处理流程以对抗计算机攻击者、蠕虫和其他恶性事件。3

本词条内容贡献者为:

李嘉骞 - 博士 - 同济大学