计算机病毒分析讲述

上传人:最**** 文档编号:117155796 上传时间:2019-11-18 格式:PPT 页数:69 大小:499KB
返回 下载 相关 举报
计算机病毒分析讲述_第1页
第1页 / 共69页
计算机病毒分析讲述_第2页
第2页 / 共69页
计算机病毒分析讲述_第3页
第3页 / 共69页
计算机病毒分析讲述_第4页
第4页 / 共69页
计算机病毒分析讲述_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《计算机病毒分析讲述》由会员分享,可在线阅读,更多相关《计算机病毒分析讲述(69页珍藏版)》请在金锄头文库上搜索。

1、计算机病毒分析 组长:王依林 组员:董嘉楠 马跃海 唐仁杰 倪欣欧 鲁统达 范鑫廷 白仕洋 朱港回 将要介绍的几种病毒类型 vDOS病毒 v引导区病毒 v文件型病毒 v混合型病毒 vWindows病毒 vVBS脚本病毒 v宏病毒 v网页病毒 vWin32 PE病毒 引导区病毒 v什么是主引导记录? v硬盘的主引导记录在硬盘的0磁头0柱面1扇区。主 引导记录由三部分组成: v主引导程序; v四个分区表; v主引导记录有效标志字。 DOS引导区病毒 v引导区病毒 v所谓引导区病毒是指一类专门感染软盘引导扇区和硬盘主引 导扇区的计算机病毒程序。 v如果被感染的磁盘被作为系统启动盘使用,则在启动系统时

2、 ,病毒程序即被自动装入内存,从而使现行系统感染上病毒 。 v在系统带毒的情况下,如果进行了磁盘IO操作,则病毒程 序就会主动地进行传染,从而使其它的磁盘感染上病毒。 DOS的正常启动过程 v加电开机后进入系统的检测程序并执行该程序对系统的基本设 备进行检测; v检测正常后从系统盘0面0道1扇区即逻辑0扇区读入Boot引导程 序到内存的0000: 7C00处; v转入Boot执行之; vBoot判断是否为系统盘, 如果不是系统盘则提示: non-system disk or disk error Replace and strike any key when ready 否则, 读入IBM B

3、IO.COM和IBM DOS.COM两个隐含文件; DOS的正常启动过程 v执行IBM BIO.COM和IBM DOS.COM两个隐含文件, 将 COMMAND.COM装入内存; v系统正常运行, DOS启动成功。 v引导区病毒实际上就是先保存软盘的引导记录或者硬 盘的主引导记录,然后用病毒程序替换原来的引导记 录,这样,当系统引导时,便先执行病毒程序,然后 将控制权转交给正常的引导程序。 带毒盘引导的启动过程 v将Boot区中病毒代码首先读入内存的0000: 7C00处; v病毒将自身全部代码读入内存的某一安全地区、常驻内存, 监 视系统的运行; v修改INT 13H中断服务处理程序的入口地

4、址, 使之指向病毒控制 模块并执行之。因为任何一种病毒要感染软盘或者硬盘,都离不 开对磁盘的读写操作, 修改INT13H中断服务程序的入口地址是 一项少不了的操作; v病毒程序全部被读入内存后才读入正常的Boot内容到内存的 0000: 7C00处, 进行正常的启动过程; v病毒程序伺机等待随时准备感染新的系统盘或非系统盘。 感染过程 v是否在读写软盘? v是,则将目标盘的引导扇区读入内存, 对该盘进行判别是否传 染了病毒; v当满足传染条件时, 则将病毒的全部或者一部分写入Boot区, 把 正常的磁盘的引导区程序写入磁盘特写位置; v返回正常的INT 13H中断服务处理程序, 完成了对目标盘

