第4章 DOS病毒原理分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

口点病毒)获得控制权,然后病毒通常会进行
下面的操作: (1)内存驻留的病毒首先检查系统可用内 存,查看内存中是否已经有病毒代码存在,如 果没有将病毒代码装入内存中。
(2)非内存驻留病毒会在这个时候进行感染,
查找当前目录、根目录或者环境变量PATH中包含的 目录,发现可以被感染的可执行文件就进行感染。 执行病毒的一些其他功能,比如说破坏功能,显示 信息或者病毒精心制作的动画等等。 而内存驻留病毒的感染和破坏功能可以在进入 内存后马上执行,也可以等待满足某个条件时执行。
《计算机病毒》第六讲
DOS 病毒原理
源自文库
主要内容
1. DOS病毒的加载过程
2. 引导区病毒 3. 文件型病毒 4. 混合型病毒
1. DOS病毒的加载过程
3种加载方式: 1)参与系统的启动过程 2)依附正常文件加载 3)直接运行病毒程序
引导型病毒
文件型病毒
加载步骤:
1)开辟内存空间(临时空间)
引导型病毒的主要特点
1、引导型病毒是在操作系统之前进入内存,寄生对
象又相对固定,因此该类型病毒基本上会采用减少操作系 统所掌管的内存容量方法来驻留内存高端。 而正常的系统 引导过程是不减少系统内存的。 2、引导型病毒需要把病毒传染给软盘,一般是通过 修改INT 13H的中断向量,而新INT 13H中断向量段址必 定指向内存高端的病毒程序。
的条件等。
(2) 驻留内存的方式:
① 减少DOS系统可分配空间**
② 利用功能调用驻留内存**
③ 利用系统模块间的空隙和DOS间隙
④ 占用系统程序使用空间
① 减少DOS系统可分配空间**
在内存的最高端开辟一个区域供驻留病毒程
序用,然后把内存的可用空间减去病毒程序所占
用的空间,以欺骗DOS,使之不会再使用病毒程
病毒要起作用,就必须驻留内存,要驻留
内存就必须先开辟内存空间或直接覆盖系统占
用的部分内存。
2)病毒体定位和驻留(常驻空间)
病毒进入内存后即脱离原载体程序,在内
存驻留区域进行重定位,同时要保护病毒程序
不会被正常程序覆盖掉,还要保证病毒程序在
适当的时候能取得运行权。
3)恢复系统功能
为保证病毒驻入的系统能继续有效的工作,
对于硬盘来说,病毒程序侵占了硬盘的主引导扇区,
而将原主引导扇区的内容转移到0面0道7扇区。
大麻病毒破坏行为
实际上大麻病毒并没有专门破坏磁盘的模块。
但是由于它将原引导扇区的内容放到了原软盘的文件
目录表和硬盘的文件分配表处,所以导致了原数据被 覆盖,造成磁盘文件的混乱、丢失,甚至于导致硬盘 无法启动。
软盘启动 (9)跳转到0000:7c00处继续执行特定系统的启动程序 (分区引导记录)
(10)分区引导记录将负责读取并执行系统文件IO.SYS,
(11)IO.SYS首先初始化一些重要的系统数据,然后就显 示出蓝天白云,Windows将继续进行引导和初始化工作
(1)……(4)由BIOS引导程序完成 (5)……(9)由MBR的引导程序完成 (10)(11)由分区引导程序完成(启动系统)
EPO(入口模糊技术)
感染之前的程序 病毒使用反汇编 程序对代码进行 反汇编 ADD AX,100H JMP cd00 INC MOV AX, 0 …
感染前的程序 插入点:JMP [病毒代码] 感染前的程序 病毒代码
发现合适的插入 点,将病毒代码 插入
EPO具体思路举例
① 在 .text 中寻找 E8 xxxxxxxx ,根据 xxxxxxxx 获 得JMP DWORD …的文件偏移YYYYYYYY。 ② 计算跳转到病毒代码开始位置 VStart的相对距
复 习:系统启动过程
(1)计算机启动
(2)将硬盘MBR读入内存地址0000:7c00处 (3)检查0000:7dfe是否等于0xaa55,若不等于则转 去其它介质启动,如果没有其它介质则显示“No ROM BASIC”然后死机。
(4)跳转到0000:7c00处执行MBR中的程序
(5) MBR首先将自己复制到0000:0600处,继续执行
大麻病毒的相关功能
大麻病毒仅1B8H字节的代码就完成以下功能:

