[信息安全概论]--第五章16
《信息安全概论》教案第五章
第五章 病毒与反病毒技术简介
什么是病毒?病毒的种类有多少?病毒如何工作?病毒如何危害信息系统?如何发现病毒?如何预防和防止病毒?这些问题是每一个计算机网络用户所关心的问题。本章试图用比较形象的语言,对这些问题进行解答。
第一节 病毒概论
计算机病毒程序的概念早在第一部商用计算机诞生之前就已经被计算机先驱约翰·范纽曼在他的一篇论文“复杂自动装置的理论及组织的进行”中提出来了。到了1983年,计算机病毒的存在性被科恩·汤普逊在他的颁奖典礼上向外界正式公开,同时科恩·汤普逊还告诉听众怎样去写病毒程序。从此,计算机病毒的广泛流传便一发不可收拾。特别是随着网络化步伐的加快,病毒借助于网络爆炸式地传播,使得很多毫无防备的信息系统惨遭破坏,造成了巨大的损失。现在,社会上,对病毒几乎到了谈虎色变的地步。
1. 病毒的概念
“计算机病毒”这一名词,正式出现于1985年3月的《科学美国人》杂志上。计算机病毒与医学中的生物病毒具有很多相似之处。比如:都具有传染性、破坏性、变异性和进化性等。特别是变异性和进化性可以使计算机病毒逃避各种反病毒程序的检测。当然,计算机病毒绝非医学中的生物病毒。
病毒是一种特殊的计算机程序,它可以隐藏在看起来无害的程序中,也可以生成自身的拷贝并插入到其他程序中。病毒通常会进行一些恶意的破坏活动或恶作剧,使用户的网络或信息系统遭受浩劫。比如,格式化用户的硬盘、删除程序文件、往文件中加入垃圾、破坏磁盘上的目录和FAT表,甚至摧毁计算机硬件和软件的能力等。
病毒是一种基于硬件和操作系统的程序。任何一种病毒都是针对某种处理器和操作系统编写的,所以一个Intel处理器上的DOS病毒就不能在Apple公司的Macintosh机器上运行。一般病毒只感染可执行代码,包括引导程序和可执行文件。当然,还有一些特殊的病毒,如word宏病毒。常见的病毒可分为引导型病毒、文件型病毒和混合型病毒。
正如不可能研究出一种能包治人类百病的灵丹妙药一样,要研制出万能的防范计算机病毒的程序也是不可能的。但针对病毒的特点,完全可以在现有技术的基础上开发出新的技术,从而有效地防御病毒。
2. 病毒的预防
通过技术和管理两个方面的努力,病毒是完全可以防范的。虽然不断地会有采用更隐秘手段的新病毒出现,并可能在短时间内造成破坏,但是只要在思想上有反病毒的警惕性,依靠技术和管理措施,就完全可以限制其传播。“预防为主,治疗为辅”这一方针也完全适合于计算机病毒的处理。最重要的是思想上要重视计算机病毒可能会带来的危害。随时警惕病毒在传染时和传染后留下的蛛丝马迹,并运用一些现存的病毒检测程序或人工检测方法,完全可以及时发现病毒,并在造成损失前解决问题。
2.1 病毒的表现
病毒的蛛丝马迹可能隐含在下列现象之中:文件的大小和日期发生变化,系统启动速度比平时慢,没做写操作时出现“磁盘有写保护”信息,对贴有写保护的软盘操作时音响很大,系统运行速度异常慢,用MI检查内存会发现不该驻留的程序已驻留,键盘、打印、显示有异常现象,有特殊文件自动生成,磁盘空间自动产生坏簇或磁盘空间减少,文件莫名其妙丢失,系统异常死机的次数增加等等。当然,这些异常情况并不一定说明系统内肯定有病毒,而需要进一步进行检查。
2.2 预防病毒的措施
下面是一系列被实践证明行之有效的预防措施:
(l)新购置的计算机中可能携带有病毒。因此,建议对新购置的计算机系统用检测病毒软件检查是否有已知病毒,用人工检测方法检查是否有未知病毒。在确保没有病毒之后,再使用计算机。
(2)新购置的硬盘或出厂时已格式化的软盘中可能有病毒。对硬盘可以进行检测或进行低级格式化。对硬盘只做DOS的FORMAT格式化不能去除主引导区(分区表扇区)病毒。对软盘做DOS的FORMAT格式化可以去除病毒。
(3)对新购置的计算机软件也要进行病毒检测。
(4)如果硬盘确无病毒,最好直接用硬盘引导启动计算机,尽量不要用软盘去启动。在不联网的情况下,软盘是传染病毒的最主要渠道。很多以80586为CPU芯片的PC机中,可以通过设置CMOS参数,使启动时直接从硬盘引导启动,而根本不去读A盘。
(5)定期与不定期地进行磁盘文件备份工作。当然备份前要保证没有病毒,不然也会将病毒备份。不要等到由于病毒破坏,PC机硬件或软件故障使用户数据受到损坏时再去急救。特别是,重要的数据应当及时进行备份。
(6)对于软盘,要尽可能将数据和程序分别存放。装程序的软盘要贴有写保护签。
(7)自己的软盘在别人的机器上使用过之后,在自己的机器上使用之前应进行病毒检测。在自己的机器上使用别人的软盘之前,也应进行病毒检查。对重点保护的机器应做到专机、专人、专盘、专用。封闭的使用环境中,不会自然产生计算机病毒。
(8)任何情况下,应保留一张写保护的、无病毒的、带有各种DOS命令文
件的系统启动软盘,用于清除病毒和维护系统。
(9)做好分区表、DOS引导扇区等的备份工作,在进行系统维护和修复工作时可作为参考。
(10)对于多人共用一台计算机的环境,应建立登记上机制度,使问题能尽早发现,有病毒能及时追查、清除,不致扩散。
(1l)网络管理员在启动Novell网或其他网络的服务器时,一定要坚持用硬盘引导启动,否则在受到引导扇区型病毒感染和破坏后将会影响连接整个网络的中枢。
(12)网络管理员在网络服务器安装生成时,应将整个文件系统划分成多文件卷系统。建议至少划分成SYS系统卷、共享的应用程序卷和各个网络用户可以独占的用户数据卷。这种划分有利于维护网络服务器的安全稳定运行和用户数据的安全。第一,如果系统卷受到某种损伤,导致服务器瘫痪,那么通过重装系统卷,恢复网络操作系统,就可以使服务器重新投入运行。而装在共享的应用程序卷和用户卷内的程序和数据文件将不会受到损伤。第二,如果用户卷内的存储空间拥塞时,系统卷将不受影响,从而,不会影响网络系统的正常运行。第三,这种划分有利于系统管理员设置网络安全存取权限。
(13)网络管理员在安装服务器时,应保证安装环境无病毒,同时网络操作系统本身也不带病毒。
(14)网络系统管理员应将SYS系统卷设置成对其他用户为只读状态,屏蔽其他网络用户对系统卷除读以外的所有其他操作。保证除系统管理员外,其他网络用户不可能将病毒感染到系统卷中。使网络用户总有一个安全的联网工作环境。
(15)只允许系统管理员(而不是其他别人)在应用程序卷中安装共享软件。软件本身应不含病毒,其安装环境也不得带病毒。应用卷也应设置成对一般用户是只读的。不经授权、不经病毒检测,就不允许在共享的应用程序卷中安装程序。
(16)系统管理员应该对网络内的共享电子邮件系统、共享存储区域和用户卷进行病毒扫描。发现异常情况应及时处理,不使其扩散。系统管理员还应该在应用程序卷中维持最新版本的反病毒软件供用户使用。
(17)系统管理员的口令应严格管理。最好是要定期或不定期地进行更换。保证网络系统不被非法存取、感染病毒或遭受破坏。
(18)应该在网络工作站上采取必要的抗病毒措施,使网络用户一开机就有一个良好的上机环境,不必再担心来自网络内和网络工作站本身的病毒。
(19)系统管理员应在服务器上安装防病毒系统。
(20)在互连网络中,不可能有绝对的把握阻止一切新生病毒的传染。因此,当出现病毒传染迹象时,应立即隔离被感染的系统和网络并进行处理,不应让系统带病毒继续工作下去。
以上有效措施执行起来并不困难,困难的是要坚持下去,始终一贯地执行和根据实际情况不断地进行调整的监督过程。
3. 病毒的检查
计算机病毒发作后,必然会留下痕迹。所谓检测计算机病毒,就是要到病毒寄生场所去检查、发现异常情况,并最终确认计算机病毒是否存在。病毒静态时存储于磁盘中,激活时驻留在内存中。因此对计算机病毒的检测分为对内存的检测和对磁盘的检测。
对磁盘进行病毒检测时,要求内存中不带病毒。因为某些计算机病毒会向检测者报告假情况。从原始的、未受病毒感染的DOS系统软盘启动,可以保证内存中不带病毒。启动必须是上电启动而不是热启动,因为某些病毒通过截取键盘中断,会将自己仍然驻留在内存中。
若要检测硬盘中的病毒,则启动系统软盘的DOS版本应该等于或高于硬盘内DOS系统的版本号。
检测磁盘中的病毒可分为检测引导区型病毒和检测文件型病毒。这两种检测从原理上来说基本上是一样的,但由于各自的存储方式不同,检测方法是有差别的。主要的病毒检测方法有以下四种:
3.1 比较法
比较法是用原始备份与被检测的引导扇区或被检测的文件进行比较。比较时可以靠打印的代码清单进行比较,或用程序来进行比较。这时不需要专用的查病毒程序,只要用常规DOS软件和PCTOOLS等工具软件就可以进行。此外,比较法还可以发现一些不能被现有的查病毒程序发现的计算机病毒。
病毒传播速度很快,新病毒层出不穷。目前没有,今后也不可能有通用的能查出一切病毒的查毒程序,因此,比较法是一种发现新病毒的重要方法。当然,若比较法与其他方法结合使用效果会更好。
使用比较法可以发现异常情况,比如,文件长度的变化,或文件内的程序代码的变化等。对硬盘主引导区或对DOS的引导扇区进行检测,通过比较法能发现其中的程序代码是否发生了变化。
由于要进行比较,保留好原始备份是非常重要的。制作备份时必须在无病毒的环境里进行,制作好的备份必须妥善保管。
比较法的优点是:简单、方便和不需专用软件。缺点是:无法确认病毒的种类名称。另外,造成被检测程序与原始备份之间差别的原因尚需进一步验证,以查明是否真的有病毒。
3.2 搜索法
搜索法是用每一种病毒体含有的特定字符串对被检测的对象进行扫描。如果在被检测对象内部发现了某一种特定字符串,则表明发现了该字符串所代表的病毒。搜索法所用的软件叫病毒扫描软件,它由两部分组成:一部分是病毒代码库,含有经过特别选定的各种计算机病毒的代码串;另一部分是利用该代码库进行扫描的扫描程序。国内常见的病毒扫描程序有我国公安部发行的SCAN.EXE和美国McAfeeAssociates的SCAN.EXE。
病毒扫描程序能够识别多少计算机病毒,完全取决于病毒代码库内所含病毒的种类。库中病毒代码种类越多,扫描程序能辨认出的病毒也就越多。病毒代码串的选择非常重要。病毒代码长度可以从短的100多个字节到长的超过10KB。如果随意从病毒体内选一段代码作为代表该病毒的特征代码串,那么可能在不同的环境中,该特征串并不真正具有代表性。所以,病毒代码库的特征串是不能随意选择的。
3.3 特征字识别法
计算机病毒的特征字识别法是基于特征串扫描法发展起来的一种新方法。它的工作速度更快、误报警更少。特征字识别法只需从病毒体内抽取很少几个关键的特征字来组成特征字库。由于需要处理的字节很少,且又不必进行串匹配,因此,大大加快了识别速度。当被处理的程序很大时,特征字识别法的速度优势更突出。
基于特征串扫描法的查病毒软件与基于特征字识别法的查病毒软件的使用方法是一样的。只要运行查毒程序,就能将已知的病毒检查出来。将这两种方法应用到实际中,还需要不断地对病毒库进行扩充,一旦捕捉到新病毒,经过提取特征并加入到病毒库,就能使查病毒程序多检查出一种新病毒来。
使用查毒软件的人,不需要了解太多的病毒知识。但病毒代码库的维护更新人员,却需要具备相当多的关于病毒和操作系统等方面的知识。
3.4 分析法
这是一种主要由反病毒技术人员使用的方法,普通用户不必使用。分析法的目的在于:
(l)确认被检测的磁盘引导区和程序中是否真的含有病毒;
(2)如果有病毒,则需要确认病毒的类型、种类以及是否是新病毒;
(3)如果是新病毒,则要搞清楚病毒体的大致结构,提取特征识别用的字
符串或特征字,用于增添到病毒代码库供病毒扫描和识别程序用;
(4)详细分析病毒代码,为制定相应的反病毒措施制定方案。
使用分析法,要求使用者具有比较全面的有关PC机、DOS结构和功能调用以及关于病毒方面的各种知识。同时,使用分析法,还需要DEBUG,PROVIEW对等分析用工具程序和专用的试验用计算机。因为,即使是很熟练的反病毒技术人员,使用性能完善的分析软件,也不能保证在短时间内将病毒代码完全分析清楚。而病毒有可能在被分析阶段继续传染、发作,甚至把磁盘内的数据完全毁坏掉,这就要求分析工作必须在专用计算机上进行。
病毒检测的分析法是反病毒工作中不可缺少的重要技术,任何一个性能优良的反病毒系统的研制和开发都离不开专门人员对各种病毒的详尽而认真的分析。 常用的病毒检查软件可以分为以下几类:
病毒扫描软件。这类软件找到病毒的主要办法之一就是寻找病毒特征。这些病毒特征能唯一地识别某种类型的病毒。扫描软件能在程序中寻找出病毒特征。判别
病毒扫描软件好坏的一个重要指标就是“误诊”率。如果“误诊”率太高,就会带来不必要的虚惊。扫描软件必须随时更新,因为新的病毒在不断涌现,而且有些病毒还具有变异性和多态性。
完整性检查软件。此类软件可以用来监视文件的改变。当病毒破坏了用户的文件,这种软件就可以帮助用户发现病毒。但这种软件的缺点是只有在病毒产生了破坏作用之后,才可能发现病毒。因此,用户的信息系统或网络可能在完整性检查软件开始检测之前就已经感染上了病毒。完整性检查软件的“误诊”率相对较高,比如,由于软件的正常升级或程序设置的改变等原因都可以导致“误诊”。由于完整性检查软件主要检查文件的改变,所以它们更适合于对付多态和变异病毒。 行为封锁软件。此类软件有别于在文件中寻找或观察文件被改变的软件,它们试图在病毒开始工作时就阻止病毒。在异常事件发生前,行为封锁软件就可能会检测到异常情况,并警告用户。当然,有时的“可疑行为”实际上是完全正常的,所以“误诊”总是难免的。比如,一个文件调用另一个可执行文件就可能是存在伴随型病毒的征兆,但也可能是某个软件包要求的一种操作。
4. 病毒的清除
清除病毒的方法很多。对普通用户来讲,最简单最实用的方法就是使用杀毒软件。下面介绍两种方法。
4.1 引导型病毒清除方法
磁盘格式化是清除引导型病毒的最直接方法。但是,此种方法有一个缺点:磁盘被格式化之后,不但病毒被杀掉了,而且数据也被清除掉了。形象地说,“磁盘格式化”有点像战场上的“同归于尽”。
引导型病毒还可以采用不格式化磁盘的方法来清除。与引导型病毒有关的扇区有:
(1)硬盘物理第一扇区,即0柱面、0头、l扇区。此处存放的数据和程序在开机之后最先被访问和执行。这个扇区是“硬盘主引导扇区”,它包括两个独立的部分:第一部分是开机后硬盘上所有可执行代码中最先执行的部分。第二部分不是程序,而是非执行的数据,记录硬盘分区的信息,即人们常说的“硬盘分区表”。
(2)硬盘活动分区的第一个扇区,即0柱面、l头、l扇区。这个扇区称为“活动分区的引导记录”。它是开机后继“硬盘分区表”后运行的第二段代码的所在地。其他分区也具有一个引导记录,但是其中的代码不会被执行。
用无病毒的DOS引导软盘启动计算机,运行下面的程序就可以达到目的。
“FDISK/MBR”用于重写一个无毒的MBR;
“FDISK”用于读取或重写Partition Table;
“FORMAT C:/S”或“SYS C:”会重写一个无毒的“活动分区的引
导记录”。对于可以更改活动分区的情况,需要特殊对待。
对上述病毒清除步骤的几点说明:
(1)对硬盘分区、FAT或其他“加密”病毒,需要按照病毒的算法先行解码,否则进行上述步骤后,可能会导致硬盘数据的丢失。所以,在用反病毒软件清除引导型病毒时最好要备份一个带病毒的分区。
(2)对于特殊分区,“活动分区的引导记录”的位置可能不是位于第一个分区。但是无论如何,在FDISK删除了所有分区后,再按照任何方法重建分区,都一定不会使原来的病毒代码起作用。
(3)在特殊情况下,硬盘分区表数据需要用修改后的DOS或低版本DOS才能够引导,但这不意味着需要任何低级格式化的操作。
(4)对于“文件十引导型”的病毒,上面的讨论对引导型的部分仍然适用。
(5)清除引导型以外的病毒不必进行低级格式化。
4.2 宏病毒清除方法
对于宏病毒最简单的清除步骤为:
(1)关闭Word中的所有文档;
(2)选择菜单【工具】│【模板和加载项】│【管理器】│【宏】;
(3)删除左右两个列表框中除了自己定义之外的所有宏;
(4)关闭对话框;
(5)选择菜单【文件】│【宏】。若有AutoOpen,AutoNew,AutoClose等宏,则加以删除。
以上步骤清除了Word系统的病毒,下面打开DOC文件,选择菜单【工具】│【模板】│【管理器】│【宏】。若左右两个列表框中列有非用户定义的宏,则证明该DOC文件有毒,执行上述的步骤(2)和(3)。然后将文件存盘,则该DOC文件的病毒便被清除了。
一般来说,Word宏病毒编制很简单,只要用户学习过Basic简单的编程就可以阅读病毒源程序,这样就可以找出病毒标志,从而不仅可以杀毒,而且可以给文档“打”一个疫苗。
第二节 计算机病毒
世界上到底有多少种计算机病毒,恐怕谁也不知道。下面介绍几类主要的病
毒。
1. 引导扇区病毒
引导扇区是硬盘或软盘的第一个扇区。此扇区对于操作系统的装载起着十分重要的作用。
软盘只有一个引导区。一旦软盘被格式化,引导区就已存在。引导区的作用是查找盘上有无IO.SYS和DOS.SYS命令。若有此命令,则可以引导;若无此命令,则显示“NO SYSTEMDISK„”等信息。
硬盘有两个引导区。其中0面0道l扇区称为主引导区,其内有主引导程序和分区表。主引导程序查找激活分区,该分区的第一个扇区即为DOS BOOT SECTER。
绝大多数病毒感染硬盘主引导扇区和软盘DOS引导扇区。一般来说,引导扇区先于其他程序获得对CPU的控制,通过把自己放入引导扇区,病毒就可以立刻控制整个系统。病毒代码代替了原始的引导扇区信息,并把原始的引导扇区信息移到磁盘的其他扇区。当DOS需要访问引导数据信息时,病毒会引导DOS到储存引导信息的新扇区,从而使DOS无法发觉信息被挪到了新的地方。
另外,病毒的一部分仍驻留在内存中。当新的磁盘插入时,病毒就会把自己写到新的磁盘上。当这个盘被用于另一台机器时,病毒就会以同样的方法传染到那台计算机引导扇区上。
引导型病毒具有以下特点:隐蔽性强(一个高水平引导型病毒程序很难被发现)、兼容性强(几乎可以通用于DOS,Windows和WIN95等操作系统)、传染速度相对较慢(只有当带毒软盘启动时,才能传染到硬盘)、杀毒容易(只需改写引导区即可,如:fdisk/mbr,kv200/k)。
许多杀毒软件(比如:KV200,KV300等)都能查出所有引导型病毒。现在纯引导型病毒已很少了。比较著名的引导型病毒有:
Pakistani Brain(巴基斯坦大脑)。这是一种最为流行的引导扇区病毒。它首先把原始的引导信息移动到磁盘的其他部分,然后将自己拷贝到引导扇区和磁盘其他的空闲部分。这种病毒可以破坏硬盘分区和文件定位数,使用户无法访问文件。此种病毒知道如何保护自己,它有许多办法逃避检测。
Stoned(石头)。这是另一种广泛传播的引导扇区病毒,它会破坏目录和文件分配表。
ExeBug。它是一种引导型、分体式Stealth型病毒。病毒自身存放于硬盘MBR和软盘boot扇区。此病毒在EXE文件头只存放一个引导部分。运行被感染的文件将会删除硬盘的某些扇区。这种病毒依靠引导来传播、依靠被感染的文件来实施破坏,是一种恶性病毒。
Monkey。这仍然是一种引导型病毒。一旦硬盘被它感染,硬盘的分区表格会被移到第0轨第2磁区的位置并加以编码,而原放置分区表的磁区就被病毒的程序头占据。所以,如果用一个没毒的软盘开机,就会发现硬盘不见了。如果改用硬盘开机,则硬盘又重新出现了。
2. 文件型病毒
文件型病毒的宿主不是引导区,而是一些可执行程序。病毒把自己附加在可执行文件中,并等待程序运行。病毒会驻留在内存中,企图感染其他文件,并破坏系统。当病毒已经完成了工作,其宿主程序才被运行,使系统看起来一切正常。 和引导扇区病毒不同,文件型病毒把自己附着或追加在*.EXE和*.COM这样的可执行文件上。根据附着类型不同,可将文件型病毒分为三类:覆盖型、前/后附加型和伴随型。
覆盖型病毒。它简单地把自己覆盖到原始文件代码上。显然这会完全摧毁该文件,所以这种病毒比较容易被发现。当用户运行该文件时,病毒代码就会得到运行,而原始文件则不能正常运行。现在有些新型的覆盖型病毒可以盖写那些不影响宿主程序运行的部分代码,所以人们也就不容易发现这种病毒。覆盖型病毒不改变文件长度,使原始文件看起来正常。但是,尽管这样,杀毒程序还是可以检测到这种病毒代码的存在。
前/后附加型病毒。前附加型病毒把自己附加在文件的开始部分,后附加型正好相反。此类病毒会增加文件的长度。
伴随型文件病毒。它为*.EXE文件创建一个相应的含有病毒代码的*.COM文件。当有人运行*.EXE文件时,控制权就会转到*.COM文件上,病毒代码便得以运行。伴随型病毒执行完后,控制权又会转回到*.EXE文件,这样用户不会发现任何问题。
下面简要介绍两种文件型病毒:
(l)Lehigh病毒。这是一种广泛传播的文件型病毒,它将自己附加在Command.com命令上,可以删除硬盘的一部分,导致硬盘失效。
(2)982病毒。这是一种能够删除CMOS RAM信息,使磁盘不能访问的文件型病毒。
3. 宏病毒
宏病毒是一种广泛流传的病毒,它在一定的条件下(如,每月13号)爆发,并且可以感染Word中的模板文件。
比较典型的宏病毒是台湾I号和II号。当被它们感染的文档被打开后,就会给出一道数学题,要求用户回答。如果用户的答案错了,将会有十余个文档窗口被打开。然后,它又给出一道题,如果再算错了,将又会有十余个文档窗口被打开。如此继续下去,直到消耗完计算机上的系统资源为止。
一般来说,宏病毒是这样传播的:宏病毒传播发生在被感染的宏指令覆盖、改写及增加全局宏指令表中的宏,并由此进一步感染随后打开和存储的所有doc文档。当Word打开一个*.doc文件时,首先检查里面有没有模板/宏代码,如果有则认为此文件不是普通的*.doc文件,而是一个模板文件,并执行里面的auto类的宏。已感染宏病毒的*.doc在被打开后,通过Auto宏或菜单、快捷键和工具栏里的特洛伊木马程序来激活,随后感染诸如Normal.dot或Powerup.dot等全局模板文件得到系统的“永久”控制权。夺权后,当系统有文档存储动作时,
病毒就把自身复制入此文档并储存成一个后缀为.doc的模板文件。
由于只有模板文件才能储存宏指令,所以宏病毒只能以模板文件形式传播。而Word在存储模板文件时,不能选择保存类型,只能存为“文档模板”,因此,可以很容易地判断出一个文件是否为一个模板文件。如果是一个以*.doc为后缀的模板文件,那么可以肯定地说,这是一个被染毒的文件,或者是一个“宏病毒遗体”。
4. 病毒实例
除了引导型病毒和文件病毒之外,还有许多其他类型的病毒。比如,混合型病毒就是一类既能感染引导区,又能感染文件的病毒。混合型病毒并非文件型病毒和引导型病毒的简单叠加,其中有一个转换过程,这是最关键的。一般采取的方法是:文件中的病毒发作时将病毒写入引导区。染毒硬盘启动时,用引导型病毒的方法驻留内存。
为了使读者对计算机病毒有更深刻的印象,下面介绍一些著名的病毒实例: Worm(蠕虫)。蠕虫不但具有普通病毒的破坏性,而且还可以在因特网上旅行并破坏计算机。蠕虫可以旅行到一个计算机上,然后生成许多的自身拷贝,消耗大量的计算机时间,甚至使整个系统崩溃。
Bomb(炸弹)。炸弹与普通病毒的共性是可以造成危害。但不同的是其触发方式不是依靠某种日期或时间而是依靠“编程触发方式”,这种触发方式决定程序何时开始爆发。一旦程序被触发了,炸弹就可以对系统进行许多不同形式的破坏。此种病毒经常被不满的雇员用来惩罚他们的老板或同事,也常被用来勒索钱财。 特洛伊木马。这种程序看上去并无害处,它可以假扮成计算机游戏、压缩工具,甚至防病毒软件,但实际上却起着破坏作用。这种破坏性程序一般隐蔽得很好,使用户无法觉察已受到了严重的破坏。特洛伊木马与普通病毒并不完全一样,它不能自行传播,而必须依靠宿主以其他假象出现,冒充一个正常的程序。
陷门。也称为后门。通常由系统设计人员设置在软件中用于进行测试或监控程序。陷门一旦被非法入侵者利用,其后果将十分严重。
愚弄。这是一种用来欺骗用户,使其在系统上做某些事情的程序。例如,它可能会给用户一种无意中从系统中退出的假象,并且显示一个登录和口令提示符。警惕性不高的用户很可能会输入自己的帐户和个人口令,这样入侵者就可以偷到用户的帐户和口令。
细菌。这种程序可以快速地进行自我复制并消耗系统资源,最后大部分资源都会被这种程序占用。
螃蟹。它可以“吃掉”显示在屏幕上的部分信息和数据。
兔子。它是一种快速进行自我拷贝并在系统传播的程序。此类程序可以阻塞并有效地使系统窒息。
第三节 网络病毒及防范
自1988年以来,计算机病毒开始在我国出现并迅速泛滥成灾。到了90年代,随着我国各类计算机网络的迅速建立与普遍应用,如何防止计算机病毒侵入计算机网络已成为一个重要而紧迫的任务。计算机网络的防病毒与反病毒技术已成为计算机操作人员与网络工作人员必须了解与掌握的一项技术。
1. 视窗中的病毒
到目前为止,DOS环境下的病毒已经超过5000种。最近几年,又产生了许多以视窗平台为特定目标的计算机病毒。
为什么视窗中会有病毒存在呢?
原因之一:视窗运行时,首先启动实模式。在实模式中程序和设备驱动程序从CONFIG.SYS和AUTOEXEC.BAT中装载。接着是引导过程,启动视窗95的图形部件。当视窗完成启动后,用户可以用打开DOS对话框的方式运行DOS程序。DOS对话框中包括所有在系统初期启动时的程序拷贝,当然也包括可能被装载的病毒代码。因此,每次DOS对话框启动时将始终有相同的程序(包括病毒)是在视窗95图形部分启动前装载的。并且多次启动DOS进程可能导致多次病毒感染。
原因之二:在视窗95中允许DOS程序和病毒对软盘进行直接读写。这对病毒传播十分有利,当然,对用户来说是十分不幸的。病毒像在硬盘中一样,以相同的方式制造麻烦。当用户一时大意,用了一张带病毒软盘来引导时,病毒就会感染MBR。病毒将在每次计算机引导时装载,在每一次启动DOS对话框时安装到系统中。这样当用户对软盘进行操作时,病毒可以将自身繁殖到另外的软盘,从而蔓延到其他的计算机。
原因之三:和DOS一样,视窗没有文件等级保护。利用文件进行传播的病毒可以在视窗95下进行繁殖。这样,文件型病毒完全可以像它们在DOS环境下一样进行复制。
原因之四:某些新技术可能会促进病毒的传播。比如,工作组网络环境十分容易使病毒快速传播。此外,视窗95没有文件等级保护,如果在网络中的计算机被病毒感染,那么在对等网络中共享的末被保护的驱动器和文件也将很快被病毒感染。
此外,视窗95的特性可能还会导致一些潜在的新病毒。
第一种可能的病毒类型是OLE2病毒。这种类型的病毒通过将自己假扮成公共服务的一个OLE2服务器,从而很容易四处传播。当一个OLE2客户申请一个OLE2服务器时,实际上病毒就取得了控制权。它能将自己繁殖到其他文件和计算机,之后它便替换了原有的OLE2服务器。正常的应用程序甚至不知道自己是在与另一个病毒进行“通话”。如果这个OLE2服务器在一个完全不同的网络上,这个病毒可能很快在网络上传播。
第二种可能的病毒是扩展Shell病毒。从技术上讲,病毒能成为其中的一个扩展,因为视窗95对于扩展Shell不需要确认,因此病毒可以写成一种扩展Shell,这样就可以取得控制权并且复制自身。
第三种可能的病毒是虚拟设备驱动病毒VxD病毒。视窗95VxD对整个计算机具有完全控制权。如果通过编制特定程序,它可以直接对硬盘进行写操作。它具有与写视窗95 Kernel模块相同的特权,并以此来随意控制系统。在视窗95中增加了动态装载VxD能力,因此,一个VxD不需要每次都在内存中。这意味着病毒可以用一段很小的代码来激活一个动态VxD,这可以导致严重的系统崩溃。因为视窗95对VxD的行为没有限制,因此VxD病毒可以避开用户所采用的任何保护机制。
第四种可能产生病毒的原因在于:视窗95的易操作编程工具十分流行。许多新手可以用可视化开发工具的高级语言来编写病毒。这些病毒更像用户运行的其他程序,因此很难被检测出来。
2. 电子邮件中的病毒
最有名的电子邮件病毒是“美丽杀手”(Melissa)和“怕怕”(PAPA)。它们是因特网上通过感染Office97和Offlce2000的Word文件、Excel文件,然后通过电子邮件进行传播的两种病毒。
“美丽杀手”传染的对象是Office 97软件和Office 2000的Word文件。“美丽杀手”将特定信息以电子邮件方式自动发送到Outlook地址表中前50个邮箱中(一次发送50封邮件),并发送载有80个色情网络站点的列表。当用户打开已传染有该病毒的文件时,“美丽杀手”便传染用户系统。如此又向其他系统发送电子邮件。“美丽杀手”病毒的具体表现症状是:
(l)感染用户视窗95/98注册表。当用户打开被“美丽杀手”传染的病毒文件时,病毒程序首先检查注册表中是否有“美丽杀手”的注册信息,若有则表明系统已被传染。否则,“美丽杀手”在注册表中创建一条注册项。
(2)电子邮件传播方式。利用Visual Basic指令建立一个Outlook对象,从Outlook的全域地址表中获取成员地址信息,将邮件主题为:“Important Message From—<User Name>”、正文为:“Here is that document you asked for„don’t show anyone else;一)”的一封电子邮件自动发送到地址表中的前50个地址。然后“美丽杀手”病毒将已传染有该病毒的文件作为附件,以附件的形式发送出去。附件的文件名各不相同,但以“list.doc”较为常见。
(3)病毒发作的特征。当用户接收到带毒的邮件并打开时,用户中所有已经打开的Word文件将被传染。当系统的分钟值与当前的日期相同时(例如5月20日的9:20时)将打开一个被传染的文件,病毒程序将在光标位置处插入以下信息:
“Twenty-two points,plus triple-word-score,plus fifty points for using all my letters.Game is over.I’m out here.”
(4)“美丽杀手”病毒在注册表中的注释。“美丽杀手”病毒在注册表中可能产生以下一些恶作剧式的注释:
“WORD/Melissa written by Kwyjibo”;
“Works in both Word2000 and Word97”;
“Word? Macro Virus? Word97 Virus? Word2000 Virus? You Decide!”; “Word → Email│Word97←→Word2000 „ it's a new age!”。
最近又出现了一种以电子贺卡方式传播的病毒:HAPPY99。如果用户的电子邮件被此种病毒感染,可以采用如下步骤予以清除:
第一步:使用瑞星新版杀毒软件清除HAPPY99病毒。
第二步:如果KV300十,AV95等杀毒软件未能收到良好效果,可以采用下
面的步骤手工清除:
使用无病毒的Windows启动盘启动计算机,进入DOS方式;
删除happy99.exe;
删除windows\system\下的ska.dll及ska.exe;
从开始一运行一regedit—删除HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\
ska.Exe = “ska.Exe”;
将windows\system\下的wsock32.ska拷贝到A盘,然后以DOS方
式重新启动计算机;
置换windows\system\wsock32.dll。具体作法是:copy a:wsock32.ska
C:\windows\system\wsock32.dll;
重新在Windows下发一封电子邮件给自己,如果不带附件happy99.exe,
则杀毒工作完成。
3. 网络病毒的防范
威胁计算机网络的病毒多种多样,既有单机上常见的计算机病毒,也有专门攻击计算机网络的网络型病毒。随着网络技术和计算机网络化的不断发展,网络反病毒技术将成为计算机反病毒技术的重要方面,也是计算机应用领域中需要认真对待的问题。
由于计算机网络系统本身不同程度地存在着某些漏洞或薄弱环节,网络软件方面的薄弱环节更多,使得网络病毒有机可乘,甚至能够突破网络的安全保护机制,通过感染网络服务器,进而在网络上快速蔓延和影响各网络用户的数据安全和机器的正常运行。计算机网络一旦染上病毒,其影响要远比单机染毒更大,破坏性也更大,计算机网络必须具备防范网络病毒破坏的功能。
目前,在网络环境下,较为有效的防病毒方法是所谓的Station Lock方法。通常,防毒概念是建立在“病毒必须执行有限数量的程序之后,才会产生感染力”的基础之上。Station Lock方法正是根据这一特点,辨别可能的病毒攻击意图,并在病毒未造成任何破坏之前进行拦截。Station Lock是在系统启动之前就控制了工作站上的硬件和软件,所以病毒攻击Station Lock是很困难的。
对付网络病毒应该重点立足于服务器的防毒。实际上,网络的核心是服务器,服务器一旦被病毒感染,便无法启动,整个网络将陷于瘫痪状态,造成严重后果。基于服务器的病毒防治,表现形式为集中式扫毒,它能实现实时扫描,而且软件升级也方便。目前,市场上基于服务器的病毒防治采用NLM方法,它以NLM模块方式进行程序设计,以服务器为基础,提供实时扫除病毒的能力,从而使服务器不被感染,消除病毒传播的路径,这就从根本上杜绝了病毒在网络上的蔓延。 选用可靠的网络防病毒软件也是网络防毒的关键。目前基于Novell网络的防病毒软件有AntiVirus For Networks,InoculLAN和LanDesk VirusProtest等。它们都具有以服务器为基础的扫除病毒能力,其特点是不占用工作站的内存,能实现实时扫描,安装及升级都很方便。
当然,扫除网络病毒除了依靠各种技术手段外,更需要依靠的是加强管理。一旦在网络上发现病毒,应尽快清除,以防因网络病毒的扩散给系统造成更大的损失。具体扫毒过程可以归纳为:
立即用广播命令通知包括系统管理员在内的所有用户退出网络;
关闭文件服务器,用干净的系统盘启动系统管理员工作站,并立即清除
本机工作站中含有的病毒;
用干净的系统盘启动文件服务器;
系统管理员登录后,使用Disable login禁止其他用户广播登录;
用防病毒软件扫描服务器上所有目录文件,恢复或删除被感染的文件,
重新安装被删除的文件;
对在已染毒网络上存取过的软盘进行杀毒,确信网络病毒已全部彻底清
除后,重新启动网络及各工作站。
4. 网络病毒防范实例
Novell网络是一种很具代表性的重要网络。充分利用Novell网本身的安全体系,可以有效地防止网络病毒的入侵。
Novell网络本身具有一套较为完善的网络安全体系。比如,可设定目录登录限制、目录最大权限、信任者权限、文件属性等。这在一定范围内对网络服务器文件与数据提供了保护。另外,DOS系统的一些中断向量也被网络操作系统的中断向量所取代,这使得不少在计算机上猖撅的单机病毒不能在Novell网上传播。
要对付病毒破坏,首先应防止网络服务器受病毒的感染。为此可采取如下措施:
(l)将网络服务器的整个硬盘划分为NetWare分区,用系统软盘启动网络服务器。
(2)多用无盘工作站,少用有盘工作站。无盘工作站的用户不能从网络服务器上装入或下载文件,而只能执行服务器上的文件。这就减少了病毒从工作站侵入网络的机会。网络中一般可有两个有盘工作站:一个供系统管理员使用;另一个供用户作文件装入与拷贝用。
(3)规定用户的访问权限,尽可能少用超级用户登录。不允许普通用户具有对其他用户目录的浏览和访问权限,以防止用户通过拷贝他人可能已被病毒感染的文件,而将网络病毒传至自己目录中的文件中来。减少超级用户数,也就减少了具有访问整个服务器全部目录能力的使用者,从而系统文件被感染的机会也就减少了。一般不允许多个用户对同一目录具有读/写权力,以防网络病毒的交叉感染。若必须使多个用户以读/写权力存取同一目录,则应通知用户不能在共享目录下放置可执行文件。在组目录中一般只放置数据文件,尽量不把共享可执行文件放在组目录中。
(4)对公用目录中的系统文件和工具软件,要设置只读属性。对系统程序所在的目录,不授予修改权和管理权。这样,病毒就无法对系统程序实施感染和
寄生,其他用户也不会受到病毒感染。
(5)工作站是网络的入口,只要将此入口管好,就能有效地防止病毒的入侵。因此,可采用固化有防/杀病毒软件的卡或芯片的方法,将其安装在网络工作站上。这样就可经常性地保护工作站及其通往服务器的路径,从而拦截病毒对网络的入侵。也可将存取控制与病毒防护合二为一,从而起到防止病毒入侵的作用。