第4章DOS病毒的基本原理与DOS病毒分析.ppt

上传人:王** 文档编号:606713 上传时间:2023-12-08 格式:PPT 页数:25 大小:775.50KB
下载 相关 举报
第4章DOS病毒的基本原理与DOS病毒分析.ppt_第1页
第1页 / 共25页
第4章DOS病毒的基本原理与DOS病毒分析.ppt_第2页
第2页 / 共25页
第4章DOS病毒的基本原理与DOS病毒分析.ppt_第3页
第3页 / 共25页
第4章DOS病毒的基本原理与DOS病毒分析.ppt_第4页
第4页 / 共25页
第4章DOS病毒的基本原理与DOS病毒分析.ppt_第5页
第5页 / 共25页
第4章DOS病毒的基本原理与DOS病毒分析.ppt_第6页
第6页 / 共25页
第4章DOS病毒的基本原理与DOS病毒分析.ppt_第7页
第7页 / 共25页
第4章DOS病毒的基本原理与DOS病毒分析.ppt_第8页
第8页 / 共25页
第4章DOS病毒的基本原理与DOS病毒分析.ppt_第9页
第9页 / 共25页
第4章DOS病毒的基本原理与DOS病毒分析.ppt_第10页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第4章DOS病毒的基本原理与DOS病毒分析.ppt》由会员分享,可在线阅读,更多相关《第4章DOS病毒的基本原理与DOS病毒分析.ppt(25页珍藏版)》请在优知文库上搜索。

1、计算机病毒与反病毒技术主要内容 病毒重定位的含义与基本方法 引导型病毒的基本原理 文件型病毒的基本原理 感染COM文件的基本方法及COM文件病毒的清除 感染EXE文件的基本方法及EXE文件病毒的清除4.1.1 病毒为什么需要重定位 病毒不可避免也要用到变量(常量),当病毒感染HOST程序后,由于其依附到不同HOST程序中的位置各有不同,病毒随着HOST载入内存后,病毒中的各个变量(常量)在内存中的位置自然也会随着发生变化病毒在感染前的病毒在感染前的Var2位置位置病毒感染病毒感染HOST后后Var2的位置的位置变量Var2VIRUS00400000004010 xx变量Var2的实际位置HOS

2、T变量Var2VIRUS00400000004010 xx4.1.2 病毒如何重定位 call delta ;这条语句执行之后,堆栈顶端为delta在内存中的真正地址delta:pop ebp ;这条语句将delta在内存中的真正地址存放在ebp寄存器中 lea eax,ebp+(offset var1-offset delta);这时eax中存放着var1在内存中的真实地址 如果病毒程序中有一个变量var1,那么该变量实际在内存中的地址应该是ebp(offset var1offset delta),即参考量delta在内存中的地址其它变量与参考量之间的距离=其它变量在内存中的真正地址 有时候

3、我们也采用(ebpoffset delta)offset var1的形式进行变量var1的重定位4.2.1 引导型病毒的基本原理引导型病毒基本原理引导型病毒基本原理引导型病毒引导型病毒13H中断中断带 毒 硬 盘 引 导BIOS将 硬 盘 主 引 导 区读 到 内 存 0:7C00处控 制 权 转 到 主 引 导 程 序(病 毒)将 0:413单 元 的 值减 少 1K(或 nK)计 算 可 用 内 存 高 端 地 址,将 病 毒 移 到 高 端 继 续 执 行修 改 INT 13H地 址,指 向 病 毒 传 染 段,将 原 INT 13H地 址 保 存 在 某 一 单 元病 毒 任 务 完

4、成,将 原 引 导 区 调 入 0:7C00执 行系 统 正 常 引 导病毒13H中断入口在读写软盘?此软盘有毒?对其传染执行原INT 13H否否是是4.2.2 引导型病毒的触发与INT 13H 引导型病毒的触发 用染毒盘启动计算机时,引导型病毒先于操作系统获取系统控制权(被首次激活),处于动态 因首次激活时修改INT 13H入口地址使其指向病毒中断服务程序,从而处于可激活态 当系统/用户进行磁盘读写时调用INT 13H,调用的实际上是病毒的中断服务程序,从而激活病毒,使病毒处于激活态 病毒被激活之后,即可根据感染条件实施暗地感染、根据爆发破坏条件破坏系统并表现自己 调用BIOS磁盘服务功能读

