540 likes | 668 Views
项目一:认识病毒. 任务 1 :认识一般的病毒:蠕虫、木马等 任务 2 :了解病毒的寄生环境、感染机制以及触发机制. 主要内容: 计算机病毒寄生环境分析 计算机病毒的感染机制 计算机病毒的触发机制. 第 1 章 计算机病毒寄生环境分析. 1.1 磁盘引导区结构 1.2 com 文件结构 1.3 exe 文件结构 1.4 PE 文件结构 1.5 VxD 文件结构 1.6 其他可感染病毒存储介质结构 1.7 系统的启动与加载 1.8 BIOS 与 DOS 的中断 1.9 计算机病毒与系统安全漏洞.
E N D
项目一:认识病毒 • 任务1:认识一般的病毒:蠕虫、木马等 • 任务2:了解病毒的寄生环境、感染机制以及触发机制
主要内容: • 计算机病毒寄生环境分析 • 计算机病毒的感染机制 • 计算机病毒的触发机制
第1章 计算机病毒寄生环境分析 • 1.1 磁盘引导区结构 • 1.2 com文件结构 • 1.3 exe文件结构 • 1.4 PE文件结构 • 1.5 VxD文件结构 • 1.6 其他可感染病毒存储介质结构 • 1.7 系统的启动与加载 • 1.8 BIOS与DOS的中断 • 1.9 计算机病毒与系统安全漏洞
1.1 磁盘引导区结构 • 主引导扇区 引导扇区,或称为主引导记录(MBR)是物理硬盘的第一个扇区,其位置在硬盘的0柱面0磁头1扇区。 MBR中包含了主引导程序和硬盘分区表。当MBR中感染病毒后,病毒程序将替代主引导程序,原来的主引导程序通常被转移到其他地方。 基于DOS的主引导扇区包含经典的主引导程序,具有最好的兼容性,可在各种DOS和Windows版本正常工作。如果主引导扇区感染了病毒,可以使用基于DOS的主引导程序覆盖之,可消除病毒。
逻辑引导扇区 硬盘活动分区的引导扇区或系统软盘的引导扇区(下称逻辑引导扇区)结构基本相同,包含两方面的内容:逻辑引导程序和磁盘基数表。 逻辑引导程序是在逻辑格式化时建立的,其内容与所使用的高级格式化软件(或操作系统)有关。 对于Windows 95/98/Me格式化的磁盘分区,通常使用FAT32文件系统。FAT32文件系统的逻辑引导扇区的结构与MS-DOS类似。 磁盘系统引导扇区中,有整个逻辑盘的重要数据,即系统参数块(BPB)。BPB在磁盘逻辑格式化时写入逻辑磁盘的引导区中,位置从引导扇区的0BH字节地址开始存放。FAT32的BPB对FAT16的BPB进行了扩充,可以通过DEBUG来读取硬盘的BPB参数区内容。
引导型病毒 引导型病毒是一种在ROM BIOS之后,系统引导时出现的病毒,它先于操作系统执行,依托的环境是BIOS中断服务程序。引导型病毒是利用操作系统的引导模块放在某个固定的位置,并且控制权的转交方式是以物理地址为依据,而不是以操作系统引导区的内容为依据,因而病毒占据该物理位置即可获得控制权。主引导扇区和逻辑引导扇区就是引导型病毒寄生的场所。病毒寄生在引导扇区后,将真正的引导区程序转移或替换,待病毒程序执行后,再将控制权交给原来真正的引导区程序,使得这个带病毒的系统看似正常运转,而病毒已隐藏在系统中,并伺机传染、发作。
1.2 com文件结构 在可执行文件中,com文件的结构是最简单的。com文件只使用一个段,文件中的程序和数据的大小限制在64KB内。 执行一个com文件时,DOS把com文件装入到系统分配的一个内存块中。在内存块的最前面为该程序建立一个程序段前缀PSP,PSP的大小为100H字节,com文件的内容直接读入到PSP之后的内存中,在运行com文件程序前,4个段寄存器CS、DS、ES、SS都初始化为PSP的段地址,堆栈指针SP被设置为FFFEH,指令指针IP设置为100H。然后开始执行这个com程序。 每一个程序都有一个环境段,其中包括环境变量的设置值。环境变量可以用SET命令显示和设置。环境块中环境变量的格式为:NAME=string。每一项后面都以“00H”字节结束。整个列表后面再跟一个字节“00H”,表示环境变量列表的结束。正在执行的程序的文件名也放在环境段中。环境段的值放在PSP: [02CH]中,如图所示。
1.3 exe文件结构 一个DOS下的exe文件可以包含多个段,每个段的长度在64KB内。exe文件中的程序、数据总的大小可以超过64KB。 EXE文件分为两个部分,exe文件头和装入模块。文件头描述整个exe文件的一些信息,在装入过程中由DOS使用。exe文件的格式如下图所示。 在执行一个exe文件时,操作系统根据文件头的信息,为其分配内存块、生成环境段、建立PSP,其过程和执行com文件时基本相同。
exe文件中装入模块的内容直接读入到PSP之后的内存。程序段前缀PSP所在的段称为起始段值,其值由操作系统根据动态内存使用情况决定。DS、ES初始化为PSP的段地址,CS、IP和SS、SP根据文件头中相应字段的内容进行赋值,段寄存器CS和SS等于文件头中相应字段的值,再加上PSP的段值(即起始段值)。 exe文件中装入模块的内容直接读入到PSP之后的内存。程序段前缀PSP所在的段称为起始段值,其值由操作系统根据动态内存使用情况决定。DS、ES初始化为PSP的段地址,CS、IP和SS、SP根据文件头中相应字段的内容进行赋值,段寄存器CS和SS等于文件头中相应字段的值,再加上PSP的段值(即起始段值)。 对exe文件的装入模块中,如果其中的指令或数据使用了段地址,装入程序还需要进行重定位。通过重定位表,取出每一个重定位项进行处理。重定位项实际上是一个4字节指针,包括段和偏移两个部分,将段加上起始段值得到一个段值,再结合偏移,就可以定位到装入模块的一个字,将这个字的内容加上起始段值,然后开始执行这个exe程序,如图所示。
exe内存映像 在文件型病毒中,exe文件曾经是计算机病毒的主要寄生场所。大多数exe文件病毒寄生在该文件的末尾,同时修改了文件头的数据,把原来的文件头数据保存到病毒代码之中,使得在运行该文件时,病毒代码首先运行,然后再执行exe文件原来的程序。
1.4 PE文件结构 PE的意思就是可移植的执行体(portable executable),它是 Win 32环境自身所带的执行体文件格式。它的一些特性继承自UNIX的 COFF (Common Object File Format)文件格式。“portable executable”意味着该文件格式是跨Win 32平台的:即使Windows运行 在非Intel的CPU上,任何Win 32平台的PE装载器都能识别和使用该文件格式。当然,移植到不同的CPU上PE执行体必然得有一些改变。所有Win 32执行体 (除了VxD和16位的DLL)都使用PE文件格式,包括NT的内核模式驱动程序(Kernel Mode Drivers)。 Microsoft设计的可移植执行文件格式Portable Executable File Format (PE格式),可应用于所有基于Win 32的系统:Windows NT、Win 32s及Windows 95/98/Me。
1.5 VxD文件结构 VxD技术只使用于Windows 9x系列,Windows NT不支持此技术,而是采用更为先进的面向对象的驱动程序模型。VxD(Virtual Device Driver)是运行在Windows 9x保护环ring0中保护模式下的32位可执行模块,负责管理硬件设备或者已安装软件等系统资源。所有VxD的运行都处于Windows 9x保护环ring3,应用程序对硬件的访问实际上是由这些VxD来代理完成的。VxD向ring3应用程序提供的函数接口称为VxD服务。
VxD可以用来虚拟实现一个物理硬件,比如中断虚拟化,以截取应用程序对硬件的请求,或者仲裁不同的应用程序对硬件的请求。因此,在多任务环境中,不同的应用程序可以共享相同的硬件设备。更多的情况下,VxD能够通过模仿一个硬件设备的动作来提供一个其实并不存在的“虚拟”设备。由于VxD拥有系统ring0级的特权,所以它能用来实现对应用软件的监控、调试甚至改变应用软件的行为。所以VxD的本质是运行在系统核心级ring0的可执行的32位二进制程序代码,也称32位动态库,它和虚拟管理器VMM共同构成Windows的核心。 VxD可以用来虚拟实现一个物理硬件,比如中断虚拟化,以截取应用程序对硬件的请求,或者仲裁不同的应用程序对硬件的请求。因此,在多任务环境中,不同的应用程序可以共享相同的硬件设备。更多的情况下,VxD能够通过模仿一个硬件设备的动作来提供一个其实并不存在的“虚拟”设备。由于VxD拥有系统ring0级的特权,所以它能用来实现对应用软件的监控、调试甚至改变应用软件的行为。所以VxD的本质是运行在系统核心级ring0的可执行的32位二进制程序代码,也称32位动态库,它和虚拟管理器VMM共同构成Windows的核心。 VxD是由_IGROUP、_LGROUP和_PGROUP 3个不同作用的段组组成。从VxD在磁盘上的存储格式来看,VxD是以线性可执行(Linear excutable,LE)文件格式存储的。这是Microsoft内部使用的一种文件格式。LE文件格式与Windows 9x的NE(nonLinear Excutable)文件有点相似,也有一个LE文件头,整个LE文件的文件头存放方式如图所示。
1.6 其他可感染病毒存储介质结构 计算机病毒发展到现在,原来的引导型病毒、文件型病毒和混合型病毒,都是通过磁盘和光盘进行传播的,其传播速度相对较慢。 依靠网络环境传播的病毒,可以称为网络病毒。网络病毒传播速度极快,破坏性更加严重。电子邮件、Web浏览器、FTP服务器等因特网或内联网网络应用系统,是计算机病毒的新型寄生和传播载体。
1.7 系统的启动与加载 一打开计算机就要执行程序。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其他设备(例如,IDE控制器、SCSI卡或网卡等)的BIOS。计算机的启动过程是在系统BIOS的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。 因为最初的8086处理器能够访问的内存最大只有1MB,这1MB的低端640KB被称为基本内存,而A0000H~BFFFFH要保留给显示卡的,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。 计算机的启动过程如下图:
1.8 BIOS与DOS的中断 中断有硬中断与软中断之分,硬中断产生中断信号,软中断提供服务。在程序设计中“中断”是必不可少的,系统中的许多基本功能,都是通过中断调用来实现的。 PC机的CPU允许有256个中断号(00H~FFH),各个中断号都有一个中断服务例程。每个中断例程都有一个入口地址(即中断向量),这256个入口地址被安排在内存的0:0~0:3FFH,占1KB空间,被称为中断向量表。中断向量表共有256项,每项由4个字节组成,两个高位字节是中断服务例程的段地址,两个低位字节是段内偏移量,这4个字节的内容就是相应中断例程的入口地址。DOS中断的中断号是:20H~27H及28H~2FH(DOS保留)。BIOS中断安排在05H,10H~IFH,41H和46H。
1.9 计算机病毒与系统安全漏洞 计算机病毒的制造者会利用各种手段,寻找各种机会,来达到目的。计算机系统的规模愈来愈大,系统软件和应用软件多种多样,复杂庞大的软件系统难免不出现各种漏洞。其中作为计算机基础的系统软件,其使用范围广泛,病毒制造者的攻击目标直接指向系统软件,特别是系统软件中的安全漏洞就是不言而喻的了。 黑客可以利用系统的安全漏洞,非法获取受害者计算机中的数据,获取非法利益,进行违法犯罪活动。计算机病毒制造者与黑客可能有某种区别,他们利用系统安全漏洞,使病毒能够得以更加隐蔽和更加广泛的传播,造成对系统更大的危害。
第2章 计算机病毒的感染机制 • 2.1 病毒感染目标 • 2.2 病毒感染的一般过程 • 2.3 病毒感染方式 • 2.4 计算机病毒的网络传播 • 2.5 几种典型网络病毒的传播方式
2.1 病毒感染目标 病毒是一种基于硬件和操作系统的程序,具有感染和破坏能力,这与病毒程序的结构有关,病毒程序的结构一般由4部分组成:感染标记、感染程序模块、破坏程序模块和触发程序模块。 病毒感染目标可归纳如下: 1、硬盘系统分配表扇区(主引导区) 2 、硬盘引导扇区 6 、软盘引导扇区 3 、可执行文件(.exe)7 、命令文件(.com) 4 、覆盖文件(.ovl)8 、COMMAND文件 5 、IBMBIO文件 9 、IBMDOS文件 病毒攻击的宿主程序是病毒的栖身地,它是病毒传播的目的地,又是下一次感染的出发点。
2.2 病毒感染的一般过程 计算机病毒的感染过程与生物学病毒的感染过程非常相似,它寄生在宿主程序中,进入计算机,并借助操作系统和宿主程序的运行,复制自身,大量繁殖。计算机病毒感染的一般过程为: ① 当计算机运行染毒的宿主程序时,病毒夺取控制权。 ② 寻找感染的突破口。 ③ 将病毒程序嵌入感染目标中。
2.3 病毒感染方式 • 感染长度 病毒感染宿主程序时,因为要把病毒程序放入宿主程序中,一般会引起宿主程序长度的变化。不同的病毒,病毒程序的长度也是不同的。病毒代码自身的长度与感染后宿主程序增长的长度未必相同。 • 单次感染 单次感染,又叫作一次性感染,是指病毒对宿主程序只感染一次,当病毒再次遇到这个已染毒的宿主程序时,不会再次进行感染。 • 重复感染 重复性感染是指病毒一旦遇到一个程序就进行感染,无论文件是否已感染过,都再次进行感染。重复感染的后果是宿主程序的长度越来越大。 • 寄生感染和滋生感染 寄生感染是最常见的感染方式,病毒将自身的病毒程序放入健康的宿主程序中,不论是放在宿主程序的头部、尾部,还是中间部位,都称为寄生感染。它们一般是依附在系统的引导扇区或文件中,通过系统的功能进行传播。
综合感染 即感染主引导区、Boot区又感染文件的综合感染病毒。综合感染病毒无论在编程技术上、表现形式上及危害性上都要更复杂一些,因此又称为双料病毒。 • 交叉感染 交叉感染是指多种病毒驻留在一个宿主程序中,此时,病毒代码会分散在宿主程序的头部和尾部,其感染方式可能是多种病毒一次感染,也可能是多种病毒同时交叉重复感染。交叉感染是由于在一台潜伏着多种病毒的计算机上运行某一程序引起的。 • 插入感染 插入感染式病毒在感染健康程序时,把它拦腰截断,把病毒程序放在宿主程序的中部。 • 逆插入感染 逆插入感染病毒将病毒代码切分为头部和尾部两块代码,感染宿主程序时,将宿主程序插入病毒代码中间,称为逆插入感染。 • 替代感染 有些病毒在感染时,不是去改动宿主程序,而是用另一程序去替代被感染的程序,称之为替代感染。
携带感染 病毒自身不能进行感染,要借助于携带程序才能进行的感染,叫做携带感染。 链式感染 病毒在感染时,完全不改动宿主程序本体,而是改动或利用与宿主程序的相关信息,将病毒程序与宿主程序链成一体,这种感染方式叫做链式感染。 零长度感染 零长度感染病毒在感染时,虽然也把病毒程序放入宿主程序中,但宿主程序的长度却保持不变,这类病毒不易被发现,有很好的潜伏性。 破坏性感染 在感染时,将自身的病毒程序硬性地覆盖宿主程序的某个区域,不管这个地方是否是“空洞”,完全用病毒程序代替宿主程序,使宿主程序的这一段完全被破坏。 系统隐含文件的感染 MSDOS.SYS和IO.SYS是MS-DOS的两个隐含系统文件。病毒要感染IO.sys和MSDOS.sys,又要保证它们使DOS正常启动,是很困难的。但也有少数病毒能感染IO.sys和MSDOS.sys文件。
2.4 计算机病毒的网络传播 • 网络有害信息与控制 美、英等国将因特网上的有害信息大体分为3类:一是对国家安全和社会稳定不利的信息;二是黄色信息;三是其他有害信息,包括传播计算机病毒、宣扬邪教、走私毒品、贩卖枪支、贩卖儿童、散布谣言等。阻止计算机病毒等有害信息在网上传播的技术方案,各国专家见仁见智, 第一种可选手段是路由器过滤器,即在因特网通向各国的国际接口处的路由器上增加有害信息过滤功能,将有害信息拒之于国门外。 第二种可选手段是在网络服务器上增设过滤网。过滤网是由专门设计的一组软件织成,内置有害信息词库。所有南来北往、东去西行的信息全部通过过滤网检查,计算机病毒等各种有害信息对号入座,格杀勿论。 第三个方案是开发终端机过滤软件,根据不同用户的需要投其所好,用户可以自由选择。
E-mail上的病毒 在多数UNIX电子邮件系统中,有一个“手指”实用程序,可以给出在特定场所的计算机用户的信息。 电子邮件型病毒即利用该“手指”程序,通过“手指”的通道获得与UNIX连接的其他计算机用户的信息,它对本地用户和远程网络用户同样有用。该程序调用存储器阵列去加载所要求的“手指”数据表,但是病毒改变这个存储器阵列,使此调用指向病毒自己并开始UNIX外壳的运行。网络上还存在E-mail欺骗现象。
BBS上的病毒 BBS又称用户信息交换中心,犹如居民社区中贴在墙上的布告栏。不同之处是BBS是设在网上,任何人都可以在上边发布自己想发布的信息。对过于机密、过于敏感的信息也可照此办理,办法是稍加粉饰或作加密处理,就可躲过别人的眼睛。 因特网上BBS最早被用于传播股市行情,随后很快涵盖了各种话题,科学、经济、政治、文化、艺术、体育、烹饪、健美、时装、婚姻、爱情、同性恋、安乐死、白宫秘闻、明星轶事等,谁都能在BBS上找到自己感兴趣的内容,可谓包罗万象。同时,某些病毒网站也相继开通,且对外开放自己的BBS 。通过这些BBS,病毒制造者、病毒爱好者、计算机安全专家、黑客在这里都能找到了各自需要的知识和信息,得到了不同的满足。
网络服务器上的病毒 计算机网络之所以有无穷的魅力和强大的功能,就是包络了许多有盘工作站、无盘工作站、小型机工作站、图形机工作站,甚至带有远程路由及无线结点的工作站的缘故,从而形成了纵横交错、四通八达的网络。 这些大大小小的工作站通过与之连接的一个个服务器进行工作,实现广泛领域和多层次的数据交换和信息资源共享。在这里,服务器就是信息交换的枢纽、开关,凡是通过服务器的信息——有益的信息、无益的信息,都将从这里通过,包括计算机病毒信息。这就是说,服务器没有鉴别和过滤有害信息的功能,而且病毒等有害信息,通过服务器的信息交换,得以迅速扩散。
无盘工作站上的病毒 无盘工作站工作是把计算机网络中的硬盘当作自己的硬盘来使用,亦即把服务器中的硬盘作为一个远程硬盘盘符映像到当前计算机网络中的工作站上使用,因此,计算机网络中的病毒完全可能在无盘工作站上运行并传播。 另外,无盘工作站还有内存和操作系统,病毒也完全可能利用这一条件及计算机主板和服务器映像过来的盘符传染病毒,进而再将病毒扩散到网络服务器硬盘上的文件中,传遍整个网络。 无盘工作站借助服务器上的硬盘进行工作,服务器则通过软磁盘或从其他工作站获取信息,然后交给无盘工作站来执行。当服务器上一旦感染病毒后,它就会通过计算机网络很快将病毒传染到无盘工作站的内存上。病毒并未到此终止,随着无盘工作站的运行,在适宜的条件下,病毒进行破坏并继续传播,之后又返回到服务器的硬盘上,进行交叉感染。其他工作站从该硬盘上读取信息时,将病毒同时读取。只要不遇到阻碍,病毒将一直传播下去。
电话线路上的病毒 有人说计算机黑客的前身是电话黑客,严格说来并非如此,因为计算机黑客具有十分复杂的含义。真正的、原本意义上的计算机黑客出现于20世纪60年代初期,他们只对完善现代通信技术和计算机技术,寻找技术中隐藏的缺陷感兴趣,并无真正的犯罪动机。时下所说的计算机黑客大都与捣乱分子和犯罪分子活动具有同等含义。 通过电话线路释放和传播病毒,技术上可谓小菜一碟。从已经发现的案例看,最简单的方法是利用便携式计算机,通过公共电话亭上的线路纵毒。对于病毒危害目标,可以针对某一具体用户机,可以针对网络服务器,也可以针对电话交换机。
病毒发射枪 在现代高科技兵器中,凡需要精确制导、控制、进行复杂运算的,都离不开计算机和自动化装置。它们是高科技兵器的心脏、神经中枢,同时也是兵器系统致命的薄弱之处。因为用一段小小的病毒程序,或者引爆一个适当的电磁炸弹,便可轻而易举地使其陷于瘫痪。例如,挑战者号航天飞机的毁灭,即是缘于计算机中一个小小的“臭虫”发作。假若发难的不是一般的“臭虫”,而是计算机病毒,也会产生同样的危害。 病毒发射枪的出现,结束了病毒单一的传染方式——接触传染的历史。病毒发射枪是一种新型计算机病毒发射武器,其载体和运输工具是激光或电磁波。其原理和发射生物病毒炮弹颇为相同。
2.5 几种典型网络病毒的传播方式 • “SQL”蠕虫病毒的传播原理 “SQL”蠕虫病毒是一个极为罕见的,具有极其短小病毒体却具有极强传播性的蠕虫病毒。该蠕虫利用Microsoft SQL Server 2000缓冲区溢出漏洞进行传播。 该蠕虫攻击安装有Microsoft SQL的NT系列服务器,首先尝试探测被攻击机器的1434/udp端口,如果探测成功,则发送376B的蠕虫代码。该蠕虫入侵Microsoft SQL Server系统后,运行于Microsoft SQL Server 2000主程序sqlserver.EXE应用程序进程空间,而MS SQL Server 2000拥有最高级别System权限,因而该蠕虫也获得System级别权限。 由于该蠕虫并没有对自身是否已经侵入系统的判定,因而该蠕虫造成的伤害是显然的,不停地尝试入侵将会造成拒绝服务式攻击,从而导致被攻击机器停止服务瘫痪。
梅莉莎(Melissa)宏病毒的感染机制 当携带该病毒的邮件被打开后,梅莉莎宏病毒首先降低主机的宏病毒防护等级,然后检查注册表项是否具有键值“…by kwyjibo”。如果该键不存在或者没有键值,该病毒则打开每个用户可读的MAPI地址本,向前50个地址发送被感染的邮件,修改注册表中的该项键值。受感染的邮件到达目的地址后,如果收件人打开邮件,则梅莉莎宏病毒得以连锁性地大规模散布。 受感染邮件的标题通常包含:Important Message From<用户名>,还包含“Here is that document you asked for… don’t show anyone else;—)”。当机器的分钟值与当前日期相同时,这个梅莉莎病毒将在当前光标处插入如下信息:“Twenty—two points, plus triple—word—score, plus fifty points for using all my letters. Game’s over. I’m outta here.”。这个梅莉莎宏病毒并不破坏数据,其破坏作用一是造成一种拒绝服务的攻击,严重时会导致企业的邮件服务器死机;二是造成用户信息的泄漏。
压缩机(Worm.archivera)病毒的感染机制 该病毒是第一个利用压缩包进行传播的病毒。它首先将自身复制到Windows目录下,然后优先搜寻Windows目录、桌面及收藏夹中后缀为ZIP的压缩包文件,之后调用WinZip压缩软件的压缩功能,将病毒体加入此压缩包中进行传染。由于用户一般都认为压缩包文件不可能感染病毒,所以此病毒具有很强的隐蔽性,一旦病毒大量传播,将会严重阻塞网络资源,给用户造成不可估量的损失。 特别是在大型的局域网内,一旦这种压缩机病毒出现,那么局域网内所有使用Windows操作系统的计算机都将受到感染。该病毒是利用网络进行大量传播,从而导致网络流量的大增,出现网络的堵塞,甚至还有可能出现广播风暴,致使局域网因为该病毒的作用而崩溃。
第3章 计算机病毒的触发机制 • 3.1 病毒触发原理 • 3.2 触发条件 • 3.3 日期触发 • 3.4 时间触发 • 3.5 键盘触发 • 3.6 感染触发 • 3.7 启动触发 • 3.8 访问磁盘次数触发 • 3.9 调用中断功能触发 • 3.10 CPU型号触发 • 3.11 打开邮件触发 • 3.12 随机触发 • 3.13 利用系统或工具软件的漏洞触发 • 3.14 多条件触发 • 3.15 手机病毒及PDA触发
3.1 病毒触发原理 以圆点病毒为例,其触发条件是指时间条件,也就是说,当处在病毒程序规定的某一时间范围内读(写)盘时,病毒程序的发作部分就被激活,从而在计算机的显示器上就能看到小球或圆点作某种运动或其他的屏幕异常显示。在这规定的时间范围之外,无论怎样读(写)盘,病毒的发作部分都不能被激活。病毒程序中常常使用INT 1AH软中断来读取机器的时间。
3.2 触发条件 病毒必须具备良好的潜伏性,才能不被人们发现。为达到破坏目的,病毒需要进行大范围的感染。病毒的感染动作和破坏行为的实施,是由它的触发机制决定的,病毒的触发机制是用来控制感染和破坏动作频率的。在病毒的触发机制中,病毒制造者预先规定了触发条件,病毒只有在触发条件满足时,才进行感染和破坏,否则一直潜伏。 病毒的触发条件包括病毒感染的触发条件和病毒发作的触发条件。病毒感染的触发条件是指当这部分条件满足时,病毒即开始传播,感染其他程序;病毒发作的触发条件是指当发作部分的条件满足时,染毒程序即开始进行计算机的破坏行为。通常病毒感染的触发条件较宽松。过于苛刻的触发条件,可能使病毒有好的潜伏性,但不易传播,只具有低杀伤力。过于宽松的触发条件将导致频繁感染与破坏,容易暴露,导致用户做反病毒处理,也不能有大的杀伤力。
3.3 日期触发 • 特定日期触发 病毒程序将触发条件设置为某些指定的日期,此种触发方式即为特定日期触发。 • 月份触发 病毒发作机制同日期触发相似,它是使得病毒在预定的月份被触发。 • 前半年、后半年触发 病毒将一年分为上半年与下半年两个时间段,在不同的时间段,病毒执行不同的操作。
3.4 时间触发 触发的实质是一种条件控制,一个病毒程序可以按照设计者的要求,在某个点上激活并对系统发起攻击。但能否进行攻击是与多种情况相联系的,包括指定的某个时间或日期、特定的用户识别符的出现、特定文件的出现或使用、文件最后写入时间触发、用户的安全保密等级以及一个文件使用的次数等。 时间触发的方式主要有特定的时间触发、染毒后累积工作时间触发和文件最后写入时间触发等3种。
3.5 键盘触发 病毒会监视键盘,当操作人员按某个键或某组合键时,病毒发作。 按键次数触发 如产于墨西哥的“魔鬼之舞(Devil’Dance)” 病毒。 组合键触发 如年产于美国加利福尼亚的“Alameda”病毒。 热启动触发 如月产于台湾的“入侵者(Invader)”病毒。
3.6 感染触发 许多病毒感染需要某些条件触发,而有相当数量的病毒又以与感染有关的信息反过来作为其破坏行为的触发条件。称为感染触发。 在病毒中已发现下述的感染触发方式:运行感染文件个数触发、感染序数触发、感染磁盘数触发和感染失败触发。
3.7 启动触发 启动触发是预设一个计算机的启动次数,并以此作为病毒的触发条件,激活病毒。典型的启动触发病毒有“Anti-Tel病毒”、“Telecom病毒”、“屏幕保护变种病毒”和“Trojan/Beway病毒”等。 • Telecom病毒 1991年6月于西班牙发现的Telecom病毒感染com文件,增长3700B。该病毒中含有一个Anti-Tel病毒的变种。病毒常驻内存时,如果访问硬盘,其主引导扇区便被感染,但是这样感染的主引导扇区中的病毒是不完整的。它不具有再进行感染的能力。当系统从感染的软盘上启动,病毒对启动次数进行计数,第400次启动时,病毒激活,硬盘便被覆盖。
3.8 访问磁盘次数触发 病毒程序将访问磁盘次数作为触发条件,即病毒程序运行时,对磁盘I/O访问的次数进行计数,当到达指定的访问次数时,激活病毒,此种方式称为访问磁盘次数触发。 此种病毒典型的有Print Screen病毒。这个病毒最先于1989年11月在印度的孟买发现,它是一种引导型病毒,也是产于印度的第一例病毒。它可以感染硬盘和软盘。当感染软盘时,软盘的原Boot扇区被写入11扇区。稍后发现的该病毒的变种Print Screen-2病毒对磁盘I/O操作进行计数,当第255次磁盘I/O操作时,病毒将屏幕内容送打印机打印。
3.9 调用中断功能触发 病毒对中断功能调用次数计数,以预定次数作触发条件。 典型的病毒有1991年9月发现于南非的Poem病毒。该病毒常驻内存,感染com文件,染毒文件增长1825~1888B,病毒代码附着在宿主程序尾部。病毒常驻内存后,对中断INT 21H的调用次数进行计数,当计数到第2112次时,屏幕显示病毒信息。该病毒在每年的12月21日激活,病毒激活时,除了显示病毒信息之外,硬盘前1221个扇区被覆盖。
3.10 CPU型号触发 在病毒程序中,以预定的CPU型号作触发条件,此种触发方式称为CPU型号触发。 此类典型病毒有“Violator B4病毒”。“Violator B4病毒”最先出现在加拿大,但是1990年12月首先在美国发现。该病毒感染com文件,感染后文件增长5302B。这是一个非常特殊的病毒,其行为取决于运行的PC机采用什么的CPU。如果是8088 CPU系统,该病毒除了感染不做任何其他动作。 如果发现使用80286及80286以上的CPU处理器,病毒立即激活,它将系统硬盘的开头部分覆盖掉,并且显示有关圣诞节问候的信息。该病毒的变种Violator B4-1病毒,如果在80386 CPU系统上,完成两次感染后,病毒将系统硬盘的第一磁道覆盖掉。
3.11 打开邮件触发 随着E-mail的广泛使用,这类病毒的品种也越来越多。当人们在浏览邮箱的时候,看到一些来历不明的邮件,很自然地想去看个究竟,谁知这样却给自己的计算机带来了病毒。这类病毒一般是借助于电子邮件这个通信工具来传播的,当用户预览邮件或者是运行附件的时候就满足了该类病毒的触发条件。 这类病毒邮件大致可分为两种:一种是以普通邮件方式出现,另一种是以节日问候类邮件出现。
3.12 随机触发 病毒的发作并不需要固定的触发条件,而是随机进行破坏动作。例如:“爱情森林病毒” 该病毒是一种邮件型木马病毒,病毒长度为176643B,有多种方式进行传播:本机感染、QQ诱骗、网页帮凶等,所以有极强的传播能力。该病毒利用了Outlook的邮件漏洞,将原始病毒包装成一个可自启动预览执行的病毒邮件:s.eml,然后放入一个恶意网页中,等待下载。 s.eml邮件含有一个名为Hack.EXE的木马病毒,如果用户不小心点击或预览了病毒邮件,病毒便可执行。该恶意网页用JS语言编写,利用了JavaExploit漏洞,所以不经用户的允许,便可以悄悄运行自动下载“爱情森林”病毒邮件(s.eml)并执行。