第1章 初识计算机病毒 1.1 计算机病毒基础知识

1   初识计算机病毒

这一章将从概念上简要介绍计算机病毒的基本知识以及计算机病毒的命名,通过对这些概念的了解,从而使我们能更方便的阅读有关计算机病毒信息的文档和书籍。

 

1.1 计算机病毒基础知识

虽然药师我不打算过多的阐述理论概念,但是读者对基本概念还是应该有所了解。毒手药师将简要的介绍一些计算机病毒的相关概念和基本知识。

提示

本章可能涉及一些计算机系统相关概念,如进程、线程等,这些概念在后面章节中有详细介绍。

1.1.1计算机病毒概念

自然界中的生物病毒是一类个体微小、无完整细胞结构、含单一核酸(DNARNA)、必须在活细胞内寄生并复制的非细胞型微生物。而本书所说的计算机病毒,并非是自然界病毒,而是人为的计算机代码。

计算机病毒一词最早是由美国计算机病毒研究专家F.Cohen博士提出的。世界上第一例被证实的计算机病毒是在1983年出现在计算机病毒传播的研究报告中。同时有人提出了蠕虫病毒程序的设计思想。1984年,美国人Thompson开发出了针对UNIX操作系统的病毒程序。1988112,美国康尔大学研究生罗特莫里斯将计算机病毒蠕虫投放到网络中。该病毒程序迅速扩展,造成了大批计算机瘫痪,甚至欧洲联网的计算机也都受到了影响,造成直接经济损失近亿美元。

计算机病毒实际是一个程序,一段可执行代码。就像生物病毒一样,计算机病毒有独特的复制能力。计算机病毒可以很快地蔓延,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被复制或从一个用户传送到另一个用户时,它们就随同文件的使用一起蔓延开来。除了复制能力外,某些计算机病毒还有其它一些共同特性:一个被污染的程序能够传送病毒载体。当你看到病毒载体似乎仅仅表现在文字或图象上时,它们可能已毁坏了文件、再格式化了你的硬盘驱动器或引发了其它类型的灾害。若是病毒并不寄生于一个污染程序,它仍然能通过占据存贮空间给你带来麻烦,并降低你的计算机的全部性能。

计算机病毒有很多种定义,国外流行的定义是指一段附着在其他程序上的可以实现自我繁殖的程序代码。可以从不同角度给出计算机病毒的定义。一种定义是通过磁盘、磁带和网络等作为媒介传播扩散,能“传染”其他程序的程序。另一种是能够实现自身复制且借助一定的载体存在的具有潜伏性、传染性和破坏性的程序。还有的定义是一种人为制造的程序, 它通过不同的途径潜伏或寄生在存储媒体(如磁盘、内存)或程序里。当某种条件或时机成熟时, 它会自身复制并传播, 使计算机的资源受到不同程度的破坏等等。这些说法在某种意义上借用了生物学病毒的概念, 计算机病毒同生物病毒所相似之处是能够侵入计算机系统和网络, 危害正常工作的病原体。它能够对计算机系统进行各种破坏, 同时能够自我复制, 具有传染性。所以, 计算机病毒就是能够通过某种途径潜伏在计算机存储介质(或程序)里, 当达到某种条件时即被激活的具有对计算机资源进行破坏作用的一组程序或指令集合。

在《中华人民共和国计算机信息系统安全保护条例》中明确定义,病毒是“指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。

在这里我们要知道计算机病毒也是一个程序,或者是一段可执行的代码。而这个程序或者可执行代码对计算机功能或者数据具有破坏性,并且具有传播、隐蔽、偷窃等特性。

1.1.2   计算机病毒的特点

计算机病毒是人为编写的,具有自我复制能力,是未经用户允许而执行的代码。一般正常的程序是由用户调用,再由系统分配资源,完成用户交给的任务,其目的对用户是可见的、透明的。而计算机病毒具有正常程序的一切特性,它隐藏在正常程序中,当用户调用正常程序时,它窃取到系统的控制权,先于正常程序执行,病毒的动作、目的对用户是未知的并且未经用户允许的。它的主要特征如下:

1.破坏性

任何病毒只要侵入系统,都会对系统及应用程序产生不同程度的影响。良性病毒可能只显示些画面或发出点音乐、无聊的语句,或者根本没有任何破坏动作,只是会占用系统资源。恶性病毒则有明确的目的,或破坏数据、删除文件或加密磁盘、格式化磁盘,有的甚至对数据造成不可挽回的破坏。

