技术中心
 
 

计算机病毒知多少

   日期:2009-07-30     来源:互联网    
计算机病毒知多少

引言

电脑病毒

计算机病毒很容易引起我们的注意。一方面,病毒让我们知道自己是多么的脆弱,一个编写巧妙的病毒可以给全球的互联网带来巨大的影响;另一方面,它也让我们知道人类是多么地智慧,人与人之间的相互联系又是多么的紧密。

例如,专家估计Mydoom蠕虫在2004年1月的一天之内就感染了大约25万台计算机(时代在线)。回到1999年3月,梅丽莎病毒的强大威力甚至迫使微软(Microsoft)和其他一些大型公司在该病毒得到遏制之前完全关闭它们的电子邮件系统。2000年的“我爱你”病毒也带来了类似的灾难性后果。而当您发现梅丽莎和“我爱你”病毒都是如此简单之时,它们所带来的严重后果会给您留下更深刻的印象。

在本文中,我们将探讨有关病毒(“传统”病毒和新型电子邮件病毒)的问题,以便让您了解病毒的工作原理以及如何防范病毒、保护自己。一般说来,现在病毒没有以前那么大的影响力了,但偶尔还是会有人找到制造病毒的新方法,而这正是他们制造新闻的手段。

如果您收听新闻,您可能知道电子感染有多种不同形式。下面是一些常见的:

病毒——病毒是寄生在正常程序中的一小段代码。例如,病毒可能将自己附属到电子表格之类的程序中。每次电子表格程序运行时,病毒也会跟着运行,这样它就有机会复制自己(通过附属到其他程序)或进行破坏。 电子邮件病毒——电子邮件病毒通过电子邮件进行传播,它一般通过向病毒受害者的电子邮件地址簿中的联系人发送电子邮件来复制自身。 蠕虫——蠕虫是利用计算机网络和安全漏洞来复制自身的一小段代码。蠕虫代码的副本可以扫描网络,以查找具有特定安全漏洞的另一台计算机。它可以利用该漏洞将自身复制到新的计算机中,然后又从新的位置开始进行复制。 特洛伊木马——特洛伊木马只是一个计算机程序。它声称可以执行某项任务(它可能声称自己是一种游戏),但当您运行它时,它却会进行一些破坏活动(它可能会擦除您硬盘上的数据)。特洛伊木马不会自动进行自我复制。

计算机病毒之所以被称为“病毒”,是因为它们同生物病毒有一些相似之处。计算机病毒从一台计算机传播到另一台计算机,就像生物病毒从一个人传播到另一个人身上。

此外,它们还有一些深层次的共同点。生物病毒并不是一种活的生命体。它们只是一小段DNA代码,外面包着一层保护性的外套。与细胞不同,这种病毒不能做任何事情或是进行自我复制,因为它不是活体。生物病毒必须先将其DNA注入细胞。然后,这种有毒的DNA利用细胞的现有机制进行自我复制。在一些情况下,细胞会一直吸收有毒的微粒,直到它爆裂并释放出病毒,而在另一些情况下,细胞中会生成新的病毒微粒,一次一个,而细胞仍然存活。

计算机病毒也有某些类似的特点。计算机病毒必须寄生到其他一些程序或文档中才能被执行。而一旦它处于运行状态,它就可以感染其他程序或文档。显而易见,计算机病毒和生物病毒的行为并不是完全相同,但它们也有着足够多的相似之处,所以才都被称为“病毒”。

什么是“蠕虫”?


蠕虫是一种计算机程序,它能够从一台计算机自行复制到另一台计算机。蠕虫一般通过计算机网络传播和感染其他计算机。利用网络,蠕虫可以迅速进行自我复制。例如,在2001年7月19日,红色代码蠕虫就在大约9个小时内复制了250,000多次。

蠕虫通常利用软件或操作系统中存在的某种安全漏洞。例如,Slammer蠕虫(曾于2003年1月造成混乱局面)利用了Microsoft SQL服务器的漏洞。这篇文章可以帮助您了解这个小型的Slammer程序(376个字节)。

蠕虫在自我复制时会耗尽计算机时间和网络带宽,而且通常是一些有害的蓄意行为。2001年,红色代码蠕虫就曾造成巨大影响。专家曾预测,这种蠕虫阻塞互联网的严重程度能够使网络逐渐陷于瘫痪状态。

红色代码蠕虫在开始复制时的确会阻塞互联网的流量,但并不像预测的那么严重。这种蠕虫的每个副本都会扫描互联网,查找没有安装Microsoft安全修补程序的WindowsNT或Windows2000服务器。当它找到不安全的服务器时,就会把自身复制到那里。然后,新的副本接着扫描网络,以查找其他可以感染的服务器。取决于不安全服务器的数量,蠕虫可以制造出数以万计的副本。