驻留内存

修改中断向量
感染软盘、硬盘 引导原硬盘主引导扇区 显示时机判断、显示信息以及大麻病毒感染标



志判断以防止重复感染
大麻病毒破坏行为
对于软盘来说,病毒程序占用软盘的引导扇区,而将 系统原引导扇区转移到l面0道3扇区。
3、引导型病毒感染硬盘时,必定驻留硬盘的主引导 扇区或引导扇区。 (正常情况下是不对硬盘主引导区或引导区进行写盘 操作的) 4、引导型病毒的寄生对象相对固定,把当前的系统
主引导扇区和引导扇区与干净的主引导扇区和引导扇区进
行比较,如果内容不一致,可认定系统引导区异常。
带毒硬盘引导 BIOS将硬盘主引导区 读到内存0:7C00H处 控制权转到主引导程序
一部分包含在引导模块中,该传染模块专门负责对 硬盘的感染,另外一部分是由INT13H 指向,专门对A驱 动器上的软盘进行感染。
保存INT 13H入口 使内存容量减小2K 修改INT 13H指向 病毒程序传染模块 将病毒程序移至内存高端 是软盘启动?
Y
大麻病毒 引导模块 执行流程
N
读原DOS引导记录 时钟计数是 8的倍数?
病毒任务完成,将原引导区调 入0:7C00H执行
病毒任务完成,将原引导区调 入0:7C00H执行 机器正常引导 机器正常引导
图4.1 硬盘带毒引导过程
图4.2 软盘带毒引导过程
13号中断入口
病毒 修改 后的 INT 13中 断执 行流 程
是在读软盘吗?
Y
N
此软盘有毒吗?
N
Y
对该软盘进行感染
执行原INT13
(6)检查分区表是否完好,并在主分区表中搜索标志
为活动的分区。如果没有或不止一个,则显示Invalid partition table ,并挂起系统
(7)将活动分区的第一个扇区读入0000:7c00
(8)检查0000:7dfe是否等于0xaa55,若不等于则显示
“Missing Operating System”,然后停止,或尝试
实例:石头病毒(大麻病毒)
发作时出现以下提示信息:
Your PC is now Stoned! LEGALISE MARIJUANA!
属于系统型的恶性病毒,专门感染软盘引导扇区和 硬盘主引导扇区,破坏软盘的文件目录表和硬盘的 文件分配表,从而造成磁盘文件的大量丢失,甚至 于导致硬盘无法启动。
1)文件型病毒的主要功能调用—系统文件目录管 理功能调用INT21H
(1) INT 21H 子功能 3DH 打开文件
(2) INT 21H 子功能 3EH 关闭文件 (3) INT 21H 子功能 3FH 读文件或设备 (4) INT 21H 子功能 40H 写文件或设备 (5) INT 21H 子功能 42H 移动文件指针
(3)完成这些工作之后,将控制权交回被感染
的程序。 为了保证原来程序的正确执行,寄生病毒在执 行被感染程序的之前,会把原来的程序还原;伴随 病毒会直接调用原来的程序;覆盖病毒和其他一些 破坏性感染的病毒会把控制权交回DOS操作系统。
(4)对于内存驻留病毒来说,驻留时会把 一些DOS或者基本输入输出系统(BIOS)的中断 指向病毒代码。 比如说INT13H或者INT 21H,这样系统执行
大麻病毒的感染特征
一个被感染“大麻”病毒的磁盘引导扇区,一般有下
列特征:

扇区开始的指令代码为:“EA0500C0”。 从扇区的 18AH 偏移地址开始有字符串:“ Your PC is now Stoned!。

