文档介绍:合肥工业大学计算机与信息学院张仁斌
计算机病毒与反病毒技术
主要内容
病毒重定位的含义与基本方法
引导型病毒的基本原理
文件型病毒的基本原理
文件病毒的清除
感染EXE文件的基本方法及EXE文件病毒的清除
第4章 DOS病毒的基本原理与DOS病毒分析
病毒为什么需要重定位
病毒不可避免也要用到变量(常量),当病毒感染HOST程序后,由于其依附到不同HOST程序中的位置各有不同,病毒随着HOST载入内存后,病毒中的各个变量(常量)在内存中的位置自然也会随着发生变化
病毒的重定位
病毒在感染前的Var2位置
病毒感染HOST后Var2的位置
病毒如何重定位
VStart: ……
call delta ;这条语句执行之后,堆栈顶端为delta在内存中的真正地址
delta: pop ebp ;这条语句将delta在内存中的真正地址存放在ebp寄存器中
sub ebp,offset delta – VStart ;得到一个偏移差,变量加上该值进行重定位
lea eax,[offset var2 + ebp] ;此时eax中存放着var2在内存中的真实地址
病毒的重定位
引导型病毒的基本原理
引导型病毒
引导型病毒基本原理
引导型病毒13H中断
引导型病毒的触发与INT 13H
引导型病毒的触发
用染毒盘启动计算机时,引导型病毒先于操作系统获取系统控制权(被首次激活),处于动态
因首次激活时修改INT 13H入口地址使其指向病毒中断服务程序,从而处于可激活态
当系统/用户进行磁盘读写时调用INT 13H,调用的实际上是病毒的中断服务程序,从而激活病毒,使病毒处于激活态
病毒被激活之后,即可根据感染条件实施暗地感染、根据爆发破坏条件破坏系统并表现自己
调用BIOS磁盘服务功能读写扇区
调用INT 13H子功能02H读扇区
调用INT 13H子功能03H写扇区
引导型病毒
引导型病毒样例分析
(参见源代码)
该引导型病毒,通过截流盗取INT 13H中断监视系统的运行并感染软盘引导扇区、硬盘主引导扇区
感染前在相应扇区备份引导扇区/主引导扇区
通过分析MBR或DBR,或将其与正常的MBR/DBR进行比较,若发现异常,可以断定感染了引导型病毒
病毒修改中断向量,通过分析比较中断向量,也可发现病毒的存在
引导型病毒
引导型病毒样例分析
示例病毒的清除方法比较简单,将病毒备份的扇区内容或感染前我们主动备份的引导扇区/主引导扇区内容,写入软盘引导扇区/硬盘主引导扇区即可
提取引导区
C:\>debug
-L100 盘号 0 1
-n
-rcx
CX 0000
:200
-W
-Q
覆盖引导区
C:\>debug
-n
-L
-w100 盘号 0 1
-q
引导型病毒
引导型病毒样例分析
在恢复引导区之前,应清除内存中的病毒或使内存中的病毒处于灭活状态
用干净软盘引导启动系统,可以清除内存中的病毒,也可采用如下方法将内存中的病毒灭活:
在无毒环境下(例如用无毒的同版本系统盘启动),用无毒的Debug将中断向量表取出存在一个文件中
当内存中有病毒时用上述文件覆盖中断向量表。中断向量表恢复正常,内存中通过修改向量表截流盗取中断向量的病毒将无法再激活
引导型病毒
引导型病毒的特点与清除
引导型病毒的几个技术要点与特点
驻留内存
隐形技术
加密技术
引导型病毒的优点
隐蔽性强、兼容性强,只要编写的好,是不容易发现的
通用于DOS、Windows、Windows 9x操作系统
引导型病毒的缺点
传染速度慢
杀毒容易
引导型病毒