西安工业大学计算机病毒原理与攻防任课教师:乔奎贤E-mail:cren616@126.com西安工业大学第6章典型计算机病毒的原理、防范和清除6.1计算机病毒防范和清除的基本原则和技术6.2引导区病毒6.3文件型病毒6.4文件和引导复合病毒6.5脚本病毒6.6宏病毒6.7特洛伊木马病毒6.8蠕虫病毒6.9黑客型病毒6.10后门病毒6.1132位OS病毒6.12压缩文件病毒6.13安全建议西安工业大学36.5脚本病毒脚本病毒:主要采用脚本语言设计的病毒目前,脚本病毒成为危害最大、最为广泛的病毒。尤其是与传统病毒相结合其危害更严重。也是Internet病毒中最为流行的网络病毒西安工业大学6.5脚本病毒6.5.1原理6.5.2检测6.5.3清除西安工业大学56.5.1原理脚本病毒的产生:操作系统和应用系统对脚本技术的无节制的滥用通常,在任何一个操作系统和应用系统中都存在一定的安全机制,但为了实现对系统的控制和易用性,这些安全机制对脚本程序的行为都缺乏控制西安工业大学66.5.1原理1.脚本语言脚本语言的前身:DOS系统下的批处理文件脚本的应用是对应用系统的一个强大的支撑,需要一个运行环境目前流行的脚本语言:UNIX/linuxShell、Pert、VBScript、JavaScript、JSP、PHP等目前流行的脚本病毒大都利用VBScript和JavaScript脚本语言编写西安工业大学76.5.1原理1.脚本语言JavaScript:JavaScript是一种解释型的、基于对象的脚本语言,是MS公司对ECMA262语言规范的一种实现JavaScript具有局限性,如不能使用JavaScript语言编写独立运行的应用程序,且读写文件的功能也很少JavaScript脚本只能在某个解释器上运行,解释器可以是Web服务器,也可以是Web浏览器西安工业大学86.5.1原理1.脚本语言VBScriptVBScript是VisualBasic或VisualBasicforApplication(VBA)的子集,其程序设计与VisualBasic或VBA基本相同,VBScript将灵活的脚本应用于更广泛的领域,包括MSIE中的Web客户机脚本和MSInternetInformationServer中的Web服务器ScriptJavaScript和VBScript主要应用在微软的平台上,运行环境为MSWindowsScriptHost(WSH),在微软的系统平台上也无处不在MSWindowsScriptHost(WSH)是一个功能强大的脚本应用环境微软提供了一个脚本调试器MicrosoftDebugger,位于:..\programFiles\MicrosoftScriptDebugger\msscrdbg.exe西安工业大学96.5.1原理2.脚本病毒的分类根据脚本计算机病毒的程序是否完全采用脚本语言来分类:纯脚本型纯脚本型计算机病毒的程序完全采用脚本语言设计典型代表——宏病毒宏病毒是微软的Office系统办公软件和Windows系统所特有的一种计算机病毒,利用Office环境强大的宏,完全采用脚本语言设计如:“台湾一号”病毒西安工业大学106.5.1原理混合型混合型脚本计算机病毒:指脚本病毒与传统病毒技术相结合的产物,一般参杂与HTM、HTML、Jsp等网页文件中根据病毒的行为特征分为:邮件计算机病毒、蠕虫病毒邮件计算机病毒:通过邮件方式传播的病毒,利用邮件系统的强大功能,在互联网上迅速传播。邮件病毒并非都用脚本语言编写,如“红色代码”、“求职信”等采用VC编写的邮件计算机病毒:如“红色代码”、“求职信”等采用脚本语言编写的邮件计算机病毒:如“欢乐时光”、“新欢乐时光”、“主页”、“美丽沙”等西安工业大学116.5.1原理3.VBS脚本计算机病毒的特点及发展现状VBS计算机病毒是用VBScript编写而成,其功能非常强大,利用Windows系统的开放性特点,通过调用现成的Windows对象、组件,可直接对文件系统、注册表等进行控制。VBS计算机病毒的特点:编写简单:无专业基础的人员可在很短时间内编出新型病毒破坏力大:不仅能对用户系统文件及性能进行破坏,还可使邮件服务器崩溃,网络发生严重阻塞感染力强:脚本直接解释执行,不需做复杂的PE文件格式处理。故此病毒可直接通过自我复制的方式感染其他同类文件,且自我的异常处理非常容易西安工业大学126.5.1原理3.VBS脚本计算机病毒的特点及发展现状VBS计算机病毒的特点:传播范围大:此类计算机病毒通过HTM文档、E-mail附件或其他方式,在很短时间内传遍世界各地病毒源码容易被获取,变种多:VBS病毒解释执行,其源代码可读性非常强欺骗性强:脚本病毒为获得运行机会,常采用各种让用户不太注意的手段,如邮件的附件常采用双后缀,如.jpg.VBS使得计算机病毒生产机实现容易:计算机病毒生产机即可按照用户意愿生产计算机病毒的机器。使得生成新型脚本计算机病毒变得非常容易西安工业大学136.5.1原理4.VBS脚本病毒原理分析VBS脚本病毒如何感染、搜索文件VBS脚本病毒一般是直接通过自我复制来感染文件,病毒中的绝大部分代码都可直接附加在其他同类程序中间。如:“新欢乐时空”病毒:可将其代码附加在HTM文件末尾,并在顶部加入调用病毒代码的指令宏病毒:直接生成一个文件的副本,将计算机病毒代码复制入其中,并以原文件名作为病毒文件名的前缀,VBS作为后缀西安工业大学146.5.1原理4.VBS脚本病毒原理分析VBS脚本病毒通过网络传播的几种方式及代码分析VBS脚本病毒采用的传播方式:通过E-mail附件传播通过局域网共享传播通过感染HTM、Asp、Jsp、Php等网页文件传播此外,通过广泛流行的KaZaA进行传播。病毒将其复制到KaZaA的默认共享目录中,其他用户访问此机器时被下载执行西安工业大学156.5.1原理5.VBS脚本病毒如何获得控制权修改注册表项Windows启动时,会自动加载HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run项下各键值所指向的程序。脚本病毒可在此项下加入一个键值指向计算机病毒程序,从而保证每次启动时获得CPU控制权修改方法,调用语句:Wsh.RegWrite(strName,anyvalue[,strType])西安工业大学166.5.1原理5.VBS脚本病毒如何获得控制权通过映射文件执行方式如:“新欢乐时空”病毒将dll的执行文件修改为wscript.exe,甚至可将.exe文件的映射指向计算机病毒代码欺骗用户,让用户自己执行如采用双后缀的文件名。对于用户自己磁盘中的文件,计算机病毒在感染它们的时候,将原有文件的文件名作为前缀,VBS作为后缀产生一个计算机病毒文件,并删除原来文件,这样,用户就有可能将这个VBS文件看做自己原来的文件运行西安工业大学176.5.1原理5.VBS脚本病毒如何获得控制权desktop.ini和folder.htt互相配合desktop.ini和folder.htt用来配置活动桌面,也可用来自定义文件夹。若用户目录中含有这两个文件,当用户进入此目录时,就会触发folder.htt中的病毒代码。——“新欢乐时光”病毒采用的一种有效的获取控制权的方法。通过folder.htt还可触发.exe文件,也可成为病毒获得控制权的有效方法西安工业大学186.5.1原理随着网络技术的发展,网络蠕虫病毒开始流行,而VBS脚本蠕虫更加突出。利用脚本编写病毒简单,将会出现更多的其他脚本病毒,如“PHP”、“JS”、“Perl”脚本病毒解除容易,相对易于防范,像“宏病毒”、“新欢乐时光”那样产生大范围影响的脚本病毒只是少数西安工业大学196.5.2检测对未加密的脚本病毒,可直接从计算机病毒样本中找出来从病毒样本中提取加密VBS脚本病毒:以“新欢乐时光”为例用Edit打开folder.htt,就会发现这个文件总共才93行,第87行到91行,是如下语句:87:scriptlanguage=VBScript88:ExeString=AfiFkSeboa)EqiiQbtq)S^pQbtq)AadobaPfdj)mlibL^gb`p)CPK...;89:Execute(DimKeyArr(3),ThisText&vbCrLf&KeyArr(0)=3&vbCrLf&KeyArr(1)=3&vbCrLf&KeyArr(2)=3&vbCrLf&KeyArr(3)=4&vbCrLf&Fori=1ToLen(ExeString)&vbCrLf&TempNum=Asc(Mid(ExeString,i,1))&vbCrLf&IfTempNum=18Then&vbCrLf&TempNum=34&vbCrLf&EndIf&vbCrLf&TempChar=Chr(TempNum+KeyArr(iMod4))&vbCrLf&IfTempChar=Chr(28)Then&vbCrLf&TempChar=vbCr&vbCrLf&ElseIfTempChar=Chr(29)Then&vbCrLf&TempChar=vbLf&vbCrLf&EndIf&vbCrLf&ThisText=ThisText&TempChar&vbCrLf&Next)90:Execute(ThisText)91:</script>第88行是一个字符串的赋值,很明显这是被加密过的计算机病毒代码。第89行最后的一段代码ThisText=ThisText&TempChar,再加上下面那一行,我们可以猜到ThisText里面放的是计算机病毒解密代码。第90行是执行刚才ThisText中的那段代码(经过解密处理后的代码)西安工业大学206.5.3清除VBS脚本病毒具有的弱点:绝大多数VBS脚本病毒运行时需要用到一个对象:FileSystemObjectVBScript代码是通过WindowsScriptHost来解释执行的VBScript脚本病毒的运行需要关联程序Wscript.exe的支持通过网页传播的计算机病毒需要ActiveX的支持通过E-mail传播的计算机病毒需要OE的自动发送邮件功能支持,绝大部分病毒都是以E-mail为主要传播方式西安工业大学216.5.3清除针对VBS病毒的防范措施:禁用文件系统对象FileSystemObject使用指令禁止文件系统对象,其中regsvc32为Windows\System下的可执行文件regsvc32scrrun.dll/u直接删除或更名文件:scrrun.dll在注册表中HKEY_CLASSES_ROOT\CLSID\下删除主键:{0D43FE01-F093-11CF-8940-00A0C9054228}西安工业大学226.5.3清除针对VBS病毒的防范措施:卸载WindowsScriptHost控制面板→添加/删除程序→Windows安置程序→附件:取消WindowsScriptHost项在注册表中HKEY_CLASSES_ROOT\CLSID\下删除主键:{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}删除VBS,VBE,JS,JSE文件后缀名与应用程序的映射“我的计算机”→“查看”→“文件夹选项”→“文件类型”:删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射西安工业大学236.5.4典型病毒分析1.“红色代码Ⅱ”病毒“红色代码Ⅱ”是一种专门攻击WindowsNT4.0以及Windows2000系统的恶性网络蠕虫VirtualRoot(虚拟目录)病毒。该病毒利用微软IndexServer(ida/idq)ISAPI扩展远程溢出漏洞,通过80端口发送一个构造后的HTTPGET请求到服务器,当本地IIS服务程序收到某个来自CodeRedII发的请求数据包时,由于存在漏洞,导致处理函数的堆栈溢出