红色代码蠕虫的目的是做三件事:

在每个月的头20天进行自我复制。 把被感染服务器上的网页内容篡改成带有“Hacked by Chinese”字样的页面。 对白宫的Web服务器发动一次集中攻击,试图控制该服务器。

最常见的红色代码是原始Ida Code Red(2001年7月19日爆发)的一个变体,通常被称为变种。根据美国国家基础设施保护中心(NIPC)的资料:

首先由eEye Digital Security报告发现的Ida Code Red蠕虫利用了Microsoft IIS Internet服务器应用程序编程接口(ISAPI)服务的众所周知的脆弱性。未安装修补程序的系统很容易受到Idq.dll的“缓冲区溢出”的影响,从而让攻击者能够在受感染系统中运行嵌入代码。这种驻留在内存中的蠕虫一旦在系统中被激活,会首先尝试创建一系列随机IP地址来感染未受保护的Web服务器,从而传播自己。然后,每个蠕虫线程都会检查受感染计算机的时钟。NIPC确定Ida Code Red蠕虫的DOS执行的触发器时间是格林尼治标准时间的2001年7月20日0时,也就是美国东部时间的晚上8:00。

在成功感染计算机后,这种蠕虫会在指定的时间连接到域www.whitehouse.gov。这种攻击全部由受感染系统发起,它们同时向 www.whitehouse.gov(198.137.240.91)的80端口发送100次连接。

美国政府更改了www.whitehouse.gov的IP地址,从而绕过了Ida Code Red蠕虫的攻击,并向公众发出了Ida Code Red蠕虫警报,建议WindowsNT或Windows2000的Web服务器的用户务必安装安全补丁程序。

计算机病毒的起源和历史

人创造了病毒。为了制造病毒,制造者需要编写代码,对代码进行测试,确保它能够顺利传播,最后再散布病毒。病毒制造者还要设计病毒的攻击阶段,不管病毒带来的是一封无聊的邮件还是要毁坏硬盘。那他们为什么要这样做呢?

至少有三种原因。第一种原因与破坏公物者和纵火犯的心理相同。为什么会有人想要打碎别人的车窗,或在建筑物上乱涂乱画,或烧掉美丽的森林呢?对于一些人来说,这些事情让他们感到兴奋。如果这种人恰巧懂得计算机编程知识,那么他们就可能会把精力用在编写破坏性病毒上面来。

第二种原因是有些人抱着幸灾乐祸的心理,喜欢看见事情发展到一发不可收拾的地步。很多人都乐于看到爆炸或车祸这样的事件发生。在您成长的过程中,可能发现邻居某个小孩学会了制造火药,然后他越做越大,甚至做成了炸弹,最后他不是因为厌倦而罢手,就是彻底地毁了自己。那些能制造出一种迅速传播的病毒的人也有差不多同样的心理——病毒在计算机内制造了一个炸弹,随着越来越多的计算机受到感染,最后的爆炸也就越来越“有趣”。

第三种原因可能与虚荣心或这样做所带来的刺激感有关。这种人喜欢争当第一(如最早攀登珠穆朗玛峰)。山就在那里,因此总有人想去爬它。如果您是编程人员,而您又发现了可以利用的安全漏洞,您很可能想抢在别人之前利用这个漏洞,以标榜自己。“当然,我可以把这个漏洞告诉别人。但自己直接把漏洞展示给大家看不是更好吗?”正是这种逻辑导致了很多病毒的产生。

当然,大多数病毒制造者好像都忽略了一个事实:他们所谓的创造实际上给计算机用户带来了极大的损失。破坏用户计算机上的全部文件是其中之一。在病毒造成实际损害之后,大公司的计算机人员必须花费大量的时间来清除病毒。即使只是一封无聊的邮件也会带来实际的损害,因为收件人还要浪费时间来删除它。正因为如此,法律对病毒制造者的制裁也极为严厉。

传统计算机病毒的大规模传播始于上世纪80年代后期,这些病毒之所以能够大行其道,主要有以下几个方面的原因。第一个是个人计算机(PC)的普及。在上世纪80年代之前,家用计算机基本上不存在,或者只把它们当作玩具来玩。真正的计算机是很少见的,只有一些“专家”才有权使用它们。到了上世纪80年代,随着IBM的PC机(1982年推出)和Apple公司的Macintosh(1984年推出)的流行,真正的计算机才开始进入企业和家庭。到上世纪80年代后期,个人计算机已经广泛进入了企业、家庭和大学校园。

