




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章 计算机病毒结构分析2018/8/9 1本章学习目标 掌握计算机病毒的结构 掌握计算机病毒的工作机制 了解引导型病毒原理 了解 COM、 EXE、 NE、 PE可执行文件格式 掌握 COM文件病毒原理及实验 掌握 PE文件型病毒及实验2018/8/9 2总体概念 DOS是 VXer的乐园 (Aver) 9x病毒 ring3, ring0 2K病毒 主要是 ring3 Windows文件格式变迁:COMEXE:MZ-NE-PEVxd: LE(16Bit, 32Bit)2018/8/9 3一、 计算机病毒的结构和工作机制 四大模块:感染模块触发模块破坏模块(表现模块)引导模块(主控模块) 两个状态:静态动态2018/8/9 4工作机制2018/8/9 5引导模块 引导前 寄生寄生位置: 引导区 可执行文件寄生手段: 替代法(寄生在引导区中的病毒常用该法) 链接法(寄生在文件中的病毒常用该法)2018/8/9 6 引导过程 驻留内存 窃取系统控制权 恢复系统功能 引导区病毒引导过程 搬迁系统引导程序 - 替代为病毒引导程序 启动时 - 病毒引导模块 - 加载传染、破坏和触发模块到内存 - 使用常驻技术 最后,转向系统引导程序 - 引导系统2018/8/9 7 文件型病毒引导过程 修改入口指令 - 替代为跳转到病毒模块的指令 执行时 - 跳转到病毒引导模块 - 病毒引导模块 - 加载传染、破坏和触发模块到内存 - 使用常驻技术 最后,转向程序的正常执行指令 - 执行程序2018/8/9 8感染模块 病毒传染的条件 被动传染(静态时) 用户在进行拷贝磁盘或文件时,把一个病毒由一个载体复制到另一个载体上。或者是通过网络上的信息传递,把一个病毒程序从一方传递到另一方。这种传染方式叫做计算机病毒的被动传染。 主动传染(动态时) 以计算机系统的运行以及病毒程序处于激活状态为先决条件。在病毒处于激活的状态下,只要传染条件满足,病毒程序能主动地把病毒自身传染给另一个载体或另一个系统。这种传染方式叫做计算机病毒的主动传染。 2018/8/9 9 传染过程 系统(程序)运行 - 各种模块进入内存 - 按多种传染方式传染 传染方式 立即传染,即病毒在被执行的瞬间,抢在宿主程序开始执行前,立即感染磁盘上的其他程序,然后再执行宿主程序。 驻留内存并伺机传染,内存中的病毒检查当前系统环境,在执行一个程序、浏览一个网页时传染磁盘上的程序,驻留在系统内存中的病毒程序在宿主程序运行结束后,仍可活动,直至关闭计算机。 2018/8/9 10 文件型病毒传染机理 首先根据病毒自己的特定标识来判断该文件是否已感染了该病毒; 当条件满足时,将病毒链接到文件的特定部位,并存入磁盘中; 完成传染后,继续监视系统的运行,试图寻找新的攻击目标。 文件型病毒传染途径 加载执行文件 浏览目录过程 创建文件过程 2018/8/9 11破坏模块 破坏是 Vxer的追求,病毒魅力的体现 破坏模块的功能破坏、破坏、还是破坏 破坏对象系统数据区、文件、内存、系统运行速度、磁盘、 CMOS、主板和网络等。 破坏的程度2018/8/9 12触发模块 触发条件 计算机病毒在传染和发作之前,往往要判断某些特定条件是否满足,满足则传染或发作,否则不传染或不发作或只传染不发作,这个条件就是计算机病毒的触发条件。 触发模块的目的是调节病毒的攻击性和潜伏性之间的平衡 大范围的感染行为、频繁的破坏行为可能给用户以重创,但是,它们总是使系统或多或少地出现异常,容易使病毒暴露。 而不破坏、不感染又会使病毒失去其特性。 可触发性是病毒的攻击性和潜伏性之间的调整杠杆,可以控制病毒感染和破坏的频度,兼顾杀伤力和潜伏性。2018/8/9 13病毒常用的触发条件 日期触发 时间触发 键盘触发 感染触发 例如,运行感染文件个数触发、感染序数触发、感染磁盘数触发、感染失败触发等。 启动触发 访问磁盘次数触发 CPU型号 /主板型号触发2018/8/9 14二、 16位操作系统病毒编制技术 1 引导型病毒编制原理 2 COM、 EXE、 NE文件结构及运行原理 3 COM文件病毒原理2018/8/9 151 引导型病毒编制原理 PC引导流程加电 CPUBIOS初始化 POST自检 引导区、分 区表检查 发现操作系统执行引导程序2018/8/9 16引导区病毒取得控制权的过程:引导区病毒取得控制权的过程:MBR和分区表装载DOS引导区运行 DOS引导程序加载 IO.sysMSDOS.sys 加载1 正常的引导过程正常的引导过程引导型病毒从软盘加载到内存寻找 DOS引导区的位置将引导区移动到别的位置病毒将自己写入原引导区的位置 用被感染的软盘启动用被感染的软盘启动MBR和分区表将病毒的引导程序加载入内存运行病毒引导程序病毒驻留内存原引导程序执行并加载系统 病毒在启动时获得控制权病毒在启动时获得控制权2018/8/9 172COMEXENE文件结构及运行原理 COM格式 最简单的可执行文件就是 DOS下的以 COM(Copy Of Memory)文件。COM格式文件最大 64KB,内含 16位程序的二进制代码映像,没有重定位信息。COM文件包含程序二进制代码的一个绝对映像,也就是说,为了运行程序准确的处理器指令和内存中的数据, DOS通过直接把该映像从文件拷贝到内存来加载 COM程序,系统不需要作重定位工作。2018/8/9 18 加载 COM程序 DOS尝试分配内存。因为 COM程序必须位于一个 64K的段中,所以 COM文件的大小不能超过 65,024( 64K减去用于 PSP的256字节和用于一个起始堆栈的至少 256字节)。 如果 DOS不能为程序、一个 PSP、一个起始堆栈分配足够内存,则分配尝试失败。 否则, DOS分配尽可能多的内存(直至所有保留内存),即使COM程序本身不能大于 64K。 在试图运行另一个程序或分配另外的内存之前,大部分 COM程序释放任何不需要的内存。 分配内存后, DOS在该内存的头 256字节建立一个 PSP(Program Segment Prefix:程序段前缀)。2018/8/9 19 创建 PSP后, DOS在 PSP后立即开始(偏移 100H)加载 COM文件,它置 SS、 DS和 ES为 PSP的段地址,接着创建一个堆栈。DOS通过把控制传递偏移 100H处的指令而启动程序。程序设计者必须保证 COM文件的第一条指令是程序的入口点。 因为程序是在偏移 100H处加载,因此所有代码和数据偏移也必须相对于 100H。汇编语言程序设计者可通过置程序的初值为 100H而保证这一点(例如,通过在源代码的开始使用语句 org 100H)。 2018/8/9 20 PSP结构 偏移大小 长度( Byte) 说 明0000h 02 中断 20H0002h 02 以节计算的内存大小(利用它可看出是否感染引导型病毒)0004h 01 保留0005h 05 至 DOS的长调用000Ah 02 INT 22H 入口 IP000Ch 02 INT 22H 入口 CS000Eh 02 INT 23H 入口 IP0010h 02 INT 23H 入口 CS0012h 02 INT 24H 入口 IP0014h 02 INT 24H 入口 CS0016h 02 父进程的 PSP段值(可测知是否被跟踪)0018h 14 存放 20个 SOFT号002Ch 02 环境块段地址(从中可获知执行的程序名)002Eh 04 存放用户栈地址指针0032h 1E 保留0050h 03 DOS调用( INT 21H / RETF)0053h 02 保留0055h 07 扩展的 FCB头005Ch 10 格式化的 FCB1006Ch 10 格式化的 FCB2007Ch 04 保留0080h 80 命令行参数长度0081h 127 命令行参数2018/8/9 21MZ格式 MZ格式: COM发展下去就是 MZ格式的可执行文件,这是 DOS中具有重定位功能的可执行文件格式。 MZ可执行文件内含 16位代码,在这些代码之前加了一个文件头,文件头中包括各种说明数据,例如,第一句可执行代码执行指令时所需要的文件入口点、堆栈的位置、重定位表等。 装载过程: 操作系统根据文件头的信息将代码部分装入内存, 然后根据重定位表修正代码, 最后在设置好堆栈后从文件头中指定的入口开始执行。 DOS可以把 MZ格式的程序放在任何它想要的地方。2018/8/9 22MZ标 志 MZ文件头其它信息重定位表的字节 偏移量重定位表 重定位表可重定位程序映像二进制代码2018/8/9 23 / MZ格式可执行程序文件头 struct HeadEXE WORD wType; / 00H MZ标志 WORD wLastSecSize; / 02H 最后扇区被使用的大小 WORD wFileSize; / 04H 文件大小 WORD wRelocNum; / 06H 重定位项数 WORD wHeadSize; / 08H 文件头大小 WORD wReqMin; / 0AH 最小所需内存 WORD wReqMax; / 0CH 最大所需内存 WORD wInitSS; / 0EH SS初值 WORD wInitSP; / 10H SP初值 WORD wChkSum; / 12H 校验和 WORD wInitIP; / 14H IP初值 WORD wInitCS; / 16H CS初值 WORD wFirstReloc; / 18H 第一个重定位项位置 WORD wOverlap; / 1AH覆盖 WORD wReserved0x20;/1CH 保留 WORD wNEOffset; / 3CH NE头位置 ;2018/8/9 24NE格式 为了保持对 DOS的兼容性并满足 Windows的需要, Win3.x中出现的 NE格式的可执行文件中保留了 MZ格式的头,同时 NE文件又加了一个自己的头,之后才是可执行文件的可执行代码。 NE类型包括了 EXE、 DLL、 DRV和 FON四种类型的文件。NE格式的关键特性是:它把程序代码、数据、资源隔离在不同的可加载区中;藉由符号输入和输出,实现所谓的运行时动态链接。2018/8/9 25NE装载 16位的 NE格式文件装载程序( NE Loader)读取部分磁盘文件,并生成一个完全不同的数据结构,在内存中建立模块。 当代码或数据需要装入时,装载程序必须从全局内存中分配出一块,查找原始数据在文件的位置,找到位置后再读取原始的数据,最后再进行一些修正。 每一个 16位的模块( Module)要负责记住现在使用的所有段选择符,该选择符表示该段是否已经被抛弃等信息。 2018/8/9 26MS-DOS头DOS文件头保留区域Windows头 偏移DOS Stub程序信息 块 NE文件 头段表资 源表驻 留名表模 块 引用表引入名字表入口表非 驻 留名表代 码 段和数据段程序区重定位表2018/8/9 273 COM文件病毒原理 感染过程:将开始的 3个字节保存在 orgcod
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化肥厂电路改造制度
- 教育培训机构收费标准合同协议
- 3.1铁及其化合物-利用覆铜板制作图案 教学设计 2024-2025学年高一上学期化学人教版(2019)必修第一册
- 高中地理 第3单元 第2节 城乡规划与土地利用说课稿 鲁教版选修4
- 八年级语文下册 团结互助 第十二课 姐弟情深 第七课时 阅读理解与科普阅读说课稿 新教版(汉语)
- 九年级语文下册 第五单元 任务一 阅读与思考说课稿 新人教版
- 奎文区安全执法培训班课件
- 2025年钻孔灌注桩施工标准合同范本
- 中医试题及答案
- 中医考试题集及答案
- 江苏省水利工程单元工程施工质量验收常用表格(2025.6.18)
- 嘉兴学院清洁生产课件第2章 清洁生产实施方法
- QGDW11447-202410kV-500kV输变电设备交接试验规程
- 2025年江苏省农业融资担保有限责任公司招聘笔试参考题库附带答案详解
- 中考英语作文预测(范文20篇)
- 选煤厂原煤分级筛技术操作规程
- 方物电子教室q2用户手册
- 消防管道支架工程量计算表
- GB/T 700-2006碳素结构钢
- 腹腔镜下肾癌根治术
- 如何学好初中数学-课件
评论
0/150
提交评论