5、的传染 。 感染过程 引导型病毒的主要特点 v引导型病毒是在安装操作系统之前进入内存,寄生对象又相对 固定,因此该类型病毒基本上不得不采用减少操作系统所掌管 的内存容量方法来驻留内存高端。而正常的系统引导过程一般 是不减少系统内存的。 v引导型病毒需要把病毒传染给软盘,一般是通过修改INT 13H 的中断向量,而新INT 13H中断向量段址必定指向内存高端的 病毒程序。 v引导型病毒感染硬盘时,必定驻留硬盘的主引导扇区或引导扇 区,并且只驻留一次,因此引导型病毒一般都是在软盘启动过 程中把病毒传染给硬盘的。 文件型病毒 v什么是文件型病毒? v所有通过操作系统的文件系统进行感染的病毒都称 作文

6、件病毒 。 v我们将会介绍的两种病毒 vCOM文件型病毒 vEXE文件型病毒 COM文件型病毒 vCOM文件被载入内存后的格式 COM文件型病毒 v病毒要感染COM文件一般采用两种方法: v加在文件尾部 COM文件型病毒 v加在文件头部 EXE文件型病毒 vMZ文件头格式 v偏移 大 小 描述 v00 2 bytes .EXE 文件类型标记:4d5ah v02 2 bytes 文件的最后一个扇区的字节数 v04 2 bytes 文件的总扇区数 文件大小=(总扇区数-1)*512+最后一页字节数 v06 2 bytes 重定位项的个数 v08 2 bytes exe文件头的大小 (16 byte

7、s*this value) v0a 2 bytes 最小分配数(16 bytes*this value) v0c 2 bytes 最大分配数(16 bytes*this value) v0e 2 bytes 堆栈初始段址(SS) v10 2 bytes 堆栈初始指针(SP) v12 2 bytes 补码校验和 v14 2 bytes 初始代码段指针(IP) v16 2 bytes 初始代码段段址(CS) v18 2 bytes 定位表的偏移地址 v1a 2 bytes 覆盖号 The overlay number make by link EXE文件型病毒的感染 v头寄生 EXE文件型病毒的感

8、染 v尾寄生 EXE文件型病毒的感染 v插入寄生 EXE文件型病毒的感染 v伴随型 EXE文件型病毒的感染 v病毒感染的方式还有很多,譬如DIRII属于一种链接型的病毒, 还有无入口点的病毒,没有任何美感的覆盖型病毒等。 v病毒如何感染,一直是病毒研究的话题,这并不存在非常固定 的模式。病毒作者完全可以任意发挥自己的想象。 混合型病毒 v什么是混合型病毒? v所谓混合型病毒,就是指既可以感染引导区又可以 感染文件的病毒。 v但是这种病毒绝对不是引导区病毒和文件型病毒的 简单相加。 v文件型病毒大多采用INT 21H,但是引导型病毒是 在引导阶段进行感染驻留,这时DOS系统还没有启 动,因此混合

9、型病毒此时无法采用21号中断。如何 解决这个问题? VBS脚本病毒如何感染 vVBS脚本病毒是直接通过自我复制来感染文件的病毒 中的绝大部分代码都可以直接附加在其他同类程序的 中间. v新欢乐时光病毒可以将自己的代码附加在.htm文件的尾部, 并在顶部加入一条调用病毒代码的语句. v爱虫病毒则是直接生成一个文件的副本,将病毒代码拷入其 中,并以原文件名作为病毒文件名的前缀,vbs作为后缀。 VBS脚本病毒如何感染 v文件感染的部分关键代码 set fso=createobject(“scripting.filesystemobject”) 创建一个文件系统对 象 set self=fso.op