凡是由软件手段能触及到计算机资源的地方均可能受到计算机病毒的破坏。其表现:占用CPU时间和内存开销, 从而造成进程堵塞;对数据或文件进行破坏;打乱屏幕的显示等。

2.隐蔽性

病毒一般是具有很高编程技巧、短小精悍的一段程序,通常潜入在正常程序或磁盘中。病毒程序与正常程序不容易被区别开来,在没有防护措施的情况下,计算机病毒程序取得系统控制权后,可以在很短的时间内感染大量程序。而且计算机系统在受到感染后通常仍能正常运行,用户不会感到有任何异常。试想,如果病毒在传染到计算机上之后,机器会马上无法正常运行,那么它本身便无法继续进行传染了。正是由于其隐蔽性,计算机病毒得以在用户没有察觉的情况下扩散到其他计算机中。大部分病毒的代码之所以设计地非常短小,也是为了隐藏。多数病毒一般只有几百或几千字节,而计算机机对文件的存取速度比这要快的多。病毒将这短短的几百字节加入到正常程序之中,使人不易察觉。甚至一些病毒程序大多夹在正常程序之中, 很难被发现。

3.潜伏性

大部分病毒在感染系统之后不会马上发作,它可以长时间隐藏在系统中,只有在满足其特定条件时才启动其表现(破坏)模块。只有这样它才可以进行广泛地传播。如PETER-2在每年227日会提3个问题,答错后将会把硬盘加密。著名的黑色星期五在逢13号的星期五发作。国内的上海一号会在每年三、六、九月的13日发作。当然,最令人难忘的便是426发作的CIH病毒。这些病毒在平时会隐藏得很好,只有在发作日才会露出本来面目。

4.传染性

对于绝大多数计算机病毒来讲,传染是它的一个重要特性。它通过修改别的程序, 并把自身的拷贝包括进去, 从而达到扩散的目的。正常的计算机程序一般是不会将自身的代码强行连接到其他程序之上的。而病毒却能够使自身的代码强行传染到一切符合其传染条件的未受到传染的程序之上。计算机病毒可以通过各种可能的渠道,如软盘、光盘和计算机网络去传染给其他的计算机。当你在一台机器上发现了病毒时,往往曾经在这台计算机上使用过的软盘也已感染上了病毒,而与这台机器相联网的其他计算机或许也被该病毒感染了。是否具有传染性是判别一段程序是否为计算机病毒的最重要条件。

一个被病毒感染的程序能够传送病毒载体,如同感冒,能被传染。当你看到病毒载体似乎仅仅表现在文字和图像上时,它可能也已毁坏了文件、再格式化了你硬盘,删除了驱动或造成了其它各种类型的灾害。若是病毒并不寄生于单独一个被感染的程序,它还能通过占据存储空间给你带来麻烦,并降低你的计算机的全部性能。和生物病毒在传播上相似,所以也就有“计算机病毒”名称的由来。

5.不可预见性

从对病毒的检测方面来看,病毒还有不可预见性。不同种类的病毒,其代码千差万别,但有些操作是共有的,如驻留内存,改中断。有些人利用病毒的这种共性,制作了声称可以查找所有病毒的程序。这种程序的确可以查出一些新病毒,但由于目前的软件种类极其丰富,而且某些正常程序也使用了类似病毒的操作甚至借鉴了某些病毒的技术。使用这种方法对病毒进行检测势必会产生许多误报。而且病毒的制作技术也在不断的提高,病毒对反病毒软件永远是超前的。

1.1.3   计算机病毒的产生与发展

冯•诺伊曼是20世纪最杰出的数学家之一,在他的一篇论文《复杂自动装置的理论及组织的进行》中,早已勾勒出病毒程序的蓝图。不过,在当时绝大部分的电脑专家都无法想像会有这种能自我繁殖的程序。 1975 年,美国科普作家约翰•布鲁勒尔(John Brunner)写了一本名为《震荡波骑士》(Shock Wave Rider) 的书,该书第一次描写了在信息社会中,计算机作为正义和邪恶双方斗争的工具的故事,成为当年最佳畅销书之一。1977 年,托马斯•捷•瑞安的科幻小说《P-1的春天》成为美国的畅销书,作者在这本书中描写了一种可以在计算机中互相传染的病毒,病毒最后控制了7000 台计算机,造成了一场灾难。而几乎在同一时间,美国著名的AT&T贝尔实验室中,3个年轻人在工作之余,很无聊的玩起了一种游戏:彼此编写出能够吃掉别人程序的程序来互相作战。这个叫做“磁芯大战”的游戏,进一步将电脑病毒的概念体现出来。 

