欢迎来到天天文库
浏览记录
ID:18474744
大小:3.79 MB
页数:61页
时间:2018-09-18
《计算机病毒原理及防范技术 王路群 第7章 计算机病毒基本技巧新》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机病毒原理及防范技术中国水利水电出版社第1章计算机病毒基本技巧7.4花指令和变形术7.3病毒的多态7.2病毒简单加密7.1病毒隐藏技巧7.5代码优化7.6异常处理2教学要求:理解:病毒的代码优化和异常处理掌握:病毒隐藏原理,病毒的多态、花指令和变形技术37.1病毒隐藏技巧隐藏是病毒的天性,是病毒的一个最基本特征。任何病毒都希望在被感染的计算机中长期隐藏不被发现,因为病毒只有在不被发现的情况下,才能实施其破坏行为。为了达到这个目的,许多病毒使用了各种不同的技术来躲避反病毒软件的检测。病毒的隐藏技巧,贯穿于3个模块(引导、感染、表现)之中,使病毒在运行过程中直到其表现(破坏)发作以前都
2、尽可能地不被人发觉。引导型病毒、文件型病毒、宏病毒以及Windows环境下的病毒采用了不同的技术达到这个目的。47.1病毒隐藏技巧(续)引导型病毒的隐藏技巧引导型病毒一般采用两种方法进行隐藏:第一种方法是改变基本输入输出系统中断INT13H(BIOS磁盘中断,利用它可以实现磁盘扇区的读写)的入口地址使其指向病毒代码,一旦有调用INT13H读被感染扇区的请求时,引导型病毒将原来没有感染过的内容返回给调用程序。这样,任何DOS程序都无法觉察道病毒的存在,如果反病毒软件无法首先将内存中的病毒清除(也就是说首先恢复被替换的INT13H中断服务程序),那么要彻底清除这种病毒是非常困难的。57.1
3、病毒隐藏技巧(续)引导型病毒的隐藏技巧另一种方法是专门针对杀毒软件的。随着反病毒技术地提高,一些杀毒软件采用直接读写磁盘扇区的方法而不是采用INT13H中断方法读写磁盘扇区,这样能够解决引导型病毒采用第一种方式进行隐藏而造成的问题。为了针对杀毒软件采用的这种技术,引导型病毒在计算机系统启动任何程序的时候(包括反病毒程序),开始修改DOS执行程序的中断功能,将被病毒感染的扇区恢复成原样,这样即使反病毒软件采用直接读写磁盘扇区的方法看到的也是正常的磁盘扇区,当反病毒软件运行结束后再重新感染相应的磁盘扇区。67.1病毒隐藏技巧(续)文件型病毒的隐藏技巧文件型病毒通过替换DOS或者基本输入输出
4、系统(BIOS)的文件系统的相关调用,在打开文件的时候将文件的内容恢复成未被感染时的状态,在关闭文件的时候重新进行感染。因为操作系统访问文件的方式、方法非常多,所以实现文件型病毒的完全隐藏是一件非常困难的事情,一套比较完整的隐藏技术应该包括对下面几个方面的处理,如图7.3所示。77.1病毒隐藏技巧(续)文件型病毒的隐藏技巧图7.3文件型病毒使用的隐藏技术87.1病毒隐藏技巧(续)宏病毒的隐藏技巧由于宏病毒离不开它的运行环境(Office软件)和宏,所以宏病毒的隐藏技术和引导型病毒以及文件型病毒比起来要简单很多,只要在Word/Excel中禁止菜单“文件→模板”或者“工具→宏”就可以隐藏
5、病毒了,可以通过宏病毒代码删除菜单项以及宏病毒用自己的FileTemplates和ToolsMacro宏替代系统缺省的宏就可以了。97.1病毒隐藏技巧(续)进程隐藏实现进程或模块隐藏是一个成功病毒所必须具备的特征。进程隐藏最常用的开源代码有RootKit,发现隐藏进程并杀死该隐藏进程可以参照瑞星的进程管理工具,也可以使用更专业的Icesword工具(Icesword工具可以同时杀死多个进程,这对多个相互守护的进程特别有效)。还有一种比较流行的进程隐藏技术,就是“远程线程注射”(remotethreadinjection)。通常情况下,各个进程的内存空间是不可以相互访问的,这也是为程序能
6、够稳定运行打下基础,这个访问限制让所有进程之间互相独立,这样一来,任何一个非系统关键进程发生崩溃时都不会影响到其他内存空间里的进程执行,从而使NT架构的稳定性远远高于Win9x架构。107.1病毒隐藏技巧(续)进程隐藏但是在一些特定的场合里,必须让进程之间可以互相访问和管理,这就是“远程线程”技术的初衷,这个技术实现了进程之间的跨内存空间访问,其核心是产生一个特殊的线程,这个线程能够将一段执行代码连接到另一个进程所处的内存空间里,作为另一个进程的其中一个非核心线程来运行,从而达到交换数据的目的,这个连接的过程被称为“注射”(injection)。远程线程技术好比一棵寄生在大树上的蔓藤,
7、一旦目标进程被注射,这段新生的线程就成为目标进程的一部分代码了,只要目标进程不被终止,原进程无论是否还在运行都不会再影响到执行结果了。117.2病毒简单加密病毒的简单加密是指对病毒的某些主题代码采用固定的密钥进行加密,这样静态反汇编出来的代码就是经过加密处理过的,因此在某种程度上可以起到保护病毒程序的目的。一个被简单加密的病毒一般有如下几个部分:解密算法(解开被加密的代码,以便病毒执行)。病毒主体代码(被加密的病毒代码)。跳转(病毒解密完毕后,
此文档下载收益归作者所有