欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第4章计算机病毒寄生环境分析.ppt

    • 资源ID:3370669       资源大小:891.04KB        全文页数:64页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章计算机病毒寄生环境分析.ppt

    第4章 计算机病毒寄生环境分析,4.1 磁盘引导区结构 4.2 com文件结构 4.3 exe文件结构 4.4 PE文件结构 4.5 VxD文件结构 4.6 其他可感染病毒存储介质结构,4.7 系统的启动与加载 4.8 BIOS与DOS的中断 4.9 计算机病毒与系统安全漏洞 习题,主引导扇区,或称为主引导记录(MBR)是物理硬盘的第一个扇区,其位置在硬盘的0柱面0磁头1扇区。 MBR中包含了主引导程序和硬盘分区表。当MBR中感染病毒后,病毒程序将替代主引导程序,原来的主引导程序通常被转移到其他地方。,4.1 磁盘引导区结构 4.1.1 主引导扇区,基于DOS的主引导扇区包含经典的主引导程序,具有最好的兼容性,可在各种DOS和Windows版本正常工作。如果主引导扇区感染了病毒,可以使用基于DOS的主引导程序覆盖之,可消除病毒。 可以使用DEBUG编写一段小程序来读出主引导扇区,程序如下:,-U 100 138A:0100 B80102 MOVAX,0201;读1个扇区 138A:0103 BB007C MOVBX,7C00;读到当前段的7C00处 138A:0106 B90100 MOVCX,0001;0柱面1扇区 138A:0109 BA8000 MOVDX,0080;第一个物理硬盘0磁头 138A:010C CD13INT 13;读盘中断调用 138A:010E CCINT 3 - 某物理硬盘的主引导扇区的内容如图4.1所示。,图4.1 经典主引导扇区数据,从图4.1中可以看出,主引导程序范围在7C007C8A,接着是数据区。中间有很大一部分数据是00。 7DBE至7DFD之间为4个分区表,每个分区表占用16B。图4.1中只有一个分区表有数据,其余3个全为00。主引导扇区最后两个字节55AA是已分区的标志。分区表的16B数据结构如表4.1(见书95页)所示。 可以从图4.1中的程序区(008A)反汇编出主引导程序如下:,-U 7C00 7C8A 138A:7C00 FA CLI ;关中断 138A:7C01 33C0 XOR AX,AX 138A:7C03 8ED0 MOV SS,AX 138A:7C05 BC007C MOV SP,7C00 ;设置堆栈到0:7C00 138A:7C08 8BF4 MOV SI,SP 138A:7C0A 50 PUSH AX 138A:7C0B 07 POP ES ;设置ES、DS段为0 138A:7C0C 50 PUSH AX 138A:7C0D 1F POP DS 138A:7C0E FB STI ;开中断 138A:7C0F FC CLD 138A:7C10 BF0006 MOV DI,0600,138A:7C13 B90001 MOV CX,0100 138A:7C16 F2REPNZ ;把主引导扇区从内存0:7C00转移到0:0600 138A:7C17 A5 MOVSW 138A:7C18 EA1D060000 JMP 0000:061D ;跳转到0:061D继续执行(转移后的下一条指令执行) 138A:7C1D BEBE07 MOV SI,07BE ;指向第一个硬盘分区表 138A:7C20 B304 MOV BL,04 ;设置分区表总个数为4 138A:7C22 803C80 CMP BYTE PTR SI,80 ;测试分区是否活动 138A:7C25 740E JZ 7C35 ;是活动分区转移 138A:7C27 803C00 CMP BYTE PTR SI,00 138A:7C2A 751C JNZ 7C48 ;分区表标志非法转移 138A:7C2C 83C610 ADD SI,+10 ;指向下一个分区表 138A:7C2F FECB DEC BL,138A:7C31 75EF JNZ 7C22 ;没有检查完,从头继续检查下一个分区表 138A:7C33 CD18 INT 18 ;没有找到活动分区,则寻找其他引导设备 138A:7C35 8B14 MOV DX, SI ;将活动分区首扇区地址放入DX和CX中 138A:7C37 8B4C02 MOV CX, SI+02 138A:7C3A 8BEE MOV BP,SI 138A:7C3C 83C610 ADD SI,+10 ;指向活动分区表之后的分区表 138A:7C3F FECB DEC BL 138A:7C41 741A JZ 7C5D ;4个分区表检查完转移 138A:7C43 803C00 CMP BYTE PTR SI,00 ;检查后续分区表标志字节是否合法,138A:7C46 74F4 JZ 7C3C ;分区表标志合法,则继续138A:7C48 BE8B06 MOV SI,068B ;非法分区表则给出提示“Invalid partition table.” 138A:7C4B AC LODSB 138A:7C4C 3C00 CMP AL,00 138A:7C4E 740B JZ 7C5B ;显示完后跳入死循环 138A:7C50 56 PUSH SI 138A:7C51 BB0700 MOV BX,0007 138A:7C54 B40E MOV AH,0E 138A:7C56 CD10 INT 10 ;显示AL中的字符 138A:7C58 5E POP SI 138A:7C59 EBF0 JMP 7C4B ;继续处理下一个字符 138A:7C5B EBFE JMP 7C5B ;死循环,138A:7C5D BF0500 MOV DI,0005 ;设置读入活动分区引导扇区的次数为5 138A:7C60 BB007C MOV BX,7C00 138A:7C63 B80102 MOV AX,0201 138A:7C66 57 PUSH DI 138A:7C67 CD13 INT 13 ;把活动分区的引导扇区读入内存0:7C00 138A:7C69 5F POP DI 138A:7C6A 730C JNB 7C78 ;读引导成功转移 138A:7C6C 33C0 XOR AX,AX ;读引导失败 138A:7C6E CD13 INT 13 ;复位驱动器 138A:7C70 4F DEC DI 138A:7C71 75ED JNZ 7C60;再次读活动分区的引导扇区 ;读引导扇区失败,给出提示“Error loading operating system”后跳入死循环。,138A:7C73 BEA306 MOV SI,06A3 138A:7C76 EBD3 JMP 7C4B ;读引导扇区成功,再检查主引导扇区的末尾标志是否为55AA。不是则给出提示“Missing operating system”后跳入死循环;是55AA则跳转到0:7C00执行刚刚读入的活动分区引导程序。 138A:7C78 BEC206 MOV SI,06C2 138A:7C7B BFFE7D MOV DI,7DFE 138A:7C7E 813D55AA CMP WORD PTR DI,AA55 138A:7C82 75C7 JNZ 7C4B 138A:7C84 8BF5 MOV SI,BP 138A:7C86 EA007C0000 JMP 0000:7C00,主引导程序由BIOS引导装入到内存0:7c000,并从此执行。主引导程序检查硬盘分区表,寻找活动分区。如果没有找到活动分区,则在屏幕上给出提示后跳入死循环;找到活动分区,则读入活动分区的逻辑引导扇区,如果读入成功,则执行活动分区的引导程序,否则给出提示后跳入死循环。,硬盘活动分区的引导扇区或系统软盘的引导扇区(以下称为逻辑引导扇区),其结构基本相同,包含两方面的内容:逻辑引导程序和磁盘基数表。 逻辑引导程序是在逻辑格式化时建立的,其内容与所使用的高级格式化软件(或操作系统)有关。如图4.2所示的是MS-DOS 3.30A软盘引导扇区的全部数据。,4.1.2 逻辑引导扇区,图4.2 MS-DOS 3.30A软盘引导扇区数据,对于Windows 95/98/Me格式化的磁盘分区,通常使用FAT32文件系统。FAT32文件系统的逻辑引导扇区的结构与MS-DOS类似,如图4.3所示的是FAT32逻辑硬盘的引导扇区数据。 磁盘系统引导扇区中,有整个逻辑盘的重要数据,即系统参数块(BIOS Parameter Block,BPB)。BPB在磁盘逻辑格式化时写入逻辑磁盘的引导区中,位置从引导扇区的0BH字节地址开始存放。FAT32的BPB对FAT16的BPB进行了扩充,可以通过DEBUG来读取硬盘的BPB参数区内容。如图4.4所示的是从某计算机的D盘引导区读取的BPB参数。,图4.3 FAT32逻辑硬盘的引导扇区数据,图4.4 磁盘参数表(BPB参数块),FAT32的BPB参数块的具体结构如表4.2(见书101页)所示(其中的实例数据在图4.4中)。,引导型病毒是一种在ROM BIOS之后,系统引导时出现的病毒,它先于操作系统执行,依托的环境是BIOS中断服务程序。引导型病毒是利用操作系统的引导模块放在某个固定的位置,并且控制权的转交方式是以物理地址为依据,而不是以操作系统引导区的内容为依据,因而病毒占据该物理位置即可获得控制权。主引导扇区和逻辑引导扇区就是引导型病毒寄生的场所。病毒寄生在引导扇区后,将真正的引导区程序转移或替换,待病毒程序执行后,再将控制权交给原来真正的引导区程序,使得这个带病毒的系统看似正常运转,而病毒已隐藏在系统中,并伺机传染、发作。,4.1.3 引导型病毒,在可执行文件中,com文件的结构是最简单的。com文件只使用一个段,文件中的程序和数据的大小限制在64KB内。 执行一个com文件时,DOS把com文件装入到系统分配的一个内存块中。在内存块的最前面为该程序建立一个程序段前缀PSP,PSP的大小为100H字节,com文件的内容直接读入到PSP之后的内存中,在运行com文件程序前,4个段寄存器CS、DS、ES、SS都初始化为PSP的段地址,堆栈指针SP被设置为FFFEH,指令指针IP设置为100H。然后开始执行这个com程序。,4.2 com文件结构,每一个程序都有一个环境段,其中包括环境变量的设置值。环境变量可以用SET命令显示和设置。环境块中环境变量的格式为:NAME=string。每一项后面都以“00H”字节结束。整个列表后面再跟一个字节“00H”,表示环境变量列表的结束。正在执行的程序的文件名也放在环境段中。环境段的值放在PSP: 02CH中,如图4.5所示。,图4.5 COM文件的内存映像和环境段,一个DOS下的exe文件可以包含多个段,每个段的长度在64KB内。exe文件中的程序、数据总的大小可以超过64KB。 EXE文件分为两个部分,exe文件头和装入模块。文件头描述整个exe文件的一些信息,在装入过程中由DOS使用。exe文件的格式如图4.6所示。 在执行一个exe文件时,操作系统根据文件头的信息,为其分配内存块、生成环境段、建立PSP,其过程和执行com文件时基本相同。,4.3 exe文件结构,图4.6 exe文件结构,exe文件中装入模块的内容直接读入到PSP之后的内存。程序段前缀PSP所在的段称为起始段值,其值由操作系统根据动态内存使用情况决定。DS、ES初始化为PSP的段地址,CS、IP和SS、SP根据文件头中相应字段的内容进行赋值,段寄存器CS和SS等于文件头中相应字段的值,再加上PSP的段值(即起始段值)。,对exe文件的装入模块中,如果其中的指令或数据使用了段地址,装入程序还需要进行重定位。通过重定位表,取出每一个重定位项进行处理。重定位项实际上是一个4字节指针,包括段和偏移两个部分,将段加上起始段值得到一个段值,再结合偏移,就可以定位到装入模块的一个字,将这个字的内容加上起始段值,然后开始执行这个exe程序,如图4.7所示。,图4.7 exe内存映像,在文件型病毒中,exe文件曾经是计算机病毒的主要寄生场所。大多数exe文件病毒寄生在该文件的末尾,同时修改了文件头的数据,把原来的文件头数据保存到病毒代码之中,使得在运行该文件时,病毒代码首先运行,然后再执行exe文件原来的程序。,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)。,4.4 PE文件结构,Microsoft设计的可移植执行文件格式Portable Executable File Format (PE格式),可应用于所有基于Win 32的系统:Windows NT、Win 32s及Windows 95/98/Me。 这种文件格式主要由公共对象文件格式COFF (Common Object File Format)发展而来,COFF文件格式普遍运用于UNIX操作系统。然而,为了和旧版本MS-DOS及Windows操作系统兼容,这种PE文件格式同样保留了在MS-DOS中老的、类似于MZ的文件头。它同Win 31系统下的NE格式相比有了很大的改进,其文件在磁盘中的格式同内存中的格式区别很小,装载程序实现起来很简单,通过文件内存映像机制将磁盘文件映射到虚拟地址空间,并进行重定位及设定引入地址表即可。,在头文件WINNT.h中,包含了许多用于PE文件格式的结构定义,该头文件是Windows NT的Win32软件开发包(SDK)中的一部分。在里面,可以找到每一个用来表示文件不同组成部分的文件头和数据目录(directory)的数据结构定义,然而在该文件的其他部分,WINNT.H却缺少对文件格式的足够定义。,Windows NT的PE文件格式给那些熟悉Windows和MS-DOS环境的开发者引入了一个全新的结构, PE文件格式和UNIX中的COFF规范非常相似,PE文件格式的结构方式是线性数据流,格式的开始是MS-DOS头、实模式段截(stub)的程序和PE文件的标识签名(signature),接着是PE文件头和PE可选(optional)段头,以及其他各个段的段(section)头和各个段的实体,文件的最后是其他方面的一些信息,包括重定位信息,符号表信息和字符表等信息,如图4.8所示。,图4.8 PE文件结构的总体层次分布,可选段头由一个数组结尾,该数组存放了与数据目录(directory)虚拟地址相关的数据目录项,数据目录中给出了段体的有关信息。每一个数据目录指明了特定段体数据是如何组织的。PE文件格式有11个预定义的段,这在Windows NT的应用程序中是很常见的。但是,每一个应用程序都可以为它自己的代码和数据定义特殊的段。,VxD技术只使用于Windows 9x系列,Windows NT不支持此技术,而是采用更为先进的面向对象的驱动程序模型。VxD(Virtual Device Driver)是运行在Windows 9x保护环ring0中保护模式下的32位可执行模块,负责管理硬件设备或者已安装软件等系统资源。所有VxD的运行都处于Windows 9x保护环ring3,应用程序对硬件的访问实际上是由这些VxD来代理完成的。VxD向ring3应用程序提供的函数接口称为VxD服务。,4.5 VxD文件结构,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文件的文件头存放方式如图4.9所示。,图4.9 VxD文件结构,计算机病毒发展到现在,原来的引导型病毒、文件型病毒和混合型病毒,都是通过磁盘和光盘进行传播的,其传播速度相对较慢。 依靠网络环境传播的病毒,可以称为网络病毒。网络病毒传播速度极快,破坏性更加严重。电子邮件、Web浏览器、FTP服务器等因特网或内联网网络应用系统,是计算机病毒的新型寄生和传播载体。,4.6 其他可感染病毒存储介质结构,一打开计算机就要执行程序。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其他设备(例如,IDE控制器、SCSI卡或网卡等)的BIOS。计算机的启动过程是在系统BIOS的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。,4.7 系统的启动与加载,因为最初的8086处理器能够访问的内存最大只有1MB,这1MB的低端640KB被称为基本内存,而A0000HBFFFFH要保留给显示卡的,C0000HFFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000HC7FFFH处,IDE控制器的BIOS在C8000HCBFFFH处。 下面介绍计算机的启动过程。, 当按下电源开关时,电源就开始向主板和其他设备供电,此时电压还不太稳定,CPU在此刻不会马上执行指令。当电源已经稳定供电了,电源部件会产生一个PG信号(Power Good),该信号通过芯片组,通知CPU开始执行程序。CPU马上就从地址FFFF0H处开始执行指令(由于CPU在初始状态时,CS=0FFFFH、IP=0000),这个地址十分接近1MB内存的末尾,一般在这里放的是一条跳转指令,跳到系统BIOS中真正的启动代码处。, 系统BIOS的启动代码首先要做的事情就是进行加电后自检(Power on self Test,POST),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如中断控制器、DMA控制器、系统时钟以及内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640KB常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,几乎无法感觉到它的存在,POST结束之后就会调用其他代码来进行更完整的硬件检测。, 接下来系统BIOS将查找显卡的BIOS。前面说过,显卡BIOS的ROM芯片的起始地址通常设在C0000H处,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容,不过这个画面几乎是一闪而过。系统BIOS接着会查找其他设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。, 查找完所有其他设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。 接着系统BIOS将检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度,可以在CMOS设置中自行决定使用简单耗时少或者详细耗时多的测试方式。 内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CDROM、串口、并口、软驱等设备,另外绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。, 标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。 到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。, 接下来系统BIOS将更新扩展系统配置数据(Extended System Configuration Data,ESCD)。ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时都能够看到“Update ESCD Success”这样的信息。,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows 9x不相同的数据格式,于是Windows 9x在自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。, ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.sys,这是DOS和Windows 9x最基本的系统文件。Windows 9x的IO.sys首先要初始化一些重要的系统数据,然后就显示出熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作。,下面给出系统启动和加载过程的简单流程,如图4.10所示。 在这个过程中,计算机病毒可能感染系统引导过程,即感染主引导区和Boot引导区。感染引导区的病毒就是引导型病毒,引导型病毒先于操作系统驻留内存,它通过修改BIOS的参数区和BIOS中断矢量来保存自己并获得控制权。 如果系统之中安装有引导多种操作系统的工具软件,通常主引导记录将被替换成该软件的引导代码,这些代码将允许用户选择一种操作系统,然后读取并执行该操作系统的基本引导代码(DOS和Windows的基本引导代码就是分区引导记录)。,图4.10 PC机的启动和加载流程,上面介绍的便是计算机在打开电源开关(或按Reset键)进行冷启动时所要完成的各种初始化工作,如果在DOS下按CtrlAltDel组合键(或从Windows中选择重新启动计算机)来进行热启动,那么POST过程将被跳过去,直接从第3步开始,另外第5步的检测CPU和内存测试也不会再进行。可以看到,无论是冷启动还是热启动,系统BIOS都一次又一次地重复进行着这些平时并不太注意的事情,然而正是这些单调的硬件检测步骤为正常使用计算机提供了基础。,中断有硬中断与软中断之分,硬中断产生中断信号,软中断提供服务。在程序设计中“中断”是必不可少的,系统中的许多基本功能,都是通过中断调用来实现的。这里主要讨论软中断,包括BIOS中断、DOS中断与用户自定义中断。,4.8 BIOS与DOS的中断,PC机的CPU允许有256个中断号(00HFFH),各个中断号都有一个中断服务例程。每个中断例程都有一个入口地址(即中断向量),这256个入口地址被安排在内存的0:00:3FFH,占1KB空间,被称为中断向量表。中断向量表共有256项,每项由4个字节组成,两个高位字节是中断服务例程的段地址,两个低位字节是段内偏移量,这4个字节的内容就是相应中断例程的入口地址。,DOS中断的中断号是:20H27H及28H2FH(DOS保留)。对中断号21H,还有很多子功能调用,其子功能调用号为00H62H,其中1DH20H,32H,34H,37H,50H53H,55H,60H,61H号为DOS内部使用(其中很多是未公开的功能调用)。有一些中断号是留给用户程序使用的。 在256个中断中,BIOS中断安排在05H,10HIFH,41H和46H,其中有的中断号也有子功能调用,如10H,它的子功能调用号为00H0FH;又如13H,它有子功能调用号0005、08H0DH、10H、11H、14H17H等。,有些中断与功能调用除了在AH或AL中指出中断号或功能调用号外,还有其他入口参数,并且还带有返回参数。一些标准的中断功能调用的详细资料,可查阅DOS/BIOS使用详解。 在DOS操作系统中,系统程序和应用程序都会频繁调用中断服务程序。计算机病毒常常寄生在中断服务程序中,通过系统程序或应用程序对中断功能的调用,病毒程序就获得了控制权,进行传播和破坏系统。,计算机病毒的制造者会利用各种手段,寻找各种机会,来达到目的。计算机系统的规模愈来愈大,系统软件和应用软件多种多样,复杂庞大的软件系统难免不出现各种漏洞。其中作为计算机基础的系统软件,其使用范围广泛,病毒制造者的攻击目标直接指向系统软件,特别是系统软件中的安全漏洞就是不言而喻的了。,4.9 计算机病毒与系统安全漏洞,黑客可以利用系统的安全漏洞,非法获取受害者计算机中的数据,获取非法利益,进行违法犯罪活动。计算机病毒制造者与黑客可能有某种区别,他们利用系统安全漏洞,使病毒能够得以更加隐蔽和更加广泛的传播,造成对系统更大的危害。 系统软件开发商可能随时发现漏洞,及时提供补丁程序来修复各种安全漏洞,使系统更加健全。人们随时可能见到像图4.11这样的布告是不足奇怪的。从相反的方面看,黑客和病毒制造者也为系统软件的完善和发展做出了“贡献”,他们的攻击最终使得系统安全漏洞得以暴露,经过系统软件开发商的修复后,系统软件将更加安全、更加稳定。,图4.11 一个修复系统安全漏洞的通告,1. 名词解释 (1) MBR (2) BPB (3) PSP (4) PE (5) COFF (6) VxD (7) 文件头 (8) 安全漏洞,习题,2. 简答题 (1) 简述执行程序的启动过程。 (2) 简述引导型病毒的寄生环境。 (3) 简述com型文件结构与exe型文件结构的特点。 (4) 简述exe文件的装入与执行过程。 (5) PE型文件是怎样的一种结构体?它是如何定义的? (6) 画出PE型文件的结构图,并对相应部分进行说明。,(7) VxD文件结构由哪几个段组组成?其存储格式如何? (8) 说明计算机的启动和加载过程。 (9) 什么是系统安全漏洞?试举例说明。 3. 论述题 (1) 根据文件结构的特点,分析说明文件型病毒的寄生环境。 (2) 分析说明计算机一般存在哪些安全漏洞以及计算机病毒是如何利用这些安全漏洞从而达到寄生目的的。,

    注意事项

    本文(第4章计算机病毒寄生环境分析.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开