1983113,弗雷德•科恩博士研制出一种在运行过程中可以复制自身的破坏性程序,伦•艾德勒曼 (Len Adleman) 将它命名为计算机病毒(computer viruses),并在每周一次的计算机安全讨论会上正式提出,8小时后专家们在 VAX11/750 计算机系统上运行,第一个病毒实验成功,一周后又获准进行 5 个实验的演示,从而在实验上验证了计算机病毒的存在。1986年初,在巴基斯坦的拉合尔(Lahore),巴锡特(Basit)和阿姆杰德(Amjad) 两兄弟编写了Pakistan 病毒,即C-BRAIN,该病毒在一年内流传到了世界各地。由于当地盗拷软件的风气非常盛行,因此他们的目的主要是为了防止他们的软件被任意盗拷。只要有人盗拷他们的软件,C-BRAIN就会发作,将盗拷者的硬盘剩余空间给吃掉。业界认为,这是真正具备完整特征的计算机病毒的始祖。

198832,一种苹果机的病毒发作,这天受感染的苹果机停止了工作,显示器只显示“向所有苹果电脑的使用者宣布和平的信息”,以庆祝苹果机生日。1988112,美国6000多台计算机被病毒感染,导致Internet不能正常运行。这是一次非常典型的计算机病毒入侵计算机网络的事件,该事件迫使美国政府立即作出反应,国防部成立了计算机应急行动小组。这次事件中遭受攻击的涉及5个计算机中心和12个地区结点,连接着政府、大学、研究所和拥有政府合同的250000台计算机。在这次病毒事件中,计算机系统直接经济损失达9600万美元。这个病毒程序的设计者罗伯特•莫里斯(Robert T.Morris),当年23岁,是在康乃尔(Cornell)大学攻读学位的研究生。罗伯特•莫里斯设计的病毒程序利用了系统存在的弱点。由于罗伯特•莫里斯成了入侵 ARPANET 网的最大的电子入侵者,而获准参加康乃尔大学的毕业设计,并获得哈佛大学Aiken中心超级用户的特权。他也因此被判3年缓刑,罚款1万美元,他还被命令进行400小时的新区服务。

计算机病毒并不是来源于突发或偶然的原因。一次突发的停电或偶然的错误,会在计算机磁盘和内存中产生一些乱码和随机指令,但这些代码是无序和混乱的。计算机病毒是一种比较完美的,精巧严谨的代码。这些代码按照严格的秩序组织起来,与所在的系统网络环境相适应,病毒不会通过偶然形成,并且需要有一定的长度,这个基本的长度从概率上来讲是不可能通过随机代码产生的。因此实际上计算机病毒是人为的特制程序。现在流行的病毒都是为了达到一定目的而由人为故意编写的。多数病毒可以找到作者信息和产地信息。通过大量的资料分析统计来看,病毒作者主要目的一般是:一些天才的程序员为了表现自己和证明自己的能力,而特制的一些恶作剧程序,从中寻找整蛊的快感。而另一些则为了达到一定目的,如对上司的不满,为了好奇,为了报复,或者为了谋取非法利益而编写具有隐藏,偷窃等行为的病毒。当然也有因政治、军事、宗教、民族、专利等方面需求而专门编写的,其中也包括一些病毒研究机构和黑客的测试病毒。计算机病毒的产生是计算机技术和以计算机为核心的社会信息化进程发展到一定阶段的必然产物。其产生的过程为:程序设计、传播、潜伏、触发、运行、实行攻击。究其产生的原因不外乎以下几种

1一些程序设计者出于好奇或兴趣,也有的是为了满足自己的表现欲或者一些搞计算机的人员和业余爱好者的恶作剧、寻开心故意编制出一些特殊的计算机程序。这些程序让别人的计算机出现一些动画,或播放声音,或别的恶作剧,以显示自己的才干。而这种程序流传出去就演变成了计算机病毒,此类病毒破坏性一般不大。例如象圆点一类的良性病毒。

2软件公司及用户为保护自己的软件被非法复制而采取的报复性惩罚措施。因为他们发现对软件上锁,不如在其中藏有病毒对非法拷贝的打击大。于是就运用加密技术编写一些特殊程序附在正版软件上,如遇到非法使用,则此类程序自动被激活,于是又会产生一些新病毒,如巴基斯坦病毒。这更加助长了各种病毒的传播。

