计算机病毒防御技术

时间:2022-01-10 11:13:00

计算机病毒防御技术

一、计算机病毒的定义及其特点和分类

(一)计算机病毒的定义

在《中华人民共和国计算机信息系统安全保护条例》中,计算机病毒(ComputerVirus)被明确定义为:“编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。而在一般教科书及通用资料中被定义为:利用计算机软件与硬件的缺陷,由被感染机内部发出的破坏计算机数据并影响计算机正常工作的一组指令集或程序代码。

历史上,计算机病毒最早出现在70年代DavidGerrold科幻小说WhenH.A.R.L.I.E.wasOne.最早科学定义出现在1983:在FredCohen(南加大)的博士论文“计算机病毒实验”“一种能把自己(或经演变)注入其它程序的计算机程序”启动区病毒,宏(macro)病毒,脚本(script)病毒也是相同概念传播机制同生物病毒类似.生物病毒是把自己注入细胞之中。

其实,和其他生物病毒一样,计算机病毒有独特的复制能力,它可以很快地蔓延,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。

(二)计算机病毒的特点

1、寄生性:计算机病毒寄生在其他程序之中,当执行这个程序时,病毒就起破坏作用,而在未启动这个程序之前,它是不易被人发觉的。

2、传染性:计算机病毒不但本身具有破坏性,更有害的是具有传染性,一旦病毒被复制或产生变种,其速度之快令人难以预防。传染性是病毒的基本特征。在生物界,病毒通过传染从一个生物体扩散到另一个生物体。在适当的条件下,它可得到大量繁殖,并使被感染的生物体表现出病症甚至死亡。同样,计算机病毒也会通过各种渠道从已被感染的计算机扩散到未被感染的计算机,在某些情况下造成被感染的计算机工作失常甚至瘫痪。与生物病毒不同的是,计算机病毒是一段人为编制的计算机程序代码,这段程序代码一旦进入计算机并得以执行,它就会搜寻其他符合其传染条件的程序或存储介质,确定目标后再将自身代码插入其中,达到自我繁殖的目的。只要一台计算机染毒,如不及时处理,那么病毒会在这台机子上迅速扩散,其中的大量文件(一般是可执行文件)会被感染。而被感染的文件又成了新的传染源,再与其他机器进行数据交换或通过网络接触,病毒会继续进行传染。正常的计算机程序一般是不会将自身的代码强行连接到其他程序之上的。而病毒却能使自身的代码强行传染到一切符合其传染条件的未受到传染的程序之上。计算机病毒可通过各种可能的渠道,如软盘、计算机网络去传染其他的计算机。当您在一台机器上发现了病毒时,往往曾在这台计算机上用过的软盘已感染上了病毒,而与这台机器相联网的其他计算机也许也被该病毒染上了。是否具有传染性是判别一个程序是否为计算机病毒的最重要条件。病毒程序通过修改磁盘扇区信息或文件内容并把自身嵌入到其中的方法达到病毒的传染和扩散。被嵌入的程序叫做宿主程序;

3、潜伏性:有些病毒像定时炸弹一样,让它什么时间发作是预先设计好的。比如黑色星期五病毒,不到预定时间一点都觉察不出来,等到条件具备的时候一下子就爆炸开来,对系统进行破坏。一个编制精巧的计算机病毒程序,进入系统之后一般不会马上发作,可以在几周或者几个月内甚至几年内隐藏在合法文件中,对其他系统进行传染,而不被人发现,潜伏性愈好,其在系统中的存在时间就会愈长,病毒的传染范围就会愈大。潜伏性的第一种表现是指,病毒程序不用专用检测程序是检查不出来的,因此病毒可以静静地躲在磁盘或磁带里呆上几天,甚至几年,一旦时机成熟,得到运行机会,就又要四处繁殖、扩散,继续为害。潜伏性的第二种表现是指,计算机病毒的内部往往有一种触发机制,不满足触发条件时,计算机病毒除了传染外不做什么破坏。触发条件一旦得到满足,有的在屏幕上显示信息、图形或特殊标识,有的则执行破坏系统的操作,如格式化磁盘、删除磁盘文件、对数据文件做加密、封锁键盘以及使系统死锁等;

4、隐蔽性:计算机病毒具有很强的隐蔽性,有的可以通过病毒软件检查出来,有的根本就查不出来,有的时隐时现、变化无常,这类病毒处理起来通常很困难。

5、破坏性:计算机中毒后,可能会导致正常的程序无法运行,把计算机内的文件删除或受到不同程度的损坏。通常表现为:增、删、改、移。

