1.2 计算机病毒的基本概念
1.2.1 计算机病毒的生物特征
生物病毒是一种独特的传染因子,它是能够利用宿主细胞的营养物质来自主地复制自身的DNA或RNA、蛋白质等生命组成物质的微小生命体;而计算机病毒要复杂得多,计算机病毒是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。生物病毒和计算机病毒是不同领域的两个概念,其物质基础也完全不同,但它们的一些性质却有惊人的相似之处,具体表现在以下几个方面。
1. 宿主
生物病毒都必须在活的宿主细胞中才能得以复制繁殖,利用宿主细胞的核苷酸和氨基酸来自主地合成自身的一些组件,以装配下一代个体。计算机病毒的行为则是将自身的代码插入一段异已的程序代码中去,利用宿主的程序代码被执行或复制的时候,复制自己或产生效应,令系统瘫痪或吞噬计算机资源。
2. 感染性
复制后的生物病毒裂解宿主细胞而被释放出去,感染新的宿主细胞。被复制的计算机病毒代码总要搜寻特定的宿主程序代码并将之感染。生物病毒的核酸好比计算机病毒的循环程序,其不断地循环,导致不断产生新的个体,因而比起计算机病毒更具有感染力。
3. 危害性
生物病毒给人类带来的危害很大,例如,HIV、狂犬病病毒等给人类带来生命的危险;而TMV、马铃薯Y病毒给人带来财产损失。计算机病毒也是如此,一些恶性计算机病毒,会给计算机系统带来毁灭性的破坏,使计算机系统的资源被破坏得无法恢复,甚至会对硬件参数(CMOS参数)进行修改。
4. 微小性
一般的生物病毒个体很小,必须在电子显微镜下才能见到其真面目。计算机病毒也相当短小精悍,其代码一般都较短。例如,Batch计算机病毒(一种*.bat特洛伊木马型计算机病毒)只有271个字节左右的代码长度,Icelandic计算机病毒只有642~656个字节的长度。
5. 简单性
生物病毒往往缺乏许多重要的生物酶系,如核酸合成酶系、呼吸酶系、蛋白质合成酶系等,因此生物病毒必须利用宿主来合成自身所需物质。计算机病毒程序代码一般也都不具备可执行文件的完整结构(Batch计算机病毒和一些特洛伊木马除外),不可以单独地被激活、执行和复制,必须将其代码的不同部分嵌入到宿主程序的各个代码段中去,才能使其具有传染和破坏性。
6. 变异性
HIV是生物病毒中最具代表性的一种,它的变异能力使人的免疫系统无法跟上它的变化。计算机病毒的变异力也大得惊人,已经存在的具有生物学意义的变异特性的计算机病毒,可以通过自身程序来完成变异的功能,这些计算机病毒即为多态性计算机病毒,如DAME计算机病毒,在其同样的复制品中,相同的代码不到3个。
7. 多样性
1892年俄国植物学家D.I-vanoskey发现了烟草花叶病毒(TMV),此后,被发现的生物病毒的数量以惊人的速度增长。在1982年,美国的计算机专家Fredric Cohen博士在他的博士论文中阐述了计算机病毒存在的可能性之后,从1987年首例计算机病毒Brain被发现到现在,计算机病毒的数量已经不胜枚举了。
8. 特异性
不同的生物病毒具有不同的感染机制。计算机病毒也具有特异性,如MacMag计算机病毒是Macintosh计算机的病毒;Macro计算机病毒只能攻击数据表格文件;Lehigh计算机病毒只感染COMMAND.com文件;Invol计算机病毒只感染*.SYS文件。
9. 相容性和互斥性
溶源性噬菌体是典型的具有相容性和互斥性的生物病毒,而计算机病毒Jernsalem只对*.com型文件感染一次,对*.exe文件则可以重复感染,每次都使文件增加1808个字节。
10. 顽固性
由于计算机病毒存在变异性,使得消灭计算机病毒的工作十分不易。斗争具有道高一尺、魔高一丈的特点,计算机技术的不断发展也为计算机病毒提供了更先进的技术和工具,人类要想真正完全地征服计算机病毒,具有相当大的困难。
1.2.2 计算机病毒的生命周期
计算机病毒的产生过程主要可分为:程序设计→传播→潜伏→触发→运行→实行攻击。计算机病毒拥有一个生命周期,即从生成作为其生命周期的开始到被完全清除作为其生命周期的结束。下面简要描述计算机病毒生命周期的各个阶段。
1. 开发期
早期制造一种计算机病毒需要计算机编程语言的知识,但是今天有一点计算机编程知识的人都可能制造出一种计算机病毒。通常,计算机病毒是一些误入歧途的、试图传播计算机病毒和破坏计算机的个人或组织制造的。
2. 传染期
在一种计算机病毒制造出来后,计算机病毒的编写者将其复制并确认其已被传播出去。通常所采用的办法是感染一个流行的程序,再将其放入BBS站点、校园和其他大型组织站点当中,并分发其复制物。
3. 潜伏期
计算机病毒是自然地复制的。一个设计良好的计算机病毒可以在它激活前长时期里被复制,这就给了它充裕的传播时间。这时计算机病毒的危害在于暗中占据存储空间。
4. 发作期
带有破坏机制的计算机病毒会在达到某一特定条件时发作,一旦遇上某种条件,例如,某个日期、或出现了用户采取的某特定行为,计算机病毒就被激活了。
5. 发现期
当一个计算机病毒被检测到并被隔离出来后,就被送到计算机安全协会或反计算机病毒厂家,在那里计算机病毒被通报和描述给反计算机病毒研究工作者。通常发现计算机病毒是在计算机病毒成为计算机社会的灾难之前完成的。
6. 消化期
在这一阶段,反计算机病毒开发人员修改他们的软件以使其可以检测到新发现的计算机病毒。这段时间的长短取决于开发人员的素质和计算机病毒的类型。
7. 消亡期
若是所有用户都安装了最新版的杀毒软件,那么已知的计算机病毒都将被扫除。这样没有什么计算机病毒可以广泛地传播,但有一些计算机病毒在消失之前有一个很长的消亡期。至今,还没有哪种计算机病毒已经完全消失,但是处于消亡期的某些计算机病毒会在很长时间里不再是一个重要的威胁了。
1.2.3 计算机病毒的传播途径
计算机病毒必须要“搭载”到计算机上才能感染系统,通常它们是附加在某个文件上。计算机病毒的传播主要通过文件复制、文件传送、文件执行等方式进行,文件复制与文件传送需要传输媒介,文件执行则是病毒感染的必然途径(宏病毒通过Word、Excel调用间接地执行),因此,病毒传播与文件传播媒体的变化有着直接关系。随着计算机技术的发展而进化,计算机病毒的传播途径大概可以分成以下几种。
第一种途径:通过可移动存储设备来传播。这些设备包括硬盘、U盘、CD、磁带等。
第二种途径:通过网页浏览传播。网页病毒是一些非法网站在其网页中嵌入恶意代码,这些代码一般是利用浏览器的漏洞,在用户的计算机中自动执行传播病毒。
第三种途径:通过网络主动传播。主要有蠕虫病毒。
第四种途径:通过电子邮件传播,病毒在附件中,当打开附件时,病毒就会被激活。
第五种途径:通过QQ、MSN等即时通信软件和点对点通信系统和无线通道传播。
第六种途径:与网络钓鱼相结合的方法转播病毒。
第七种途径:通过手机等移动通信设备传播,因为手机可以轻松上网,无线通信网络将成为病毒传播的新的平台。
其他未知途径:计算机工业的发展在为人类提供更多、更快捷的传输信息方式的同时,也为计算机病毒的传播提供了新的传播途径。
Internet开拓性的发展使病毒可能成为灾难,病毒的传播更迅速,反病毒的任务更加艰巨。网络使用的简易性和开放性使得这种威胁越来越严重。新技术、新病毒使得几乎所有人在不知情时无意中成为病毒扩散的载体或传播者。
1.2.4 计算机病毒发作的一般症状
计算机病毒是人为的特制程序,具有自我复制能力、很强的感染性、一定的潜伏性、特定的触发性和很大的破坏性。计算机病毒类似于生物病毒,它侵袭计算机以后可能很快发作,也可能在几周、几个月、几年内都潜伏,一旦满足某种条件便发作而使整个系统瘫痪。例如,“星期五”计算机病毒就在星期五发作;“CIH”计算机病毒就在每月的26日发作。计算机病毒发作时,总有一些症状是可以观察到的。通过以下一些简单的知识,人们就可以进行相应的防范。
(1)计算机无法启动。病毒破坏了操作系统的引导文件,最典型的病毒是CIH病毒。
(2)计算机经常死机。病毒打开了较多的程序,或者是病毒自我复制,占用了大量的系统资源,造成机器经常死机。对于网络病毒,由于病毒为了传播,通过邮件服务和QQ等聊天软件传播,也会造成系统因为资源耗尽而死机。
(3)文件无法打开。系统中可以执行的文件,突然无法打开。由于病毒感染了文件,可能会使文件损坏,或者是病毒破坏了可执行文件中操作系统中的关联,都会使文件出现打不开的现象。
(4)系统经常提示内存不足。在打开很少程序的情况下,系统经常提示内存不足,通常是病毒占用了大量的系统资源。
(5)磁盘空间不足。自我复制型的病毒,通常会在病毒激活后,进行自我复制,占用硬盘的大量空间。
(6)数据突然丢失。硬盘突然有大量数据丢失,可能是病毒具有删除文件的破坏性导致的。
(7)系统运行速度特别慢。在运行某个程序时,系统响应的时候特别长,响应的时间远远超出了正常响应时间。例如上网速度变慢或连接不到网络。
(8)键盘、鼠标被锁死。部分病毒,可以锁定键盘、鼠标在系统中的使用。
(9)系统每天增加大量来历不明的文件。这一般是病毒进行变种,或入侵系统时遗留下的垃圾文件。
(10)系统自动加载某些程序。系统启动时,病毒可能会修改注册表的键值,自动在后台运行某个程序。部分病毒,如QQ病毒,还会自动发送消息。
不同种类的计算机病毒发作时有不同症状,这和病毒的类型和使用的技术密切相关。