上海交通大学网络教育学院网络安全主讲:马进(2006年4月23日,第九讲)第六章病毒防护技术6.1病毒原理6.2病毒技术6.3反病毒技术6.4概述66病毒攻防发展6.5概述6.16.11计算机病毒的特征2计算机病毒的历史3计算机病毒的分类4计算机病毒定义名称由来¾由生物医学上的“病毒”一词借用而来¾与生物医学上“病毒”的异同-同:都具有传染性、流行性、针对性等-异:不是天生的,而是人为编制的具有特殊功能的程序¾“计算机病毒”一词最早出现在美国作家ThomasJ.Ryan于1977年出版的科幻小说《TheAdolescenceofP-1》中计算机病毒定义¾广义的定义:凡能够引起计算机故障,破坏计算机数据的程序统称为计算机病毒(ComputerVirus)¾1994年2月18日,我国正式颁布实施了《中华人民共和国计算机信息系统安全保护条例》,在《条理》第28条中对计算机病毒的定义为:“指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能够自我复制的一组计算机指令或者程序代码”。-此定义具有法律性、权威性。计算机病毒的特征(1/3)¾寄生性-计算机病毒是一种特殊的计算机程序,它不是以独立的文件的形式存在的,它寄生在合法的程序中。-病毒所寄生的合法程序被称做病毒的载体,也称为病毒的宿主程序。¾传染性-计算机病毒会通过各种渠道从已被感染的计算机扩散到未被感染的计算机-是病毒的基本特征,是否具有传染性是判别一个程序是否为计算机病毒的首要条件计算机病毒的特征(2/3)¾隐蔽性-计算机病毒在发作之前,必须能够将自身很好地隐蔽起来,不被用户发觉,这样才能实现进入计算机系统、进行广泛传播的目的。-计算机病毒的隐蔽性表现为存在的隐蔽性与传染的隐蔽性。¾潜伏性-病毒程序为了达到不断传播并破坏系统的目的,一般不会在传染某一程序后立即发作,否则就暴露了自身。-潜伏性越好,其在系统中的存在时间就会越长,其传染范围就会越大。计算机病毒的特征(3/3)¾可触发性-因某个特征或数值的出现,诱使病毒实施感染或进行攻击的特性称为可触发性。¾破坏性-共同的危害:降低系统的工作效率,占用系统资源(具体情况取决于入侵系统的病毒程序)-病毒的破坏性主要取决于计算机病毒设计者的目的(P213)计算机病毒的传播途径¾通过不可移动的计算机硬件设备进行传播¾通过移动存储设备来传播:如软盘、U盘、光盘等¾通过计算机网络进行传播¾通过点对点通信系统和无线通道传播计算机病毒的历史(P216)¾1991年在“海湾战争”中,美军第一次将计算机病毒用于实战,在空袭巴格达的战斗中,成功地破坏了对方的指挥系统,使之瘫痪,保证了战斗的顺利进行,直至最后胜利。¾1996年首次出现针对微软公司Office的“宏病毒”。¾1998年出现针对Windows95/98系统的病毒,如CIH。它主要感染Windows95/98的可执行程序,发作时破坏计算机FlashBIOS芯片中的系统程序,导致主板损坏,同时破坏硬盘中的数据。¾1999年Happy99等完全通过Internet传播的病毒出现。计算机病毒的分类¾按攻击的操作系统分类¾按传播媒介分类¾按链接方式分类¾按危害程度分类¾按寄生方式分类¾按攻击机型分类¾从广义病毒定义按攻击的操作系统分类¾攻击DOS系统的病毒¾攻击Windows系统的病毒¾攻击UNIX系统的病毒(相对来说,为数不多,传播效率低,不易流行)¾攻击OS/2系统的病毒¾攻击嵌入式操作系统的病毒。(特洛伊木马“自由A”)按传播媒介分类¾单机病毒-载体:磁盘-早期的病毒都是单机病毒¾网络病毒-传播媒介:网络-GPI病毒是世界上第一个专门攻击计算机网络的病毒-当今的病毒大多都是网络病毒按链接方式分类¾源码型病毒:该病毒攻击高级语言编写的程序,在高级语言所编写的程序编译前插入到源程序中,经编译成为合法程序的一部分。目前,该类病毒不多见。¾入侵型病毒/嵌入型病毒:在感染时往往对宿主程序进行一定的修改,将自身嵌入到攻击目标中,代替宿主程序中不常用到的堆栈区或功能模块,而不是链接在它的首部或尾部。编写该类病毒比较困难。¾外壳型病毒:寄生在宿主程序的前面或后面,并修改程序的第一个执行指令,使病毒先于宿主程序执行,并随着宿主程序的使用而传染扩散。该类病毒易于编写,数量最多。¾操作系统型病毒:这种病毒在运行时,用自己的逻辑模块取代操作系统的部分合法程序模块。按危害程度分类¾良性计算机病毒:不对计算机系统直接进行破坏,只是具有一定表现症状的病毒。¾恶性计算机病毒:在其代码中包含有损伤和破坏计算机系统的操作,在其传染或发作时会对系统产生直接的破坏作用,诸如窜改数据、格式化硬盘等。¾中性病毒:对计算机系统不造成直接破坏,又没有表现症状,只是疯狂复制自身的病毒,也就是常说的蠕虫型病毒。按寄生方式分类¾引导型病毒:通过磁盘引导区传染的病毒,主要是用病毒的全部或部分逻辑取代正常的引导记录,而将正常的引导记录隐藏在磁盘的其他地方。¾文件型病毒:通过操作系统的文件系统传染的病毒,主要以感染可执行程序(.bat、.exe、.com、.sys、.dll、.ovl、.vxd等)为主,病毒通常寄生在可执行程序中,一旦程序被执行,病毒也就被激活,并将自身驻留内存,然后设置触发条件,进行感染。¾混合型病毒:既传染磁盘引导扇区又传染可执行文件的病毒,综合了系统型和文件型病毒的特征。按攻击机型分类¾攻击微型计算机的病毒¾攻击小型机的计算机病毒¾攻击工作站的计算机病毒¾攻击便携式电子设备的病毒从广义病毒定义¾逻辑炸弹:修改计算机程序,使它在某种特殊条件下按某种不同的方式运行。逻辑炸弹也是由程序员插入其它程序代码中间的,但并不进行自我复制。¾逻辑炸弹¾特洛伊木马¾计算机蠕虫特洛伊木马(Trojanhorse)¾定义:泛指那些内部包含有为完成特殊任务而编制的程序,一种潜伏执行非授权功能的技术。它原本属于一类基于远程控制的工具。¾原理:-C/S模式,服务器提供服务,客户机接受服务。-作为服务器的主机一般会打开一个默认的端口进行监听,如果有客户机向服务器的这一端口提出连接请求,服务器上的相应程序就会自动运行,来应答客户机的请求。这个程序被称为守护进程。特洛伊木马(Trojanhorse)¾攻击步骤:-设定好服务器程序;-骗取对方执行服务器程序;-寻找对方的IP地址;-用客户端程序来控制对方的计算机。¾特征和行为:-木马本身不进行自我复制。-被感染的计算机系统会表现出不寻常的行为或运行变慢。比如:有一个或多个不寻常的任务在运行;注册表和其他配置文件被修改;电子邮件会在用户不知情的情况下被发送等。特洛伊木马(Trojanhorse)¾传播途径:-作为电子邮件附件传播;-隐藏在用户与其他用户进行交流的文档和其他文件中;-被其他恶意代码所携带,如蠕虫;-会隐藏在从互联网上下载的捆绑的免费软件中。¾预防:-不要执行任何来历不明的软件或程序(无论是邮件中还是Internet上下载的)。-上网的计算机要必备防毒软件(切记及时升级)计算机蠕虫(Worm)¾定义:通过分布式网络来扩散传播特定信息或错误,破坏网络中的信息或造成网络服务中断的病毒。¾主要特点:利用网络中软件系统的缺陷,进行自我复制和主动传播。但它与病毒在文件之间的传播不同,它们是从一台计算机传播到另一台计算机,从而感染整个系统。¾组成:主程序和引导程序-主程序:一旦在机器上执行,就会通过读取公共配置文件以及收集当前网络状态信息,获得与当前机器联网的其他机器的信息和软件缺陷,并主动尝试在这些远程机器上建立其引导程序。病毒原理6.26.21宏病毒2网络病毒3传统病毒计算机病毒的逻辑结构¾计算机病毒程序一般包括以下3个功能模块:¾病毒的引导模块:当病毒的宿主程序开始工作时将病毒程序从外存引入内存,使其与宿主程序独立,并且使病毒的传染模块和破坏模块处于活动状态,以监视系统运行。¾病毒的传染模块:负责将病毒传染给其他计算机程序,使病毒向外扩散。它由两部分组成:病毒传染的条件判断部分和病毒传染程序主体部分。¾病毒的破坏(表现)模块:是病毒的核心部分,它体现了病毒制造者的意图。由两部分组成:病毒破坏的条件判断部分和破坏程序主体部分。传统病毒¾传统病毒一般指早期的DOS病毒,通常采用按照寄生方式的分类方法(引导型、文件型和混合型)。¾引导型病毒的工作流程¾文件型病毒的工作流程引导型病毒的工作流程文件型病毒的工作流程宏病毒¾宏:是一系列组合在一起的命令和指令,它们形成一个命令,以实现任务执行的自动化。¾宏病毒:是一种存储于文档、模板或加载宏程序中的计算机病毒。¾特点:只感染微软数据(文档)文件¾机制:用VB高级语言编写的病毒代码,直接混杂在文件中,并加以传播。当打开受感染的文件或执行触发宏病毒的操作时,病毒就会被激活,并存储到Normal.dot模板或Personal.xls文件中,以后保存的每个文档都会自动被病毒感染。宏病毒的工作流程网络病毒¾特点:P226¾种类:根据攻击手段可分为蠕虫和木马两大类型¾传播方式:电子邮件、网页、文件传输。-如:很多流行的病毒“Melissa”、“LoveLetter”、“Happytime”等都是通过邮件传播的病毒技术6.36.31驻留技术2加密变形技术3隐藏技术4寄生技术寄生技术¾寄生技术:病毒在感染的时候,将病毒代码加入正常程序之中,原正常程序功能的全部或者部分被保留。¾分类:-头寄生、尾寄生、插入寄生(病毒代码插入宿主程序位置的不同)-空洞利用(原理:P232;例:CIH)¾是文件型病毒使用最多的技术驻留技术¾驻留技术:当被感染的文件执行时,病毒的一部分功能模块进入内存,即使程序执行完毕,它们仍一直驻留在内存中。¾病毒需要实时地监控合适的感染对象和触发条件,它总是希望关键的代码能一直保留在内存中,得到机会就能运行。¾杀毒软件如果只清除文件中的病毒而没有清除内存中的病毒,则病毒在系统退出前仍有机会感染文件。加密变形技术¾加密变形技术:是一个具有里程碑意义的病毒技术。在加密病毒的基础上改进,使解密子的代码对不同传染实例呈现多样性。¾传统病毒在代码中总是具有自身的特点(如:标记已感染的字串、特殊的驻留代码、特殊的感染代码等),反病毒厂商就利用这些特点编制特征码,用于病毒的检测。隐藏技术¾隐藏技术:病毒在进入用户系统之后,会采取种种方法隐藏自己的行踪,使病毒不易被用户和反病毒软件发现。反病毒技术6.46.41计算机病毒的清除2计算机病毒的免疫3计算机病毒的预防4计算机病毒检测技术反病毒技术¾病毒技术与反病毒技术存在着相互对立、相互依存的关系,二者都在彼此的较量中不断发展。¾从总体上讲,反病毒技术要滞后于病毒技术。¾计算机病毒的防治可以分为四个方面的内容:检测、清除、免疫和预防。如何发现计算机病毒(1/2)¾计算机病毒发作的时候,通常会出现以下几种情况:-电脑运行比平常迟钝;-程序载入时间比平常久;-对一个简单的工作,硬盘似乎花了比预期长的时间;-不寻常的错误信息出现;-由于病毒程序的异常活动,造成对磁盘的异常访问。比如没有存取磁盘,但磁盘指示灯却亮了;-系统内存容量忽然大量减少;-磁盘可利用空间突然减少;如何发现计算机病毒(2/2)-可执行程序的大小改变了;-由于病毒可能通过将磁盘扇区标记为坏簇的方式隐藏自己,磁盘坏簇会莫名其妙地增多;-程序同时存取多部磁盘;-内存中增加来路不明的常驻程序;-文件、数据奇怪地消失;-文件的内容被加上一些奇怪的资料;-文件名称、扩展名、属性被更改过;-死机现象增多;-出现一些异常的画面或声音。计算机病毒检测技术(1/5)¾比较法:进行原始的或正常的特征与被检测对象的特征比较。-由于病毒的感染会引起文件长度和内容、内存以及中断向量的变化,从这些特征的比较中可以发现异常,从而判断病毒的有无。-优点:简单、方便,不需专用软件-缺点:无法确认计算机病毒的种类和名称计算机病毒检测技术(2/5)¾病毒校验和法:计算出正常文件的程序代码的校验和,并保存起来,可供被检测对象对照比较,以判断是否感染了病毒。-优点:可侦测到各式的计算机病毒