6、计算机病毒的可触发性:病毒因某个事件或数值的出现,诱使病毒实施感染或进行攻击的特性称为可触发性。为了隐蔽自己,病毒必须潜伏,少做动作。如果完全不动,一直潜伏的话,病毒既不能感染也不能进行破坏,便失去了杀伤力。病毒既要隐蔽又要维持杀伤力,它必须具有可触发性。病毒的触发机制就是用来控制感染和破坏动作的频率的。病毒具有预定的触发条件,这些条件可能是时间、日期、文件类型或某些特定数据等。病毒运行时,触发机制检查预定条件是否满足,如果满足,启动感染或破坏动作,使病毒进行感染或攻击;如果不满足,使病毒继续潜伏。

(三)计算机病毒的分类

1、根据病毒存在的媒体,病毒可以划分为网络病毒,文件病毒,引导型病毒。网络病毒通过计算机网络传播感染网络中的可执行文件,文件病毒感染计算机中的文件(如:COM,EXE,DOC等),引导型病毒感染启动扇区(Boot)和硬盘的系统引导扇区(MBR),还有这三种情况的混合型,例如:多型病毒(文件和引导型)感染文件和引导扇区两种目标,这样的病毒通常都具有复杂的算法,它们使用非常规的办法侵入系统,同时使用了加密和变形算法。

2、根据病毒传染的方法可分为驻留型病毒和非驻留型病毒,驻留型病毒感染计算机后,把自身的内存驻留部分放在内存(RAM)中,这一部分程序挂接系统调用并合并到操作系统中去,他处于激活状态,一直到关机或重新启动.非驻留型病毒在得到机会激活时并不感染计算机内存,一些病毒在内存中留有小部分,但是并不通过这一部分进行传染,这类病毒也被划分为非驻留型病毒。

3、根据病毒破坏的能力可划分为以下几种:

无害型:除了传染时减少磁盘的可用空间外,对系统没有其它影响。

无危险型:这类病毒仅仅是减少内存、显示图像、发出声音及同类音响.

危险型:这类病毒在计算机系统操作中造成严重的错误.

非常危险型:这类病毒删除程序、破坏数据、清除系统内存区和操作系统中重要的信息。这些病毒对系统造成的危害,并不是本身的算法中存在危险的调用,而是当它们传染时会引起无法预料的和灾难性的破坏。由病毒引起其它的程序产生的错误也会破坏文件和扇区,这些病毒也按照他们引起的破坏能力划分。一些现在的无害型病毒也可能会对新版的DOS、Windows和其它操作系统造成破坏。例如:在早期的病毒中,有一个“Denzuk”病毒在360K磁盘上很好的工作,不会造成任何破坏,但是在后来的高密度软盘上却能引起大量的数据丢失。

4、根据病毒特有的算法,病毒可以划分为:(1)伴随型病毒,这一类病毒并不改变文件本身,它们根据算法产生EXE文件的伴随体,具有同样的名字和不同的扩展名(COM),例如:XCOPY.EXE的伴随体是。病毒把自身写入COM文件并不改变EXE文件,当DOS加载文件时,伴随体优先被执行到,再由伴随体加载执行原来的EXE文件。(2)“蠕虫”型病毒,通过计算机网络传播,不改变文件和资料信息,利用网络从一台机器的内存传播到其它机器的内存,计算网络地址,将自身的病毒通过网络发送。有时它们在系统存在,一般除了内存不占用其它资源。(3)寄生型病毒除了伴随和“蠕虫”型,其它病毒均可称为寄生型病毒,它们依附在系统的引导扇区或文件中,通过系统的功能进行传播,按其算法不同可分为:练习型病毒,病毒自身包含错误,不能进行很好的传播,例如一些病毒在调试阶段。(4)诡秘型病毒它们一般不直接修改DOS中断和扇区数据,而是通过设备技术和文件缓冲区等DOS内部修改,不易看到资源,使用比较高级的技术。利用DOS空闲的数据区进行工作。(5)变型病毒(又称幽灵病毒)这一类病毒使用一个复杂的算法,使自己每传播一份都具有不同的内容和长度。它们一般的作法是一段混有无关指令的解码算法和被变化过的病毒体组成。

二、计算机病毒传播途径及中毒之后的主要症状

(一)计算机病毒的藏身之处和传播途径

病毒隐藏在它们认为有可能被执行的地方。它们经常隐藏在下列地方:

可执行文件:病毒“贴附”在这些文件上,使其能被执行。

引导扇区:这是磁盘和硬盘中的一个特别扇区,它包含一个程序,当启动电脑时该程序将被执行。

表格和文档:某些程序允许内置一些宏文件,宏文件随着该文件的打开而被执行。病毒利用宏的存在进入其中。

