实验1引导区病毒
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XI`AN TECHNOLOGICAL UNIVERSITY
实验报告实验课程名称引导区病毒
一.实验目的
1.了解系统启动过程
2.学习实模式下DEBUG命令的相关操作
3.了解引导区病毒的基本原理
4.学会如何修复引导区
二.实验原理
一.引导型病毒定义
引导型病毒,也叫开机型病毒,主要感染计算机主引导扇区和引导扇区的一类计算机病毒;其中,感染主引导扇区的病毒称作MBR病毒,感染引导区的病毒称为BR病毒。
二.计算机的启动过程
在计算机系统启动时,BIOS加电自检及设备初始化成功后,BIOS将启动盘的0磁道,0柱面,1扇区的主引导记录(MBR)加载到内存物理地址0000:7C00(文档中的内存地址均采用16进制表示),并检查物理地址0000:7DFE处的字是否为0xAA55(引导区有效标记),若不相等给出“No Rom BASIC”提示,然后死机,若相等执行主引导程序,主引导记录(MBR)先将自己复制到内存的其他地方以让出0:7C00处的512B的空间,然后在主分区表中搜索标志为0x80(分区已被激活,0则表示未被激活)的激活分区,如发现没有或有多个激活分区,则提示“Invalid partition table”,并停止,否则将激活分区的第一个扇区(即系统引导扇区DBR)读入内存物理地址0000:7C00,并查找物理地址0000:7DFE处的字是否等于0xAA55,若不等于,则显示“Missing Operating System”然后停止,否则继续执行操作引导程序,引导计算机进入操作系统,完成整个引导过程。
三.中断
中断就是CPU暂停当前程序的执行,转而执行处理紧急事物的程序,并在该事物处理结束后能自动恢复执行原先程序的过程,在此,称引起紧急事物的事件为中断源,称处理紧急事件的程序为中断服务程序或中断管理程序。
中断的分类很多,按触发的原因,有硬中断和软中断之分。
硬中断有实际的硬件事件引起,例如,除以零、算术溢出、按下键盘键等;软中断是因程序执行了计算机的INT指令造成的,例如,INT 21H将执行21H中断,这里21H称作中断号,其中“H”表示该数据为16进制。
系统就是通过中断号来找到相应的中断处理程序的。
软件中断包括BIOS中断(提供系统最底层硬件调用例程),DOS中断(系统中断服务例程)和用户自定义中断等。
CPU为了处理并发中的中断请求,规定了中断优先权。
单步中断
规定了中断优先级后,当多个中断同时发生的时候,CPU就会按中断优先级的顺序来处理中断请求了。
当处理某一中断过程中,有比当前处理的中断优先级高的中断请求时,CPU 会响应更高级的中断。
中断向量表(Interrupt Vectors)是一个特殊的线性表,它保存这系统所有中断服务程序的入口地址(偏移量和段地址)。
中断向量表占用内存最低端的0000H到03FEH的1KB 物理地址空间,存放这256个元素,即远指针(中断向量),标号从00H到0FFH,每一个中断向量的入口地址占4个字节,高2字节存放中断向量的段地址,低2字节存放中断向量的偏移地址。
一个中断向量指向一个中断服务处理程序。
中断程序调用方法通常为,利用MOV 指令对中断程序需要用到的寄存器赋值,然后调用INT n执行中断,n为调用中断程序的中断号。
四.内存寻址技术简介
现在的内存寻址模式主要分为两类:实模式寻址和保护模式寻址。
(1)实模式
实模式寻址采用“段地址左移4位+偏移地址”的方式进行内存物理地址的计算,其中段地址使用的是16位寄存器(如CS,DS,SS,ES等),偏移地址使用16位寄存器(AX,BX,CX,DX等),因此其有效访问内存空间只能达到220=1MB,通常在系统启动时,采用的是实模式内存寻址方式。
(2)保护模式
保护模式下,内存寻址完全变成了对虚拟内存地址的访问,保护模式下的内存管理程序,负责管理着应用程序对访问内存地址到物理地址的映射,因此程序访问的内存地址将不再真实的对应到相应的物理内存地址。
这样做的好处是:虚拟内存管理器通过虚拟地址的访问请求,控制全部物理地址访问。
使用虚拟内存,简化了应用软件内存操作,实现了内存访问的权限控制,并可以弥补物理内存的不足。
保护模式下使用的是32位寄存器(64位CPU中使用的是64位寄存器),存储内存偏移地址,16位段寄存器中存储的将不再是段地址,而是内存“选择子”。
五.引导区病毒原理
从计算机启动引导的过程可以看出,系统BIOS完成相关检测、初始化后,读主引导扇区/引导扇区到内存固定位置0:7C00处,并转交系统控制权。
控制权转交是以物理位置为依据,而不是以扇区为依据,转交的条件是扇区的有效性标志0xAA55。
引导型病毒正是利用了这一特点,通过感染主引导扇区和引导扇区,在启动系统时即获取控制权。
由于只有在启动系统时才读取引导型病毒的病毒体,因此,引导型病毒要繁殖,必须驻留内存,并伺机传染发作。
既然要驻留内存,病毒就要在内存中为自己营造一个驻留空间,这正是原理图中,病毒将0:413内存单元中的值减少1KB或nKB的目的。
因为系统BIOS加电自检时,将常规内存大小存入0:413处,减少nKB后,系统将不再访问最高端的nKB内存。
n一般稍大于病毒体的大小。
病毒要隐藏自己,也是为了能繁殖出更多个体,引导型病毒必须负责完成余下的系统正常引导。
由于病毒在占用原主引导扇区/引导扇区时已将原扇区备份到其他的扇区,并在文件分配表中将该扇区标记为坏簇,以防止被文件系统所覆盖。
有一些病毒甚至将这个引导程序的备份进行了加密处理。
由于病毒先于系统运行,并修改了INT 13H中断,所以每一次磁盘读写操作都会激发病毒代码的一次运行。
当前由于Windows NT系列系统对内存管理,磁盘读写等功能进行了严格的权限控制,原来在实模式下运行的引导区型病毒在现在的主流操作系统中已经非常少见,可以说已经基本消失了,但不排除有新类型的引导区病毒的出现,而引导区的数据隐藏特性,仍然是当前防盗版程序、产品标识、虚拟硬件设备检测程序所驻留的主要场所。
三.实验步骤
一.实验流程
「注」实验中的指令代码,参见所开汇编课程教材或实验原理部分。
本实验步骤重点在于如何让学生手动清除引导区病毒。
引导区病毒已存在DOS系统环境的C:\T目录下,文件名为MVBT.EXE,在执行病毒程序前首先将磁盘(硬盘)的MBR备份至软盘。
感染病毒后,要求学生通过三种不同的方式清除引导区病毒,即恢复MBR。
二.使用DEBUG查看MBR
(1)打开实验系统环境进入DOS命令提示符“C:\>”下。
命令行下输入如下代码,(A命令中输入汇编指令前的地址已略去)。
命令会中断在调试中断指令INT 3处,记录AX寄存器内容
(2)使用“D 200”命令查看读出的MBR,使用“U 200”查看反汇编后的MBR指令,理解如下代码段的含义
三.保存MBR至软盘
重新进入DEBUG控制台,输入RCX指令修改CX寄存器中值为十六进制200(十进制512,MBR扇区大小),输入RBX指令修改BX寄存器中值为十六进制0,使用“n A:\a.dat”指定输出文件路径名称,使用“W 200”命令保存刚才导出的MBR数据。
如果操作成功,将会有写入磁盘数据数量的提示信息。
使用“Q”退出DEBUG
四.感染引导区病毒
实验中使用的MVBT.EXE病毒,其特点是,感染系统以后,修改系统13H中断,将原MBR 拷贝到C:0,H:0,S:2扇区,当系统时间大于12:00且有磁盘读写操作时,病毒执行激活代码,显示“VIRUS IS ACTIVED!”,并死机,否则在启动时显示“THIS IS A VIRUS TEST!”等提示信息。
进入C:\T目录下,输入MVBT.EXE启动引导区病毒,使用shutdown -r命令重新启动系统,注意观察系统,当DOS启动前出现“THIS IS A VIRUS TEST!”提示时表示病毒感染成功。
通过如下方法来测试病毒激活:使用time 12:00 将系统时间设置为12:00,重新启动系统,当系统启动调用INT 13H中断时病毒代码激活,出现病毒发作特征。
五.利用DEBUG清除引导区病毒
在清除病毒之前,首先调整DOS系统当前时间,具体做法如下:使用虚拟机工具重启按钮重新启动虚拟机,当系统刚启动时,按F2进入虚拟机BIOS设置程序的Main页面下(点完重启键应让鼠标点入虚拟机,使键盘输入焦点移到虚拟机中,否则虚拟机不会响应键盘操作。
)使用↑↓键移动光标(按回车在子项中移动光标)到System Time:处调整系统时间到10:00,按F10并按回车保存设置,重新启动系统,进入C:\>命令行,启动DEBUG 准备进行下一步操作。
这里我们提供三种清除引导区病毒的方式,也是三种恢复MBR的方式。
(1)使用DEBUG恢复存储在C:0,H:0,S:2扇区的备份MBR,实现系统恢复。
在DEBUG控制台下输入指令A(进入汇编编辑模式)后继续输入如下
然后再启动DEBUG利用D 200和U 200命令查看MBR分区数据,并与导出到A:\a.dat文件中的数据比较是否一致。
重启系统验证病毒是否已被清除。
查看a.dat文件数据代码如下:
(2)使用DEBUG和备份的A:\a.bat文件恢复MBR,实现系统恢复。
重新启系统验证命令执行结果。
(3)使用FDisk 命令修复引导扇区,实现系统恢复。
命令行下输入命令:fdisk /mbr,修复MBR(主引导记录),重启系统验证实验结
果。
实验感想:
通过此次试验使我对引导区病毒有了基础的认识,对引导区病毒的启动过程有了较为全面的认识,当遇到引导区病毒时一般情况下有三种方法恢复1、使用DEBUG恢复存储在C:0,H:0,S:2扇区的备份MBR,实现系统恢复。
2、使用DEBUG和备份的A:\a.bat文件恢复
MBR,实现系统恢复。
3、使用FDisk 命令修复引导扇区,实现系统恢复。