第二个原因是计算机bbs的使用。用户可以通过调制解调器拨号进入公告板,下载各种各样的程序。当时,游戏、简单的文字处理软件和电子表格等非常流行。bbs的使用导致了后来我们称之为特洛伊木马病毒的前身的产生。当您看到有关特洛伊木马的介绍时,您会觉得它是一个非常棒的程序。因此才会下载它。不过,当您运行该程序时,它所做出的事情可就没那么好了,比如擦除您磁盘上的数据。您以为只是下载了一个好玩的游戏,而实际它却擦除了您系统中的所有数据。不过,特洛伊木马只能给一小部分用户带来麻烦,因为它们很快就会被发现。这样,公告板的所有者会从系统中清除木马文件,而用户也可以给其他人发送有关病毒的警告邮件。

第三个导致病毒产生的原因是软盘。在上世纪80年代,程序的规模都很小,您甚至可以将操作系统、文字处理软件(以及其他一些程序)连同一些文档统统放入一两张软盘中。当时很多计算机都没有硬盘,在您打开计算机时,就需要从软盘上加载操作系统和其他所有内容。病毒正是利用这三个因素制造了第一个可以自我复制的程序。

早期的病毒都是依附到某个常见程序(例如一款流行的游戏或文字处理软件)中的一小段代码。用户可能从公告板中下载了受感染的游戏,并运行了该游戏。像这样的病毒就是嵌入到一个合法的大型程序中的一小段代码。当用户执行合法程序时,病毒会先运行,而这也正是制造病毒的本意。病毒首先会将自身加载到内存中,然后查找磁盘上是否还有其他程序。如果找到了,它就会修改并将自己的代码添加到这个不受怀疑的程序中。接着,病毒会启动这个“真正的程序”,而用户根本无法知道病毒曾运行过。遗憾的是,这时病毒已经复制了自己,因此有两个程序已被感染了。下次只要执行这两个程序中的任何一个,病毒就会再感染其他程序,并一直循环下去。

如果其中一个受感染的程序通过软盘传播给另外一个用户,或是上传到公告板中,那么其他程序就会受到感染。这就是病毒传播的原理。

传播的过程是病毒的感染阶段。如果病毒只是不断复制自身的话,它们还不会让人如此深恶痛绝。但遗憾的是,绝大多数病毒都有某种破坏性的攻击阶段,它们会在这个阶段造成一些损害。一些类型的触发器会激活病毒的攻击阶段,然后它们就会“采取行动”——在屏幕上输出一封无聊的邮件或擦除您的所有数据等等,无所不能。触发器可能是某个特定日期,可能是病毒被复制的次数,或是其他诸如此类的事情。

典型的感染和保护

随着病毒制造者的水平越来越高,他们掌握了一些新的技巧。其中一项重要技巧就是将病毒加载到内存中,这样只要计算机运行着,这些病毒就可以在后台活动。这使得病毒能够更有效地进行自我复制。另一项技巧是感染软盘和硬盘上的启动扇区。启动扇区是一个小型程序,是计算机启动操作系统时首先加载的部分。它包括一个微型程序,告诉计算机如何加载操作系统的其余部分。通过将自身代码放入启动扇区中,病毒就可以确保自身处于运行状态。它可以立即把自己加载到内存中,而且不管计算机什么时候启动它都可以运行。启动扇区病毒可以感染插入计算机中的任何软盘的启动扇区。在大学校园那种多人共用计算机的地方,它们会像野火一样蔓延。

一般说来,现在可执行病毒和启动扇区病毒都不会再有多大的威胁。第一个原因是现在的程序体积都很庞大。如今您购买的每个程序几乎都是使用光盘形式分发的。光盘不能被修改,因此病毒无法感染它们。而在程序体积非常庞大之时,要想方便地携带它们,唯一简单可行的方法就是购买光盘。现在的用户当然不会像上世纪80年代那样把程序装进软盘中带走。当时购买装满程序的软盘就像买棒球卡一样流行。此外,现在的操作系统都有启动扇区保护机制,从而也削弱了启动扇区病毒的威力。

尽管您的计算机仍然可能会感染启动扇区病毒和可执行病毒,但现在它们要造成危害已经困难得多了,而且基本上不可能像以前那样迅速蔓延了。如果用生物学名词作比喻的话,可以称之为“生境萎缩”。上世纪80年代,由软盘、小型程序和脆弱的操作系统所营造的环境让这些病毒肆虐一时,但随着大型可执行程序、不可修改的光盘以及更好的操作系统防护措施的出现,适于病毒滋生蔓延的温床在很大程度上已不复存在了。