Java小程序和ActiveX控件:这是两个最新隐藏病毒的地方。Java小程序和ActiveX控件都是与网页相关的小程序,通过访问包含它们的网页,可以执行这些程序。

压缩文件:压缩文件是一个包含其他文件的文件。压缩文件包含的任何一个文件都可能被病毒感染,因为这些文件不是处于正常格式下,所以很难发现其中的病毒。

电子邮件:电子邮件信息可能包含感染病毒的文件。此外,电子邮件信息通常属于一个信息数据库,所有这一切使侦测病毒变得非常困难。

(二)计算机中病毒之后的主要症状

1、计算机系统运行速度突然明显减慢。

2、计算机系统经常无故发生死机现象。

3、计算机系统中的文件长度突然发生变化。

4、计算机存储的容量异常减少。

5、系统引导速度减慢。

6、丢失文件或文件损坏。

7、计算机屏幕上出现异常显示。

8、计算机系统的蜂鸣器出现异常声响。

9、磁盘卷标发生变化。

10、系统不识别硬盘。

11、对存储系统异常访问。

12、键盘输入异常。

13、文件的日期、时间、属性等发生变化。

14、文件无法正确读取、复制或打开。

15、命令执行出现错误。

16、虚假报警。

17、换当前盘。有些病毒会将当前盘切换到C盘。

18、时钟倒转。有些病毒会命名系统时间倒转,逆向计时。

19、WINDOWS操作系统无故频繁出现错误。

20、系统异常重新启动。

21、一些外部设备工作异常。

22、异常要求用户输入密码。

23、WORD或EXCEL提示执行“宏”。

24、是不应驻留内存的程序驻留内存。

三、计算机病毒的发展趋势

从某种意义上说,21世纪是计算机病毒与反病毒激烈角逐的时代,而智能化、人性化、隐蔽化、多样化也在逐渐成为新世纪计算机病毒的发展趋势。

1、智能化

与传统计算机病毒不同的是,许多新病毒(包括蠕虫、黑客工具和木马等恶意程序)是利用当前最新的编程语言与编程技术实现的,它们易于修改以产生新的变种,从而逃避反病毒软件的搜索。例如,“爱虫”病毒是用VBScript语言编写的,只要通过Windows下自带的编辑软件修改病毒代码中的一部分,就能轻而易举地制造出病毒变种,从而可以躲避反病毒软件的追击。

另外,新病毒利用Java、ActiveX、VBScript等技术,可以潜伏在HTML页面里,在上网浏览时触发。“Kakworm”病毒虽然早在2004年1月就被发现,但它的感染率一直居高不下,原因就是由于它利用ActiveX控件中存在的缺陷进行传播,因此装有IE5或Office2000的计算机都可能被感染。这个病毒的出现使原来不打开带毒邮件附件而直接予以删除的防邮件病毒的方法完全失效。更令人担心的是,一旦这种病毒被赋予其他计算机病毒的特性,其危害很有可能超过任何现有的计算机病毒。

2、人性化

更确切地说,也可以将人性化称为诱惑性。现在的计算机病毒越来越注重利用人们的心理因素,如好奇、贪婪等。前一阵肆虐一时的“裸妻”病毒邮件的主题就是英文的“裸妻”,邮件正文为“我的妻子从未这样”,邮件附件中携带一个名为“裸妻”的可执行文件,用户一旦执行这个文件,病毒就被激活。最近出现的My-babypic病毒是通过可爱的宝宝照片传播病毒的。而“库尔尼科娃”病毒的大流行则是利用了“网坛美女”库尔尼科娃难以抵挡的魅力。

3、隐蔽化

相比较而言,新一代病毒更善于隐藏和伪装自己。其邮件主题会在传播中改变,或者具有极具诱惑性的主题和附件名。许多病毒会伪装成常用程序,或者在将病毒代码写入文件内部的同时不改变文件长度,使用户防不胜防。

主页病毒的附件homepagehtmlvbs并非一个HTML文档,而是一个恶意的VB脚本程序,一旦被执行,就会向用户地址簿中的所有电子邮件地址发送带毒的电子邮件副本。再比如“维罗纳”病毒,该病毒将病毒写入邮件正文,而且主题和附件名极具诱惑性,其主题众多,更替频繁,使用户很容易由于麻痹大意而感染。此外,matrix等病毒会自动隐藏和变形,甚至阻止受害用户访问反病毒网站和向记录病毒的反病毒地址发送电子邮件,无法下载经过更新和升级后的相应杀毒软件或病毒警告消息。

4、多样化

