护条例》中被明确定义,病毒指“编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。这是目前官方最权威的关于计算机病毒的定义,此定义也被通行的《计算机病毒防治产品评级准则》的国家标准所采纳。
1.1.1. 计算机病毒的基本特征
? 可执行性
计算机病毒与其他合法程序一样,是一段可执行程序,但它不是一个完整的程序,而是寄生在其他可执行程序上,因此它享有一切程序所能得到的权力。在病毒运行时,与合法程序争夺系统的控制权。
计算机病毒只有当它在计算机内得以运行时,才具有传染性和破坏性等活性。也就是说计算机CPU的控制权是关键问题。若计算机在正常程序控制下运行,而不运行带病毒的程序,则这台计算机总是可靠的。在这台计算机上可以查看病毒文件的名字,查看计算机病毒的代码,打印病毒的代码,甚至拷贝病毒程序,却都不会感染上病毒。反病毒技术人员整天就是在这样的环境下工作。他们的计算机虽也存有各种计算机病毒的代码,但己置这些病毒于控制之下,计算机不会运行病毒程序,整个系统是安全的。相反,计算机病毒一经在计算机上运行,在同一台计算机内病毒程序与正常系统程序,或某种病毒与其他病毒程序争夺系统控制权时往往会造成系统崩溃,导致计算机瘫痪。
? 传染性
传染性是生物病毒的基本特征。同样,计算机病毒也会通过各种渠道从已被感染的计算机扩散到未被感染的计算机,在某些情况下造成被感染的计算机工作失常甚至瘫痪。与生物病毒不同的是,计算机病毒是一段人为编制的计算机程序代码,这段程序代码一旦进入计算机并得以执行,它就会搜寻其他符合其传染条件的程序或存储介质,确定目标后再将自身代码插入其中,达到自我繁殖的目的。只要一台计算机染毒,如不及时处理,那么病毒会在这台机子上迅速扩散,其中的大量文件(一般是可执行文件) 会被感染。而被感染的文件又成了新的传染源,再与其他机器进行数据交换或通过网络接触,病毒会继续进行传染。 ? 破坏性
所有的计算机病毒都是一种可执行程序,而这一可执行程序又必然要运行,所以对系统来讲,所有的计算机病毒都存在一个共同的危害,即降低计算机系统的工作效率,占用系统资源,其具体情况取决于入侵系统的病毒程序。同时计算机病毒的破坏性主要取决于计算机病毒设计者的目的,如果病毒设计者的目的在于
2
彻底破坏系统的正常运行的话,那么这种病毒对于计算机系统进行攻击造成的后果是难以设想的,它可以毁掉系统的部分数据,也可以破坏全部数据并使之无法恢复。但并非所有的病毒都对系统产生极其恶劣的破坏作用。有时几种本没有多大破坏作用的病毒交叉感染,也会导致系统崩溃等重大恶果。 ? 潜伏性
一个编制精巧的计算机病毒程序,进入系统之后一般不会马上发作,可以在几周或者几个月内甚至几年内隐藏在合法文件中,对其他系统进行传染,而不被人发现,潜伏性愈好,其在系统中的存在时间就会愈长,病毒的传染范围就会愈大。潜伏性的第一种表现是指,病毒程序不用专用检测程序是检查不出来的,因此病毒可以静静地躲在磁盘里呆上几天,甚至几年,一旦时机成熟,得到运行机会,就又要四处繁殖、扩散,继续为害。潜伏性的第二种表现是指,计算机病毒的内部往往有一种触发机制,不满足触发条件时,计算机病毒除了传染外不做什么破坏。触发条件一旦得到满足,有的在屏幕上显示信息、图形或特殊标识,有的则执行破坏系统的操作,如格式化磁盘、删除磁盘文件、对数据文件做加密、封锁键盘以及使系统死锁等。 ? 隐蔽性
病毒一般是具有很高编程技巧,短小精悍的程序。通常附在正常程序中或磁盘较隐蔽的地方,也有个别的以隐含文件形式出现。目的是不让用户发现它的存在。如果不经过代码分析,病毒程序与正常程序是不容易区别开来的。一般在没有防护措施的情况下,计算机病毒程序取得系统控制权后,可以在很短的时间里传染大量程序。而且受到传染后,计算机系统通常仍能正常运行,使用户不会感到任何异常,好像不曾在计算机内发生过什么。正是由于隐蔽性,计算机病毒得以在用户没有察觉的情况下扩散并游荡于世界上百万台计算机中。大部分的病毒的代码之所以设计得非常短小,也是为了隐藏。病毒一般只有几百或1 K 字节,而PC 机对DOS 文件的存取速度可达每秒几百KB 以上,所以病毒转瞬之间便可将这短短的几百字节附着到正常程序之中,使人非常不易察觉。 ? 针对性
计算机病毒一般都是针对于特定的操作系统,比如说微软的Windows98 、2000 和XP。还有针对特定的应用程序,现在比较典型的微软的Outlook、IE、服务器,叫CQ 蠕虫,通过感染数据库服务器进行传播的,具有非常强的针对性,针对
3
一个特定的应用程序或者就是针对操作系统进行攻击,一旦攻击成功,它会发作。这种针对性有两个特点,一个是如果对方就是他要攻击的机器,他能完全对操作系统获得对方的管理权限,就可以肆意妄为。还有如果对方不是他针对的操作系统,比如对方用的不是微软的Windows ,用的可能是Unix ,这种病毒就会失效。 ? 可触发性
病毒因某个事件或数值的出现,诱使病毒实施感染或进行攻击的特性称为可触发。为了隐蔽自己,病毒必须潜伏,少做动作。如果完全不动,一直潜伏的话,病毒既不能感染也不能进行破坏,便失去了杀伤力。病毒既要隐蔽又要维持杀伤力,它必须具有可触发性。病毒的触发机制就是用来控制感染和破坏动作的频率的。病毒具有预定的触发条件,这些条件可能是时间、日期、文件类型或某些特定数据等。病毒运行时,触发机制检查预定条件是否满足,如果满足,启动感染或破坏动作,使病毒进行感染或攻击;如果不满足,使病毒继续潜伏。
与医学上的“病毒”不同,计算机病毒不是天然存在的,是某些人利用计算机软件和硬件所固有的脆弱性编制的一组指令集或程序代码。它能通过某种途径潜伏在计算机的存储介质(或程序)里,当达到某种条件时即被激活,通过修改其他程序的方法将自己的精确拷贝或者可能演化的形式放入其他程序中。从而感染其他程序,对计算机资源进行破坏,所谓的病毒就是人为造成的,对其他用户的危害性很大。
1.2. 计算机病毒的分类
1.2.1.
? 按照计算机病毒侵入的系统分类
? 按照计算机病毒侵入的系统分类 (1) DOS系统下的病毒 (2) Windows系统下的病毒 (3) UNIX系统下的病毒 (4) OS/2系统下的病毒
? 按照计算机病毒的链接方式分类 (1) 源码型病毒
这种病毒主要攻击高级语言编写的程序,该病毒在高级语言所编写的程序编译前插入到源程序中,经编译成为合法程序的一部分。 (2) 嵌入型病毒
4
这种病毒是将自身嵌入到现有程序中,把病毒主体程序与其攻击的对象以插入方式链接。 (3) 外壳型病毒
这种病毒将自身包围在被侵入的程序周围,对原来的程序不作修改。
(4) 操作系统型病毒
这种病毒用它自己的程序代码加入或取代部分操作系统代码进行工作,具有很强的破坏力,可以使整个系统瘫痪。 ? 按照计算机病毒的寄生部位或传染对象分类
(1) 磁盘引导型病毒 (2) 操作系统型病毒
(3) 感染可执行程序的病毒 (4) 感染带有宏的文档
? 按照计算机病毒的传播介质来分类 (1) 单机病毒 (2) 网络病毒
? 按照计算机病毒存在的媒体进行分类 (1) 网络病毒 (2) 文件病毒 (3) 引导型病毒 (4) 混合型病毒
? 按照计算机病毒传染的方法进行分类 (1) 邮件病毒 (2) U盘病毒 (3) 网页病毒 (4) 文件病毒
? 根据病毒的破坏情况划分 (1) 良性病毒 (2) 恶性不得
? 按照计算机病毒功能进行分类 (1) 感染型(VIRUS) (2) 蠕虫型(WORM) (3) 后门型(BACKDOOR) (4) 木马型(TROJAN
(5) 病毒工具(VIRUSTOOL)
(6) 黑客工具-病毒生成器(CONSTRUCTOR) (7) 玩笑程序(JOKE)
按照计算机病毒的链接方式分类
5