《DOS病毒原理分析解读.ppt》由会员分享,可在线阅读,更多相关《DOS病毒原理分析解读.ppt(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、(4)跳转到)跳转到0000:7c00处执行处执行MBR中的程序中的程序(5) MBR首先将自己复制到首先将自己复制到0000:0600处,继续执行处,继续执行(6)检查分区表是否完好,并在主分区表中搜索标志)检查分区表是否完好,并在主分区表中搜索标志为活动的分区。如果没有或不止一个,则显示为活动的分区。如果没有或不止一个,则显示Invalid partition table ,并挂起系统,并挂起系统 (7)将)将活动分区活动分区的第一个扇区读入的第一个扇区读入0000:7c00(8)检查)检查0000:7dfe是否等于是否等于0 xaa55,若不等于则显示,若不等于则显示“Missing O
2、perating System”,然后停止,或尝试,然后停止,或尝试软盘启动软盘启动(9)跳转到)跳转到0000:7c00处继续执行特定系统的启动程序处继续执行特定系统的启动程序(分区引导记录)(分区引导记录) (10)分区引导记录将负责读取并执行系统文件)分区引导记录将负责读取并执行系统文件IO.SYS,(11)IO.SYS首先初始化一些重要的系统数据,然后就显首先初始化一些重要的系统数据,然后就显示出蓝天白云,示出蓝天白云,Windows将继续进行引导和初始化工作将继续进行引导和初始化工作(1)(4)由)由BIOS引导程序完成引导程序完成(5)(9)由)由MBR的引导程序完成的引导程序完成
3、(10)()(11)由分区引导程序完成(启动系统)由分区引导程序完成(启动系统)计算机病毒计算机病毒第六讲第六讲DOS 病毒原理病毒原理主要内容主要内容o DOS病毒的加载过程病毒的加载过程o 引导区病毒引导区病毒o 文件型病毒文件型病毒o 混合型病毒混合型病毒1. DOS病毒的加载过程病毒的加载过程 3种加载方式:种加载方式: 1)参与系统的启动过程)参与系统的启动过程 2)依附正常文件加载)依附正常文件加载 3)直接运行病毒程序)直接运行病毒程序 引导型病毒文件型病毒 加载步骤:加载步骤: 1)开辟内存空间(临时空间)开辟内存空间(临时空间)病毒要起作用,就必须驻留内存,要驻留内存病毒要起
4、作用,就必须驻留内存,要驻留内存就必须先开辟内存空间或直接覆盖系统占用就必须先开辟内存空间或直接覆盖系统占用的部分内存。的部分内存。 2)病毒体定位和驻留(常驻空间)病毒体定位和驻留(常驻空间)病毒进入内存后即脱离原载体程序,在内存驻病毒进入内存后即脱离原载体程序,在内存驻留区域进行重定位,同时要保护病毒程序不留区域进行重定位,同时要保护病毒程序不会被正常程序覆盖掉,还要保证病毒程序在会被正常程序覆盖掉,还要保证病毒程序在适当的时候能取得运行权。适当的时候能取得运行权。3)恢复系统功能)恢复系统功能为保证病毒驻入的系统能继续有效的工作,为保证病毒驻入的系统能继续有效的工作,从而提高病毒的隐蔽性
5、,大多数病毒程序将病从而提高病毒的隐蔽性,大多数病毒程序将病毒破坏的有关信息转储于其他特定单元,并通毒破坏的有关信息转储于其他特定单元,并通过病毒程序运行系统。过病毒程序运行系统。 针对第针对第2):病毒体定位和驻留(常驻空间):病毒体定位和驻留(常驻空间)说明两点:说明两点:(1) 取得运行权的方法取得运行权的方法 (2) 驻留内存的方式驻留内存的方式 (1) 取得运行权的方法取得运行权的方法使病毒的有关组成单元取代或扩充系统的原使病毒的有关组成单元取代或扩充系统的原有功能。有功能。如:改写中断向量,设置激活、感染、表现如:改写中断向量,设置激活、感染、表现的条件等。的条件等。 (2) 驻留
6、内存的方式:驻留内存的方式: 减少减少DOS系统可分配空间系统可分配空间* 利用功能调用驻留内存利用功能调用驻留内存* 利用系统模块间的空隙和利用系统模块间的空隙和DOS间隙间隙 占用系统程序使用空间占用系统程序使用空间 减少减少DOS系统可分配空间系统可分配空间*在内存的最高端开辟一个区域供驻留病毒程在内存的最高端开辟一个区域供驻留病毒程序用,然后把内存的可用空间减去病毒程序所占序用,然后把内存的可用空间减去病毒程序所占用的空间,以欺骗用的空间,以欺骗DOS,使之不会再使用病毒程,使之不会再使用病毒程序所占用的空间。从而大大提高病毒的隐蔽性。序所占用的空间。从而大大提高病毒的隐蔽性。该方式更
7、有利于引导型病毒。该方式更有利于引导型病毒。 利用功能调用驻留内存利用功能调用驻留内存*DOS系统为用户提供了用户程序驻留内存的系统为用户提供了用户程序驻留内存的中断和功能调用,但这些功能也可用来加载病毒。中断和功能调用,但这些功能也可用来加载病毒。该方式通常被文件型病毒利用。该方式通常被文件型病毒利用。主要方法:截流盗用主要方法:截流盗用主要攻击目标:主要攻击目标:INT13H(磁盘读写中断)(磁盘读写中断) INT 21H(系统功能调用)(系统功能调用) 截流盗用截流盗用中断向量表 中断向量表 (a)正常中断 (b) 病毒修改中断 入口地址 中断处理程序 入口地址 原 中断处理程序 病毒
8、中断程序 ?多种病毒交叉感染? 利用系统模块间的空隙和利用系统模块间的空隙和DOS间隙间隙计算机内存中除了用户空间区留给用户运行计算机内存中除了用户空间区留给用户运行程序外,在系统占用的空间中,还有相当一部分程序外,在系统占用的空间中,还有相当一部分是闲置未用的是闲置未用的。该方式既可以被引导型病毒使用,也可以被该方式既可以被引导型病毒使用,也可以被文件型病毒使用。文件型病毒使用。 占用系统程序使用空间占用系统程序使用空间又称为又称为程序覆盖方法程序覆盖方法。在系统程序占用的有效空间内选择一些不常在系统程序占用的有效空间内选择一些不常用的部分加以替换,使病毒不需申请空间便可实用的部分加以替换,
9、使病毒不需申请空间便可实现病毒在内存中的驻留。现病毒在内存中的驻留。2. 引导区病毒引导区病毒 是指专门感染磁盘是指专门感染磁盘 引导扇区和硬盘主引导扇区和硬盘主 引导扇区的计算机引导扇区的计算机 病毒程序。病毒程序。引导型病毒是引导型病毒是先于操作系统的先于操作系统的引导型病毒的主要特点引导型病毒的主要特点1、引导型病毒是在操作系统之前进入内存,寄生对、引导型病毒是在操作系统之前进入内存,寄生对象又相对固定,因此该类型病毒基本上会象又相对固定,因此该类型病毒基本上会采用减少操作系采用减少操作系统所掌管的内存容量方法来驻留内存高端。统所掌管的内存容量方法来驻留内存高端。 而正常的系统而正常的系
10、统引导过程是不减少系统内存的。引导过程是不减少系统内存的。2、引导型病毒需要把病毒传染给软盘,一般是、引导型病毒需要把病毒传染给软盘,一般是通过通过修改修改INT 13H的中断向量的中断向量,而新,而新INT 13H中断向量段址必定中断向量段址必定指向内存高端的病毒程序。指向内存高端的病毒程序。3、引导型病毒感染硬盘时,、引导型病毒感染硬盘时,必定驻留硬盘的主引导必定驻留硬盘的主引导扇区或引导扇区扇区或引导扇区。(正常情况下是不对硬盘主引导区或引导区进行写盘(正常情况下是不对硬盘主引导区或引导区进行写盘操作的)操作的)4、引导型病毒的、引导型病毒的寄生对象相对固定寄生对象相对固定,把当前的系统
11、,把当前的系统主引导扇区和引导扇区与干净的主引导扇区和引导扇区进主引导扇区和引导扇区与干净的主引导扇区和引导扇区进行比较,如果内容不一致,可认定系统引导区异常行比较,如果内容不一致,可认定系统引导区异常。带带毒毒引引导导过过程程病毒病毒修改修改后的后的INT 13中中断执断执行流行流程程13号中断入口是在读软盘吗?此软盘有毒吗?对该软盘进行感染执行原INT13NYYN实例:石头病毒实例:石头病毒(大麻病毒大麻病毒) 发作时出现以下提示信息:发作时出现以下提示信息: Your Your PCPC isis nownow Stoned! LEGALISEStoned! LEGALISE MARIJ
12、UANA! MARIJUANA! 属于系统型的恶性病毒,专门感染软盘引导扇区和属于系统型的恶性病毒,专门感染软盘引导扇区和硬盘主引导扇区,破坏软盘的文件目录表和硬盘的硬盘主引导扇区,破坏软盘的文件目录表和硬盘的文件分配表,从而造成磁盘文件的大量丢失,甚至文件分配表,从而造成磁盘文件的大量丢失,甚至于导致硬盘无法启动。于导致硬盘无法启动。大麻病毒的相关功能大麻病毒的相关功能 大麻病毒仅大麻病毒仅1B8H1B8H字节的代码就完成以下功能:字节的代码就完成以下功能:l驻留内存驻留内存l修改中断向量修改中断向量l感染软盘、硬盘感染软盘、硬盘l引导原硬盘主引导扇区引导原硬盘主引导扇区l显示时机判断、显示
13、信息以及大麻病毒感染标显示时机判断、显示信息以及大麻病毒感染标志判断以防止重复感染志判断以防止重复感染大麻病毒破坏行为大麻病毒破坏行为 对于软盘来说,对于软盘来说,病毒程序占用软盘的引导扇区,而将系病毒程序占用软盘的引导扇区,而将系统原引导扇区转移到统原引导扇区转移到l l面面0 0道道3 3扇区。扇区。 对于硬盘来说,对于硬盘来说,病毒程序侵占了硬盘的主引导扇区,而病毒程序侵占了硬盘的主引导扇区,而将原主引导扇区的内容转移到将原主引导扇区的内容转移到0 0面面0 0道道7 7扇区。扇区。大麻病毒破坏行为大麻病毒破坏行为 实际上大麻病毒并没有专门破坏磁盘的模块。实际上大麻病毒并没有专门破坏磁盘
14、的模块。 但是由于它将原引导扇区的内容放到了原软盘的但是由于它将原引导扇区的内容放到了原软盘的文件目文件目录表录表和硬盘的和硬盘的文件分配表文件分配表处,所以导致了原数据被覆盖,处,所以导致了原数据被覆盖,造成磁盘文件的混乱、丢失,甚至于导致硬盘无法启动。造成磁盘文件的混乱、丢失,甚至于导致硬盘无法启动。大麻病毒的感染特征大麻病毒的感染特征 一个被感染一个被感染“大麻大麻”病毒的磁盘引导扇区,一般有下列病毒的磁盘引导扇区,一般有下列特征:特征:l扇区开始的指令代码为:扇区开始的指令代码为:“EA0500C0EA0500C0”。l从扇区的从扇区的18AH18AH偏移地址开始有字符串:偏移地址开始
15、有字符串:“Your PC Your PC is now Stoned!is now Stoned!。 (参见(参见0909版书版书 P75P75、0404版版 P149P149) 大麻病毒的传染模块分为了两个部分:大麻病毒的传染模块分为了两个部分: 一部分包含在一部分包含在引导模块引导模块中,该传染模块专门负责对中,该传染模块专门负责对硬盘的感染,另外一部分是硬盘的感染,另外一部分是由由INT13HINT13H指向指向,专门对,专门对A A驱驱动器上的软盘进行感染。动器上的软盘进行感染。保 存 I N T 1 3 H 入 口使 内 存 容 量 减 小 2 K修 改 I N T 1 3 H 指
16、 向病 毒 程 序 传 染 模 块将 病 毒 程 序 移 至 内 存 高 端是 软 盘 启 动 ?读 原 D O S 引 导 记 录时 钟 计 数 是8 的 倍 数 ?执 行 表 现 模 块硬 盘 是 否 被 感 染 ?感 染 硬 盘执 行 原 系 统 引 导 记 录读 硬 盘 原 主 引 导 记 录YNNYNY大麻病毒大麻病毒引导模块引导模块执行流程执行流程 是 读 /写 盘 操 作 ?是 操 作 A盘 ?A盘 已 感 染 了 吗 ?将 原 引 导 记 录 写 入 1面 0道 3扇 区将 病 毒 程 序 写 入 引 导 扇 区执 行 原 INT 13HNNYYYN开 始大麻病毒大麻病毒传染模
17、块传染模块执行流程执行流程 引导区病毒小结引导区病毒小结 引导区病毒的感染目标引导区病毒的感染目标 引导区病毒的工作流程引导区病毒的工作流程-引导、感染和表现引导、感染和表现 引导区病毒的特点引导区病毒的特点理解:理解:计算机和系统的启动过程计算机和系统的启动过程 DOS内存管理内存管理 中断机制中断机制3. 文件型病毒文件型病毒 所有通过操作系统的文件系统进行感染的病毒都称所有通过操作系统的文件系统进行感染的病毒都称作文件病毒,所以这是一类数目非常巨大的病毒。作文件病毒,所以这是一类数目非常巨大的病毒。 理论上可以有这样一种病毒,感染操作系统的所有理论上可以有这样一种病毒,感染操作系统的所有
18、可执行文件,包括批处理文件、可执行文件,包括批处理文件、DOSDOS下的可加载驱下的可加载驱动程序动程序.SYS.SYS文件、普通的文件、普通的COM/EXECOM/EXE可执行文件,以可执行文件,以及高级语言程序的源代码、开发库和编译过程中所及高级语言程序的源代码、开发库和编译过程中所生成的中间文件。生成的中间文件。1 1)文件型病毒的主要功能调用)文件型病毒的主要功能调用系统文件目录管系统文件目录管理功能调用理功能调用INT21HINT21H(1) INT 21H 子功能子功能 3DH 打开文件打开文件(2) INT 21H 子功能子功能 3EH 关闭文件关闭文件(3) INT 21H 子
19、功能子功能 3FH 读文件或设备读文件或设备(4) INT 21H 子功能子功能 40H 写文件或设备写文件或设备(5) INT 21H 子功能子功能 42H 移动文件指针移动文件指针(6) INT 21H 子功能子功能 4EH 查找第一个匹配文件查找第一个匹配文件(7) INT 21H 子功能子功能 4FH 查找下一个匹配文件查找下一个匹配文件(8) INT 21H 子功能子功能 1AH 设置磁盘传送缓冲区设置磁盘传送缓冲区(DTA)2 2)文件型病毒的)文件型病毒的基本原理基本原理EPO-没有入口点的感染(没有入口点的感染(EntryPoint Obscuring ),), 这些病毒在宿主
20、文件中没有执行入口,病毒不修改文这些病毒在宿主文件中没有执行入口,病毒不修改文件头中的入口地址。该病毒在件头中的入口地址。该病毒在宿主文件的中部宿主文件的中部记录跳转到记录跳转到病毒本身的指令,当运行宿主文件后,病毒没有立即得到病毒本身的指令,当运行宿主文件后,病毒没有立即得到控制权,而是当宿主例程调用包含病毒跳转指令时才获得控制权,而是当宿主例程调用包含病毒跳转指令时才获得系统的控制权。系统的控制权。可以一定程度上逃避虚拟机检测可以一定程度上逃避虚拟机检测。EPO(入口模糊技术)(入口模糊技术) 感染之前的程序 病毒使用反汇编程序对代码进行反汇编 ADD AX,100H JMP cd00 I
21、NC MOV AX, 0 发现合适的插入点,将病毒代码插入 感染前的程序 插入点: JMP 病毒代码 感染前的程序 病毒代码 EPO具体思路举例具体思路举例o在在.text中寻找中寻找E8 xxxxxxxx,根据,根据xxxxxxxx获获得得JMP DWORD 的文件偏移的文件偏移YYYYYYYY。o计算跳转到病毒代码开始位置计算跳转到病毒代码开始位置VStart的相对距的相对距离,覆盖离,覆盖xxxxxxxx。o拷贝拷贝JMP DWORD PTR YYYYYYYY中的中的YYYYYYYY到病毒体内。到病毒体内。 o写入病毒代码,执行完毕再跳回到宿主程序,写入病毒代码,执行完毕再跳回到宿主程序
22、,执行执行JMP DWORD PTR YYYYYYYY2 2)文件型病毒的)文件型病毒的基本原理基本原理 当被感染程序执行之后,病毒会立刻(入口点当被感染程序执行之后,病毒会立刻(入口点改到病毒代码)或者在随后的某个时间(无入改到病毒代码)或者在随后的某个时间(无入口点病毒)获得控制权,然后病毒通常会进行口点病毒)获得控制权,然后病毒通常会进行下面的操作:下面的操作: (1 1)内存驻留的病毒内存驻留的病毒首先检查系统可用内首先检查系统可用内存,查看内存中是否已经有病毒代码存在,如存,查看内存中是否已经有病毒代码存在,如果没有将病毒代码装入内存中。果没有将病毒代码装入内存中。(2 2)非内存驻
23、留病毒非内存驻留病毒会在这个时候进行感染,会在这个时候进行感染,查找当前目录、根目录或者环境变量查找当前目录、根目录或者环境变量PATHPATH中包含的中包含的目录,发现可以被感染的可执行文件就进行感染。目录,发现可以被感染的可执行文件就进行感染。执行病毒的一些其他功能,比如说破坏功能,显示执行病毒的一些其他功能,比如说破坏功能,显示信息或者病毒精心制作的动画等等。信息或者病毒精心制作的动画等等。而而内存驻留病毒的内存驻留病毒的感染和破坏功能可以在进感染和破坏功能可以在进入内存后马上执行,也可以等待满足某个条件时执入内存后马上执行,也可以等待满足某个条件时执行。行。(3 3)完成这些工作之后,
24、将控制权交回被感染)完成这些工作之后,将控制权交回被感染的程序。的程序。为了保证原来程序的正确执行,为了保证原来程序的正确执行,寄生病毒寄生病毒在执在执行被感染程序的之前,会把原来的程序还原;行被感染程序的之前,会把原来的程序还原;伴随伴随病毒病毒会直接调用原来的程序;会直接调用原来的程序;覆盖病毒覆盖病毒和和其他一些其他一些破坏性感染的病毒破坏性感染的病毒会把控制权交回会把控制权交回DOSDOS操作系统。操作系统。(4 4)对于内存驻留病毒来说,驻留时会把)对于内存驻留病毒来说,驻留时会把一些一些DOSDOS或者基本输入输出系统(或者基本输入输出系统(BIOSBIOS)的中断)的中断指向病毒
25、代码。指向病毒代码。比如说比如说INT13HINT13H或者或者INT 21HINT 21H,这样系统执行,这样系统执行正常的文件磁盘操作的时候,就会调用病毒驻正常的文件磁盘操作的时候,就会调用病毒驻留在内存中的代码,进行进一步的破坏或者感染。留在内存中的代码,进行进一步的破坏或者感染。2 2)DOS文件型病毒的种类文件型病毒的种类 主要包括两类:主要包括两类: (1)COM病毒病毒 (2)EXE病毒病毒(1)COM文件型病毒文件型病毒 COM文件中的程序代码只在一个段内运行,文文件中的程序代码只在一个段内运行,文件长度不超过件长度不超过64K字节,其结构比较简单。字节,其结构比较简单。 由于
26、由于COM文件与文件与EXE文件在结构上的不同,它文件在结构上的不同,它们在调入执行时也有很大差别。们在调入执行时也有很大差别。 COM文件调入时,文件调入时,DOS将全部可用内存分配给将全部可用内存分配给用户程序。用户程序。COM文件型病毒的调入执行文件型病毒的调入执行COM文件型病毒的两种感染方法文件型病毒的两种感染方法(2)EXE文件型病毒文件型病毒这种病毒也是将自身病毒代码插在宿这种病毒也是将自身病毒代码插在宿主程序中间或者前后,但是病毒代码是通主程序中间或者前后,但是病毒代码是通过过修改修改CS:IP指向病毒起始地址指向病毒起始地址来获取控来获取控制权的。制权的。 参考书上参考书上黑
27、色星期五黑色星期五理解文件型病毒理解文件型病毒的工作原理的工作原理指既可以对引导区进行感染也可以对文指既可以对引导区进行感染也可以对文件进行感染的病毒。件进行感染的病毒。?混合病毒是不是引导区病毒和文件型?混合病毒是不是引导区病毒和文件型病毒的简单相加?病毒的简单相加?4. 混合病毒混合病毒 写一段专门查看写一段专门查看21H中断地址是否改变的中断地址是否改变的监视程监视程序序,并将其放在一个不会用到中断之中,这样,当,并将其放在一个不会用到中断之中,这样,当发现发现DOS系统引导之后,再用设计好的文件感染代系统引导之后,再用设计好的文件感染代码替换正常的码替换正常的21H中断,达到可以获取中断,达到可以获取DOS系统控制系统控制权的目的,从而便可以对文件进行感染。权的目的,从而便可以对文件进行感染。53 结束语结束语