2024年2月18日发(作者:)
第二章 计算机病毒
学习目标:
1. 了解计算机病毒的发展过程
2. 理解计算机病毒的原理与分类
3. 掌握不同种类计算机病毒的感染机制
4. 了解计算机病毒的结构
5. 分析计算机病毒程序和一般程序的联系和区别
6. 能够判断计算机是否感染了病毒,并采取相应策略解决问题
2.1 引言
计算机病毒对计算机系统及网络产生的破坏效应,使人们清醒地认识到它所带来的危害。目前,每年的新病毒数量都是呈指数级增长,而且由于近年来传输媒介的改变和因特网的大面积普及,导致计算机病毒感染的对象也开始由工作站向网络设备(代理、防护和服务器设置等)转变,病毒的类型也由文件型向网络蠕虫型转变。如今,世界上很多国家的科研机构都在对病毒的现状和防护进行深入研究。
计算机病毒是指编制或者在计算机程序中插入的“破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码”。计算机病毒是类似于生物病毒所具有的一些特征,它会复制自己并传播到其他宿主,并对宿主造成损害。计算机病毒中的宿主也是计算机程序。计算机病毒在传播期间一般会隐蔽自己,经过特定的条件能够触发并产生破坏。
2.2计算机病毒的起源及发展
2.2.1计算机病毒的起源
关于计算机病毒的起源现在有几种说法,但还没有一个破人们所确认,也没有实质性的论述予以证明。下面将几种起源说简单介绍一下:
科学幻想起源说
1977年,美国科普作家托马斯·丁·雷恩推出轰动一时的《Adolescence of p-1》一书。书中构想了一种能够自我复制,利用信息通道传播的计算机程序,并称之为计算机病毒。这是世界上第一个幻想出来的计算机病毒。人类社会有许多现行的科学技术,都在先有幻想之后才成为现实。因此,不能否认这本书的问世对计算机病毒的产生所起的作用。
游戏程序起源说
在20世纪70年代,计算机在人们的生活中还没有得到普及,美国贝尔实验室的计算机程序员为了娱乐,在自己实验室的计算机上编制吃掉对方程序的程序,看谁先把对方的程序吃光,有人认为这是世界上第一个计算机病毒,但这也只是一个猜测。
软件商保护软件起源说
计算机软件是一种知识密集型的高科技产品,由于人们对于软件资源的保护不尽合理,这就使得许多合法的软件被非法复制的现象极为平常,从而使得软件制造商的利益受到了严重的侵害。因此,软件制造商为了处罚那些非法复制者,而在软件产品中加入了病毒程序并由一定条件触发感染。例如,Pakistani Brain病毒在一定程度上就证实了这种说法。该病毒是巴基斯坦的两兄弟为了追踪非法复制其软件的用户而编制的,它只是修改磁盘卷标,把卷标改为Brain以便识别。也正是因为如此,当计算机病毒出现之后,有人认为这是软件制造商为了保护自己的软件不被非法复制而导致的结果。
2.2.2计算机病毒的发展
在病毒的发展史上,病毒的出现是有规律的,一般情况下一种新的病毒技术出现后,病毒迅速发展,接着反病毒技术的发展会抑制其流传。操作系统升级后,病毒也会调整为新的方式,产生新的病毒技术。
1) DOS引导阶段
1987年,计算机病毒主要是引导型病毒,具有代表性的是“小球”和“石头”病毒。当时的计算机硬件较少,功能简单,一般需要通过软盘启动后使用.引导型病毒利用软盘的启动原理工作,它们修改系统启动扇区,在计算机启动时首先取得控制权,减少系统内存,修改磁盘读写中断,影响系统工作效率,在系统存取磁盘时进行传播;1989年,引导型病毒发展为可以感染硬盘,典型的代表有“石头2”。
2) DOS可执行阶段
1989年,可执行文件型病毒出现,它们利用DOS系统加载执行文件的机制工作,代表为“耶路撒冷”,“星期天”病毒,病毒代码在系统执行文件时取得控制权,修改DOS中断,在系统调用时进行传染,并将自己附加在可执行文件中,使文件长度增加。1990年,发展为复合型病毒,可感染COM和EXE文件。
3) 伴随、批次型阶段
1992年,伴随型病毒出现,它们利用DOS加载文件的优先顺序进行工作,具有代表性的是“金蝉”病毒,它感染EXE文件时生成一个和EXE同名但扩展名为COM的伴随体;它感染文件时,改原来的COM文件为同名的EXE文件,再产生一个原名的伴随体,文件扩展名为COM,这样,在DOS加载文件时,病毒就取得控制权.这类病毒的特点是不改变原来的文件内容,日期及属性,解除病
毒时只要将其伴随体删除即可。在非DOS操作系统中,一些伴随型病毒利用操作系统的描述语言进行工作,具有典型代表的是“海盗旗”病毒,它在得到执行时,询问用户名称和口令,然后返回一个出错信息,将自身删除。批次型病毒是工作在DOS下的和“海盗旗”病毒类似的一类病毒。
4) 多形阶段
1994年,随着汇编语言的发展,实现同一功能可以用不同的方式进行完成,这些方式的组合使一段看似随机的代码产生相同的运算结果。幽灵病毒就是利用这个特点,每感染一次就产生不同的代码。例如“一半”病毒就是产生一段有上亿种可能的解码运算程序,病毒体被隐藏在解码前的数据中,查解这类病毒就必须能对这段数据进行解码,加大了查毒的难度。多形型病毒是一种综合性病毒,它既能感染引导区又能感染程序区,多数具有解码算法,一种病毒往往要两段以上的子程序方能解除。
5) 变种阶段
1995年,在汇编语言中,一些数据的运算放在不同的通用寄存器中,可运算出同样的结果,随机的插入一些空操作和无关指令,也不影响运算的结果,这样,一段解码算法就可以由生成器生成,当生成器的生成结果为病毒时,就产生了这种复杂的“病毒生成器”,而变体机就是增加解码复杂程度的指令生成机制。这一阶段的典型代表是“病毒制造机” VCL,它可以在瞬间制造出成千上万种不同的病毒,查解时就不能使用传统的特征识别法,需要在宏观上分析指令,解码后查解病毒。
6) 网络蠕虫阶段
1995年,随着网络的普及,病毒开始利用网络进行传播,它们只是以上几代病毒的改进.在非DOS操作系统中,“蠕虫”是典型的代表,它不占用除内存以外的任何资源,不修改磁盘文件,利用网络功能搜索网络地址,将自身向下一地址进行传播,有时也在网络服务器和启动文件中存在。
7) 视窗阶段
1996年,随着Windows和Windows95的日益普及,利用Windows进行工作的病毒开始发展,它们修改(NE,PE)文件,典型的代表是DS.3873,这类病毒的机制更为复杂,它们利用保护模式和API调用接口工作,解除方法也比较复杂。
8) 宏病毒阶段
1996年,随着Windows Word功能的增强,使用Word宏语言也可以编制病毒,这种病毒使用类Basic语言、编写容易、感染Word文档等文件,在Excel和AmiPro出现的相同工作机制的病毒也归为此类,由于Word文档格式没有公开,这类病毒查解比较困难。
9) 互联网阶段
1997年以后,因特网发展迅速,各种病毒也开始利用因特网进行传播,一些携带病毒的数据包和邮件越来越多,如果不小心打开了这些邮件或登录了带有病毒的网页,计算机就有可能中毒。典型代表有“尼姆达”、“欢乐时光”和“欢乐谷”等病毒。
2003年,“2003蠕虫王”病毒在亚洲、美洲、澳大利亚等地迅速传播,造成了全球性的网络灾难。其中受害最严重的无疑是美国和韩国这两个因特网发达的国家。韩国70%的网络服务器处于瘫痪状态,网络连接的成功率低于10%,整个网络速度极慢。美国不仅公众网络受到了破坏性的攻击,而且连银行网络系统也遭到了破坏,全国1.3万台得自动取款机处于瘫痪章台。
2004年是“蠕虫”泛滥的一年,网络天空()、高波()、爱情后门(e)、震荡波()、无极()等严重危害了互联网的使用和安全。
2007年的“熊猫烧香”使所有程序图标变成熊猫烧香,并使它们不能应用。
2008年“扫荡波”同冲击波和震荡波一样,也是个利用漏洞从网络入侵的程序。而且正好在黑屏事件的期间,大批用户关闭自动更新以后,这更加剧了这个病毒的蔓延,这个病毒可以导致被攻击者的机器被完全控制。
2010年的“鬼影病毒”成功运行后,在进程中、系统启动加载项里找不到任何异常,同时即使格式化重装系统,也无法将彻底清除该病毒。犹如“鬼影”一般“阴魂不散”,所以称为“鬼影”病毒。
如今,计算机病毒变得更加活跃,木马、蠕虫、后门等病毒层出不穷,甚至出现了2006年炒的火热的流氓软件。自2000年以来,由于病毒的基本技术和原理被越来越多的人所掌握,新病毒的出现以及原有病毒的变种层出不穷,病的的增长速度超过了以往的任何时期。
2.3计算机病毒的定义
计算机病毒(Computer Virus)在《中华人民共和国计算机信息系统安全保护条例》中被明确定义,病毒是“编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。
另外一种定义是:一种人为制造的程序,通过不同的途径潜伏或寄生在存储媒体(如磁盘、内存)或程序里。当某种条件或时机成熟时,它会自我复制并传播,使计算机的资源受到不同程度的破坏。这些说法在某种意义上借用了生物病毒的概念,计算机病毒同生物病毒的相似之处是计算机病毒能够入侵计算机系统和网络,危害正常工作的“病原体”(是指计算机中存放的数据或系统本身),能够对计算机系统进行各种破坏,同时能够自我复制,具有传染性。
2.4计算机病毒的分类
根据多年对计算机病毒的研究,按照计算机病毒属性的方法进行分类,计算机病毒可以根据下面的属性进行分类:
按病毒存在的媒体
根据病毒存在的媒体,病毒可以划分为网络病毒,文件病毒,引导型病毒。网络病毒通过计算机网络传播感染网络中的可执行文件,文件病毒感染计算机中的文件(如:COM,EXE,DOC等),引导型病毒感染启动扇区(Boot)和硬盘的系统引导扇区(MBR)。
还有这三种情况的混合型,例如:多型病毒(文件和引导型)感染文件和引导扇区两种目标,这样的病毒通常都具有复杂的算法,它们使用非常规的办法侵入系统,同时使用了加密和变形算法。目前很多病毒都是这种混合类型的,一旦中毒,很难删除。病毒在感染系统之后,会在多处建立自我保护功能,比如注册表、进程、系统启动项等位置。如果进行手工清除,在注册表中找到病毒对应项,删除后进程一旦检测出来,会重新写入注册表。而在进程中,病毒也不是单一地建立一个进程,而一般是两个或多个进程,同时这些病毒进程之间互为守护进程,即关掉一个,另外的进程会马上检测到,并新建一个刚被删除的进程。
按病毒传染的方法
根据病毒传染的方法可分为驻留型病毒和非驻留型病毒,驻留型病毒感染计算机后,把自身的内存驻留部分放在内存(RAM)中,这一部分程序挂接系统调用并合并到操作系统中去,他处于激活状态,一直到关机或重新启动.非驻留型病毒在得到机会激活时并不感染计算机内存,一些病毒在内存中留有小部分,但是并不通过这一部分进行传染,这类病毒也被划分为非驻留型病毒。
按病毒破坏的能力
无害型:除了传染时减少磁盘的可用空间外,对系统没有其它影响。
无危险型:这类病毒仅仅是减少内存、显示图像、发出声音及同类音响。
危险型:这类病毒在计算机系统操作中造成严重的错误。
非常危险型: 这类病毒删除程序、破坏数据、清除系统内存区和操作系统中重要的信息。这些病毒对系统造成的危害,并不是本身的算法中存在危险的调用,而是当它们传染时会引起无法预料的和灾难性的破坏。由病毒引起其它的程序产生的错误也会破坏文件和扇区,这些病毒也按照他们引起的破坏能力划分。一些现在的无害型病毒也可能会对新版的DOS、Windows和其它操作系统造成破坏。例如,在早期的病毒中,有一个“Denzuk”病毒在360K磁盘上很好的工作,不会造成任何破坏,但是在后来的高密度软盘上却能引起大量的数据丢失。
按病毒的算法
伴随型病毒,这一类病毒并不改变文件本身,它们根据算法产生EXE文件的伴随体,具有同样的名字和不同的扩展名(COM),例如:病毒的伴随体是XCOPY-COM。病毒把自身写入COM文件并不改变EXE文件,当DOS加载文件时,伴随体优先被执行到,再由伴随体加载执行原来的EXE文件。
“蠕虫”型病毒,通过计算机网络传播,不改变文件和资料信息,利用网络从一台机器的内存传播到其它机器的内存,计算网络地址,将自身的病毒通过网络发送。有时它们在系统存在,一般除了内存不占用其它资源。
寄生型病毒 除了伴随和“蠕虫”型,其它病毒均可称为寄生型病毒,它们依附在系统的引导扇区或文件中,通过系统的功能进行传播,按其算法不同可分为:练习型病毒,病毒自身包含错误,不能进行很好的传播,例如一些病毒在调试阶段。
诡秘型病毒 它们一般不直接修改DOS中断和扇区数据,而是通过设备技术和文件缓冲区等DOS内部修改,不易看到资源,使用比较高级的技术。利用DOS空闲的数据区进行工作。
变型病毒(又称幽灵病毒) 这一类病毒使用一个复杂的算法,使自己每传播一份都具有不同的内容和长度。它们一般的作法是一段混有无关指令的解码算法和被变化过的病毒体组成。
2.5计算机病毒的结构
计算机病毒可能是用不同的编程语言所编写,也可能运行于不同的操作系统,但其逻辑结果通常是不变的,包括感染模块、触发模块、破坏模块和主控模块4个组成部分。如图2-1所示:
激活感染条件的判断部分病毒感染模块感染模块的实施部分计算机病毒程序病毒触发模块病毒引导模块触发破坏表现条件的判断部分病毒破坏模块破坏表现功能的实施部分图2-1 病毒的机构
感染模块
感染模块是病毒的传染部分,是病毒程序的一个重要组成部分,主要负责病毒的传染和扩散。但是,为了避免病毒重复感染一个文件、一个扇区,病毒要在病毒数据中加一个标志,如CIH病毒的感染标志是加了“CIH”字符串。对于以独立文件方式存在的病毒,如冲击波病毒,为了避免多个病毒进程同时运行,使用函数CreateMutex建立了一个互斥变量BILLY,病毒启动时首先检测有无该变量存在,存在则说明病毒程序已经运行,这样就保证了内存中只有一份病毒文件生成的进程。
病毒的传染性是病毒赖以生存繁殖的条件,如果计算机病毒没有传播通道,病毒传染的条件包括静态和动态两种。其中,静态传染是指被动传染,如用则其破坏性小,扩散面窄,难以造成大面积流行。
户在进行备份磁盘或文件时,把一个病毒由一个载体复制到另一个载体上,或者是通过网络上的信息传递,把一个病毒程序从一方传递到另一方;动态传染是指主动传染,以计算机系统的运行及病毒程序处于激活状态为先决条件。在病毒处于激活状态的条件下,只要传染条件满足,病毒程序就能主动地把病毒自身传染给另一个载体或另一个系统。
触发模块
触发模块的目的是调节病毒的攻击性和潜伏性之间的平衡。因为,病毒大范围的感染、频繁的破坏行为肯能给用户以重创,但是,他们总是使系统或多或少地出现异常,因此容易使病毒暴露。不破坏、不感染又会使病毒失去其特征,而可触发性是病毒的攻击性和潜伏性之间的调节杠杆,可以控制病毒的感染和破坏的频度,兼顾病毒的杀伤性和潜伏性。
计算机病毒在传染和破坏之前,往往要判断某些条件是否满足,满足则传染或者发作,否则不传染或不发作或只传染不发作,这个条件就是计算机病毒的触发条件。该条件是预先由病毒编制者设置的,通过触发模块能够判断触发条件是否满足,并根据判断结果来控制病毒的传染和破坏动作。
病毒采用的触发条件花样繁多,从中可以看出病毒作者对系统的了解程度及其丰富的想象力和创造力。病毒采用的触发条件主要包括:日期触发,条件触发,启动触发,键盘出发,感染数量触发,操作系统触发,访问磁盘次数触发,调用中断功能/API函数触发,CPU型号/主板型号触发等。
破坏模块
破坏模块是病毒程序中最为关键的部分,负责病毒的破坏工作,其破坏对象通常包括系统数据区、文件、内存、系统运行速度、磁盘、CMOS(保存计算机的基本启动信息的芯片)、主板和网络等。
引导模块
病毒程序运行时,首先运行的是病毒的引导模块,它主要负责操作系统环境检测,感染标志检测,分配内存,设置病毒触发条件,检查是否满足触发条件等。例如,CIH病毒首先检测系统是否为Window95/98系统,否则病毒程序退出。
计算机病毒实际上是一种特殊的程序,程序必然要存储在磁盘上,但是病毒程序为了进行自身的主动传播,必须使自身几声在可以获取执行权的对象上。
病毒的寄生对象有两种:一种是寄生在磁盘的引导扇区;另一种是寄生在可执行文件(.exe或.com)中。这是由于不论是磁盘引导扇区还是可执行文件,他们都有获取执行权的可能,这样病毒程序寄生在他们上面,就可以在一定条件下获得执行权,从而使病毒得以进入计算机系统,并处于激活状态,然后进行病毒的动态传播和破坏活动。
2.6 病毒的存在位置
计算机病毒的寄生方式有两种:一种是采用替代法;另一种是采用链接法。其中,替代法指病毒用自己的部分或全部指令代码,替代磁盘引导扇区或文件中的全部或部分内容;链接法是指病毒程序将自身代码作为正常程序的一部分与原
有正常程序链接在一起,病毒链接的位置可能在正常程序的首部、尾部或中间。寄生在磁盘引导扇区的病毒一般采取替代法,而寄生在可执行文件中的病毒一般采用链接法。通常计算机病毒的引导过程包括以下3个方面。
驻留内存
病毒若要发挥其破坏作用,一般要驻留内存。为此就必须开辟所用的内存空间或覆盖系统占用的部分内存空间。但是,也有一些病毒不驻留内存,如Taiwan(台湾)病毒(感染COM、EXE文件,发作时显示图片或动画)。
窃取系统控制权
在病毒程序驻留内存后,必须使有关部分取代或扩充系统的原有功能,并窃取系统的控制权。此后病毒程序依据其设计思路,隐蔽自己,等待时机,在条件成熟时,再进行传染和破坏。
恢复系统功能
病毒为隐蔽自己,驻留内存后还要恢复系统,使系统不会死机,只有这样才能等待时机成熟后,再进行感染和破坏。
2.7 病毒的感染过程
在系统运行时,病毒通过病毒载体即系统的外存储器进入系统的内存储器,常驻内存。该病毒在系统内存中监视系统的运行,当它发现有攻击的目标存在并满足条件时,便从内存中将自身存入被攻击的目标,从而将病毒进行传播。而病毒利用系统INT 13H读写磁盘的中断又将其写入系统的外存储器软盘或硬盘中,再感染其他系统。
可执行文件.COM或.EXE感染上了病毒,例如黑色星期五病毒,它驻入内存的条件是在执行被传染的文件时进入内存的。一旦进入内存,便开始监视系统的运行。当它发现被传染的目标时,进行如下操作:首先对运行的可执行文件特定地址的标识位信息进行判断是否已感染了病毒;当条件满足,利用INT 13H将病毒链接到可执行文件的首部或尾部或中间,并存大磁盘中;完成传染后,继续监视系统的运行,试图寻找新的攻击目标。
操作系统型病毒感染操作系统的过程并不复杂,下面我们分别从正常启动和感染后的启动过程进行描述。正常的PC DOS启动过程是:
1) 加电开机后进入系统的检测程序并执行该程序对系统的基本设备进行检测;
2) 检测正常后从系统盘0面0道1扇区即逻辑0扇区读入Boot引导程序到内存的0000: 7C00处;
3) 转入Boot执行;
4) Boot判断是否为系统盘,如果不是系统盘则提示:
non-system disk or disk error
Replace and strike any key when ready
否则,读入IBM BIO-COM和IBM DOS-COM两个隐含文件;
5) 执行IBM BIOCOM和IBM DOS-COM两个隐含文件,将COMMAND -COM装入内存;
6) 系统正常运行,DOS启动成功。
如果系统盘已感染了病毒,PC DOS的启动将是另一番景象,其过程为:
1) 将Boot区中病毒代码首先读入内存的0000: 7C00处;
2) 病毒将自身全部代码读入内存的某一安全地区、常驻内存,监视系统的运行;
3) 修改INT 13H中断服务处理程序的入口地址,使之指向病毒控制模块并执行之。因为任何一种病毒要感染软盘或者硬盘,都离不开对磁盘的读写操作,修改INT 13H中断服务程序的入口地址是一项少不了的操作;
4) 病毒程序全部被读入内存后才读入正常的Boot内容到内存的0000: 7C00处,进行正常的启动过程;
5) 病毒程序伺机等待随时准备感染新的系统盘或非系统盘。
如果发现有可攻击的对象,病毒要进行下列的工作:首先将目标盘的引导扇区读入内存,对该盘进行判别是否传染了病毒;当满足传染条件时,则将病毒的全部或者一部分写入Boot区,把正常的磁盘的引导区程序写入磁盘特写位置;
返回正常的INT 13H中断服务处理程序,完成了对目标盘的传染。
2.8 计算机病毒的特征
计算机病毒具有以下几个特点:
寄生性
计算机病毒寄生在其他程序之中,当执行这个程序时,病毒就起破坏作用,而在未启动这个程序之前,它是不易被人发觉的。
传染性
计算机病毒不但本身具有破坏性,更有害的是具有传染性,一旦病毒被复制或产生变种,其速度之快令人难以预防。传染性是病毒的基本特征。在生物界,病毒通过传染从一个生物体扩散到另一个生物体。在适当的条件下,它可得到大量繁殖,并使被感染的生物体表现出病症甚至死亡。同样,计算机病毒也会通过各种渠道从已被感染的计算机扩散到未被感染的计算机,在某些情况下造成被感染的计算机工作失常甚至瘫痪。与生物病毒不同的是,计算机病毒是一段人为编制的计算机程序代码,这段程序代码一旦进入计算机并得以执行,它就会搜寻其他符合其传染条件的程序或存储介质,确定目标后再将自身代码插入其中,达到自我繁殖的目的。只要一台计算机染毒,如不及时处理,那么病毒会在这台机子
上迅速扩散,计算机病毒可通过各种可能的渠道,如软盘、计算机网络去传染其他的计算机。当您在一台机器上发现了病毒时,往往曾在这台计算机上用过的软盘已感染上了病毒,而与这台机器相联网的其他计算机也许也被该病毒染上了。是否具有传染性是判别一个程序是否为计算机病毒的最重要条件。 病毒程序通过修改磁盘扇区信息或文件内容并把自身嵌入到其中的方法达到病毒的传染和扩散。被嵌入的程序叫做宿主程序。
潜伏性
有些病毒像定时炸弹一样,让它什么时间发作是预先设计好的。比如黑色星期五病毒,不到预定时间一点都觉察不出来,等到条件具备的时候一下子就爆炸开来,对系统进行破坏。一个编制精巧的计算机病毒程序,进入系统之后一般不会马上发作,因此病毒可以静静地躲在磁盘或磁带里呆上几天,甚至几年,一旦时机成熟,得到运行机会,就又要四处繁殖、扩散,继续为害。潜伏性的第二种表现是指,计算机病毒的内部往往有一种触发机制,不满足触发条件时,计算机病毒除了传染外不做什么破坏。触发条件一旦得到满足,有的在屏幕上显示信息、图形或特殊标识,有的则执行破坏系统的操作,如格式化磁盘、删除磁盘文件、对数据文件做加密、封锁键盘以及使系统死锁等。
隐蔽性
计算机病毒具有很强的隐蔽性,有的可以通过病毒软件检查出来,有的根本就查不出来,有的时隐时现、变化无常,这类病毒处理起来通常很困难。
破坏性
计算机中毒后,可能会导致正常的程序无法运行,把计算机内的文件删除或受到不同程度的损坏 。通常表现为:增、删、改、移。
可触发性
病毒因某个事件或数值的出现,诱使病毒实施感染或进行攻击的特性称为可触发性。为了隐蔽自己,病毒必须潜伏,少做动作。如果完全不动,一直潜伏的话,病毒既不能感染也不能进行破坏,便失去了杀伤力。病毒既要隐蔽又要维持杀伤力,它必须具有可触发性。病毒的触发机制就是用来控制感染和破坏动作的频率的。病毒具有预定的触发条件,这些条件可能是时间、日期、文件类型或某些特定数据等。病毒运行时,触发机制检查预定条件是否满足,如果满足,启动感染或破坏动作,使病毒进行感染或攻击;如果不满足,使病毒继续潜伏。
2.9 计算机病毒的表现
我们通常说要“通过现象看本质”,计算机病毒对我们的影响往往是消极的、有害的,那么计算机被病毒侵害的变现有那些呢?下面是很多病毒在感染计算机后的表现形式。
由于病毒程序把自己或操作系统的一部分用坏簇隐起来,磁盘坏簇莫名其妙地增多。
由于病毒程序附加在可执行程序头尾或插在中间,使可执行程序容量增大。
由于病毒程序把自己的某个特殊标志作为标签,使接触到的磁盘出现特别标签。
由于病毒本身或其复制品不断侵占系统空间,使可用系统空间变小。
由于病毒程序的异常活动,造成异常的磁盘访问。
由于病毒程序附加或占用引导部分,使系统导引变慢。
丢失数据和程序。
中断向量发生变化。
打印出现问题。
死机现象增多。
生成不可见的表格文件或特定文件。
系统出现异常动作,例如:突然死机,又在无任何外界介入下,自行起动。
出现一些无意义的画面问候语等显示。
程序运行出现异常现象或不合理的结果。
磁盘的卷标名发生变化。
系统不认识磁盘或硬盘不能引导系统等。
在系统内装有汉字库且汉字库正常的情况下不能调用汉字库或不能打印汉字。
在使用写保护的软盘时屏幕上出现软盘写保护的提示。
异常要求用户输入口令。
2.10 常见的计算机病毒类型
病毒的制造者不断地尝试新的方法来感染计算机系统。但是病毒的实际类型还是只有很少的几种。常见的计算机病毒类型包括文件型病毒、引导型病毒、宏病毒、电子邮件病毒和混合型病毒等。
文件型病毒
文件型病毒系计算机病毒的一种,主要通过感染计算机中的可执行文(.exe)件和命令文件(.com)。文件型病毒是对计算机的源文件进行修改,使其成为新的带毒文件。一旦计算机运行该文件就会被感染,从而达到传播的目的。
文件型病毒分两类:一种是将病毒加在COM前部,一种是加在文件尾部。如图2-2所示:
病毒病毒地址源文件源文件病毒
图2-2可执行文件病毒
文件型病毒传染的对象主要是.COM和.EXE文件。
引导型病毒
引导型病毒是一种在ROM BIOS之后,系统引导时出现的病毒,它先于操作系统,依托的环境是BIOS中断服务程序。引导型病毒是利用操作系统的引导模块放在某个固定的位置,并且控制权的转交方式是以物理位置为依据,而不是以操作系统引导的内容为依据。因而病毒占据该物理位置可获得控制权,而将真正的引导区内容转移或替换。待病毒程序执行后,将控制权交给真正的引导区内容,使得这个带病毒的系统看似正常运转,而病毒已隐藏在系统中并伺机传染和发作。
引导型病毒按其寄对象的不同又可分为两类,即MBR(主引导区)病毒和BR(引导)病毒。MBR病毒也称为分区病毒,将病毒寄生在硬盘分区中主引导程序所占据的硬盘0头0柱面第1个扇区中。典型的病毒有大麻(Stoned)、2708、INT60病毒等;BR病毒是将病毒寄生在硬盘逻辑0扇(即0面0道第1个扇区),典型的病毒有Brain、小球病毒等。
引导型病毒的主要特点为:
1) 引导型病毒是在安装操作系统之前进入内存,寄生对象又相对固定,因此该类型病毒基本上不得不采用减少操作系统所掌管的内存容量方法来驻留内存高端。而正常的系统引导过程一般是不减少系统内存的。
2) 引导型病毒需要把病毒传染给软盘,一般是通过修改INT 13H的中断向量,而新INT 13H中断向量段址必定指向内存高端的病毒程序。
3) 引导型病毒感染硬盘时,必定驻留硬盘的主引导扇区或引导扇区,并且只驻留一次,因此引导型病毒一般都是在软盘启动过程中把病毒传染给硬盘的。而正常的引导过程一般是不对硬盘主引导区或引导区进行写盘操作的。
4) 引导型病毒的寄生对象相对固定,把当前的系统主引导扇区和引导扇区与干净的主引导扇区和引导扇区进行比较,如果内容不一致,可认定系统引导区异常。
宏病毒
宏病毒是一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。从此以后,所有自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。虽然不是所有包含宏的文档都包含了宏病毒,但当有下列情况之一时,您可以百分之百地断定您的OFFICE文档或OFFICE系统中有宏病毒:
1) 在打开“宏病毒防护功能”的情况下,当您打开一个您自己写的文档时,系统会会弹出相应的警告框。而您清楚您并没有在其中使用宏或并不知道宏到底怎么用,那么您可以完全肯定您的文档已经感染了宏病毒。
2) 同样是在打开“宏病毒防护功能”的情况下,您的OFFICE文档中一系列的文件都在打开时给出宏警告。由于在一般情况下我们很少使用到宏,所以当您看到成串的文档有宏警告时,可以肯定这些文档中有宏病毒。
3) 如果软件中关于宏病毒防护选项启用后,不能在下次开机时依然保存。WORD中提供了对宏病毒的防护功能,它可以在“工具/选项/常规”中进行设定。但有些宏病毒为了对付OFFICE中提供的宏警告功能,它在感染系统(这通常只有在您关闭了宏病毒防护选项或者出现宏警告后您不留神选取了“启用宏”才有可能)后,会在您每次退出 OFFICE时自动屏蔽掉宏病毒防护选项。因此您一旦发现:您的机器中设置的宏病毒防护功能选项无法在两次启动WORD之间保持有效,则您的系统一定已经感染了宏病毒。也就是说一系列WORD模板、特别是 已经被感染。
宏病毒的感染流程如图2-3所示:
宏病毒感染文档将文档转换为模板复制宏病毒到该文档该文档是否被打开?否感染其他打开该文档的计算机是病毒表现图2-3 宏病毒感染过程
蠕虫病毒
蠕虫病毒是一种常见的计算机病毒。它是利用网络进行复制和传播,传染途径是通过网络和电子邮件。最初的蠕虫病毒定义是因为在DOS环境下,病毒发作时会在屏幕上出现一条类似虫子的东西,胡乱吞吃屏幕上的字母并将其改形。蠕虫病毒是自包含的程序(或是一套程序),它能传播自身功能的拷贝或自身(蠕虫病毒)的某些部分到其他的计算机系统中(通常是经过网络连接)。
比如近几年危害很大的“尼姆亚”病毒就是蠕虫病毒的一种,2007年1月流行的“熊猫烧香”以及其变种也是蠕虫病毒。这一病毒利用了微软视窗操作系统的漏洞,计算机感染这一病毒后,会不断自动拨号上网,并利用文件中的地址信息或者网络共享进行传播,最终破坏用户的大部分重要数据。
蠕虫病毒的结构和工作过程
蠕虫病毒的基本模块:
1) 传播模块——负责蠕虫的传播。
2) 隐藏模块——侵入主机后,隐藏蠕虫程序,防止被用户发现。
3) 目的功能模块——实现对计算机的控制,监视或者破坏。
蠕虫程序的一般工作过程是“扫描—>攻击—>复制”,如图2-4所示:
随机生成IP地址地址探测主机是否存在是漏洞是否存在是攻击、传染图2-4 蠕虫的工作过程
蠕虫病毒的一般防治方法是使用具有实时监控功能的杀毒软件,并且注意不要轻易打开不熟悉的邮件附件。
2.11 病毒的预防和处理
病毒的预防比处理更重要,所谓防患于未然,正是这个道理。一旦计算机被病毒感染,就会存在各种安全隐患,比如数据泄漏、破坏,网络阻塞,甚至硬盘被格式化等悲惨的后果,如果到这时再进行病毒的处理,那么一切都于事无补了。所以在计算机正常的情况下,要做好必要的预防工作。
1) 安装一款好的杀毒软件。比如360、卡巴斯基、诺顿等。简单方便,对系统的病毒防护和修复功能都很好。
2) 养成良好的使用习惯。下载软件到官方网页,或者到自己熟悉的网站下载,不要浏览不良网站,不要随意打开陌生人的邮箱、网址链接等。
3) 及时修补系统漏洞,这样也可以提高系统安全系数,比如如果安装了360安全卫士,就可以很方便的修补系统漏洞了。
2.12 操作实例
下面以实际的例子来对病毒的预防和处理做详细的讲解和分析。
实例一 新欢乐时光病毒
新欢乐时光病毒通过感染.html、.htm、.asp、.php、.jsp、.htt和.vbs等文件进行传播。在Windows XP的实验环境中,可通过下面4种方式感染新欢乐时光病毒。
1) 通过浏览已感染的网页;
2) 在共享局域网中存在被感染了的共享目录;
3) 浏览了被感染了的电子邮件;
4) 打开或者移动感染文件夹,会激活感染病毒。
当感染这个病毒后,系统会有下面的明显特征:
1) 在每个目录中都会生成folder,htt(带毒文件)和(目录配置文件)。
2) 在%Windows%Web和%Windows%system32中生成。
3) 在WindowsXP中生成%Windows%文件。
4) 插入htt文件,将病毒附加在其中;感染.html/htm、.jsp、.vbs、.php、.asp文件;用病毒替换内容。
5) 每次以Web视图方式打开目录或资源管理器时都会激活病毒一次,因而在任务管理器中可以看到有很多程序在运行,占用了系统大量资源,合系统运行速度明显变慢。
新欢乐时光病毒除了对操作系统的上述修改之外,对注册表也进行了修改,修改内容包括:
1) 在HKEY_LOCAL_MACHINEsoftwareMicrosoftWindowsCvrrent-
VersIonRun子键下增加Kemel32键值,使病毒在系统开机时启 动;
2) 修改HKFY_CLASSES_ROOTdllfile子键,改变dll文件的打开方式;
3) 修改HKEY_CURRENT_USERIdentities“&OEVersion&”MailStatio-
mery Name”指向信纸文件;
4) 修改HKEY_CURRENT_VSERSoftwareMicrosoftOffice9.0Outlook
OptionsMail子键的内容,使Outlook2000用信纸方式写邮件;
5) 修改HKEY_CURRENT_VSERSoftwareMicrosoftOffice10.0Outlook
OptionsMail子键的内容,使Outlook XP用信纸方式写邮件。
在感染了欢乐时光病毒以后,将所有的Web视图修改为传统Windows风格,这样系统环境更为稳定。
在安全模式下手工清除新欢乐时光病毒的简单步骤:
1) 更改注册表:点击开始,点击运行;输入“regedit”,点OK,注册表打开;找到下面,并删除键值:
HKEY_CURRENT_USERSoftwareHelpCount
HKEY_CURRENT_USERSoftwareHelpFileName
退出注册表编辑器。
2) 比照正常机器,恢复下面子健的相关键值:
HKEY_CLASSES_ROOTdllFile
HKEY_CURRENT_USERIdentities&UserID&SofwareMicrosoftOutlook Express&OEVersion&mail
HKEY_CURRENT_USER
SofwareMicrosoftOffice9.0OutlookOpinionsMail
HKEY_CURRENT_USER
SofwareMicrosoftOffice10.0OutlookOpinionsMail
3) 从别的没有被感染的计算机中拷贝%Windows%Web目录下文件覆盖到受感染的计算机上。
病毒防范
新欢乐时光的防范主要是对其弱点进行的;
1) 上网为系统安装补丁;
2) 安装反病毒软件,并及时升级最新的病毒库,打开实时防病毒监控等程序;
3) 删除信箱中可疑的电子邮件,建议昼不要使用信纸;
4) 对于Windows9X/Me,建议取消共享,或者将共享文件来设置为只读或者设置密码;对于WindowsNT/2000,应为文件来配置适当的权限;
5) 使用移动储存攻击前,如光盘、软盘、移动硬盘等,建议先用防病毒软件查杀。
对于其它VBS病毒,可采用一些通用措施来防范。
1) 禁用文件系统对象FileSyatenObjdct。
用regsvr32 /u这条命令就可以禁止文件系统对象。其中regsvr32是windowsSyarem下的可执行文件。或者直接查找文件,删除或者改名。还有一种方法就是在注册表中HKEY_CLASSES_ROOTCLSID下找到一个主键{0D43FE01-F093-11CF-8940-00A0C9054228}的项,将其删除。
2) 删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射。
单击“我的电脑”→“工具”→“文件夹选项”→“文件类型”,然后删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射。
3) 在windows目录中,找到,更改名称或者删除。
4) 设置浏览器的安全级别。
打开浏览器菜单栏里“Internet选项”中“安全”菜单,单击“自定义”级别。如图2-5所示。
图2-5 Internet属性
5) 把“ActiveX控件及插件”的一切设为禁止,如图2-6所示。
图2-6 安全级别设置窗口
6) 显示所有文件类型的拓展名。
Windows默认的是“已知文件类型的扩展名称”,不迁中此先项,即将其修改为显示所有文件类型的扩展名称。
7) 将系统的网络连接的安全级别设置至少为“中等”。
可以在一定程度上预防某些有害的Java程度或者某些AetiveX组件对计算机
的侵害。
实例二 冲击波病毒
冲击波病毒运行时会不停地利用IP扫描技术寻找网络上系统为Win2K或XP的计算机,找到后就利用DCOM RPC缓冲区漏洞攻击该系统,一旦攻击成功,病毒体将会被传送到对方计算机中进行感染,使系统操作异常、不停重启、甚至导致系统崩溃。另外,该病毒还会对微对象软的一个升级网站进行拒绝服务攻击,导致该网站堵塞,使用户无法通过该网站升级系统。
该病毒感染系统后,会使计算机产生下列现象:系统资源被大量占用,有时会弹出RPC服务终止的对话框,并且系统反复重启,不能收发邮件、不能正常复制文件、无法正常浏览网页,复制粘贴等操作受到严重影响,DNS和IIS服务遭到非法拒绝等。图2-7是弹出RPC服务终止的对话框的现象:
图2-7 系统关机命令窗口
病毒的清除
1) DOS环境下清除该病毒
1. 当用户中招出现以上现象后,用DOS系统启动盘启动进入DOS环境下,进入C盘的操作系统目录。 操作命令为:
>C:
>cd C:windows (或CD c:winnt)
2. 查找目录中的“”病毒文件。命令操作为:
>dir /s/p
为:
3. 找到后进入病毒所在的子目录,然后直接将该病毒文件删除。命令操作
>Del
2) 在安全模式下清除病毒
如果用户手头没有DOS启动盘,还有一个方法,就是启动系统后进入安全模式,然后搜索C盘,查找文件,找到后直接将该文件删除,然后再次正常启动计算机即可。
冲击波病毒的预防
由于冲击波病毒主要是利用TCP的135端口和4444端口以及UPD的69端口进行攻击,我们可以通过使用防火墙软件将这些端口禁止,或者利用Windows操作系统中“TCP/IP筛选”功能禁止这些端口,达到预防目的。
关于“TCP/IP筛选”的实现步骤如下:
1) 打开网络连接的属性,单击“属性”按钮,如图2-8所示;
图2-8 网络设置窗口
2) 选择“Internet协议(TCP/IP)”选项,单击“属性”,如图2-9所示;
图2-9 TCP/IP属性窗口
3) 单击“高级”按钮;
4) 选中“TCP/IP筛选”选项,单击“添加”选项,添加允许访问的合法网络链 接端口,则限制了TCP的135端口和4444端口以及UPD的69端口,如图2-10所示。
图2-10 端口过滤窗口
通过这两个实例的介绍,相信大家对病毒的预防和处理有了初步的了解和掌握。对不同的种类的病毒其处理方法和难易度也不相同。我们这里提到的是比较传统的两种病毒的处理办法,意在让大家知道病毒在系统中的位置和运行原理。概括地来说,病毒一般感染某些特定的文件,存在于进程、注册表、启动项中,通过特定的端口进行传播,需要一定的方式进行触发。
2.13 本章小结
本章首先介绍了病毒的发展史,然后对病毒的概念、分类、结构、原理进行了深刻的剖析。通过对病毒的感染过程的分析,进一步引出了病毒的特征,并列举了几种常见的病毒类型。最后通过两个实际的例子讲述了病毒的预防和处理。在实际应用的过程中,预防是最为重要的手段,此外还应该做好备份工作,从而保护重要数据,尽量保证计算机及其信息的安全性。
2.14 练习题
1. 计算机病毒的基本结构包括_______、_______、_______、和_______。
2. 蠕虫病毒的结构包括_______、_______和_______。
3. 简述引导型病毒的原理。
4. 画出文件型病毒的结构。
5. 请叙述计算机病毒种传播途径。
6. 如何为U盘建立基础的防病毒措施?(参见第15章)
发布评论