在新病毒层出不穷的同时,老病毒依然充满活力,并呈现多样化的趋势。1999年对普遍发作的计算机病毒分析显示,虽然新病毒不断产生,但较早的病毒发作仍很普遍。1999年报道最多的病毒是1996年就首次发现并到处传播的宏病毒Laroux。新病毒具有可执行程序、脚本文件、HTML网页等多种形式,并正向电子邮件、网上贺卡、卡通图片、ICQ、OICQ等发展。

更为棘手的是,新病毒的手段更加阴狠,破坏性更强。据计算机经济研究中心的报告显示,在2000年5月“爱虫”病毒大流行的前5天,病毒就已经造成了67亿美元的损失。而该中心1999年的统计数据显示,到1999年末病毒损失只是120亿美元。

5、专用病毒生成工具的出现

以前的病毒制作者都是专家,编写病毒的目的是想表现自己高超的技术。但是“库尔尼科娃”病毒的设计者不同,他只是修改了下载的VBS蠕虫孵化器。据报道,VBS蠕虫孵化器被人们从VXHeavens上下载了15万次以上。正是由于这类工具太容易得到,使得现在新病毒出现的频率超出以往的任何时候。

6、攻击反病毒软件

病毒发展的另一个趋势表现为专门攻击反病毒软件和其他安全措施的病毒的出现。目前被发现的“求职信”病毒就能够使许多反病毒软件瘫痪。越来越多的病毒能够在反病毒软件对其查杀之前获取比反病毒软件更高的运行等级,从而阻碍反病毒软件的运行并使之瘫痪。

正如计算机病毒的出现本身就是人祸而非天灾一样,目前病毒泛滥的一个很重要的原因就是计算机用户的防范意识薄弱,因此一定要防患于未然,及时掌握反病毒知识,更新自己的反病毒软件及病毒库。

四、计算机病毒的判别方式

长期以来,人们把杀毒软件作为最主要的反病毒工具,杀毒软件几乎成了所有反病毒产品的代名词,杀毒软件赖以生存的“特征值扫描技术”也几乎成了所有反病毒技术的代名词。正因如此,杀毒软件对新病毒的防范始终滞后于病毒出现的重大缺陷,似乎成为既合情又合理的逻辑,导致人们普遍认为反病毒产品不可能主动防御新病毒,甚至有人认为,想研制一种主动防御的反病毒产品,就如同要为一种未知的疾病制作特效药一样异想天开。

然而杀毒软件本身基本上不能发现新病毒,这是众所周知的客观事实。但是,如果人不能发现新病毒,同为自然人的反病毒公司研发人员也就不可能发现新病毒,由此带来的问题是,杀毒软件每天升级的是什么,反病毒公司每次宣称发现的新病毒又是谁来发现的?回答是肯定的,人可以发现新病毒。新病毒一定是人通过相应的方法判断出来的。

从上个世纪八十年代病毒出现后,反病毒技术就有两种思路,一种是采用静态扫描方式,即特征值扫描技术,另一种采用动态分析方法。特征值扫描是目前国际上反病毒公司普遍采用的查毒技术。其核心是从病毒体中提取病毒特征值构成病毒特征库,杀毒软件将用户计算机中的文件或程序等目标,与病毒特征库中的特征值逐一比对,判断该目标是否被病毒感染。反病毒公司把捕获到并已处理的病毒称为已知病毒,否则就称为未知病毒。只有采用特征值扫描技术时,才区分已知和未知病毒。业界常常有人用人类病毒的医治来解释计算机病毒防范。然而,与生物界的病毒复杂性不同,计算机病毒是人编写的,远比生物界的病毒简单。计算机病毒概念是人依据程序行为来定义的,因此识别病毒的另一种方法是采用动态分析,直接通过程序的行为判断它是否是病毒。尽管杀毒软件主要采用静态扫描方式,但是反病毒公司发现新病毒并不是采用静态扫描方式,而恰恰是采用动态分析方法。即便是反病毒公司收集到可疑程序时,也不能确定是不是新病毒,为了做出准确判断,必须先运行可疑程序,然后再根据程序的行为判断是否是病毒。

五、结束语

人类进入了信息社会,创造了电子计算机,同时也创造了电子计算机病毒,福祸同降。

随着计算机网络的发展,计算机病毒对信息安全的威胁日益严重,我们一方面要掌握对现在的计算机病毒的预防技术,另一方面要加强对未来病毒发展趋势的研究,提前做好技术上的储备,严阵以待,真正做到防患于未然。我相信在不久的将来,计算机病毒的防治不再是建立在已有病毒的查杀之上,而是对病毒的主动防御,跳出传统技术路线,建立以行为自动监控、行为自动分析、行为自动诊断为新思路的防御体系,让病毒成为历史。