计算机病毒世界最后的顽敌就是电子邮件病毒以及1999年3月爆发的梅丽莎病毒。梅丽莎病毒藏身在Microsoft Word文档中,通过电子邮件进行传播,其原理如下:

有人采用Word文档的形式创造了这种病毒,并上传到互联网新闻组。任何人如果下载并打开该文档都会触发这种病毒。然后,病毒会将文档(连同自身)通过电子邮件发送给被感染者个人地址簿中的前50位联系人。由于邮件含有被感染者的姓名等友好信息,因此收件人会误以为文档是无害的,并打开它。这样病毒就可以从收件人的计算机中再产生50封新的电子邮件。因此,梅丽莎病毒已成为目前为止传播速度最快的病毒!正如前面所提到的,它甚至迫使许多大型公司关闭它们的电子邮件系统。

2000年5月4日爆发的“我爱你”病毒甚至更加简单。它包含一段作为附件的代码。用户如果双击附件,这段代码就会运行。它会将自身的副本发送给被感染计算机地址簿中的所有联系人,然后开始破坏计算机中的文件。这是再简单不过的病毒行为。它更像是一种通过电子邮件传播的特洛伊木马而非病毒。

梅丽莎病毒利用了被称为VBA(Visual Basic for Applications)的Microsoft Word中内置的编程语言。它是一种完整的编程语言,利用它,编程人员可以编写程序来执行一些任务,例如修改文件和发送电子邮件。这种语言还具有一种方便但很危险的自动执行功能。如果将程序插入文档中,那么只要一打开文档,程序就会立即运行。这就是梅丽莎病毒的编程原理。任何人打开受梅丽莎病毒感染的文档,就会立即激活这种病毒。它会发送50封电子邮件,然后感染一个名为NORMAL.DOT的中心文件,这样其后保存的任何文件都会包含该病毒!它曾造成过极其混乱的局面。

Microsoft应用程序内置了一种称为宏病毒保护的功能,可以防御这类病毒。打开“宏病毒保护”功能时(默认选项是“打开”),自动执行功能会被禁用。因此,当文档尝试自动执行病毒代码时,系统就会弹出一个对话框来警告用户。遗憾的是,很多用户并不知道宏或宏病毒为何物,当他们看见该对话框往往把它忽略掉,于是病毒就有机可趁了。还有很多用户甚至关闭了保护机制。因此,尽管有防护措施,梅丽莎病毒还是能够蔓延开来。

对于“我爱你”病毒来说,全部过程都是人为的。如果用户双击了附件中夹带的程序,那么病毒就会运行并执行一些操作。该病毒之所以能够如此猖獗,就是因为用户双击了那些可执行程序。

您可以通过以下几个简单步骤保护自己的计算机免受病毒的侵害:

如果您真的担心感染传统病毒(相对于电子邮件病毒),那么您就应该使用一个更加安全的操作系统,如UNIX。我们从未听说过这些操作系统感染病毒,原因就在于它们的安全功能能够让病毒(和一些不受欢迎的访问者)远离您的硬盘。 如果您使用的是不安全的操作系统,那么购买病毒防护软件不失为一种好的办法。 如果您只是避免运行来自未知源的程序(例如互联网),而且坚持使用通过光盘分发的商业软件,那么您的计算机基本上不会感染传统病毒。除此以外,您还应该禁用软盘引导——现在很多计算机都有这项功能,它可以避免因意外留在驱动器中的软盘而感染启动扇区病毒的危险。 您还应该确保在所有Microsoft应用程序中启用宏病毒保护,并且在知道这些宏会做什么之前,永远不要在文档中运行宏。通常不建议在文档中添加宏,因此避免使用所有的宏是一种很好的策略。

从Microsoft Word的“工具”菜单中,打开“选项”对话框,确保启用了“宏病毒保护”选项,如上图所示。
从Microsoft Word的“工具”菜单中,打开“选项”对话框,确保启用了“宏病毒保护”选项,如上图所示。

永远不要双击通过电子邮件发送过来的、带有可执行程序的电子邮件附件。格式为Word文件(.DOC)、电子表格(.XLS)、图像(.GIF和.JPG)等的文件附件都是数据文件,它们不会带来任何破坏(不会带来上文提及的Word和Excel文档的宏病毒问题)。带有类似EXE、COM或VBS等扩展名的文件都是可执行文件,而可执行文件可以带来任何类型的破坏。一旦您运行了,您就授予了它在您的计算机上执行任何任务的权限。唯一的防护办法就是:永远不要运行通过电子邮件发送过来的可执行文件。

遵循上面的几个简单步骤,即可让您的计算机远离病毒的感染。

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