




已阅读5页,还剩83页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江工业职业技术学院毕业论文(2011届)浅谈windows下的病毒隐藏技术学生姓名 学 号 分 院 专 业 信 指导教师 完成日期 2011年5月 19日 浅谈windows下的病毒隐藏技术摘 要 随着人们对计算机安全要求的不断提高,计算机病毒作为计算机安全的主要威胁,正在受到人们广泛的关注。只有透彻理解病毒的内在机理,知己知彼,才能更好的防范病毒。本论文深入剖析了windows环境下各种病毒的相关技术,并提出了相应的检测方案。本论文研究总结了网页病毒、宏病毒、邮件病毒的感染、传播及如何获得系统控制权机理,总结了防治脚本病毒、宏病毒、邮件病毒的一般做法,并针对这些病毒的特点提出了基于命令式的预防病毒方案。蠕虫病毒成为当前网络环境下病毒的主要形式,本论文研究总结了蠕虫的行为特点及工作原理,并给出了一般的防范措施。计算机病毒手段越来越高明,论文给出了文件型、引导型、宏病毒及windows病毒的隐藏技术。同时,论文还研究整理了病毒的常见反检测技术,包括隐藏、反跟踪、变形等。本文还介绍了木马的概念和危害、木马的工作原理、木马的预防和清除。当前,病毒的传播途径主要依赖于网络,网络是主机感染病毒的主要来源,论文最后给出了常见的病毒检测技术并简要介绍了防火墙的概念。关键词: 脚本病毒 蠕虫病毒 木马 病毒检测 防火墙目 录第一章 绪论11.1课题研究意义及背景11.2论文组织结构2第二章 计算机病毒特征32.1计算机病毒的定义和特征32.1.1基本定义32.1.2基本特征42.2计算机病毒的分类52.2.1按病毒攻击对象的机型分类52.2.4按计算机病毒破坏情况分类72.2.5按计算机病毒寄生方式分类72.3计算机病毒的基本机制7第三章 windows病毒分析103.1宏病毒分析103.1.1宏病毒的原理103.1.2宏病毒的破坏表现113.1.3宏病毒的主要特点113.1.4宏病毒的检测123.1.5宏病毒的防范123.2网页病毒分析133.2.1网页病毒的防范153.3邮件病毒分析163.3.1邮件病毒的工作流程173.3.2邮件病毒的防治173.4脚本病毒分析183.4.1 wsh介绍183.4.2 vbs脚本病毒原理分析193.5网络蠕虫分析203.5.1 蠕虫的行为特征203.5.2 蠕虫的工作原理213.5.3 蠕虫的防治22第四章 病毒抗分析技术244.1病毒的隐藏技术244.1.1 引导型病毒的隐藏技术244.1.2 文件型病毒的隐藏技术254.1.3 windows病毒的隐藏技术264.2花指令264.3病毒的变形技术274.4异常处理284.4.1 异常处理的方式284.4.2 异常处理的过程28第五章 特洛伊木马305.1特洛伊木马概述305.2木马的基本原理315.3木马的基本特性345.3.1 木马的自启动345.3.2 木马的隐藏性355.4木马的预防和清除35第六章 病毒检测技术376.1特征值检测技术376.2校验和检测技术386.3行为监测技术396.4启发式扫描技术406.5虚拟机技术406.6防火墙技术概述41第七章 结论43致 谢44参考文献45第一章 绪论1.1课题研究意义及背景人类进入了信息社会,创造了计算机,计算机虽然给人们的工作和生活带来了便利和效率,然而计算机系统并不安全。计算机病毒就是最不安全的因素之一,它会造成资源和财富的巨大浪费,人们称计算机病毒为“21世纪最大的陷患”。目前由于计算机软件的脆弱性与互联网的开放性,我们将与病毒长期共存。因此,研究计算机病毒及防范技术具有重要意义。自1949年计算机刚刚诞生,就有了计算机病毒的概念。计算机之父冯.诺依曼在复杂自动机组织论中便定义了病毒的基本概念,他提出“一部事实上足够复杂的机器能够复制自身”。20世纪60年代初,在美国贝尔实验里,3个年轻的程序员编写了一个名为“磁芯大战”的游戏,游戏中通过复制自身来摆脱对方的控制,这就是所谓“病毒”的第一个雏形。1983年11月,在国际计算机安全学术研讨会上,美国计算机专家首次将病毒程序在vax/750计算上进行了实验,世界上第一个计算机病毒就这样出生在实验室里。80年代后期,微机的普及和internet的应用,计算机病毒的发展步伐大大加快。1986年,巴基斯坦的两个软件人员为了搞清楚自己编制的软件究竟都跑到了谁的手里,于是炮制了一个“巴基斯坦智囊”病毒,这可能是最早广泛流行的计算机病毒。从此,以pc为主要传播对象的计算机病毒开始疯狂传播大肆泛滥。随后,1987年,“黑色星期五”恶性病毒在全球范围大规模爆发,计算机病毒对计算机数据的破坏作用才第一次被人们真正了解、认识。如果某月13日正巧又是星期五,“黑色星期五”就会立即爆发,对硬盘进行格式化,这时用户唯一可以做的,就是坐在计算机面前看着自己多年的心血付之东流。后来很长一段时间,很多用户一到13日星期五就不敢再打开计算机。1998 年6 月,首例能够破坏pc机系统硬件的“cih”病毒在国内被发现。“cih”病毒产自台湾,最先通过盗版光盘在美国和欧洲等地广泛流行,后通过internet共享渠道在全球泛滥。随着internet的发展,病毒的发展也出现了一些新的苗头:(1) 基于“视窗”的计算机病毒越来越多;(2) 新病毒层出不穷,感染发作有增无减;(3) 网络成为计算机病毒传播的主要媒介;(4) 病毒的破坏性不断增加。近几年来,中国计算机病毒的发病率以每年翻一番的速度增长。据信息产业部统计,1999年中国计算机病毒的感染率高达55%;到了2000年下半年,已达到73%。而到了2003年国家应急中心的报告,病毒感染率增加到85%,明显呈上升态势。计算机病毒在不断发展,手段越来越高明,结构越来越特别。特别是在互联网时代,病毒的传播范围会越来越广。当前的计算机病毒厂商在计算机病毒的消除方面,都是发现一个新病毒后,立即分析它的运行机制,感染原理,编制程序进行查、杀,最后加入到反病毒软件中,或放在网上供用户下载。不仅杀毒软件滞后于病毒,而且由于多态性计算机病毒的出现,更增加了这种分析的难度,这也是当前反病毒领域的瓶颈所在。1.2论文组织结构第一部分:绪论。介绍了论文的研究意义和计算机病毒的发展背景。第二部分:windows病毒的基本特征。介绍了windows病毒的基本特征及分类。第三部分:windows病毒分析。分析了网页病毒、宏病毒、邮件病毒、脚本病毒及网络蠕虫的特征、机理并给出了相应的防范措施。第四部分:病毒抗分析技术。介绍了病毒常用的抗分析技术,包括隐藏、花指令、变形、异常处理。第五部分:特洛伊木马。分析了木马的基本原理和基本特性并给了相应的预防和清除方法。第六部分:病毒的检测技术。包括特征值检测技术、校验和检测技术、行为检测技术、启发式扫描技术、虚拟机技术及防火墙技术。第二章 计算机病毒特征由于dos系统的源码是对外开放的,而且作为单机系统在安全性方面也未做充分的考虑,所以在dos时代,病毒数量多,技巧性强。但随着微软windows系统的推出,绝大多数电脑用户选择了界面友好的windows操作系统,宣告了dos时代的终结,同时dos系统下的病毒也就没有了用武之地。因此本论文选择了windows病毒作为研究对象。2.1计算机病毒的定义和特征2.1.1基本定义计算机病毒(computer virus)最早由美国计算机病毒研究专家f.cohen博士提出。计算机病毒的定义有多种,目前流行的定义为:计算机病毒是一段附着在其他程序上的、可以自我繁殖的程序代码。复制后生成的新病毒同样具有感染其它程序的功能。在其生命周期中,病毒一般会经历如下四个阶段:(1) 潜伏阶段这一阶段的病毒处于休眠状态,这些病毒最终会被某些(如日期、 某些特定程序或特定文件的出现、内存的容量超过一定范围)所激活。并不是所有的病毒都会经历此阶段。(2) 传染阶段病毒程序将自身复制到其它程序或磁盘的某个区域上,每个被感染的程序又因此包含了病毒的复制品,从而也就进入了传染阶段。(3) 触发阶段病毒在被激活后,会执行某一特定功能从而达到某种目的。和处于潜伏期的病毒一样,触发阶段病毒的触发条件是一些系统事件,包含病毒复制自身的次数。(4) 发作阶段病毒在触发条件成熟时,即可在系统在发作。由病毒发作体现出来的破坏程度是不同的:有些无害的,如在屏幕上显示一些干扰信息;有些则会给系统带来巨大的危害,破坏程序以及文件中的数据。大多数病毒是基于某种特定的方式进行工作的,如某个特定的操作系统或某个特定的硬件平台。因此,攻击者们经常利用某特定的细节和弱点来设计病毒程序。2.1.2基本特征计算机病毒各种各样,其特征各异,但只要是计算机病毒,就必然具备如下7个基本特征:(1) 传染性又称为自我复制、自我繁殖、感染或再生。计算机病毒是一段人为编制的计算机程序代码,这段程序代码一旦进入计算机并得以执行,它会搜寻其他符合其传染条件的程序或存储介质确定目标后再将自身代码插入其中,达到自我繁殖的目的。是否具有传染性是判断一个程序是否为计算机病毒的重要条件。(2) 潜伏性病毒程序进入计算机之后,一般情况下除了传染外,并不会立即发威,而是在系统中潜伏一段时间。只有当其特定的触发条件满足时,才会激活病毒的表现模块而出现中毒症状。病毒的潜伏性越长,用户就越是意识不到、发现不了病毒的存在而去清除它,使得病毒向外传染的机会就越多,病毒传染的范围就越广。(3) 非授权性病毒隐藏在正常程序中,当用户调用正常程序时窃取到系统的控制权,先于正常程序执行,病毒的动作、目的对用户是未知的,是未经用户允许的。(4) 隐蔽性病毒一般是具有很高编程技巧、短小精悍的程序,它们一般附着到正常程序之中,也有个别的以隐含文件形式出现,目的是不让用户发现它的存在。如果不经过代码分析,病毒程序与正常程序是不容易区别开来的。(5) 破坏性无论何种病毒程序一旦侵入系统都会对操作系统的运行造成不同程度的影响。可将病毒分为良性病毒与恶性病毒。良性病毒多数都是编制者的恶作剧,它对文件、数据不具有破坏性,但会浪费系统资源。如:genp、w-boot等。而恶性病毒则会破坏数据、删除文件或加密磁盘、格式化磁盘等,如“红色代码”和“尼姆达”病毒等。(6) 不可预见性从对病毒检测方面看,病毒还有不可预见性。不同种类的病毒,它们的代码千差万别。虽然反病毒技术在不断发展,但是病毒的制作技术也在不断的提高,病毒对反病毒软件一直是超前的。(7) 可触发性计算机病毒一般都有一个或者几个触发条件。如果满足其触发条件,激活病毒的传染机制进行传染,或者激活病毒的表现部分或破坏部分。病毒的触发条件越多,则传染性越强。2.2计算机病毒的分类自第一例计算机病毒于20世纪80年代初面世以来,伴随着计算机技术、信息技术及其应用突飞猛进,获得令人瞩目的空前的同时,也促进了计算机病毒技术亦步亦趋的发展。面对这种纷繁杂乱的表面现象,针对如此众多的计算机病毒进行科学系统的分类既有学术研究方面的重要意义,又有防止计算机病毒的现实应用意义。2.2.1按病毒攻击对象的机型分类针对病毒攻击的机型而异,目前出现的病毒被分为如下4种:(1)攻击微型计算机的病毒:由于微型计算机及其操作系统、软硬资源的开放性和应用的广泛性,时至今日大多数病毒以微型计算机作为攻击对象。例如攻击commodore公司生产的微型计算机的病毒,如amiga病毒;攻击ibm公司和其他公司的微型计算机及其兼容机的病毒,如brain(大脑)病毒、lehign(里海)、jreusalem(耶路撒冷)病毒及其变种(亦称黑色星期五病毒)等。(2)攻击小型计算机的病毒:病毒攻击的对象与计算机应用范围的广泛与否,似乎存在着一定的因果关系:只要是应用范围广泛的计算机,都有遭受病毒攻击的可能。由于小型计算机既可以作为网络的结点机,又可作为小型计算机网络主机,使得小型计算机亦成为了病毒攻击的目标。(3)攻击大、中型计算机的病毒:相对于攻击微型计算机和小型机的病毒而言,攻击中、大型计算机的病毒微乎其微,有关的资料、新闻媒体尚少有披露。尽管如此,病毒对大型计算机的攻击威胁仍然存着。(4)攻击计算机网络的病毒:在计算机网络得到了空前广泛应用的今天,攻击计算机网络的病毒的频频出现。当前在因特网上出现的网络病毒已经是屡见不鲜。例如2001年7月出现的code red(红色代码)病毒和同年8月出现的code red病毒,它们针对因特网上的服务器突施攻击,且能迅速传播,造成网络访问速度的下降乃至断;2003年8月出现的冲击波蠕虫病毒造成大批计算机瘫痪和网络连接速度减慢,该病毒认为是当年出现的破坏力最强的病毒之一等。2.2.2按病毒攻击计算机的操作系统分类(1)攻击dos系统的病毒:这类病毒的种类及其变种极多,尽管dos病毒技术在1995在基本上处于停滞状态,但是dos系统类病毒的数量和传播仍然在发展。(2)攻击windows系统的病毒:自1996年1月出现了首例widows95病毒win95.boza病毒以来,攻击windows系统的计算机病毒日趋增多。(3)攻击unix系统的病毒:起初人们认为unix系统各linux系统是免遭病毒侵袭的乐土。然而随着病毒技术的发展,病毒的攻击目标也开始染指unix和linux。1997年2月,出现了首例攻击linux系统的病毒bliss(上天的赐福)。 2.2.3按计算机病毒的传染方式分类(1)引导型病毒:引导型病毒是利用操作系统的引导模块放在某个固定区域,并且控制权的转接方式是以物理地址为依据,而不是以操作系统引导区的内容为依据,因而病毒占据该物理位置即可以获得控制权,这种类型的病毒以dos系统下病毒为主。因为微软对windows系统源码的保密,所以windows系统下这种病毒比较少见。随着-dos系统逐渐推出历史舞台,这种类型的病毒目前来说已较少见。(2)文件型病毒:文件型病毒主要以感染文件扩展名为.com文件、和.exe文件;也可以感染obj、doc、dot等文件。(3)混合型即引导型兼文件型病毒:该病毒是利用文件感染时伺机感染引导区,因而具有双重传播能力。(4)网络型病毒:主要通过网络来进行传播的病毒,如蠕虫病毒和网页病毒。在传统的分类上没有该类型,只是笔者考虑到传统的病毒分类是在dos系统单机时代,而现在随着网络的发展,又出现了新的病毒,表现出了新的特性,所以笔者按其特点,列为网络型病毒。2.2.4按计算机病毒破坏情况分类(1)良性病毒:是不包含有对计算机系统产生直接破坏作用的代码的计算机病毒。虽然它不直接破坏计算机内部数据,但它会使系统资源急剧减少最终导致系统崩溃。良性病毒又可分为无危害病毒和无危险病毒。(2)恶性病毒:指在代码中包含有损伤和破坏计算机系统的操作,在口传染或发作时会对系统产生直接破坏作用的计算机病毒。恶性病毒又可分为危险型病毒和非常危险型病毒。2.2.5按计算机病毒寄生方式分类(1)覆盖式寄生病毒:该病毒将自身的程序代码部分或全部覆盖在其宿主程序上,破坏宿主程序的部分或全部功能。(2)链接式寄生病毒:该类病毒将自身程序代码依附于其宿主程序的尾部,首部或中间,而不破坏宿主程序。(3)填充式寄生病毒:该类病毒将自身的程序代码侵占其宿主的空闲存储空间而不改变宿主程序的存储空间。(4)转储式寄生病毒:该类病毒是改变其宿主程序代码的存储位置,使病毒自身的程序代码侵占宿主程序的存储空间。计算机病毒数量剧增,花样更新,传播迅速。根据其不同的特征进行分类,以掌握各种类型病毒的工作原理,是防范、遏制病毒蔓延的前提。2.3计算机病毒的基本机制计算机病毒有如下基本弱点:(1) 计算机病毒是一段程序。(2) 病毒程序的宿主一般是计算机系统的可执行部分。(3) 病毒的任何感染行为是总是要改变宿主,或完全替代宿主的一部分代码,或修改一部分代码,或改变操作系统定位该宿主的指针。(4) 如果病毒要存活、繁衍,其程序代码就必须能够被执行。以上四点是病毒存活的基本共同点,也是共同弱点,反病毒工具一般都要利用这些弱点对付病毒。计算机病毒是一种特殊程序,其最大特点是具有感染能力。病毒的感染动作受到触发机制的控制,病毒触发机制还控制了病毒的破坏动作。病毒程序一般由感染模块、触发模块、破坏模块、主控模块组成,相应为感染机制、触发机制和破坏机制三种。但并不是所有的病毒都具备这三种机制,巴基斯坦病毒就没有破坏模块。(1) 感染模块该模块的作用是将病毒代码传染到其他对象上去,负责实现感染机制。一般病毒在对目标程序传染之前判断感染条件,如是否有感染标记或文件类型是否符合传染标准等。具体为:寻找一个可执行文件;检查该文件中是否有感染标记;如果没有感染标记,则进行感染,将病毒代码放入宿主程序。(2) 触发模块触发模块根据预定条件满足与否,控制病毒的感染或破坏动作。病毒的触发条件有多种形式,主要有:日期和时间触发、键盘触发、启动触发、磁盘访问触发和中断访问触发、其他触发方式。病毒触发模块的主要功能为:检查预定触发条件是否满足;如果满足,返回真值;如果不满足,返回假值。(3) 破坏模块破坏模块负责实施病毒的破坏工作。其内部是实现病毒编写者预定破坏动作的代码。这些破坏动作可能是破坏文件、数据,也可能是破坏计算机的空间效率和时间效率或使计算机运行崩溃。有些病毒的该模块并没有明显的恶意破坏行为,仅在被感染的系统设备上表现出特定的现象,该模块有时又被称为表现模块。在结构上,破坏模块一般分为两部分,一部分判断破坏的条件,另一部分执行破坏的功能。(4) 主控模块主控模块在总体上控制病毒程序的运行,染毒程序运行时,首先运行的是病毒的主控模块。其基本动作为:调用感染模块,进行感染;调用触发模块,接收其返回值; 如果返回真值,执行破坏模块;如果返回假值,执行后续程序。第三章 windows病毒分析现在的用户一般都安装windows操作系统,而windows病毒种类繁多,下面主要研究宏病毒、网页病毒、邮件病毒、及蠕虫病毒等一些常见的病毒。3.1宏病毒分析宏病毒是一些制作病毒的专业人利用ms office的开放性即word和 excel中提供的word basic/ excel basic编程接口,专门制作的一个或多个具有病毒特点的宏的集合,这种病毒宏的集合影响到计算机的使用,并能通过doc文档及dot模板进行自我复制及传播。3.1.1宏病毒的原理宏病毒的产生,是利用了一些数据处理系统内置宏命令编程语言的特性而形成的。这些数据处理系统内置宏编程语言的存在使得宏病毒有机可乘,病毒可以把特定的宏命令代码附加在指定文件上,通过文件的打开或关闭来获取控制权,实现宏命令在不同文件之间的共享和传递,从而在未经使用者许可的情况下获取控制权,达到传染目的。目前在可被宏病毒感染的文件中,以word、excel居多。word宏病毒与excel宏病毒的特性较为相似,因此仅以word宏病毒为例,说明宏病毒的作用、传染以及发作的机理和特性。一旦病毒宏侵入word,它就会替代原有的正常的宏,如fileopen、filesave、等,并通过这些宏所关联的文件操作功能获取对文件交换的控制。当某项功能被调用时,相应的病毒宏就会篡夺控制权,实施病毒所定义的非法操作,包括传染操作、表现操作以及破坏操作等。宏病毒在感染一个文档时,首先要把文档转换成模板格式,然后把所有病毒宏(包括自动宏)复制到该文档中。被转换成模板格式后的染毒文件无法转存为任何其他格式。含有自动宏的宏病毒染毒文档,当被其他计算机的word系统打开时,便会自动感染该计算机。例如,如果病毒捕获并修改了fileopen,那么,它将感染每一个被打开的word文件。目前,几乎所有已知的宏病毒都沿有了相同的作用机理,即如果word系统在读取一个染毒文件时遭受感染,则其后所有新创建的doc文件都会被感染。3.1.2宏病毒的破坏表现有些病毒对用户进行骚扰,但不破坏系统。但也有些宏病毒极具破坏性,如mdma.a,这种病毒既感染中文版word又感染英文版word,发作时间是每月的1日。此病毒在不同的windows平台上有不同的破坏性表现,轻则删除帮助文件,重则删除硬盘中的所有文件。宏病毒的破坏主要表现在两方面:(1)对word和excel运行的破坏:不能正常打印;封闭或改变文件存储路径;将文件发展改名;乱复制文件;封闭有关菜单;文件无法正常编辑。(2)对系统的破坏:word basic和 excel basic语言能够调用系统命令,造成破坏。3.1.3宏病毒的主要特点(1) 传播极快宏病毒通过doc文档及dot模板进行自我复制及传播,而计算机文档是交流最广的文件类型。多年来,人们大多重视保护自己计算机的引导部分和可执行文件不被病毒感染,而对外来的文档文件基本是直接浏览使用,这给宏病毒传播带来很多便利。特别是因特网的普及,e-mail的大量应用更为word宏病毒传播铺平道路。(2) 制作、变种方便以往病毒是以二进制的计算机机器码形式出现,而宏病毒则是以人们容易阅读的源代码宏语言word basic形式出现,所以编写和修改宏病毒比以往病毒容易。(3) 破坏可能极大鉴于宏病毒用word basic语言编写,word basic语言提供了许多系统级低层调用,如直接使用dos系统命令、调用windows api、调用dde或dll等。这些操作均可能系统直接构成威胁,而word在指令安全性、完整性上检测能力很弱,破坏系统的指令很容易被执行。宏病毒nuclear就是破坏操作系统的典型一例。(4) 多平台交叉感染宏病毒冲破了以往病毒在单一平台上传播的局限,当word或excel这类著名应用软件在不同平台上运行时,会被宏病毒交叉感染。以往病毒只感染程序,不感染数据文件,而宏病毒专门感染数据文件,彻底改变了人们的“数据文件不会传播病毒”的错误认识。3.1.4宏病毒的检测(1)在自己使用的word中打开工具中的宏菜单,点中通用normal模板,若发现有“autoopen”等自动宏,“filesave”等文件操作宏或一些怪名字的宏,而自己又没有加载特殊模板,这就有可能有病毒了。因为大多数用户的通用(normal)模板中是没有宏的。(2)如发现打开一个文档,它未经任何改动,立即就有存盘操作,也有可能是word带有病毒。(3)打开以doc为后缀的文件在另存菜单中只能以模板方式存盘而此时通用模板中含有宏,也有可能是word有病毒。3.1.5宏病毒的防范(1) 利用word提供的“宏病毒防护”功能防御宏病毒的一种比较简单的方法,就是在打开word文档时先禁止所有自动执行的宏(以auto开头的宏)的执行。由于宏病毒的肆虐,微软公司在word97版本中提供了“宏病毒防护”的功能选项。如果打开的文件带有“自动宏”,word 97将自动弹出警告对话框,来让用户选择是否执行宏,如果选择了“取消宏”,那么这个word文档将用只读形式打开,其包含的所有宏都没有执行。这个方法在理论上能防住所有宏病毒的侵袭,但它有很大的缺陷:一是它拒绝了所有宏的执行,包括正常宏和病毒,这会造成某些文档在打开时出现错误:二是很多病毒都屏蔽了工具中对应宏的子菜单。所以“宏病毒防护”并不能彻底解决“宏病毒”的问题。(2) 智能宏代码扫描清除宏病毒微软的word文档采用了“二进制文件格式”,它是微软公司为word等文档定义的特殊文件存储格式。普通文档通常是平面结构的,由文件头、正文内容和控制符组成,不存在与其它信息的链接,其文件头和控制符本身都不具备自动执行能力。在未加密的情况下,如果将文件头和控制符去掉,就可以得到一份干干净净的纯文本。采用bff格式的word文档是立体结构的,文档中除了包括文本外,还包括字体、页面布局、图形、图像等信息,这些信息相互链接,形成完整的word文件。因此,要干净、彻底地清除宏病毒,就必须对bff格式有透彻地理解,否则就可能在杀除宏病毒时出现以下现象:文档被杀“死”,用户再也无法用word打开这份文件:杀毒不干净,在文档中残留有宏病毒的结构,因而在重新打开文档时可能出现非法错误或“内存不足”等现象;清除了宏病毒本身,但残留了病毒的“空壳”,使得杀毒后的文档仍然不能另存,并且在用office97打开该文档时,word总会提示用户文档中包含“可疑宏”。根据word文件的结构,清除宏病毒的首要任务是断开宏结构链表,使病毒无法被读出。通过试验,在word2003版本下,宏病毒的防御能力得到了很大的提高,normatemplate,vbproject等对象都被设为禁用,使word97版本下的病毒在word2003下编译出错,只能禁止或运行菜单选项,但已失去传染性。3.2网页病毒分析随着网络的发展与普及,互联网对我们来说起到了越来越重要的作用,但是与此同时,恶意网页代码的出现,给广大网络用户带来了一些灾难。这里所指的网页病毒是指在html文件中用于非法修改用户计算机配置的html文件,有别于一般通过网页传染的病毒。修改注册表是网页恶意代码采用的最常见的一种方法。恶意攻击性网页正是自动修改了网页浏览者电脑的注册表,从而达到修改ie首页地址、锁定部分功能等目的。现在我们来分析一下其修改注册表的代码。首先我们还得了解一下微软的activex 技术。activex是microsoft提出的一组使用com使得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对internet应用开发技术,activex被广泛应用于web服务器以及客户端的各个方面。同样activex可以应用于网页编制语言中,利用javascript语句轻易就可以把activex嵌入到web页面中。目前,很多第三方开发商编制了各式各样的activex控制。在internet上,有超过1000个activex控件供用户下载使用。在windows的system目录下,保存有很多windows提供的activex控件。请看下面程序:/ 初始化activex控件 document.write(“ ”)/初始化acitvex控件结束 /定义结束 function f() try / 设定applet为0 a1=document.applets0/ 初始化windows script host shell objecta1.setclsid(“f935dc22-1cf0-11d0-adb9-00c04fd58a0b”)a1.createinstance()sh1=a1.getobject()try/开始定注册表/设定ie的标题为internet explorersh1.regwrite(“hkey-current-usersoftwaremicrosoftinternet explorermainwindow title”,“internet explorer”) /设定ie的默认首页为我们自己的主页sh1.regwrite(“hkey-current-usersoftwaremicrosoftinternetexplorermainstartpage”,8”) /设定首页那项变灰sh1.regwrite(“hkey-usersdefaultsoftwarepoliciesmicrosoftinternetexplorercontrolpanelhomepage”,0x1.“reg-dword”)catch() catch()function init()/1000毫秒后开始调用函数f()settimeout(“f()”,1000)init()说明: try语句体1 catch(e)语句体2 其中语句体2是异常处理程序:如果语句体1运行中发生异常,则行语句体2这样当语句体1运行过程中发生错误时,就不会直接弹出错误提示窗口,而由语句2处理。以上网页代码修改了注册表的ie标题、首页,并使用户无法在ie的“工具-internet选项-常规”中恢复首页的默认网页,用户无法设定分级审查。例如, 上面语句修改的hkey-current-usersoftware microsoftinternetexplorer mainstart page键值,即修改了ie的首地址。如果再加入几条,就可以修改、锁定更多的功能了,其他功能这里就不一一列出对应的注册表子键了。注册表被修改后常见的现象有:修改ie的标题、首页、搜索页、ie工具栏背景图、禁止更改主页设置;禁止更改历史记录设置;禁止使用鼠标右键;禁止使用注册表编程序regedit.exe;禁止使用任何程序等。3.2.1网页病毒的防范(1)禁用文件系统对象filesystemobject:用regsvr32 scrrun.dll /u命令禁止文件系统对象,或者直接查找scrrun.dll文件将其删除或者改名。(2)卸载windows scripting host:打开-控制面板-添加/删除程序-windows安装程序-附件,取消“windows scripting host”一项。(3)删除vbs,vbe,js,jse文件扩展名与应用程序的映射:点击我的电脑-查看-文件夹选项-文件类型,然后删除vbs,vbe,js,jse文件扩展名与应用程序的映射。(4)在windows目录中,找到wscript.exe或cscript.exe,更改名称或者删除。(5)点击ie的“internet选项”安全选项卡里的“自定义级别”按钮,把activex控件及插件设置为禁用。(6)禁止oe的自动收发邮件功能。(7)修改windows“隐藏已知文件类型的扩展名称”的默认设置,使其显示所有文件类型的扩展名称。(8)将系统网络连接的安全级别至少设置为“中等”。(9)安装病毒防火墙,定期升级杀毒程序。3.3邮件病毒分析邮件病毒并不是单独一种类型的病毒,大部分windows病毒都可以通过附件的形式来进行传播,实际上该病毒就是借助于电子邮件进行传播的病毒,这些病毒利用了邮件系统安全机制的脆弱性进行传播。邮件病毒产生的原因在于邮件系统的服务不能控制邮件的内容和传播的行为,使病毒寄身于信内得以传播。邮件病毒并不是邮件系统的错,问题仍然出在操作系统和应用系统上,这些系统才是病毒的温床。病毒攻击的目标主要仍是微软系统平台,主要通过两种借助邮件的形式进行传播,一是附件,二是直接采用html格式的邮件。病毒寄宿在附件内或干脆就是附件,而附件的文件名通常具有欺骗性,一种做法是把寄宿有宏病毒的word文档的名称起得很吸引人,看上去如同好友的信件或商业信函等,引诱收件人去点击;另一种做法则是将病毒文件的文件名改头换面,有时甚至干脆直接将可执行文件伪装成微软的补丁包。如:主页病毒、美丽沙病毒等。由于一些e-mail软件如outlook等可以发送html格式的邮件,而html文件可包含activex控件,activex在某些情况下又可以拥有对本地硬盘的读写权,因此带有病毒的html格式的邮件,可以在浏览邮件内容时被激活,但这种情况仅限于html格式的邮件。3.3.1邮件病毒的工作流程(1)宏病毒寄宿在以邮件的附件形式存在的word文档里,单从表面看,根本看不出病毒的存在,而当收信人在本地主机上用word程序打开时,病毒即感染系统,执行相应的破坏动作。(2) vbs, js等脚本病毒、蠕虫病毒如上面所述,依赖windows系统默认情况下只显示一个扩展名的特点,病毒文件取两个扩展名,误导收信人打开附件,从而使病毒获得系统的控制权。 邮件病毒的工作流程一般可分为:自我复制、自我注册、查找传播条件、传播、判断发作条件、发作、退出等。首先病毒把自己拷贝到目标计算机,进入到目标主机后,病毒去读注册表看有没有感染标志,有则删除自身并退出。否则,写注册表,设置为开机启动、并设置感染标志,然后查找outlook地址簿和网上邻居,如果存在地址簿和共享文件夹,则感染。判断触发条件,若不满足,退出病毒程序:若满足,则执行预定的破坏或表现动作,完毕后退出。可以看出,邮件病毒在感染一台目标主机后,立即查找下一个目标主机,这也是邮件病毒传播速度之快的原因。3.3.2邮件病毒的防治邮件病毒是夹带在邮件中的,邮件是“死”的,其中的病毒也不会主动变“活”的。一般邮件病毒的传播是通过附件进行的,如happy99、mellissa等。用foxmail收到的邮件中会看到带病毒的附件,如名为happy99.exe的文件,不要运行它,直接删掉就可以。有些是潜伏在word文件中的宏病毒,因此对word文件形式的附件,也要小心。对于另一种邮件病毒是不带附件的html文件,它利用active x在某些情况下拥有对硬盘的读/写权来进行破坏。在foxmail中,有一选择项“是否使用嵌入式ie浏览器查看html邮件”,如果选择了“使用”,foxmail将调用ie的功能来显示html邮件,病毒有机会被激活。但如果没有选择此开关,则foxmail以文本方式显示邮件内容,因此潜伏在html中的病毒就不会发作。3.4脚本病毒分析任何语言都是可以编写病毒的,而用脚本编写病毒则尤为简单,并且编出的病毒具有传播快、破坏力大的特点。例如,爱虫病毒及新欢乐时光病毒、叛逃者病毒就是采用vbs脚本编写的,另外还有php,js脚本病毒等。由于vbs脚本病毒比较普遍且破坏性都比较大,这里主要对这种病毒进行介绍。在介绍vbs病之前,我们有必要先了解一下有关wsh的知识。3.4.1 wsh介绍wsh,是“windows scripting host”的缩写形式,其通用的中文译名为“windows脚本宿主”。对这个较为抽象的名词,我们可以先作这样一个笼统的理解:它是内嵌于windows操作系统中的脚本语言工作环境。windows scripting host这个概念最早出现于windows98操作系统。ms-dos下的批处理命令曾有效地简化了人们的工作,且带来了极大的方便,这一点就有点类似于如今大行其道的脚本语言。但就算我们把批处理命令看成是一种脚本语言,那它也是98版之前windows操作系统所唯一支持的“脚本语言”。而此后随着各种真正的脚本语言的不断出现,批处理命令显然就力不从心了。面临这一危机,微软在研发windows98时,为了实现多种脚本文件在windows界面或dos命令提示符下的直接运行,就在系统内植入了一个基于32位windows平台、并独立于语言的脚本运行环境,并将其命名为“windows scripting host”。wsh架构于activex的脚本引擎控制器,wsh为windows用户充分利用威力强大的脚本指令语言扫清了障碍。更具体一点,编写一个脚本文件,后缀为.vbs或.js,然后在windows下双击执行它,这时系统就会自动调用一个适当的程序来对它进行解释并执行,而这个程序就是windows scripting host,程序执行名为wsciript.exe(若是在命令行下,则为cscript.exe)。wsh诞生后,在windows系列产品中很快得到了推广。除windows information server 4.0,windows me,windows 2000 server,以及windows 2000 professional等产品中嵌入了wsh。现在,早期的windows 95也可单独安装相应版本的wsh。wsh的设计,在很大程度上考虑到了“非交互性脚本”的需要。在这一指导思想下产生的wsh,给脚本带来非常强大的功能,例如,我们可以利用它完成映射网络驱动器、检索及修改环境变量、处理注册表项、对文件系统进行操作等工作;管理员还可以使用wsh的支持功能来创建简单的登陆脚本,甚至可以编写脚本来管理活动目录。上述功能的实现,均与wsh内置的多个对象密切相关,这些内置对象肩负着直接处理脚本指令的重任。因此,我们也可以通过了解wsh的内置对象来探寻wsh可以实现的功能。脚本文件的编写十分方便,你可以选用任意一个文字编辑软件进行编写。写完后,你只需将它存为wsh所支持的文件名就行了。(如.js文件或.vbs文件)。我们可以用记事本直接编写脚本。下面我们要利用wsh完成一次创建10个文件夹的工作。代码如下:dim newdirset newdir=wscript.createobject(“scripting.filesystemobject”) for k = 1 to 10 anewfolder=“c:chapter”& k newdir.createfolder(anewfolder) next将它存为.vbs文件退出。运行后,我们会发现,c盘根目录下一次性多出了10个文件夹。3.4.2 vbs脚本病毒原理分析(1) vbs脚本病毒如何感染文件vbs脚本病毒是直接通过自我复制来感染文件的,病毒中的绝大部分代码都可以直接附加在其他同类程序的中间。例如,新欢乐时光病毒可以将自己的代码附加在.htm文件的尾部,并在顶部加入一条调用病毒代码的语句,而爱虫病毒则是直接生成一个文件的副本,将病毒代码拷入其中,并以原文件名作为病毒文件名的前缀,vbs作为后缀。(2) vbs脚本病毒如何获得控制权对病毒来说,如何获取控制权是一个永恒的话题。在这里列出几种典型的方法:修改注册表项,windows在启动的时候,会自动加载:hkey_local_machinesoftwaremicrosoftwindowscurrentversionrun项下的各键值所指向的程序。脚本病毒可以在此项下加入一个键值指向病毒程序,这样就可以保证每次计算机启动的时候拿到控制权。通过映射文件执行方式,例如,新欢乐时光将dll的执行方式修改为wscript.exe,甚至可将exe文件的映射指向病毒代码。desktop.ini和folder.htt互相配合,这两个文件可以用来配置活动桌面,也可以用来自定义文件夹。如果用户的目录中含有这两个文件,当用户进入该目录时,就会触发folder.htt中的病毒代码。这是新欢乐时光病毒采用的一种比较有效的获取控制权的方法。3.5网络蠕虫分析蠕虫从严格意义上来讲,并不属于病毒。eugene h. spafford为了区分蠕虫和病毒,给出了蠕虫的技术角度的定义:“计算机蠕虫可以独立运行,并能把自身的一个包含所有功能的版本传播到另外的计算机上”但蠕虫与传统病毒相比,都具有传染性和复制功能,而且蠕虫与病毒、木马相互交叉,病毒利用蠕虫技术来传播,蠕虫利用病毒技术来搞破坏,二者难以区分,以尼姆达病毒为例,就是病毒、蠕虫、黑客技术的完美结合,反病毒软件商们也己将蠕虫列在了病毒之列。3.5.1 蠕虫的行为特征通过对蠕虫的整个工作流程分析,可以归纳得到它的行为特征:(1)主动攻击(2)行踪隐蔽(3)利用系统、网络应用服务漏洞(4)造成网络拥塞(5)降低系统性能(6)产生安全隐患(7)反复性(8)破坏性蠕虫与病毒的区别:(1)存在形式上病毒寄生在某个文件上,而蠕虫是作为独立的个体而存在;(2)传染机制方面病毒利用宿主程序的运行,而蠕虫利用系统存在的漏洞;(3)传染目标病毒针对本地文件,而蠕虫针对网络上的其他计算机;(4)防治病毒是将其从宿主文件中删除,而防治蠕虫是为系统打补丁。3.5.2 蠕虫的工作原理(1) 蠕虫程序的实体结构蠕虫程序相对于一般的应用程序,在实体结构方面体现了更多的复杂性,通过对多个蠕虫程序的分析,可以粗略的把蠕虫程序的实体结构分为如下的六大部分:未编译的源代码:由于有的程序参数必须在编译时确定,所以蠕虫程序可能包含一部分未编译的程序源代码。已编译的链接模块:不同的系统可能需要不同的运行模块,例如,不同的硬件产商和不同的系统产商采用不同的运行库,这在unix系统中非常常见。可运行代码:整个蠕虫可能是由多个编译好的程序组成的。脚本:利用脚本可以节省大量的程序代码,充分利用系统shell的功能。受感染系统上的可执行程序:受感染系统上的可执行程序,如文件传输等可被蠕虫作为自己组成部分。信息数据:包括已破解的口令、要攻击的地址列表、蠕虫自身的压缩包等。(2) 蠕虫程序的功能结构鉴于所有蠕虫都具有相似的功能结构,本节给出了蠕虫程序的统一功能模型,统一功能模型将蠕虫程序分解为基本功能模块和扩展功能模块。实现了基本功能模块的蠕虫程序就能完成复制传播流程,包含扩展功能模块的蠕虫则具有更强的生存能力和破坏能力。如图3-1所示。蠕虫程序功能模型基本功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46084-2025燃煤锅炉火焰温度图像检测技术规范
- 2022-2023学年上海宝山区七年级(上)第二次月考语文试题及答案
- 应急及安全管理培训课件
- 2024-2025学年度中级软考综合提升测试卷附答案详解(满分必刷)
- 强化训练-人教版7年级数学上册期中试题及答案详解
- 卖水果的合同(标准版)
- 设计转包合同(标准版)
- 2024年安全员考试模拟试题含答案详解(新)
- 2025年海洋生态保护与修复政策对海洋生态系统服务功能可持续性优化报告
- 2025年教育行业投资并购趋势与教育产业投资前景报告
- 公共部门人力资源管理全套PPT完整教学课件
- 中学生必需把握的3500个常用汉字
- GB/T 10299-2011绝热材料憎水性试验方法
- GB 15766.1-2000道路机动车辆灯丝灯泡尺寸、光电性能要求
- 储备粮直属库原粮储存项目安全现状评价报告
- 第四章-清洁生产-清洁生产与循环经济课件
- 重庆医科大学护理学考研大纲
- 干部任免审批表(空白)【电子版】
- 品管圈提高痰培养标本留取率
- 《新能源汽车电力电子技术》全册课件
- 护理管理学第五章 人力资源管理
评论
0/150
提交评论