第11章计算机病毒、恶意代码及防范随着计算机在各行业的大量应用,计算机病毒也随之渗透到计算机世界的各个角落,常以人们意想不到的方式侵入计算机系统。计算机病毒的流行引起了人们的普遍关注,成为影响计算机安全运行的一个重要因素。随着网络的普及,计算机病毒的传播速度大大加快,传播形式与破坏方式也有了新的变化。本章将讨论计算机病毒的问题。引言第11章计算机病毒、恶意代码及防范第11章计算机病毒、而以代码及防范11.1计算机病毒概述概念;特征;分类;传播;防范方法11.2计算机网络病毒及防范方法特点;防范方法11.3网络恶意代码及防范方法概念;分类;关键技术;防范方法11.4网络病毒与恶意代码实例第11章计算机病毒、恶意代码及防范11.1计算机病毒概述计算机病毒(ComputerVirus)与生物学上的“病毒”不同,它不是天然存在的,而是某些人利用计算机软件与硬件的缺陷,编制的具有特殊功能的程序。由于计算机病毒具有与生物学病毒相类似的特征(潜伏性、传染性、发作期等),所以人们就形象地将生物学中的病毒引入到计算机科学中。早在1949年,电脑的先驱者冯·诺伊曼在他的一篇文章《复杂自动装置的理论及组织的行为》中就提出了一种会自我繁殖的程序的可能,但没引起注意。“计算机病毒”这一概念是1977年由美国著名科普作家“雷恩”在一部科幻小说《P1的青春》中提出。第11章计算机病毒、恶意代码及防范11.1计算机病毒概述1983年美国的FredCohen博士曾对计算机病毒进行过定义:计算机病毒是一种程序,它用修改其它程序的方法将自身的精确拷贝或者可能演化的拷贝放入到其它程序,从而感染其它程序。由于这种感染特性,病毒可以在信息流的过渡途径中传播,从而破坏信息的完整性。在1988年他又著文强调:病毒不是利用操作系统运作的错误和缺陷的程序,病毒是正常的程序,它们仅使用了那些每天都被使用的正常操作。上述定义,被美国的计算机专家在有关病毒的论文中频繁引用。1994年2月18日,我国正式实施了《中华人民共和国计算机信息系统安全保护条例》,在条例二十八条中明确指出:“计算机病毒是指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。第11章计算机病毒、恶意代码及防范表11.1我国最近8年流行病毒时间排名2001,52002,52003,52004,52005,52006,62007,62008,61CIHExploitRedlofNetskyTrojan.PSW.LMirTrojan.DL.AgentTrojan.DL.AgentGamepass2FunloveNimdaSpageRedlofQqpassPhelGamepassAutoRun3BingheBingheNimdaHomepageNetskyGpigeonANI/RIFFJS.Agent4W97M.markerJS.SeekerTrojan.QQKiller6.8.serUnknownmailBlasterexploitLmir/Lemir熊猫烧香Delf5MTXHappytimeKlezLovegateGaobotQQHelperMnlessKillAV6Troj.eraseFunloveFunloveFunloveMhtexploitDelfDelfGpigeon7BOKlezJS.AppletAcxhtadropperRedlofSDBotGpigeonSmall8YAICIHMail.virusWebimportBackDoor.RbotStartPageSmall及其变种JS.RealPlr9WyxGopScript.exploit.htm.pageactiveXComponentBeagleLovgateQqpassJS.Psyme10Troj.gdoorTroj.netthiefHack.crack.foxmailWyxLovegateQqpassLmir/LemirHTML.IFrame第11章计算机病毒、恶意代码及防范11.1.2计算机病毒特征1.寄生性计算机病毒寄生在其他程序之中,被嵌入的程序叫做宿主程序。当执行这个程序时,病毒就起破坏作用,而在未启动这个程序之前,它是不易被人发觉的。2.传染性(感染性)计算机病毒不但本身具有破坏性,更有害的是具有传染性,一旦病毒被复制或产生变种,其速度之快令人难以预防。是否具有传染性是判别一个程序是否为计算机病毒的最重要条件。病毒程序通过修改磁盘扇区信息或文件内容并把自身嵌入到其中的方法达到病毒的传染和扩散。3.潜伏性计算机病毒潜伏性是指计算机病毒可以依附于其它媒体寄生的能力,侵入后的病毒潜伏到条件成熟才发作。例如黑色星期五病毒,不到预定时间一点都觉察不出来,等到条件具备的时候一下子就爆炸开来,对系统进行破坏。第11章计算机病毒、恶意代码及防范11.1.2计算机病毒特征4.隐蔽性有些病毒通过隐藏自己而防止被检测出来。具有隐蔽性的病毒把自己伪装成合法的程序或用其具有破坏性的代码替换掉合法程序的部分代码。5.破坏性计算机中毒后,可能会导致正常的程序无法运行,把计算机内的文件删除或受到不同程度的损坏。通常表现为:增、删、改、移。6.可触发性病毒因某个事件或数值的出现,诱使病毒实施感染或进行攻击的特性称为可触发性。病毒运行时,触发机制检查预定条件是否满足,如果满足,启动感染或破坏动作,使病毒进行感染或攻击;如果不满足,使病毒继续潜伏。例如所谓的时间炸弹(Timebombs),能够在发作日期到来之前一直保持潜伏和无害状态。第11章计算机病毒、恶意代码及防范11.1.2计算机病毒特征7.加密性:有些病毒通过加密而防止被检测出来。大多数病毒扫描软件就是通过搜索文件来发现那些标识病毒的字符串而扫描病毒的。如果病毒被加密了,它就会阻止反病毒程序对它进行检测。8.多态性:具有多态性的病毒在每次传输到一个新的系统时都会修改它们自己的特性(例如,对它们的字节、大小和内部指令的安排),这样就使得要辨认它们变得更加困难。有些多态性病毒使用复杂的算法并编入一些乱七八糟的命令来达到这种修改的目的。多态性病毒被认为是最复杂并且潜在威胁最大的一种病毒。第11章计算机病毒、恶意代码及防范11.1.3计算机病毒的分类目前出现的计算机病毒种类繁多,同时,一种病毒也可能发生多种变形。根据计算机病毒的特征和表现的不同,计算机病毒有多种分类方法。1.按照计算机病毒存在的媒体进行分类:根据病毒存在的媒体,病毒可以划分为网络病毒,文件病毒,引导型病毒。网络病毒通过计算机网络传播感染网络中的可执行文件,文件病毒感染计算机中的文件(如:COM,EXE,DOC等),引导型病毒感染启动扇区(Boot)和硬盘的系统引导扇区(MBR),还有这三种情况的混合型,例如:多型病毒(文件和引导型)感染文件和引导扇区两种目标,这样的病毒通常都具有复杂的算法,它们使用非常规的办法侵入系统,同时使用了加密和变形算法。第11章计算机病毒、恶意代码及防范11.1.3计算机病毒的分类2.按照计算机病毒传染的方法进行分类:这类病毒可分为驻留型病毒和非驻留型病毒,驻留型病毒感染计算机后,把自身的内存驻留部分放在内存(RAM)中,这一部分程序挂接系统调用并合并到操作系统中去,他处于激活状态,一直到关机或重新启动。非驻留型病毒在得到机会激活时并不感染计算机内存,一些病毒在内存中留有小部分,但是并不通过这一部分进行传染,这类病毒也被划分为非驻留型病毒。第11章计算机病毒、恶意代码及防范11.1.3计算机病毒的分类3.根据病毒破坏的能力可划分为以下几种:(1)无害型除了传染时减少磁盘的可用空间外,对系统没有其它影响。(2)无危险型这类病毒仅仅是减少内存、显示图像、发出声音及同类音响。(3)危险型这类病毒在计算机系统操作中造成严重的错误。(4)非常危险型这类病毒删除程序、破坏数据、清除系统内存区和操作系统中重要的信息。这些病毒对系统造成的危害,并不是本身的算法中存在危险的调用,而是当它们传染时会引起无法预料的和灾难性的破坏。第11章计算机病毒、恶意代码及防范11.1.3计算机病毒的分类4.根据病毒特有的算法,病毒可以划分为:(1)伴随型病毒,这一类病毒并不改变文件本身,它们根据算法产生EXE文件的伴随体,具有同样的名字和不同的扩展名(COM),例如:XCOPY.EXE的伴随体是XCOPY.COM。病毒把自身写入COM文件并不改变EXE文件,当DOS加载文件时,伴随体优先被执行到,再由伴随体加载执行原来的EXE文件。(2)“蠕虫”型病毒,通过计算机网络传播,不改变文件和资料信息,利用网络从一台机器的内存传播到其它机器的内存,计算网络地址,将自身的病毒通过网络发送。有时它们在系统存在,一般除了内存不占用其它资源。第11章计算机病毒、恶意代码及防范11.1.3计算机病毒的分类4.根据病毒特有的算法,病毒可以划分为:(3)寄生型病毒除了伴随和“蠕虫”型,其它病毒均可称为寄生型病毒,它们依附在系统的引导扇区或文件中,通过系统的功能进行传播,按其算法不同可分为:练习型病毒,病毒自身包含错误,不能进行很好的传播,例如一些病毒在调试阶段。(4)诡秘型病毒它们一般不直接修改DOS中断和扇区数据,而是通过设备技术和文件缓冲区等DOS内部修改,不易看到资源,使用比较高级的技术。利用DOS空闲的数据区进行工作。第11章计算机病毒、恶意代码及防范11.1.3计算机病毒的分类4.根据病毒特有的算法,病毒可以划分为:(5)宏病毒1995年,随着MicrosoftWord功能的增强,出现了使用Word宏语言编写的宏病毒,这类病毒感染Word文档文件,彻底改变了人们“数据文件不会感染病毒”的传统观念。虽然宏病毒可以在任何一个功能丰富的宏语言的应用程序下创建,但多数还是在微软Office程序下运行的。(6)变型病毒(又称幽灵病毒)这一类病毒使用一个复杂的算法,使自己每传播一份都具有不同的内容和长度。它们一般的作法是一段混有无关指令的解码算法和被变化过的病毒体组成。第11章计算机病毒、恶意代码及防范11.1.4计算机病毒的传播计算机病毒的传播途径有多种,它随着信息技术的发展而逐步进化,主要可以分为如下五种:1.通过不可移动的计算机硬件设备进行传播。这些设备通常有计算机的专用ASIC芯片和硬盘等。这种计算机病毒虽然很少,但却有极强的破坏能力。2.通过移动存储设备传播。这些设备主要包括U盘、光盘、磁带等。目前,U盘是使用最广泛、移动最频繁的存储介质,因此也成为校园网、企业网中传播病毒的主要移动设备。3.通过计算机网络进行传播。计算机病毒可以附着在正常文件中,通过Internet进入一个又一个系统中,这也是目前最主要的计算机病毒传播方式。4.通过点对点通信系统和无线信道传播。虽然这种病毒现今还不多,但是已经出现端倪,比如手机病毒“Cabir”,就是利用了手机中的蓝牙技术进行传播。但随着科技的进步,这种传播方式极可能成为未来计算机病毒的主要扩散渠道。第11章计算机病毒、恶意代码及防范11.1.4计算机病毒的传播第11章计算机病毒、恶意代码及防范•病毒的繁衍方式、传播方式不断地变化,反病毒技术也应该在与病毒对抗的同时不断推陈出新。现在,防治感染病毒主要有两种手段:一是用户遵守和加强安全操作控制措施,在思想上要重视病毒可能造成的危害;二是在安全操作的基础上,使用硬件和软件防病毒工具,利用网络的优势,把防病毒纳入到网络安全体系之中。形成一套完整的安全机制,使病毒无法逾越计算机安全保护的屏障,病毒便无法广泛传播。实践证明,通过这些防护措施和手段,可以有效地降低计算机系统被病毒感染的几率,保障系统的安全稳定运行。11.1.5计算机病毒的防范方法第11章计算机病毒、恶意代码及防范对病毒的预防在病毒防治工作中起到主导作用。病毒预防是一个主动的过程,不是针对某一种病毒,而是针对病毒可能入侵的系统薄弱环节加以保护和监控。而病毒治疗属于一个被动的过程。只有在发现一种病毒进行研究以后,才可以找到相应的治疗方法,这也是杀毒软件总是落后