(参见09版书 P75、04版 P149)
大麻病毒的传染模块分为了两个部分:
从而提高病毒的隐蔽性,大多数病毒程序将病
毒破坏的有关信息转储于其他特定单元,并通
过病毒程序运行系统。
针对第2):病毒体定位和驻留(常驻空间)
说明两点: (1) 取得运行权的方法
(2) 驻留内存的方式
(1) 取得运行权的方法
使病毒的有关组成单元取代或扩充系统的原 有功能。
如:改写中断向量,设置激活、感染、表现
Y N
读硬盘原主引导记录
执行表现模块
Y
硬盘是否被感染?
N
感染硬盘 执行原系统引导记录
开始
大麻病毒 传染模块 执行流程
是读/写盘操作?
Y N
N
是操作A盘?
Y Y
A盘已感染了吗?
N
将原引导记录写入1面0道3扇区
将病毒程序写入引导扇区
执行原INT 13H
引导区病毒小结
引导区病毒的感染目标
引导区病毒的工作流程--引导、感染和表现
引导区病毒的特点
理解:计算机和系统的启动过程
DOS内存管理 中断机制
3. 文件型病毒
所有通过操作系统的文件系统进行感染的病毒都称 作文件病毒,所以这是一类数目非常巨大的病毒。 理论上可以有这样一种病毒,感染操作系统的所有 可执行文件,包括批处理文件、DOS下的可加载驱 动程序.SYS文件、普通的COM/EXE可执行文件,以 及高级语言程序的源代码、开发库和编译过程中所 生成的中间文件。
是闲置未用的。
该方式既可以被引导型病毒使用,也可以被
文件型病毒使用。
④ 占用系统程序使用空间
又称为程序覆盖方法。
在系统程序占用的有效空间内选择一些不常
用的部分加以替换,使病毒不需申请空间便可实
现病毒在内存中的驻留。
2. 引导区病毒
是指专门感染磁盘
引导扇区和硬盘主
引导扇区的计算机
病毒程序。
引导型病毒是先于操作系统的
离,覆盖xxxxxxxx。
③ 拷贝 JMP DWORD PTR [YYYYYYYY] 中的
YYYYYYYY到病毒体内。
④ 写入病毒代码,执行完毕再跳回到宿主程序,
执行JMP DWORD PTR [YYYYYYYY]
2)文件型病毒的基本原理
当被感染程序执行之后,病毒会立刻(入口点
改到病毒代码)或者在随后的某个时间(无入
截流盗用
中断向量表 … 入口地址 … 中 断 处 理 程 序 中断向量表 … 入口地址 … 病 毒 中 断 程 序 原 中 断 处 理 程 序
(a)正常中断
(b) 病毒修改中断
??多种病毒交叉感染?
③ 利用系统模块间的空隙和DOS间隙
计算机内存中除了用户空间区留给用户运行
程序外,在系统占用的空间中,还有相当一部分
将0:413H单元的值减少1K BIOS上机自检,将常规内存 大小存入0:413H,系统以 后不再访问最高段的1K内存 计算可用内存高端地 址,将病毒一到病毒高 端继续执行 修改INT 13H地址,指 向病毒传染段,将原 INT 13H地址保存在某 一单元

导 过 程
修改INT 13H地址,指 向病毒传染段,将原 INT 13H地址保存在某 一单元
正常的文件/磁盘操作的时候,就会调用病毒驻
留在内存中的代码,进行进一步的破坏或者感染。
2)DOS文件型病毒的种类 主要包括两类:
(1)COM病毒 (2)EXE病毒
(1)COM文件型病毒
COM文件中的程序代码只在一个段内运行,文 件长度不超过64K字节,其结构比较简单。
序所占用的空间。从而大大提高病毒的隐蔽性。
该方式更有利于引导型病毒。
② 利用功能调用驻留内存**
DOS系统为用户提供了用户程序驻留内存的
中断和功能调用,但这些功能也可用来加载病毒。
该方式通常被文件型病毒利用。
主要方法:截流盗用
主要攻击目标:INT13H(磁盘读写中断)
INT 21H(系统功能调用)
带毒软盘引导 将病毒写入硬盘主 引导区,并保存原 来主引导程序
硬盘是否已染毒?
YES
NO


将0:413H单元的值减少1K BIOS上机自检,将常规内存 大小存入0:413H,系统以 后不再访问最高段的1K内存
BIOS将软盘引导区 读到内存0:7C00H处 控制权转到主引导程序
计算可用内存高端地 址,将病毒一到病毒高 端继续执行
(6) INT 21H 子功能 4EH 查找第一个匹配文件
(7) INT 21H 子功能 4FH 查找下一个匹配文件 (8) INT 21H 子功能 1AH 设置磁盘传送缓冲区(DTA)
2)文件型病毒的基本原理
EPO--没有入口点的感染(EntryPoint Obscuring ), 这些病毒在宿主文件中没有执行入口,病毒不修改文 件头中的入口地址。该病毒在宿主文件的中部记录跳转到 病毒本身的指令,当运行宿主文件后,病毒没有立即得到 控制权,而是当宿主例程调用包含病毒跳转指令时才获得 系统的控制权。可以一定程度上逃避虚拟机检测。
相关文档
最新文档