5、写扇区 调用INT 13H子功能02H读扇区 调用INT 13H子功能03H写扇区4.2.3 引导型病毒样例分析(参见源代码)该引导型病毒,通过截流盗取INT 13H中断监视系统的运行并感染软盘引导扇区、硬盘主引导扇区 感染前在相应扇区备份引导扇区/主引导扇区 通过分析MBR或DBR,或将其与正常的MBR/DBR进行比较,若发现异常,可以断定感染了引导型病毒 病毒修改中断向量,通过分析比较中断向量,也可发现病毒的存在4.2.3 引导型病毒样例分析 示例病毒的清除方法比较简单,将病毒备份的扇区内容或感染前我们主动备份的引导扇区/主引导扇区内容,写入软盘引导扇区/硬盘主引导扇区即可提取引导区提取引

6、导区C:debugC:debug-L100-L100 盘号盘号 0 10 1-n dosboot.62s-n dosboot.62s-rcx-rcxCX 0000CX 0000:200:200-W-W-Q-Q覆盖引导区覆盖引导区C:debugC:debug-n dosboot.62s-n dosboot.62s-L-L-w100-w100 盘号盘号 0 10 1-q-q4.2.3 引导型病毒样例分析 在恢复引导区之前,应清除内存中的病毒或使内存中的病毒处于灭活状态 用干净软盘引导启动系统,可以清除内存中的病毒,也可采用如下方法将内存中的病毒灭活:在无毒环境下(例如用无毒的同版本系统盘启动),用

7、无毒的Debug将中断向量表取出存在一个文件中 当内存中有病毒时用上述文件覆盖中断向量表。中断向量表恢复正常,内存中通过修改向量表截流盗取中断向量的病毒将无法再激活4.2.4 引导型病毒的特点与清除 引导型病毒的几个技术要点与特点 驻留内存 隐形技术 加密技术 引导型病毒的优点 隐蔽性强、兼容性强,只要编写的好,是不容易发现的 通用于DOS、Windows、Windows 9x操作系统 引导型病毒的缺点 传染速度慢 杀毒容易4.2.4 引导型病毒的特点与清除 引导型病毒的判断与清除 由于引导程序本身完成的功能比较简单,所以我们可以判断该引导程序的合法性(看JMP指令的合法性)病毒驻留在内存,时

8、刻监视系统的运行,伺机感染。缩小内存大小值,影响读写文件速度。检查引导扇区、检查内存容量可以发现病毒 如果主引导区感染了病毒,用格式化程序FORMAT不能清除该病毒(BR病毒可以用FORMAT清除)可以用FDisk/MBR命令修复MBR、清除该病毒,但可能导致硬盘主分区信息丢失而造成用户数据丢失 备份主引导扇区/引导扇区,清除引导型病毒时,只需将备份内容写回相应扇区即可4.3.1 文件型病毒的基本原理 无论是.COM文件还是.EXE文件,还是操作系统的可执行文件(包括.SYS、.OVL、.PRG、.DLL文件),当启动已感染文件型病毒的程序(HOST程序)时,暂时中断该程序,病毒完成陷阱(激活

9、条件)的布置、感染工作后,再继续执行HOST程序,使计算机使用者初期觉得可正常执行,而实际上,在执行期间,病毒已暗做传染的工作,时机成熟时,病毒发作 文件型病毒寄生在文件中,这是文件型病毒与引导型病毒的差别所在4.3.1 文件型病毒的基本原理文件型病毒的基本原理文件型病毒的基本原理运行含有病毒的HOST程序HOST程序和病毒均载入内存时机成熟?病毒发作有其它无毒程序被载入内存?感染被载入的程序HOST程序退出?病毒常驻内存HOST程序退出内存文件大小膨胀YYY4.3.2 感染COM文件.COM 文件结构比较简单,是一种单段执行结构.COM文件包含程序的一个绝对映像 其文件代码和运行时内存映像完

10、全相同,起始执行偏移地址为100H,对应于文件的偏移0 MS-DOS通过直接把该映像从文件拷贝到内存而加载.COM程序,不作任何改变PSP程序代码数据堆栈地址内容xxxx:0000CS、DS、SS、ESCS:IP=CS:0100SS:SP=SS:FFFFPROMPT=$P$G 00PATH=C:DOS;C:TASMBIN 00COMSPEC=C:COMMAND.COM 0000C:VIRUSHOSTHOST_COM.COM 00环境段的内容:4.3.2 感染COM文件 病毒感染.COM文件一般有两种方法,一种是将病毒加在.COM前部,一种是加在文件尾部病毒在病毒在.COM文件头部文件头部病毒在

