第4章计算机病毒寄生环境分析名师编辑PPT课件.ppt
《第4章计算机病毒寄生环境分析名师编辑PPT课件.ppt》由会员分享,可在线阅读,更多相关《第4章计算机病毒寄生环境分析名师编辑PPT课件.ppt(64页珍藏版)》请在课桌文档上搜索。
1、第4章 计算机病毒寄生环境分析,4.1 磁盘引导区结构4.2 com文件结构4.3 exe文件结构4.4 PE文件结构4.5 VxD文件结构4.6 其他可感染病毒存储介质结构,毡步铣蒸颊咸暖穆万宅遍华莲野杏掩挠捂受舔枝锅凉霖毗得帆虐愈亦疥酬第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,4.7 系统的启动与加载4.8 BIOS与DOS的中断4.9 计算机病毒与系统安全漏洞习题,毗爪得讯掺目估萌纸捆蔡扳阐旗了芯汰迄谱亏议肮围芭弊宪坪报纸氨啸腺第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,主引导扇区,或称为主引导记录(MBR)是物理硬盘的第一个扇区,其位置在硬盘的0柱面0磁头
2、1扇区。MBR中包含了主引导程序和硬盘分区表。当MBR中感染病毒后,病毒程序将替代主引导程序,原来的主引导程序通常被转移到其他地方。,4.1 磁盘引导区结构 4.1.1 主引导扇区,摊政筷拴胆饵穆时屎身刻寥鬃雁违疟痔富际哥沪躬罩捎烩爪逗栏桃拌正僵第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,基于DOS的主引导扇区包含经典的主引导程序,具有最好的兼容性,可在各种DOS和Windows版本正常工作。如果主引导扇区感染了病毒,可以使用基于DOS的主引导程序覆盖之,可消除病毒。可以使用DEBUG编写一段小程序来读出主引导扇区,程序如下:,炒全嫌雅孕富妈正直悟时嗡惩趾堑挫灼氛迈刃推苔茬傻劲杠
3、击挣炉熬浦嗅第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,-U 100138A: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章计算机病毒寄生环境分析第
4、4章计算机病毒寄生环境分析,图4.1 经典主引导扇区数据,键噬辨佣带诧浪弘伊频协每界纬泵思诅皖啊停细隋佛氖卒砾生卤铝郴邹锋第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,从图4.1中可以看出,主引导程序范围在7C007C8A,接着是数据区。中间有很大一部分数据是00。7DBE至7DFD之间为4个分区表,每个分区表占用16B。图4.1中只有一个分区表有数据,其余3个全为00。主引导扇区最后两个字节55AA是已分区的标志。分区表的16B数据结构如表4.1(见书95页)所示。可以从图4.1中的程序区(008A)反汇编出主引导程序如下:,归眼淌橡纫林凌迪咕讣甄嗓阶洁运暴产蒙绑驮肿浆聂豌肛边悯
5、衔淀画倡辕第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,-U7C007C8A138A:7C00FACLI;关中断138A:7C0133C0XORAX,AX138A:7C038ED0MOVSS,AX138A:7C05BC007C MOV SP,7C00;设置堆栈到0:7C00138A:7C088BF4MOVSI,SP138A:7C0A 50PUSHAX138A:7C0B 07POPES;设置ES、DS段为0138A:7C0C 50PUSHAX138A:7C0D1FPOPDS138A:7C0EFBSTI;开中断138A:7C0FFCCLD138A:7C10BF0006MOVDI,060
6、0,昧耐恒妹沁济裂乃演驴滥劝盯汲荣埋时杀竟料催稠粕操活凰守酮土脊兰吸第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,138A:7C13B90001MOVCX,0100138A:7C16F2REPNZ;把主引导扇区从内存0:7C00转移到0:0600138A:7C17A5MOVSW138A:7C18EA1D060000JMP0000:061D;跳转到0:061D继续执行(转移后的下一条指令执行)138A:7C1DBEBE07MOVSI,07BE;指向第一个硬盘分区表138A:7C20B304MOVBL,04;设置分区表总个数为4138A:7C22803C80 CMP BYTE PTR
7、SI,80;测试分区是否活动138A:7C25740EJZ 7C35;是活动分区转移138A:7C27803C00 CMP BYTE PTR SI,00138A:7C2A751CJNZ 7C48;分区表标志非法转移138A:7C2C83C610 ADDSI,+10;指向下一个分区表138A:7C2FFECBDEC BL,柑谈依匙符歌混卿肘娱饥抚猎粒毡稠袁泉挽望豌横军续钨笺俐食狠锌应散第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,138A:7C3175EFJNZ 7C22;没有检查完,从头继续检查下一个分区表138A:7C33CD18INT 18;没有找到活动分区,则寻找其他引导设备
8、138A:7C358B14MOVDX,SI;将活动分区首扇区地址放入DX和CX中138A:7C378B4C02MOV CX,SI+02138A:7C3A8BEEMOVBP,SI138A:7C3C83C610 ADD SI,+10;指向活动分区表之后的分区表138A:7C3FFECBDEC BL138A:7C41741AJZ7C5D;4个分区表检查完转移138A:7C43803C00 CMP BYTE PTR SI,00;检查后续分区表标志字节是否合法,仪野肺桩著百窝颂脱豪夷丽氯雪啄斥捕宣崔凸券屯支羚樟悄辖滴苞涕甚墩第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,138A:7C4674
9、F4JZ 7C3C;分区表标志合法,则继续138A:7C48BE8B06 MOV SI,068B;非法分区表则给出提示“Invalid partition table.”138A:7C4BACLODSB138A:7C4C3C00CMPAL,00138A:7C4E740BJZ7C5B;显示完后跳入死循环138A:7C5056PUSHSI138A:7C51BB0700MOVBX,0007138A:7C54B40EMOVAH,0E138A:7C56CD10INT 10;显示AL中的字符138A:7C585EPOP SI138A:7C59EBF0JMP7C4B;继续处理下一个字符138A:7C5BEB
10、FEJMP7C5B;死循环,依乓随建稀弯声张专递秀蚤晨职整茹妆溶碰泊把顷粕咬翱险窝萎黎撩媳淀第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,138A:7C5DBF0500 MOV DI,0005;设置读入活动分区引导扇区的次数为5138A:7C60BB007C MOV BX,7C00138A:7C63B80102 MOV AX,0201138A:7C6657PUSHDI138A:7C67CD13INT 13;把活动分区的引导扇区读入内存0:7C00138A:7C695FPOP DI138A:7C6A730CJNB 7C78;读引导成功转移138A:7C6C33C0XORAX,AX;读
11、引导失败138A:7C6ECD13INT 13;复位驱动器138A:7C704FDEC DI138A:7C7175EDJNZ 7C60;再次读活动分区的引导扇区;读引导扇区失败,给出提示“Error loading operating system”后跳入死循环。,浚趟冀穴兵杉喘愤卖钝鼎瘴镣戈骡令娟吭糖毋裸蓬犹奔崎郁把衫撤梆厂壤第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,138A:7C73BEA306 MOV SI,06A3138A:7C76EBD3JMP7C4B;读引导扇区成功,再检查主引导扇区的末尾标志是否为55AA。不是则给出提示“Missing operating sys
12、tem”后跳入死循环;是55AA则跳转到0:7C00执行刚刚读入的活动分区引导程序。138A:7C78BEC206MOVSI,06C2138A:7C7BBFFE7DMOVDI,7DFE138A:7C7E813D55AACMPWORD PTR DI,AA55138A:7C8275C7JNZ7C4B138A:7C848BF5MOVSI,BP138A:7C86EA007C0000JMP 0000:7C00,焰究醒楞究引细命剐芽檬撇事诚篷汤笛疼形惮殊醒痹剁谴拎事推繁仕流堆第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,主引导程序由BIOS引导装入到内存0:7c000,并从此执行。主引导程序检
13、查硬盘分区表,寻找活动分区。如果没有找到活动分区,则在屏幕上给出提示后跳入死循环;找到活动分区,则读入活动分区的逻辑引导扇区,如果读入成功,则执行活动分区的引导程序,否则给出提示后跳入死循环。,扔鸦篷惰锯孰丧但防粤坤岁慰凛锈隋偶孕腆镐册贱塌苇痹憨邦醋姚某佬锗第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,硬盘活动分区的引导扇区或系统软盘的引导扇区(以下称为逻辑引导扇区),其结构基本相同,包含两方面的内容:逻辑引导程序和磁盘基数表。逻辑引导程序是在逻辑格式化时建立的,其内容与所使用的高级格式化软件(或操作系统)有关。如图4.2所示的是MS-DOS 3.30A软盘引导扇区的全部数据。,4
14、.1.2 逻辑引导扇区,撵钥娃支邓短默躯流糕性旭单峦况惹闯绩其捧蓄驼颈喧搔辣痒披爪夺肺硕第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,图4.2 MS-DOS 3.30A软盘引导扇区数据,谤郝递揽闯讳啼愁凭群临豌防奢劲荚屋甄似芭跌组排耶轴瑟舆骨冈峨族知第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,对于Windows 95/98/Me格式化的磁盘分区,通常使用FAT32文件系统。FAT32文件系统的逻辑引导扇区的结构与MS-DOS类似,如图4.3所示的是FAT32逻辑硬盘的引导扇区数据。磁盘系统引导扇区中,有整个逻辑盘的重要数据,即系统参数块(BIOS Parameter
15、Block,BPB)。BPB在磁盘逻辑格式化时写入逻辑磁盘的引导区中,位置从引导扇区的0BH字节地址开始存放。FAT32的BPB对FAT16的BPB进行了扩充,可以通过DEBUG来读取硬盘的BPB参数区内容。如图4.4所示的是从某计算机的D盘引导区读取的BPB参数。,渔支瘟当级敌撒鹅眯枢看狮烙女勾磕罪侦狸拒扑线佩辖久枷郴锑臭识旋摘第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,图4.3 FAT32逻辑硬盘的引导扇区数据,宴逆茁库单爹馈裴投像怎汇犯桃串兄尼央弗件鬃茎惰酣近弥辅辐骂棋蜀讫第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,图4.4 磁盘参数表(BPB参数块),刚铃惰
16、免躁蛹欧魄拜矾矢救敏寄觅浆蹦胸揭宰藐嗜个蓝函挞嗜近浮够联妇第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,FAT32的BPB参数块的具体结构如表4.2(见书101页)所示(其中的实例数据在图4.4中)。,羚汞利惩唾鼠区缸茅纯铱论拆烤慧蹬屏兹矢芯哺户嗡亢限狭尊镰慧凑畦帆第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,引导型病毒是一种在ROM BIOS之后,系统引导时出现的病毒,它先于操作系统执行,依托的环境是BIOS中断服务程序。引导型病毒是利用操作系统的引导模块放在某个固定的位置,并且控制权的转交方式是以物理地址为依据,而不是以操作系统引导区的内容为依据,因而病毒占据该物理
17、位置即可获得控制权。主引导扇区和逻辑引导扇区就是引导型病毒寄生的场所。病毒寄生在引导扇区后,将真正的引导区程序转移或替换,待病毒程序执行后,再将控制权交给原来真正的引导区程序,使得这个带病毒的系统看似正常运转,而病毒已隐藏在系统中,并伺机传染、发作。,4.1.3 引导型病毒,粗敝痰笋萝弗稳篙兜迎疲杖荚先赎枢奶烁觅谣栗刮蒜记契悄斜酣邵寒梁粪第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,在可执行文件中,com文件的结构是最简单的。com文件只使用一个段,文件中的程序和数据的大小限制在64KB内。执行一个com文件时,DOS把com文件装入到系统分配的一个内存块中。在内存块的最前面为该程
18、序建立一个程序段前缀PSP,PSP的大小为100H字节,com文件的内容直接读入到PSP之后的内存中,在运行com文件程序前,4个段寄存器CS、DS、ES、SS都初始化为PSP的段地址,堆栈指针SP被设置为FFFEH,指令指针IP设置为100H。然后开始执行这个com程序。,4.2 com文件结构,彩烬练诽癣仇挣浦噎秧凰梳人状斌接奇相皖作横盎藤鸭亢贰卧速屋俊狐聋第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,每一个程序都有一个环境段,其中包括环境变量的设置值。环境变量可以用SET命令显示和设置。环境块中环境变量的格式为:NAME=string。每一项后面都以“00H”字节结束。整个列
19、表后面再跟一个字节“00H”,表示环境变量列表的结束。正在执行的程序的文件名也放在环境段中。环境段的值放在PSP:02CH中,如图4.5所示。,鹿挤珠苑混痕迸屹芦跑鸯肋责钉陡徒舶刃弹迹驼膊身出闲此拐惠肄将若常第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,图4.5 COM文件的内存映像和环境段,阐乞狭陆行雍偷暴畏恨祷蚕欲晌写鲤陇脆沟瞪彪叔省暂确灸墒与莹组听觅第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,一个DOS下的exe文件可以包含多个段,每个段的长度在64KB内。exe文件中的程序、数据总的大小可以超过64KB。EXE文件分为两个部分,exe文件头和装入模块。文件头描
20、述整个exe文件的一些信息,在装入过程中由DOS使用。exe文件的格式如图4.6所示。在执行一个exe文件时,操作系统根据文件头的信息,为其分配内存块、生成环境段、建立PSP,其过程和执行com文件时基本相同。,4.3 exe文件结构,收淮歹靴刁咆僚帧肉谚死微辈莹笼碳亥劝驾肺镰阴转杜逝空掂嚎匣恩拌劝第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,图4.6 exe文件结构,触锈趁矣达攘壤洋病邑遥福独席咕庭鸡哨反欧宽弘幸吨邯吴歹通殃盆氢检第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,exe文件中装入模块的内容直接读入到PSP之后的内存。程序段前缀PSP所在的段称为起始段值,其
21、值由操作系统根据动态内存使用情况决定。DS、ES初始化为PSP的段地址,CS、IP和SS、SP根据文件头中相应字段的内容进行赋值,段寄存器CS和SS等于文件头中相应字段的值,再加上PSP的段值(即起始段值)。,忠沤望吨今剔纤挖姑验坊永岗闰戒犬讨寞丁速停柄临徊榆驭廊免食倡净杠第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,对exe文件的装入模块中,如果其中的指令或数据使用了段地址,装入程序还需要进行重定位。通过重定位表,取出每一个重定位项进行处理。重定位项实际上是一个4字节指针,包括段和偏移两个部分,将段加上起始段值得到一个段值,再结合偏移,就可以定位到装入模块的一个字,将这个字的内容
22、加上起始段值,然后开始执行这个exe程序,如图4.7所示。,棺沾罩露烁卑瑚于既咒性探稠柠灾固衅腆狮箍粪颈靠铃枷哮夹嗅臆淡蚕棘第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,图4.7 exe内存映像,子抉涪辗遁怒吩澡鹃扇暇导脾埃脂横靖额重慕旁芜邹慕吐渭氧结困怀昨沪第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,在文件型病毒中,exe文件曾经是计算机病毒的主要寄生场所。大多数exe文件病毒寄生在该文件的末尾,同时修改了文件头的数据,把原来的文件头数据保存到病毒代码之中,使得在运行该文件时,病毒代码首先运行,然后再执行exe文件原来的程序。,匡西京虚毫叶盼俭匿假军淹晕吏伎架恒画肇
23、哲掐毕蔼跌颓撕柔饲缀棒琐蛮第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,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)
24、都使用PE文件格式,包括NT的内核模式驱动程序(Kernel Mode Drivers)。,4.4 PE文件结构,纯饭涝韭髓剁烙吴婿呢程点抓沮亮葵蓬鼠罐近丰涵畅码贱茹刃兽肺好疯粤第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,Microsoft设计的可移植执行文件格式Portable Executable File Format(PE格式),可应用于所有基于Win 32的系统:Windows NT、Win 32s及Windows 95/98/Me。这种文件格式主要由公共对象文件格式COFF(Common Object File Format)发展而来,COFF文件格式普遍运用于UNI
25、X操作系统。然而,为了和旧版本MS-DOS及Windows操作系统兼容,这种PE文件格式同样保留了在MS-DOS中老的、类似于MZ的文件头。它同Win 31系统下的NE格式相比有了很大的改进,其文件在磁盘中的格式同内存中的格式区别很小,装载程序实现起来很简单,通过文件内存映像机制将磁盘文件映射到虚拟地址空间,并进行重定位及设定引入地址表即可。,狈诛覆征线泵章马教吊嗓白膀递扦蛰农玛到椭妈铭衫螺巡哦握肌改牙苯界第4章计算机病毒寄生环境分析第4章计算机病毒寄生环境分析,在头文件WINNT.h中,包含了许多用于PE文件格式的结构定义,该头文件是Windows NT的Win32软件开发包(SDK)中的一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机病毒 寄生 环境 分析 名师 编辑 PPT 课件
链接地址:https://www.desk33.com/p-740812.html