10、entextfile(wscript.scriptfullname,1) 读打开当前文件(即病毒本身) vbscopy=self.readall 读取病毒全部代码到字符串变量vbscopy set ap=fso.opentextfile(目标文件.path,2,true) 写打开目标文件,准备写入病毒代码 ap.write vbscopy 将病毒代码覆盖目 标文件 ap.close set cop=fso.getfile(目标文件.path) 得到目标文件路径 cop.copy(目标文件.path a.setCLSID(F935DC22-1CF0-11D0-ADB9-00C04FD58A0B)

11、; a.createInstance(); wsh=a.GetObject(); wsh.Run(cmd.exe);/改为“wsh.Run(cmd.exe,false,1);“则程序在后台隐藏 运行 setTimeout(runcmd(),10); 网页病毒主要症状 v在用户IE浏览器的标题栏打广告 v修改IE的默认网址,并且不可以修改 v锁定用户的注册表编辑程序 v禁止使用“运行”选项 v有时候也可能对硬盘进行格式化,在用户机器 上创建一些文件 Win32 PE病毒 v什么是PE病毒? vPE病毒是指所有感染Windows下PE文件格式文件的 病毒。 vPE病毒大多数采用Win32汇编编写。

12、 vPE病毒对于一个热衷于病毒技术的人来说,是必须 掌握的。 v只有在PE病毒中,我们才能真正感受到高超的病毒 技术。 编写Win32病毒的几个关键 vApi函数的获取 v不能直接引用动态链接库 v需要自己寻找api函数的地址,然后直接调用该地址 v一点背景:在PE Loader装入我们的程序启动后堆栈顶的地 址是是程序的返回地址,肯定在Kernel中! 因此我们可以得 到这个地址,然后向低地址缩减验证一直到找到模块的起 始地址,验证条件为PE头不能大于4096bytes,PE header的 ImageBase值应该和当前指针相等. v病毒没有.data段,变量和数据全部放在.code段 编

13、写Win32病毒的几个关键 v偏移地址的重定位 Call delta delta: pop ebp sub ebp,offset delta 那么变量var1的真正偏移地址为:var1+ebp v对PE文件格式的了解 编写Win32病毒的几个关键 v病毒如何感染其他文件 v在文件中添加一个新节 v该新节中添加病毒代码和病毒执行后的返回Host程序的代吗 v修改文件头中代码开始执行位置(AddressOfEntryPoint) 指向新添加的节,以便程序运行后先执行病毒代码。 PE病毒感染其他文件的方法还有很多,譬如PE病毒 还可以将自己分散插入到每个节的空隙中等等,这 里不在一一叙述。 PE文件

14、格式一览 DOS MZ header DOS stub PE header Section table Section 1 Section 2 Section . Section n PE header Pe header 由三部分组成 v 字串 “PE00”(Signature) v 映像文件头(FileHeader) v 可选映像头(OptionalHeader) 字串 “PE00” vSignature 一dword类型,值为50h, 45h, 00h, 00h (PE00)。 本域为PE标记,我们可以此识别 给定文件是否为有效PE文件。 v这个字串在文件中的位置(e_lfanew),可

15、以 在DOS程序头中找到它的指针,它占用四个字 节,位于文件开始偏移3CH字节中。 映像文件头 v该结构域包含了关于PE文件物理分布的信息, 比如节数目、文件执行机器等。 v它实际上是结构IMAGE_FILE_HEADER的简 称。 映像文件头结构 IMAGE_FILE_HEADER STRUCT Machine WORD ? NumberOfSections WORD ? TimeDateStamp dd ? PointerToSymbolTable dd ? NumberOfSymbols dd ? SizeOfOptionalHeader WORD ? Characteristics W

16、ORD ? IMAGE_FILE_HEADER ENDS 映像文件头的基本信息 顺序名字 大小( 字节) 描述 1Machine *2机器类型,x86为14ch 2NumberOfSection *2文件中节的个数 3TimeDataStamp4生成该文件的时间 4PointerToSymbleTable4COFF符号表的偏移 5NumberOfSymbols4符号数目 6SizeOfOptionalHeader2可选头 的大小 7Characteristics *2关于文件信息的标记 ,比如 文件是exe还是dll 可选映像头 voptional header 结构是 IMAGE_NT_HEADERS 中的最后成员 。包含了PE文件的逻辑分布信息。该结构共有31个域,一些是 很关键,另一些不太常用。这里只介绍那些真正有用的域。 v这儿有个关于PE文件格式的常用术语: RVA RVA 代表相对虚拟

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号