11、病毒在.COM文件尾部文件尾部病毒HOSTHOST前3字节被修改JMP XXXX:XXXXHOST病毒4.3.2 感染COM文件 示例病毒com_v主流程运行病毒代码保存当前目录路径信息找到?在当前目录搜索.COM文件搜索下一个.COM文件清除文件属性以读写方式打开目标文件host_?已感染?写入感染标志写入病毒代码在文件首添加JMP恢复文件日期关闭文件恢复文件属性达到感染次数?爆发:显示感染信息恢复当前路径信息在内存中恢复宿主退出?退出将控制权转交给宿主将上一级目录作为新的当前目录当前目录是根目录?否是否是否是否是4.3.2 感染COM文件 感染原理与清除 本示例病毒通过在宿主程序前添加3字

12、节(跳转到病毒代码的3字节JMP指令),在运行宿主程序时即获取控制权限,搜索并感染目标文件;每感染一个目标文件,感染计数器增1,若感染数量达到设定值,则爆发(显示“Virus infection test!”等信息)用二进制编辑工具软件或Debug去掉host_首部的3字节跳转指令及文件尾部的病毒体和病毒标签即可手工“摘除”该病毒 如果病毒采用插入方式感染,清除病毒的方法和过程将更复杂4.3.2 感染COM文件C:ren host_ host_comC:ren host_ host_comC:debug host_comC:debug host_com-rcx-rcxCX 226 CX 226

13、 文件长度文件长度:50 :50 文件长度减去文件长度减去1D6h(1D6h(病毒长度病毒长度)-m103 L50 100 -m103 L50 100 把从把从103h103h到文件尾的代码写回原文件到文件尾的代码写回原文件-w-wWrinting 50 bytesWrinting 50 bytes-q-qC:ren host_com host_C:ren host_com host_4.3.3 感染EXE文件.EXE文件采用多段结构EXE文件结构文件结构EXE文件的内存映像文件的内存映像偏偏移移量量内内 容容00h-01hMZ EXE文件标记02h-03h文件最后一个扇区(页)字节数04h-

14、05h文件的总扇区(页)数06h-07h重定位项的个数08h-09h文件头大小除16的商0ah-0bh程序运行所需最小段数(16字节的倍数)0ch-0dh程序运行所需最大段数(16字节的倍数)oeh-0fh初始化堆栈段(SS初值,相对于载入模块)10h-11h初始化堆栈指针(SP初值)12h-13h文件校验和14h-15h初始代码段指针(IP初值)16h-17h初始代码段段地址(CS初值,相对于载入模块)18h-19h第一个重定位项的偏移量1ah-1bh覆盖号重定位表.格式化区文件头载入模块PSP数据程序代码堆栈地址内容xxxx:0000DS、ESDS:0100CS:IPSS:SP4.3.3

15、感染EXE文件 EXE文件病毒样例感染原理及其清除 示例病毒exe_v只感染当前目录下的尚未感染的.EXE文件 exe_只是简单地判断查找到的文件是否是有效的.EXE文件,如果有效且无感染标志,则将病毒体“追加”到目标文件尾部,然后修改文件头,以适应文件长度的变化,设置程序入口地址址向病毒,并在文件头中置感染标志“BF”。清除.EXE文件中的病毒,相对清除.COM文件中的病毒,过程更繁琐,除了要“摘除”染毒文件中的病毒体,还要恢复文件头。但无论如何,清除过程基本上是病毒感染的逆过程混合型病毒的基本原理 混合型病毒,有时也称多型病毒,是结合了引导型和文件型两种病毒、而互为感染的病毒,感染文件和引

16、导扇区两种目标。这样的病毒,通常都具有复杂的算法,它们使用非常规的办法侵入系统,同时使用了加密和变形算法运行含有病毒的程序HOST和病毒均载入内存时机成熟?病毒发作感染其它BOOT区和文件HOST退出?病毒常驻内存HOST退出内存文件大小膨胀YY传染内存感染自己的BOOT区4.5.1 Monkey病毒分析 Monkey病毒,即猴子病毒,传播硬盘和软盘的引导区,总长度为 01F4H(500字节),它将原引导记录加密后保存,在系统读出时先解密再送出,结果造成病毒不在内存中时,系统无法得到正常的引导记录,以至对所有硬盘分区无法访问。只有用带病毒的盘启动时,才能正常访问硬盘 检测时可以用干净盘启动,再用 DISKEDIT 编辑物理硬盘0柱面0磁道1扇区的主引导记录,对比以下源代码相同偏移处的内容是否相同即可确认4.5.1 Monkey病毒分析 病毒的引导加载 当病毒传染了引导记录后,系统启动时将病毒装入内存执行,然后病毒将系统内存减少1K,将自己隐藏在其中,并修改INT 13H中断向量地址 病毒的感染传播 在引导模块,Monkey病毒修改INT 13H中断向量入口地址,使其指向病毒代码,即新的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 网络信息安全

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!