3)旨在攻击和摧毁计算机信息系统和计算机系统而制造的病毒----就是蓄意进行破坏。例如1987年底出现在以色列耶路撒冷西伯莱大学的犹太人病毒, 就是雇员在工作中受挫或被辞退时故意制造的。它针对性强, 破坏性大, 产生于内部, 防不胜防。

4)用于研究或有益目的而设计的程序, 由于某种原因失去控制或产生了意想不到的效果。

5产生于游戏。编程人员在无聊时互相编制一些程序输入计算机,让程序去销毁对方的程序,如最早的磁芯大战,这样,新的病毒又产生了。

6)产生于个别人的报复心理,如台湾的学生陈盈豪,就是属于这种情况;他以前曾购买了一些杀毒软件,但是,拿回家使用时发现,并不如厂家所说的那么厉害,杀不了什么病毒,于是他就想亲自编写一个能避过各种杀毒软件的病毒,这样,CIH就诞生了。这种病毒对计算机用户曾造成一度的灾难。

7)由于政治、商业和军事等特殊目的。一些组织或个人也会编制一些程序用于进攻对方系统,给对方造成灾难或直接性的经济损失。

1.1.4  病毒的发展过程

相对于操作系统的发展,计算机病毒大致经历了以下阶段。

1.  DOS引导阶段

1987年,计算机病毒主要是引导型病毒,具有代表性的是“小球”、2708病毒和“石头”病毒。那时的电脑硬件较少,功能简单,经常使用软盘启动和用软盘在计算机之间传递文件。而引导型病毒正是利用了软盘的启动原理工作,修改系统引导扇区,在电脑启动时首先取得控制权,减少系统内存,修改磁盘读写中断,在系统存取磁盘时进行传播。

2.  DOS可执行阶段

1989年,可执行文件型病毒出现,它们利用DOS系统加载执行文件的机制工作,如“耶路撒冷”、“星期天”等病毒。可执行型病毒的代码在系统执行文件时取得控制权,修改DOS中断,在系统调用时进行传染,并将自己附加在可执行文件中,使文件长度增加。1990年,这种病毒发展成复合型病毒,可同时感染COMEXE文件。

3.  伴随体型阶段

1992年,伴随型病毒出现,它们利用DOS加载文件的优先顺序进行工作。具有代表性的是“金蝉”病毒,它感染EXE文件的同时会生成一个和EXE同名而扩展名为COM的伴随体;它感染COM文件时,改为原来的COM文件为同名的EXE文件,在产生一个原名的伴随体,文件扩展名为COM。这样,在DOS加载文件时,总是先加载扩展名为COM的文件,病毒文件会取得控制权,优先执行自己的代码。该类病毒并不改变原来的文件内容,日期及属性,解除病毒时只要将其伴随体删除即可,非常容易。其典型代表是“海盗旗”病毒,它在得到执行时,询问用户名称和口令,然后返回一个出错信息,并将自身删除。

4.  变形阶段

1994年,汇编语言得到了快速的发展。要实现一种功能,通过汇编语言可以用不同的方式来实现,这些方式的组合使一段看似随机的代码产生相同的运算结果。而典型的变形病毒“幽灵病毒”就是利用了这个特点,每感染一次就产生不同的代码。例如,“一半”病毒就是产生一段有上亿种可能的解码运算程序,病毒体被隐藏在解码前的数据中,查解这类病毒就必须能对这段数据进行解码,因此加大了查毒的难度。变形病毒是一种综合性病毒,它既能感染引导区,又能感染程序区,多数具有解码算法,一种病毒往往要两段以上的子程序方能解除。

5.  变种阶段

1995年,在汇编语言中,一些数据的运算放在不同的通用寄存器中可运算出同样的结果,随机插入一些空操作和无关命令,也不影响运算的结果。这样,某些解码算法可以由生成器生成不同的变种。其代表——“病毒制造机”VCL,它可以在瞬间制造出成千上万种不同的病毒,查解时不能使用传统的特征码识别法,而需要在宏观上分析命令,解码后方可查解病毒,大大提高了复杂程度。

6.  蠕虫阶段

