计算机病毒复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Lect8-PPT补充
自含代码虚拟机(SCCE)
自含代码虚拟机工作起来象一个真正的CPU。一条指令取自内存,由SCCE解码,并被传送到相应的模拟这条指令的例程,下一条指令则继续这个循环。虚拟机会包含一个例程来对内存/寄存器寻址操作数进行解码,然后还会包括一个用于模拟每个可能在CPU 上执行的指令的例程集。
有限代码虚拟机(LCE)
有限代码虚拟机有点象用于通用解密的虚拟系统所处的级别。LCE实际上并非一个虚拟机,因为它并不真正的模拟指令,它只简单地跟踪一段代码的寄存器内容,也许会提供一个小的被改动的内存地址表,或是调用过的中断之类的东西。选择使用LCE而非更大更复杂的系统的原因,在于即使只对极少数指令的支持便可以在解密原始加密病毒的路上走很远,因为病毒仅仅使用了INTEL指令集的一小部分来加密其主体。
缓冲代码虚拟机(BCE)
缓冲代码虚拟机是SCCE的一个缩略版,因为相对于SCCE它具有较小的尺寸和更快的执行速度。在BCE中,一条指令是从内存中取得的,并和一个特殊指令表相比较。如果不是特殊指令,则它被进行简单的解码以求得指令的长度,随后所有这样的指令会被导入到一个可以通用地模拟所有非特殊指令的小过程中。而特殊指令,只占整个指令集的一小部分,则在特定的小处理程序中进行模拟。
病毒习题补充
什么是宏病毒?其运作原理如何?
答:宏病毒是一种寄存在文档或模板的宏中的计算机病毒。
宏病毒的运作原理:一旦打开感染了宏病毒的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal 模板上。从此以后,所有自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。
什么是脚本病毒和WSH?二者是何关系?
答:脚本病毒通常是JavaScript代码编写的恶意代码,一般带有广告性质,会修改您的IE首页、修改注册表等信息,造成用户使用计算机不方便。
WSH全称“Windows Scripting Host”,是微软提供的一种基于32位Windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行。
脚本病毒和WSH的关系:WSH是脚本病毒的执行环境
为什么同一个病毒会有多个不同的名称?如何通过病毒的名称识别病毒的类型?
国际上对病毒命名的一般惯例为“前缀+病毒名+后缀”,即三元组命名规则。
1、系统病毒
系统病毒的前缀为:Win32、PE、Win95、W32、W95等。
2、蠕虫病毒
蠕虫病毒的前缀是:Worm。
3、木马病毒、黑客病毒
木马病毒其前缀是:Trojan,黑客病毒前缀名一般为 Hack 。
4、脚本病毒
脚本病毒的前缀是:Script。
5、宏病毒
其实宏病毒是也是脚本病毒的一种,由于它的特殊性,因此在这里单独算成一类。宏病毒的前缀是:Macro。
6、后门病毒
后门病毒的前缀是:Backdoor。
7、病毒种植程序病毒
后门病毒的前缀是:Dropper。这类病毒的公有特性是运行时会从体内释放出一个或几个新的病毒到系统目录下,由释放出来的新病毒产生破坏。
8.破坏性程序病毒
破坏性程序病毒的前缀是:Harm。这类病毒的公有特性是本身具有好看的图标来诱惑用户点击,当用户点击这类病毒时,病毒便会直接对用户计算机产生破坏。
9.玩笑病毒
玩笑病毒的前缀是:Joke。
10.捆绑机病毒
捆绑机病毒的前缀是:Binder。
查找相关资料,试述计算机病毒发展趋势与特点。
●基于Windows的计算机病毒越来越多
●计算机病毒向多元化发展
●新计算机病毒种类不断涌现,数量急剧增加
●计算机病毒传播方式多样化,传播速度更快
●计算机病毒造成的破坏日益严重
●病毒技术与黑客技术日益融合
●更多依赖网络、系统漏洞传播,攻击方式多种多样
硬盘主引导扇区由哪几部分构成?一个硬盘最多可分几个主分区?为什么?Fdisk/mbr命令是否会重写整个主引导扇区?
主引导扇区(Boot Sector)由主引导记录(Master Boot Record,MBR)、主分区表即磁盘分区表(Disk Partition Table,DPT)、引导扇区标记(Boot Record ID/Signature)三部分组成。一个硬盘最多可分为4个主分区,因为主分区表占用64个字节,记录了磁盘的基本分区信息,其被分为4个分区选项,每项16个字节,分别记录了每个主分区的信息。
DOS下的EXE文件病毒是如何获取控制权的?感染EXE文件,需对宿主作哪些修改?
一般来说,病毒往往先于HOST程序获得控制权。运行Win32病毒的一般流程示意如下:
①用户点击或系统自动运行HOST程序;
②装载HOST程序到内存;
③通过PE文件中的AddressOfEntryPoint加ImageBase之和,定位第一条语句的位置(程序入口);
④从第一条语句开始执行(这时执行的其实是病毒代码);
⑤病毒主体代码执行完毕,将控制权交给HOST程序原来的入口代码;⑥HOST程序继续执行。
文件型病毒有哪些感染方式?
a寄生感染: 文件头部寄生文件尾部寄生插入感染逆插入感染利用空洞——零长度感染
b无入口点感染: 采用入口点模糊(Entry Point Obscuring,EPO)技术采用TSR病毒技术 c 滋生感染 d链式感染
e OBJ、LIB和源码的感染
计算机病毒的感染过程是什么?
计算机病毒感染的过程一般有三步: (1)当宿主程序运行时,截取控制权; (2)寻找感染的突破口;
(3)将病毒代码放入宿主程序
计算机病毒一般采用哪些条件作为触发条件?
病毒采用的触发条件主要有以下几种:
日期触发时间触发键盘触发
感染触发启动触发
访问磁盘次数/调用中断功能触发 CPU型号/主板型号触发打开或预览Email附件触发
随机触发
什么是病毒的重定位?病毒一般采用什么方法进行重定位?
回答一:重定位就是把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程。
病毒不可避免也要用到变量(常量),当病毒感染HOST程序后,由于其依附到不同HOST程序中的位置各有不同,病毒随着HOST载入内存后,病毒中的各个变量(常量)在内存中的位置自然也会随着发生变化。故而获取病毒变量的地址偏移值和利用该值得到病毒变量在内存中的实际地址的过程,就是病毒的重定位。
回答二:
call delta ;这条语句执行之后,堆栈顶端为delta在内存中的真正地址 delta:pop ebp ;这条语句将delta在内存中的真正地址存放在ebp寄存器中……
lea eax,[ebp+(offset var1-offset delta)] ;这时eax中存放着var1在内存中的真实地址
如果病毒程序中有一个变量var1,那么该变量实际在内存中的地址应该是ebp+(offset var1-offset delta),即参考量delta在内存中的地址+其它变量与参考量之间的距离=其它变量在内存中的真正地址。
有时候我们也采用(ebp-offset delta)+offset var1的形式进行变量var1的重定位。
编写程序,利用INT 13H实现引导区的备份与恢复。
备份:
DEBUG(回车)