一、脚本病毒的背景知识介绍
脚本病毒是指利用.asp、.htm、.html、.vbs、.js类型的文件进行传播的基于VB Script和Java Script脚本语言并由Windows Scripting Host解释执行的这类病毒。
脚本语言的功能非常强大,它们利用Windows系统具有开放性的特点,通过调用一些现成的Windows对象和组件,可以直接对文件系统、注册表等进行控制。脚本病毒正是利用脚本语言的这些特点,通过ActiveX进行网页传播,通过OE的自动发送邮件功能进行邮件传播的一种恶意病毒。
脚本病毒通常与网页相结合,将恶意的破坏性代码内嵌在网页中,一旦有用户浏览带毒网页,病毒就会立即发作。轻则修改用户注册表,更改默认主页或强迫用户上网访问某站点,重则格式化用户硬盘,造成重大的数据损失。
二、脚本病毒的特点
综合来讲,脚本病毒具有如下特点:
(1)隐藏性强
在我们的传统认识里,我们只要不从互联网上下载应用程序,从网上感染病毒的几率就会大大减少。脚本病毒的出现彻底改变了人们的这种看法。看似平淡无奇的网站其实隐藏着巨大的危机,一不小心,用户就会在浏览网页的同时“中招”,造成无尽的麻烦。此外,隐藏在电子邮件里的脚本病毒往往具有双扩展名并以此来迷惑用户。有的文件看似是一个jpg图片,其实真正的扩展名是vbs脚本。
(2)传播性广
病毒可以自我复制,并且与前几章介绍的文件型病毒不同,脚本病毒基本上不依赖于文件就可以直接解释执行。
(3)病毒变种多
与其他类型的病毒相比,脚本病毒更容易产生变种。脚本本身的特征是调用和解释功能,因此病毒制造者并不需要太多的编程知识,只需要对源代码进行稍加修改,就可以制造出新的变种病毒,使人们防不胜防。
三、脚本病毒的发作现象及处理
首先来分析和比较一下病毒感染前后的网页代码。图示为被病毒感染前的测试网页的代码。
下图所示为被病毒感染后的代码。其中WshShell.Regwrite表示病毒要进行系统注册表的读写;
CreateObject("Scripting.FileSystemObject")表示病毒要进行文件的访问和读写。
感染脚本的病毒同感染exe文件的病毒一样,都具有反分析能力,并且也能够对病毒的程序代码进行加密和变形。图中包含了被加密的脚本病毒代码和解密后的病毒代码。
在代码中有