蠕虫是无须计算机使用者干预即可运行的独立程序,它通过不停的获得网络中存在漏洞的计算机上的部分或全部控制权来进行蠕动。1995年,随着网络的普及,病毒开始利用网络进行传播,它们只是以上几代病毒的改进。在Windows操作系统中,“蠕虫”是典型的代表,它不占用除内存以外的任何资源,不修改磁盘文件,利用网络功能搜索网络地址,将自身向下一个地址进行传播,有时也存在网络服务器和启动文件中。

7.  PE文件病毒

1996年开始,随着Windows的日益普及,利用Windows进行工作的病毒开始发展,它们修改(LEPE)文件,典型的代表是1999年出现的CIH,这类病毒利用保护模式和API调用接口工作。

8.  宏病毒阶段

1996年以后,随着MS Office功能的增强及流行,使用Word宏语言也可以编制病毒,这种病毒使用VBasic Script语言,编写容易,感染Word文件和模板。同时也出现了针对ExcelLotus中的宏的宏病毒。

9.  互联网病毒阶段

1997年以后,因特网发展迅速,各种病毒也开始利用因特网进行传播,一些携带病毒的数据包和邮件越来越多,如果不小心打开了这些邮件或登录了带有病毒的网页,计算机就有可能中毒。典型代表有“尼姆达”、“欢乐时光”和“欢乐谷”等病毒。以2003年出现的“冲击波”病毒为代表,出现了以利用系统或应用程序漏洞,采用类似黑客手段进行感染的病毒。

1.1.5  病毒的发展趋势

每当一种新的计算机技术广泛应用的时候,总会有相应的病毒随之出现。例如,随着微软宏技术的应用,宏病毒成了简单而又容易制作的流行病毒之一;随着Internet网络的普及,各种蠕虫病毒如爱虫、SirCAM等疯狂传播。本世纪初甚至产生了集病毒和黑客攻击于一体的病毒,如“红色代码(CordRed)”病毒、Nimda病毒和“冲击波”病毒等。从某种意义上说,21世纪是计算机病毒与反病毒激烈角逐的时代。在网络技术飞速发展的今天,病毒的发展呈现出以下趋势:

1.  病毒与黑客技术相结合

网络的普及与网速的提高,计算机之间的远程控制越来越方便,传输文件也变得非常快捷,正因如此,病毒与黑客技术结合以后的危害更为严重,病毒的发作往往在侵入了一台计算机后,又通过网络侵入其他网络上的机器。

2.  蠕虫病毒更加泛滥

其表现形式是邮件病毒、网页病毒,利用系统存在漏洞的病毒会越来越多,这类病毒由受到感染的计算机自动向网络中的计算机发送带毒文件,然后执行病毒程序。

3.  病毒破坏性更大

计算机病毒不再仅仅以侵占和破坏单机的资源为目的。木马病毒的传播使得病毒在发作的时候有可能自动联络病毒的创造者(如爱虫病毒),或者采取DoS(拒绝服务)的攻击(如最近的“红色代码”病毒)。一方面可能会导致本机机密资料的泄漏,另一方面会导致一些网络服务的中止。而蠕虫病毒则会抢占有限的网络资源,造成网络堵塞(如最近的Nimda病毒),如有可能,还会破坏本地的资料(如针对911恐怖事件的Vote病毒)

4.  制作病毒的方法更简单

可以说能够写病毒的人都是技术水平很高的人,或者可以称为专家。然而这样的人并不多,所以写出的病毒数字也不可能很惊人。但是网络的普及,使得编写病毒的知识越来越容易获得。同时,各种功能强大而易学的编程工具使用户可以轻松编写一个具有极强杀伤力的病毒程序。并且当前已经诞生专用来生成具有各种功能病毒的病毒生成器,而且这类工具已经泛滥。正是由于这种工具的出现使得一般的计算机使用人员都可以利用它制造病毒,只需要通过简单的操作就可以生成具有破坏性的病毒。所以现在新病毒出现的频率超出以往的任何时候。

5.  病毒传播速度更快,传播渠道更多

目前上网用户已不再局限于收发邮件和网站浏览,此时,文件传输成为病毒传播的另一个重要途径。随着网速的提高,在数据传输时间变短的同时,病毒的传送时间会变得更加微不足道。同时,其他的网络连接方式如ICQIRC也成为了传播病毒的途径。

6.  病毒的检测与查杀更困难

病毒可能采用一些技术防止被查杀,如变形、对原程序加密、拦截API函数、甚至主动攻击杀毒软件等。

 

 

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值