随着计算机及计算机网络的发展,伴随而来的计算机病毒传播问题越来越引起人们的关注。随因特网的流行,有些计算机病毒借助网络爆发流行,如
CIH
计算机病毒、
“
爱虫
”
病毒等,它们与以往的计算机病毒相比具有一些新的特点,给广大计算机用户带来了极大的损失。
当计算机系统或文件染有计算机病毒时,需要检测和消除。但是,计算机病毒一旦破坏了没有副本的文件,便无法医治。隐性计算机病毒和多态性计算机病毒更使人难以检测。在与计算机病毒的对抗中,如果能采取有效的防范措施,就能使系统不染毒,或者染毒后能减少损失。
计算机病毒防范,是指通过建立合理的计算机病毒防范体系和制度,及时发现计算机病毒侵入,并采取有效的手段阻止计算机病毒的传播和破坏,恢复受影响的计算机系统和数据。
计算机病毒利用读写文件能进行感染,利用驻留内存、截取中断向量等方式能进行传染和破坏。预防计算机病毒就是要监视、跟踪系统内类似的操作,提供对系统的保护,最大限度地避免各种计算机病毒的传染破坏。
老一代的防杀计算机病毒软件只能对计算机系统提供有限的保护,只能识别出已知的计算机病毒。新一代的防杀计算机病毒软件则不仅能识别出已知的计算机病毒,在计算机病毒运行之前发出警报,还能屏蔽掉计算机病毒程序的传染功能和破坏功能,使受感染的程序可以继续运行(即所谓的带毒运行)。同时还能利用计算机病毒的行为特征,防范未知计算机病毒的侵扰和破坏。另外,新一代的防杀计算机病毒软件还能实现超前防御,将系统中可能被计算机病毒利用的资源都加以保护,不给计算机病毒可乘之机。防御是对付计算机病毒的积极而又有效的措施,比等待计算机病毒出现之后再去扫描和清除更有效地保护计算机系统。
计算机病毒的工作方式是可以分类的,防杀计算机病毒软件就是针对已归纳总结出的这几类计算机病毒工作方式来进行防范的。当被分析过的已知计算机病毒出现时,由于其工作方式早已被记录在案,防杀计算机病毒软件能识别出来;当未曾被分析过的计算机病毒出现时,如果其工作方式仍可被归入已知的工作方式,则这种计算机病毒能被反病毒软件所捕获。这也就是采取积极防御措施的计算机病毒防范方法优越于传统方法的地方。
当然,如果新出现的计算机病毒不按已知的方式工作,这种新的传染方式又不能被反病毒软件所识别,那么反病毒软件也无能为力了。这时只能采取两种措施进行保护:第一是依靠管理上的措施,及早发现疫情,捕捉计算计算机病毒,修复系统。第二是选用功能更加完善的、具有更强超前防御能力的反病毒软件,尽可能多地堵住能被计算机病毒利用的系统漏洞。
计算机病毒防范工作,首先是防范体系的建设和制度的建立。没有一个完善的防范体系,一切防范措施都将滞后于计算机病毒的危害。
计算机病毒防范体系的建设是一个社会性的工作,不是一两个人、一两家企业能够实现的,需要全社会的参与,充分利用所有能够利用的资源,形成广泛的、全社会的计算机病毒防范体系网络。
计算机病毒防范制度是防范体系中每个主体都必须的行为规程,没有制度,防范体系就不可能很好地运作,就不可能达到预期的效果。必须依照防范体系对防范制度的要求,结合实际情况,建立符合自身特点防范制度。
计算机病毒的表现现象
计算机病毒是客观存在的,客观存在的事物总有它的特性,计算机病毒也不例外。从实质上说,计算机病毒是一段程序代码,虽然它可能隐藏得很好,但也会留下许多痕迹。通过对这些蛛丝马迹的判别,我们就能发现计算机病毒的存在了。
根据计算机病毒感染和发作的阶段,可以将计算机病毒的表现现象分为三大类,即:计算机病毒发作前、发作时和发作后的表现现象。
2.2.1
计算机病毒发作前的表现现象
计算机病毒发作前,是指从计算机病毒感染计算机系统,潜伏在系统内开始,一直到激发条件满足,计算机病毒发作之前的一个阶段。在这个阶段,计算机病毒的行为主要是以潜伏、传播为主。计算机病毒会以各式各样的手法来隐藏自己,在不被发现同时,又自我复制,以各种手段进行传播。
以下是一些计算机病毒发作前常见的表现现象:
1
、平时运行正常的计算机突然经常性无缘无故地死机。
病毒感染了计算机系统后,将自身驻留在系统内并修改了中断处理程序等,引起系统工作不稳定,造成死机现象发生。
2
、操作系统无法正常启动。
关机后再启动,操作系统报告缺少必要的启动文件,或启动文件被破坏,系统无法启动。这很可能是计算机病毒感染系统文件后使得文件结构发生变化,无法被操作系统加载、引导。
3
、运行速度明显变慢。
在硬件设备没有损坏或更换的情况下,本来运行速度很快的计算机,运行同样应用程序,速度明显变慢,而且重启后依然很慢。这很可能是计算机病毒占用了大量的系统资源,并且自身的运行占用了大量的处理器时间,造成系统资源不足,运行变慢。
4
、
以前能正常运行的软件经常发生内存不足的错误。
某个以前能够正常运行的程序,程序启动的时候报系统内存不足,或者使用应用程序中的某个功能时报说内存不足。这可能是计算机病毒驻留后占用了系统中大量的内存空间,使得可用内存空间减小。需要注意的是在
Windows 95/98
下,记事本程序所能够编辑的文本文件不超过
64Kb
字节,如果用
“
复制/粘贴
”
操作粘贴一段很大的文字到记事本程序时,也会报
“
内存不足,不能完成操作
”
的错误,但这不是计算机病毒在作怪。
5
、
打印和通讯发生异常。
硬件没有更改或损坏的情况下,以前工作正常的打印机,近期发现无法进行打印操作,或打印出来的是乱码。串口设备无法正常工作,比如调制解调器不拨号。这很可能是计算机病毒驻留内存后占用了打印端口、串行通讯端口的中断服务程序,使之不能正常工作。
6
、
无意中要求对软盘进行写操作。
没有进行任何读、写软盘的操作,操作系统提示软驱中没有插入软盘,或者要求在读取、复制写保护的软盘上的文件时打开软盘的写保护。这很可能是计算机病毒自动查找软盘是否在软驱中的时候引起的系统异常。需要注意的是有些编辑软件需要在打开文件的时候创建一个临时文件,也有的安装程序(如
Office 97
)对软盘有写的操作。
7
、
以前能正常运行的应用程序经常发生死机或者非法错误。
在硬件和操作系统没有进行改动的情况下,以前能够正常运行的应用程序产生非法错误和死机的情况明显增加。这可能是由于计算机病毒感染应用程序后破坏了应用程序本身的正常功能,或者计算机病毒程序本身存在着兼容性方面的问题造成的。
8
、
系统文件的时间、日期、大小发生变化。
这是最明显的计算机病毒感染迹象。计算机病毒感染应用程序文件后,会将自身隐藏在原始文件的后面,文件大小大多会有所增加,文件的访问和修改日期和时间也会被改成感染时的时间。尤其是对那些系统文件,绝大多数情况下是不会修改它们的,除非是进行系统升级或打补丁。对应用程序使用到的数据文件,文件大小和修改日期、时间是可能会改变的,并不一定是计算机病毒在作怪。
9
、
运行
Word
,打开
Word
文档后,该文件另存时只能以模板方式保存。
无法另存为一个
DOC
文档,只能保存成模板文档(
DOT
)。这往往是打开的
Word
文档中感染了
Word
宏病毒的缘故。
10
、
磁盘空间迅速减少。
没有安装新的应用程序,而系统可用的可用的磁盘空间减少地很快。这可能是计算机病毒感染造成的。需要注意的是经常浏览网页、回收站中的文件过多、临时文件夹下的文件数量过多过大、计算机系统有过意外断电等情况也可能会造成可用的磁盘空间迅速减少。另一种情况是
Windows 95/98
下的内存交换文件的增长,在
Windows 95/98
下内存交换文件会随着应用程序运行的时间和进程的数量增加而增长,一般不会减少,而且同时运行的应用程序数量越多,内存交换文件就越大。
11
、
网络驱动器卷或共享目录无法调用。
对于有读权限的网络驱动器卷、共享目录等无法打开、浏览,或者对有写权限的网络驱动器卷、共享目录等无法创建、修改文件。虽然目前还很少有纯粹地针对网络驱动器卷和共享目录的计算机病毒,但计算机病毒的某些行为可能会影响对网络驱动器卷和共享目录的正常访问。
12
、
基本内存发生变化。
在
DOS
下用
mem /c/p
命令查看系统中内存使用状况的时候可以发现基本内存总字节数比正常的
640Kb
要小,一般少
1Kb
~
2Kb
。这通常是计算机系统感染了引导型计算机病毒所造成的。
13
、
陌生人发来的电子函件。
收到陌生人发来的电子函件,尤其是那些标题很具诱惑力,比如一则笑话,或者一封情书等,又带有附件的电子函件。当然,这要与广告电子函件、垃圾电子函件和电子函件炸弹区分开。一般来说广告电子函件有很明确的推销目的,会有它推销的产品介绍;垃圾电子函件的内容要么自成章回,要么根本没有价值。这两种电子函件大多是不会携带附件的。电子函件炸弹虽然也带有附件,但附件一般都很大,少则上兆字节,多的有几十兆甚至上百兆字节,而电子函件计算机病毒的附件大多是脚本程序,通常不会超过
100Kb
字节。当然,电子函件炸弹在一定意义上也可以看成是一种黑客程序,是一种计算机病毒。
14
、
自动链接到一些陌生的网站。
没有在上网,计算机会自动拨号并连接到因特网上一个陌生的站点,或者在上网的时候发现网络特别慢,存在陌生的网络链接。这种联接大多是黑客程序将收集到的计算机系统的信息
“
悄悄地
”
发回某个特定的网址,可以通过
netstat
命令查看当前建立的网络链接,再比照访问的网站来发现。需要注意的是有些网页中有一些脚本程序会自动链接到一些网页评比站点,或者是广告站点,这时候也会有陌生的网络链接出现。当然,这种情况也可以认为是非法的。
一般的系统故障是有别与计算机病毒感染的。系统故障大多只符合上面的一点或二点现象,而计算机病毒感染所出现的现象会多的多。根据上述几点,就可以初步判断计算机和网络是否感染上了计算机病毒。
2.2.2
计算机病毒发作时的表现现象
计算机病毒发作时是指满足计算机病毒发作的条件,计算机病毒程序开始破坏行为的阶段。计算机病毒发作时的表现大都各不相同,可以说一百个计算机病毒发作有一百种花样。这与编写计算机病毒者的心态、所采用的技术手段等都有密切的关系。
以下列举了一些计算机病毒发作时常见的表现现象:
1
、提示一些不相干的话。
最常见的是提示一些不相干的话,比如打开感染了宏病毒的
Word
文档,如果满足了发作条件的话,它就会弹出对话框显示
“
这个世界太黑暗了!
”
,并且要求你输入
“
太正确了
”
后按确定按钮。
2
、发出一段的音乐。
恶作剧式的计算机病毒,最著名的是外国的
“
杨基
”
计算机病毒(
Yangkee
)和中国的
“
浏阳河
”
计算机病毒。
“
杨基
”
计算机病毒发作是利用计算机内置的扬声器演奏《杨基》音乐,而
“
浏阳河
”
计算机病毒更绝,当系统时钟为
9
月
9
日时演奏歌曲《浏阳河》,而当系统时钟为
12
月
26
日时则演奏《东方红》的旋律。这类计算机病毒大多属于
“
良性
”
计算机病毒,只是在发作时发出音乐和占用处理器资源。
3
、产生特定的图象。
另一类恶作剧式的计算机病毒,比如小球计算机病毒,发作时会从屏幕上方不断掉落下来小球图形。单纯地产生图象的计算机病毒大多也是
“
良性
”
计算机病毒,只是在发作时破坏用户的显示界面,干扰用户的正常工作。
4
、
硬盘灯不断闪烁。
硬盘灯闪烁说明有硬盘读写操作。当对硬盘有持续大量的操作时,硬盘的灯就会不断闪烁,比如格式化或者写入很大很大的文件。有时候对某个硬盘扇区或文件反复读取的情况下也会造成硬盘灯不断闪烁。有的计算机病毒会在发作的时候对硬盘进行格式化,或者写入许多垃圾文件,或反复读取某个文件,致使硬盘上的数据遭到损失。具有这类发作现象的计算机病毒大多是
“
恶性
”
计算机病毒。
5
、
进行游戏算法。
有些恶作剧式的计算机病毒发作时采取某些算法简单的游戏来中断用户的工作,一定要玩嬴了才让用户继续他的工作。比如曾经流行一时的
“
台湾一号
”
宏病毒,在系统日期为
13
日时发作,弹出对话框,要求用户做算术题。这类计算机病毒一般是属于
“
良性
”
计算机病毒,但也有那种用户输了后进行破坏的
“
恶性
”
计算机病毒。
6
、
Windows
桌面图标发生变化。
这一般也是恶作剧式的计算机病毒发作时的表现现象。把
Windows
缺省的图标改成其他样式的图标,或者将其他应用程序、快捷方式的图标改成
Windows
缺省图标样式,起到迷惑用户的作用。
7
、
计算机突然死机或重启。
有些计算机病毒程序兼容性上存在问题,代码没有严格测试,在发作时会造成意想不到情况;或者是计算机病毒在
Autoexec.bat
文件中添加了一句:
Format c
:之类的语句,需要系统重启后才能实施破坏的。
8
、自动发送电子函件。
大多数电子函件计算机病毒都采用自动发送电子函件的方法作为传播的手段,也有的电子函件计算机病毒在某一特定时刻向同一个邮件服务器发送大量无用的信件,以达到阻塞该邮件服务器的正常服务功能。
9
、鼠标自己在动。
没有对计算机进行任何操作,也没有运行任何演示程序、屏幕保护程序等,而屏幕上的鼠标自己在动,应用程序自己在运行,有受遥控的现象。大多数情况下是计算机系统受到了黑客程序的控制,从广义上说这也是计算机病毒发作的一种现象。
需要指出的是,有些是计算机病毒发作的明显现象,比如提示一些不相干的话、播放音乐或者显示特定的图象等。有些现象则很难直接判定是计算机病毒的表现现象,比如硬盘灯不断闪烁,当同时运行多个内存占用大的应用程序,比如
3D MAX
,
Adobe Premiere
等,而计算机本身性能又相对较弱的情况下,在启动和切换应用程序的时候也会使硬盘不停地工作,硬盘灯不断闪烁。
2.2.3
计算机病毒发作后的表现现象
通常情况下,计算机病毒发作都会给计算机系统带来破坏性的后果,那种只是恶作剧式的
“
良性
”
计算机病毒只是计算机病毒家族中的很小一部分。大多数计算机病毒都是属于
“
恶性
”
计算机病毒。
“
恶性
”
计算机病毒发作后往往会带来很大的损失,以下列举了一些恶性计算机病毒发作后所造成的后果:
1
、硬盘无法启动,数据丢失
计算机病毒破坏了硬盘的引导扇区后,就无法从硬盘启动计算机系统了。有些计算机病毒修改了硬盘的关键内容(如文件分配表,根目录区等),使得原先保存在硬盘上的数据几乎完全丢失。
2
、系统文件丢失或被破坏
通常系统文件是不会被删除或修改的,除非对计算机操作系统进行了升级。但是某些计算机病毒发作时删除了系统文件,或者破坏了系统文件,使得以后无法法正常启动计算机系统
.
通常容易受攻击的系统文件
Command.com
,
Emm386.exe
,
Win.com
,
Kernel.exe
,
User.exe
等等。
3
、文件目录发生混乱
目录发生混乱有两种情况。一种就是确实将目录结构破坏,将目录扇区作为普通扇区,填写一些无意义的数据,再也无法恢复。另一种情况将真正的目录区转移到硬盘的其他扇区中,只要内存中存在有该计算机病毒,它能够将正确的目录扇区读出,并在应用程序需要访问该目录的时候提供正确的目录项,使得从表面上看来与正常情况没有两样。但是一旦内存中没有该计算机病毒,那么通常的目录访问方式将无法访问到原先的目录扇区。这种破坏还是能够被恢复的。
4
、部分文档丢失或被破坏
类似系统文件的丢失或被破坏,有些计算机病毒在发作时会删除或破坏硬盘上的文档,造成数据丢失。
5
、部分文档自动加密码
还有些计算机病毒利用加密算法,将加密密钥保存在计算机病毒程序体内或其他隐蔽的地方,而被感染的文件被加密,如果内存中驻留有这种计算机病毒,那么在系统访问被感染的文件时它自动将文档解密,使得用户察觉不到。一旦这种计算机病毒被清除,那么被加密的文档就很难被恢复了。
6
、修改
Autoexec.bat
文件,增加
Format C
:一项,导致计算机重新启动时格式化硬盘。
在计算机系统稳定工作后,一般很少会有用户去注意
Autoexec.bat
文件的变化,但是这个文件在每次系统重新启动的时候都会被自动运行,计算机病毒修改这个文件从而达到破坏系统的目的。
7
、使部分可软件升级主板的
BIOS
程序混乱,主板被破坏。
类似
CIH
计算机病毒发作后的现象,系统主板上的
BIOS
被计算机病毒改写、破坏,使得系统主板无法正常工作,从而使计算机系统报废。
8
、网络瘫痪,无法提供正常的服务。
由上所述,我们可以了解到防杀计算机病毒软件必须要实时化,在计算机病毒进入系统时要立即报警并清除,这样才能确保系统安全,待计算机病毒发作后再去杀毒,实际上已经为时已晚。
2.2.4
从表现形式和传播途径发现计算机病毒
上面介绍了计算机病毒在不同情况下的表现形式。在
1.5
节也介绍了计算机病毒的传播途径。计算机病毒要进行传染,必然会表现出来,留下痕迹。检测计算机病毒,就是要到计算机病毒寄生场所去检查,验明
“
正身
”
,确证计算机病毒的存在。计算机病毒存储于磁盘中,激活时驻留在内存中。因此对计算机病毒的检测分为对内存的检测和对磁盘的检测。一般对磁盘进行计算机病毒检测时,要求内存中不带计算机病毒。这是由于某些计算机病毒会向检测者报告假情况。例如
4096
计算机病毒,当它在内存中时,查看被感染的文件长度,不会发现该文件的长度已发生变化,而当在内存中没有该计算机病毒时,才会发现文件长度已经增长了
4096
字节。又如
DIR II
计算机病毒,在内存中时,用
DEBUG
程序查看时,根本看不到
DIR II
计算机病毒的代码,很多检测程序因此而漏过了被其感染的文件。再如引导型的巴基斯坦智囊计算机病毒,当它在内存中时,检查引导区时看不到该计算机病毒程序而只看到正常的引导扇区。因此,只有在要求确认某种计算机病毒的类型和对其进行分析、研究时,才在内存中带毒的情况下做检测工作。
从原始的、未受计算机病毒感染的
DOS
系统软盘启动,可以保证内存中不带毒。启动必须是上电启动而不能是按键盘上的
Alt+Ctrl+Del
三个键。因为某些计算机病毒通过截取键盘中断处理程序,仍然会将自己驻留在内存中。可见保留一份未被计算机病毒感染的、写保护的
DOS
系统软盘是很重要的。
需要注意的是,若要检测硬盘中的计算机病毒,则启动系统的
DOS
软盘的版本应该等于或高于硬盘内
DOS
系统的版本号。若硬盘上使用了磁盘管理软件、磁盘压缩存储管理软件等,启动系统的软盘上应该把这些软件的驱动程序包括在内,并把它们添加在
CONFIG.SYS
文件中。否则用系统软盘引导启动后,将不能访问硬盘上的所有分区,使躲藏在其中的计算机病毒逃过检查。
计算机病毒的技术防范
对于计算机病毒毫无警惕意识的人员,可能当显示屏上出现了计算机病毒信息,也不会去仔细观察一下,麻痹大意,任其在磁盘中进行破坏。其实,只要稍有警惕,根据计算机病毒在传染时和传染后留下的蛛丝马迹,再运用计算机病毒检测软件和
DEBUG
程序进行人工检测,是完全可以在计算机病毒进行传播的过程中就能发现它。从技术上采取实施,防范计算机病毒,执行起来并不困难,困难的是持之以恒,坚持不懈。
2.3.1
计算机病毒的技术预防措施
下面总结出一系列行之有效的措施供参考。
1
、新购置的计算机硬软件系统的测试
新购置的计算机是有可能携带计算机病毒的。因此,在条件许可的情况下,要用检测计算机病毒软件检查已知计算机病毒,用人工检测方法检查未知计算机病毒,并经过证实没有计算机病毒感染和破坏迹象后再使用。
新购置计算机的硬盘可以进行检测或进行低级格式化来确保没有计算机病毒存在。对硬盘只在
DOS
下做
FORMAT
格式化是不能去除主引导区(分区表)计算机病毒的。软盘在
DOS
下做
FORMAT
格式化可以去除感染的计算机病毒。
新购置的计算机软件也要进行计算机病毒检测。有些软件厂商发售的软件,可能无意中已被计算机病毒感染。就算是正版软件也难保证没有携带计算机病毒的可能性,更不要说盗版软件了。这在国内、外都是有实例的。这时不仅要用杀毒软件查找已知的计算机病毒,还要用人工检测和实验的方法检测。
2
、计算机系统的启动
在保证硬盘无计算机病毒的情况下,尽量使用硬盘引导系统。启动前,一般应将软盘从软盘驱动器中取出。这是因为即使在不通过软盘启动的情况下,只要软盘在启动时被读过,计算机病毒仍然会进入内存进行传染。很多计算机中,可以通过设置
CMOS
参数,使启动时直接从硬盘引导启动,而根本不去读软盘。这样即使软盘驱动器中插着软盘,启动时也会跳过软驱,尝试由硬盘进行引导。很多人认为,软盘上如果没有
COMMAND.COM
等系统启动文件,就不会带计算机病毒,其实引导型计算机病毒根本不需要这些系统文件就能进行传染。
3
、单台计算机系统的安全使用
在自己的机器上用别人的软盘前应进行检查。在别人的计算机上使用过自己的已打开了写保护的软盘,再在自己的计算机上使用前,也应进行计算机病毒检测。对重点保护的计算机系统应做到专机、专盘、专人、专用,封闭的使用环境中是不会自然产生计算机病毒的。
4
、重要数据文件要有备份
硬盘分区表、引导扇区等的关键数据应作备份工作,并妥善保管。在进行系统维护和修复工作时可作为参考。
重要数据文件定期进行备份工作。不要等到由于计算机病毒破坏、计算机硬件或软件出现故障,使用户数据受到损伤时再去急救。
对于软盘,要尽可能将数据和应用程序分别保存,装应用程序的软盘要有写保护。
在任何情况下,总应保留一张写保护的、无计算机病毒的、带有常用
DOS
命令文件的系统启动软盘,用以清除计算机病毒和维护系统。常用的
DOS
应用程序也有副本,计算机修复工作就比较容易进行了。
5
、不要随便直接运行或直接打开电子函件中夹带的附件文件,不要随意下载软件,尤其是一些可执行文件和
Office
文档。即使下载了,也要先用最新的防杀计算机病毒软件来检查。
6
、计算机网络的安全使用
以上这些措施不仅可以应用在单机上,也可以应用在作为网络工作站的计算机上。而对于网络计算机系统,还应采取下列针对网络的防杀计算机病毒措施:
(
1
)安装网络服务器时应,应保证没有计算机病毒存在,即安装环境和网络操作系统本身没有感染计算机病毒。
(
2
)在安装网络服务器时,应将文件系统划分成多个文件卷系统,至少划分成操作系统卷、共享的应用程序卷和各个网络用户可以独占的用户数据卷。这种划分十分有利于维护网络服务器的安全稳定运行和用户数据的安全。
如果系统卷受到某种损伤,导致服务器瘫痪,那么通过重装系统卷,恢复网络操作系统,就可以使服务器又马上投入运行。而装在共享的应用程序卷和用户卷内的程序和数据文件不会受到任何损伤。如果用户卷内由于计算机病毒或由于使用上的原因导致存储空间拥塞时,系统卷是不受影响的,不会导致网络系统运行失常。并且这种划分十分有利于系统管理员设置网络安全存取权限,保证网络系统不受计算机病毒感染和破坏。
(
3
)一定要用硬盘启动网络服务器,否则在受到引导型计算机病毒感染和破坏后,遭受损失的将不是一个人的机器,而会影响到整个网络的中枢。
(
4
)为各个卷分配不同的用户权限。将操作系统卷设置成对一般用户为只读权限,屏蔽其它网络用户对系统卷除读和执行以外的所有其它操作,如修改、改名、删除、创建文件和写文件等操作权限。应用程序卷也应设置成对一般用户是只读权限的,不经授权、不经计算机病毒检测,就不允许在共享的应用程序卷中安装程序。保证除系统管理员外,其它网络用户不可能将计算机病毒感染到系统中,使网络用户总有一个安全的联网工作环境。
(
5
)在网络服务器上必须安装真正有效的防杀计算机病毒软件,并经常进行升级。必要的时候还可以在网关、路由器上安装计算机病毒防火墙产品,从网络出入口保护整个网络不受计算机病毒的侵害。在网络工作站上采取必要的防杀计算机病毒措施,可使用户不必担心来自网络内和网络工作站本身的计算机病毒侵害。
(
6
)系统管理员的职责:
1
)
系统管理员的口令应严格管理,不使泄漏,不定期地予以更换,保护网络系统不被非法存取,不被感染上计算机病毒或遭受破坏。
2
)
在安装应用程序软件时,应由系统管理员进行,或由系统管理员临时授权进行。以保护网络用户使用共享资源时总是安全无毒的。
3
)系统管理员对网络内的共享电子函件系统、共享存储区域和用户卷应定期进行计算机病毒扫描,发现异常情况及时处理。如果可能,在应用程序卷中安装最新版本的防杀计算机病毒软件供用户使用。
4
)网络系统管理员应做好日常管理事务的同时,还要准备应急措施,及时发现计算机病毒感染迹象。当出现计算机病毒传播迹象时,应立即隔离被感染的计算机系统和网络,并进行处理。不应当带毒继续工作下去,要按照特别情况清查整个网络,切断计算机病毒传播的途径,保障正常工作的进行。必要的时候应立即得到专家的帮助。
由于技术上的计算机病毒防治方法尚无法达到完美的境地,难免会有新的计算机病毒突破防护系统的保护,传染到计算机系统中。因此对可能由计算机病毒引起的现象应予以注意,发现异常情况时,不使计算机病毒传播影响到整个网络。
2.3.2
引导型计算机病毒的识别和防范
引导型计算机病毒主要是感染磁盘的引导扇区,也就是常说的磁盘的
BOOT
区。我们在使用被感染的磁盘(无论是软盘还是硬盘)启动计算机时它们就会首先取得系统控制权,驻留内存之后再引导系统,并伺机传染其它软盘或硬盘的引导区。纯粹的引导型计算机病毒一般不对磁盘文件进行感染。感染了引导型计算机病毒后,引导记录会发生变化。当然,通过一些防杀计算机病毒软件可以发现引导型计算机病毒,在没有防杀计算机病毒软件的情况下可以通过以下一些方法判断引导扇区是否被计算机病毒感染:
1.
先用可疑磁盘引导计算机,引导过程中,按
F5
键跳过
CONFIG.SYS
和
AUTOEXEC.BAT
中的驱动程序和应用程序的加载,这时用
MEM
或
MI
等工具查看计算机的空余内存空间(
Free Memory Space
)的大小;再用与可疑磁盘上相同版本的、未感染计算机病毒的
DOS
系统软盘启动计算机,启动过程中,按
F5
键跳过
CONFIG.SYS
和
AUTOEXEC.BAT
中的驱动程序和应用程序的加载,然后用
MEM
或
MI
等工具查看并记录下计算机空余内存空间的大小,如果上述两次的空余内存空间大小不一致,则可疑磁盘的引导扇区肯定已被引导型计算机病毒感染。
2.
用硬盘引导计算机,运行
DOS
中的
MEM
,可以查看内存分配情况,尤其要注意常规内存(
Conventional Memory
)的总数,一般为
640Kb
字节,装有硬件防杀计算机病毒芯片的计算机有的可能为
639Kb
字节。如果常规内存总数小于
639Kb
字节,那么引导扇区肯定被感染上引导型计算机病毒。
3.
机器在运行过程中刚设定好的时间、日期,运行一会儿被修改为缺省的时间、日期,这种情况下,系统很可能带有引导型计算机病毒。
4.
在开机过程中,
CMOS
中刚设定好的软盘配置(即
1.44Mb
或
1.2Mb
),用
“
干净的
”
软盘启动时一切正常,但用硬盘引导后,再去读软盘则无法读取,此时
CMOS
中软盘设定情况为
None
,这种情况肯定带有引导型计算机病毒。
5.
硬盘自引导正常,但用
“
干净的
”DOS
系统软盘引导时,无法访问硬盘如
C
:盘(某些需要特殊的驱动程序的大硬盘和
FAT32
、
NTFS
等特殊分区除外),这肯定感染上引导型计算机病毒。
6.
系统文件都正常,但
Windows 95/98
经常无法启动,这有可能是感染上了引导型计算机病毒。
上述介绍的仅是常见的几种情况。计算机被感染了引导型计算机病毒,最好用防杀计算机病毒软件加以清除,或者在
“
干净的
”
系统启动软盘引导下,用备份的引导扇区覆盖。
预防引导型计算机病毒,通常采用以下一些方法:
(
1)
坚持从不带计算机病毒的硬盘引导系统。
(
2)
安装能够实时监控引导扇区的防杀计算机病毒软件,或经常用能够查杀引导型计算机病毒的防杀计算机病毒软件进行检查。
(
3)
经常备份系统引导扇区。
(
4)
某些底板上提供引导扇区计算机病毒保护功能(
Virus Protect
),启用它对系统引导扇区也有一定的保护作用。不过要注意的是启用这功能可能会造成一些需要改写引导扇区的软件(如
Windows 95/98
,
Windows NT
以及多系统启动软件等)安装失败。
2.3.3
文件型计算机病毒的识别和防范
大多数的计算机病毒都属于文件型计算机病毒。文件型计算机病毒一般只传染磁盘上的可执行文件(
COM
,
EXE
),在用户调用染毒的可执行文件时,计算机病毒首先被运行,然后计算机病毒驻留内存伺机传染其他文件,其特点是附着于正常程序文件,成为程序文件的一个外壳或部件。文件型计算机病毒通过修改
COM
、
EXE
或
OVL
等文件的结构,将计算机病毒代码插入到宿主程序,文件被感染后,长度、日期和时间等大多发生变化,也有些文件型计算机病毒传染前后文件长度、日期、时间不会发生任何变化,称之为隐型计算机病毒。隐型计算机病毒是在传染后对感染文件进行数据压缩,或利用可执行文件中有一些空的数据区,将自身分解在这些空区中,从而达到不被发现的目的。通过以下方法可以判别文件型计算机病毒:
1.
在用未感染计算机病毒的
DOS
启动软盘引导后,对同一目录列目录(
DIR
)后文件的总长度与通过硬盘启动后所列目录内文件总长度不一样,则该目录下的某些文件已被计算机病毒感染,因为在带毒环境下,文件的长度往往是不真实的。
2.
有些文件型计算机病毒(如
ONEHALF
、
NATAS
、
3783
、
FLIP
等),在感染文件的同时也感染系统的引导扇区,如果磁盘的引导扇区被莫名奇妙地破坏了,则磁盘上也有可能有文件型计算机病毒。
3.
系统文件长度发生变化,则这些系统文件上很有可能含有计算机病毒代码。应记住一些常见的
DOS
系统的
IO.SYS
、
MSDOS.SYS
、
COMMAND.COM
、
KRNL386.EXE
等系统文件的长度。
4.
计算机在运行过外来软件后,经常死机,或者
Windows 95/98
无法正常启动,运行经常出错,等等,都有可能是感染上了文件型计算机病毒。
5.
微机速度明显变慢,曾经正常运行的软件报内存不足,或计算机无法正常打印,这些现象都有可能感染上文件型计算机病毒。
6.
有些带毒环境下,文件的长度和正常的完全一样,但是从带有写保护的软盘拷贝文件时,会提示软盘带有写保护,这肯定是感染了计算机病毒。
对普通的单机和网络用户来说感染文件型计算机病毒后,最好的办法就是用防杀计算机病毒软件清除,或者干脆删除带毒的应用程序,然后重新安装。需要注意的是用防杀计算机病毒软件清除计算机病毒的时候必须保证内存中没有驻留计算机病毒,否则老的计算机病毒是清除了,可又感染上新的了。
对于文件型计算机病毒的防范,一般采用以下一些方法:
(
1)
安装最新版本的、有实时监控文件系统功能的防杀计算机病毒软件。
(
2)
及时更新查杀计算机病毒引擎,一般要保证每月至少更新一次,有条件的可以每周更新一次,并在有计算机病毒突发事件的时候及时更新。
(
3)
经常使用防杀计算机病毒软件对系统进行计算机病毒检查。
(
4)
对关键文件,如系统文件、保密的数据等等,在没有计算机病毒的环境下经常备份。
(
5)
在不影响系统正常工作的情况下对系统文件设置最低的访问权限,以防止计算机病毒的侵害。
(
6)
当使用
Windows 95/98/2000/NT
操作系统时,修改文件夹窗口中的确省属性。具体操作为:鼠标左键双击打开
“
我的电脑
”
,选择
“
查看
”
菜单中的
“
选项
”
命令。然后在
“
查看
”
中选择
“
显示所有文件
”
以及不选中
”
隐藏已知文件类型的文件扩展名
”
,按
“
确定
”
按钮。注意不同的操作系统平台可能显示的文字有所不同。
2.3.4
宏病毒的识别和防范
宏病毒(
Macro Virus
)传播依赖于包括
Word
、
Excel
和
PowerPoint
等应用程序在内的
Office
套装软件,只要使用这些应用程序的计算机就都有可能传染上宏病毒,并且大多数宏病毒都有发作日期。轻则影响正常工作,重则破坏硬盘信息,甚至格式化硬盘,危害极大。目前宏病毒在国内流行甚广,已成为计算机病毒的主流,因此用户应时刻加以防范。
通过以下方法可以判别宏病毒:
①
在使用的
Word
中从
“
工具
”
栏处打开
“
宏
”
菜单,选中
Normal.dot
模板,若发现有
AutoOpen
、
AutoNew
、
AutoClose
等自动宏以及
FileSave
、
FileSaveAs
、
FileExit
等文件操作宏或一些怪名字的宏,如
AAAZAO
、
PayLoad
等,就极可能是感染了宏病毒了,因为
Normal
模板中是不包含这些宏的。
②
在使用的
Word“
工具
”
菜单中看不到
“
宏
”
这个字,或看到
“
宏
”
但光标移到
“
宏
”
,鼠标点击无反应,这种情况肯定有宏病毒。
③
打开一个文档,不进行任何操作,退出
Word
,如提示存盘,这极可能是
Word
中的
Normal.dot
模板中带宏病毒。
④
打开以
DOC
为后缀的文档文件在另存菜单中只能以模板方式存盘,也可能带有
Word
宏病毒。
⑤
在运行
Word
过程中经常出现内存不足,打印不正常,也可能有宏病毒。
⑥
在运行
Word 97
时,打开
DOC
文档出现是否启动
“
宏
”
的提示,该文档极可能带有宏病毒。
感染了宏病毒后,也可以采取对付文件型计算机病毒的方法,用防杀计算机病毒软件查杀,如果手头一时没有防杀计算机病毒软件的话,对付某些感染
Word
文档的宏病毒也是可以通过手工操作的方法来查杀的。下面以
Word 97
为例简单介绍一下如何进行手工查杀:
首先,必须保证
Word 97
本身是没有感染宏病毒的,也就是
Word 97
安装目录下
Startup
目录下的文件和
Normal.dot
文件没有被宏病毒感染。
然后只打开
Word 97
,而不是直接双击文档,选择
“
工具
”
菜单中的
“
选项
”
命令。再在
“
常规
”
中选中
“
宏病毒防护
”
,在
“
保存
”
中不选中
“
快速保存
”
,按确定按钮。
打开文档,此时系统应该提示是否启用
“
宏
”
,选
“
否
”
,不启用宏而直接打开文档。再选择
“
工具
”
菜单的
“
宏
”
子菜单的
“
宏
”
命令,将可疑的宏全部删除。然后将文档保存。宏病毒被清除。
有些宏可能会屏蔽掉
“
宏
”
菜单,使得上述方法无法实施,这个时候可以试试下面这种方法:
首先保证
Word 97
不受宏病毒的感染,只打开
Word 97
并新建一个空文档,然后在
“
工具
”
菜单中选择
“
选项
”
命令,在
“
常规
”
中选中
“
宏病毒防护
”
,在
“
保存
”
中选择
“
提示保存
Normal
模板
”
,按确定按钮。
接着再启动一个
Word 97
应用程序,然后用新启动的这个
Word 97
打开感染宏病毒的文档,应当也会出现是否启用宏的提示,选
“
否
”
;然后选择
“
编辑
”
菜单中的
“
全选
”
命令;然后再选择
“
编辑
”
菜单中的
“
复制
”
命令;再切换到先前的
Word 97
中,选择
“
编辑
”
菜单中的
“
粘贴
”
命令,可以发现原来的文档被粘贴到先前
Word 97
新建的文档里。
切换回打开带宏病毒文档的
Word 97
中,选择
“
文件
”
菜单中的
“
退出
”
命令,退出
Word 97
,如果提示说是否保存
Normal.dot
模板,则选
“
否
”
。
再切换回先打开的
Word 97
中,选择
“
文件
”
菜单中的
“
保存
”
命令,将文件保存。由于宏病毒不会随剪贴板功能而被复制,所以这种办法也能起到杀灭宏病毒的效果。
对宏病毒的预防是完全可以做到的,只要在使用
Office
套装软件之前进行一些正确的设置,就基本上能够防止宏病毒的侵害。任何设置都必须在确保软件未被宏病毒感染的情况下进行:
(
1)
在
Word
中打开
“
选项
”
中的
“
宏病毒防护
”
(
Word 97
及以上版本才提供此功能)和
“
提示保存
Normal
模板
”
;清理
“
工具
”
菜单中
“
模板和加载项
”
中的
“
共用模板及加载项
”
中预先加载的文件,不必要的就不加载,必须加载的则要确保没有宏病毒的存在,并且确认没有选中
“
自动更新样式
”
选项;退出
Word
,此时会提示保存
Normal.dot
模板,按
“
是
”
按钮,保存并退出
Word
;找到
Normal.dot
文件,将文件属性改成
“
只读
”
。
(
2)
在
Excel
中选择
“
工具
”
菜单中的
“
选项
”
命令,在
“
常规
”
中选中
“
宏病毒防护功能
”
。
(
3)
在
PowerPoint
中选择
“
工具
”
菜单中的
“
选项
”
命令,在
“
常规
”
中选中
“
宏病毒防护
”
。
(
4)
其他防范文件型计算机病毒所做的工作。
做了防护工作后,对打开提示有是否启用宏,除非能够完全确信文档中只包含明确没有破坏意图的宏,否则都不执行宏;而对退出时提示保存除文档以外的文件,如
Normal.dot
模板等,一律不予保存。
以上这些防范宏病毒的方法可以说是最简单实用的,而且效果最明显。
2.3.5
电子函件计算机病毒的识别和防范
风靡全球的
“
美丽莎
”
(
Melissa
)、
Papa
和
HAPPY99
等计算机病毒正是通过电子函件的方式进行传播、扩散,其结果导致邮件服务器瘫痪,用户信息和重要文档泄密,无法收发
E-mail
,给个人、企业和政府部门造成严重的损失。为此有必要介绍一下电子函件计算机病毒。
电子函件计算机病毒实际上并不是一类单独的计算机病毒,严格来说它应该划入到文件型计算机病毒及宏病毒中去,只不过由于这些计算机病毒采用了独特的电子函件传播方式(其中不少种类还专门针对电子函件的传播方式进行了优化),因此我们习惯于称将它们为电子函件计算机病毒。
所谓电子函件计算机病毒就是以电子函件作为传播途径的计算机病毒,实际上该类计算机病毒和普通的计算机病毒一样,只不过是传播方式改变而已。该类计算机病毒的特点:
1.
电子函件本身是无毒的,但它的内容中可以有
Unix
下的特殊的换码序列,就是通常所说的
ANSI
字符,当用
Unix
智能终端上网查看电子函件时,有被侵入的可能。
2.
电子函件可以夹带任何类型的文件作为附件(
Attachment
),附件文件可能带有计算机病毒。
3.
利用某些电子函件收发器特有的扩充功能,比如
Outlook/Outlook Express
能够执行
VBA
指令编写的宏,等等,在电子函件中夹带有针对性的代码,利用电子函件进行传染、扩散。
4.
利用某些操作系统所特有的功能,比如利用
Windows 98
下的
Windows Scripting Host
,利用
*.SHS
文件来进行破坏。
5.
超大的电子函件、电子函件炸弹也可以认为是一种电子函件计算机病毒,它能够影响邮件服务器的正常服务功能。
通常对付电子函件计算机病毒,只要删除携带电子函件计算机病毒的信件就能够删除它。但是大多数的电子函件计算机病毒在一被接收到客户端时就开始发作了,基本上没有潜伏期。所以预防电子函件计算机病毒是至关重要的。以下是一些常用的预防电子函件计算机病毒的方法:
(
1)
不要轻易执行附件中的
EXE
和
COM
等可执行程序。这些附件极有可能带有计算机病毒或是黑客程序,轻易运行,很可能带来不可预测的结果。对于认识的朋友和陌生人发过来的电子函件中的可执行程序附件都必须检查,确定无异后才可使用。
(
2)
不要轻易打开附件中的文档文件。对方发送过来的电子函件及相关附件的文档,首先要用
“
另存为
…”
命令(
“Save As…”
)保存到本地硬盘,待用查杀计算机病毒软件检查无毒后才可以打开使用。如果用鼠标直接点击两下
DOC
、
XLS
等附件文档,会自动启用
Word
或
Excel
,如有附件中有计算机病毒则会立刻传染,如有
“
是否启用宏
”
的提示,那绝对不要轻易打开,否则极有可能传染上电子函件计算机病毒。
(
3)
对于文件扩展名很怪的附件,或者是带有脚本文件如
*.VBS
、
*.SHS
等的附件,千万不要直接打开,一般可以删除包含这些附件的电子函件,以保证计算机系统不受计算机病毒的侵害。
(
4)
如果是使用
Outlook
作为收发电子函件软件的话,应当进行一些必要的设置。选择
“
工具
”
菜单中的
“
选项
”
命令,在
“
安全
”
中设置
“
附件的安全性
”
为
“
高
”
;在
“
其他
”
中按
“
高级选项
”
按钮,按
“
加载项管理器
”
按钮,不选中
“
服务器脚本运行
”
。最后按
“
确定
”
按钮保存设置。
(
5)
如果是使用
Outlook Express
作为收发电子函件软件的话,也应当进行一些必要的设置。选择
“
工具
”
菜单中的
“
选项
”
命令,在
“
阅读
”
中不选中
“
在预览窗格中自动显示新闻邮件
”
和
“
自动显示新闻邮件中的图片附件
”
。这样可以防止有些电子函件计算机病毒利用
Outlook Express
的缺省设置自动运行,破坏系统。
(
6)
对于使用
Windows 98
操作系统的计算机,在
“
控制面板
”
中的
“
添加
/
删除程序
”
中选择检查一下是否安装了
Windows Scripting Host
。如果已经安装的,请卸载,并且检查
Windows
的安装目录下是否存在
Wscript.exe
文件,如果存在的话也要删除。因为有些电子函件计算机病毒就是利用
Windows Scripting Host
进行破坏的。
(
7)
对于自己往外传送的附件,也一定要仔细检查,确定无毒后,才可发送,虽然电子函件计算机病毒相当可怕,只要防护得当,还是完全可以避免传染上计算机病毒的,仍可放心使用。
对付电子函件计算机病毒,还可以在计算机上安装有电子函件实时监控功能的防杀计算机病毒软件。有条件的还可以在电子函件服务器上安装服务器版电子函件计算机病毒防护软件,从外部切断电子函件计算机病毒的入侵途径,确保整个网络的安全。
计算机病毒检测方法
检测磁盘中的计算机病毒可分成检测引导型计算机病毒和检测文件型计算机病毒。这两种检测从原理上讲是一样的,但由于各自的存储方式不同,检测方法是有差别的。
2.4.1
比较法
比较法是用原始备份与被检测的引导扇区或被检测的文件进行比较。比较时可以靠打印的代码清单(比如
DEBUG
的
D
命令输出格式)进行比较,或用程序来进行比较(如
DOS
的
DISKCOMP
、
FC
或
PCTOOLS
等其它软件)。这种比较法不需要专用的查计算机病毒程序,只要用常规
DOS
软件和
PCTOOLS
等工具软件就可以进行。而且用这种比较法还可以发现那些尚不能被现有的查计算机病毒程序发现的计算机病毒。因为计算机病毒传播得很快,新的计算机病毒层出不穷,由于目前还没有做出通用的能查出一切计算机病毒,或通过代码分析,可以判定某个程序中是否含有计算机病毒的查毒程序,发现新计算机病毒就只有靠比较法和分析法,有时必须结合这两者来一同工作。
使用比较法能发现异常,如文件的长度有变化,或虽然文件长度未发生变化,但文件内的程序代码发生了变化。对硬盘主引导扇区或对
DOS
的引导扇区做检查,比较法能发现其中的程序代码是否发生了变化。由于要进行比较,保留好原始备份是非常重要的,制作备份时必须在无计算机病毒的环境里进行,制作好的备份必须妥善保管,写好标签,并加上写保护。
比较法的好处是简单、方便,不需专用软件。缺点是无法确认计算机病毒的种类名称。另外,造成被检测程序与原始备份之间差别的原因尚需进一步验证,以查明是由于计算机病毒造成的,或是由于
DOS
数据被偶然原因,如突然停电、程序失控、恶意程序等破坏的。这些要用到以后讲的分析法,查看变化部分代码的性质,以此来确证是否存在计算机病毒。另外,当找不到原始备份时,用比较法就不能马上得到结论。从这里可以看到制作和保留原始主引导扇区和其它数据备份的重要性。
2.4.2
加总比对法
根据每个程序的档案名称、大小、时间、日期及内容,加总为一个检查码,再将检查码附于程序的后面,或是将所有检查码放在同一个数据库中,再利用此加总对比系统,追踪并记录每个程序的检查码是否遭更改,以判断是否感染了计算机病毒。一个很简单的例子就是当您把车停下来之后,将里程表的数字记下来。那么下次您再开车时,只要比对一下里程表的数字,那么您就可以断定是否有人偷开了您的车子。这种技术可侦测到各式的计算机病毒,但最大的缺点就是误判断高,且无法确认是哪种计算机病毒感染的。对于隐形计算机病毒也无法侦测到。
2.4.3
搜索法
.
搜索法是用每一种计算机病毒体含有的特定字符串对被检测的对象进行扫描。如果在被检测对象内部发现了某一种特定字节串,就表明发现了该字节串所代表的计算机病毒。国外对这种按搜索法工作的计算机病毒扫描软件叫
Virus Scanner
。计算机病毒扫描软件由两部分组成:一部分是计算机病毒代码库,含有经过特别选定的各种计算机病毒的代码串;另一部分是利用该代码库进行扫描的扫描程序。目前常见的防杀计算机病毒软件对已知计算机病毒的检测大多采用这种方法。计算机病毒扫描程序能识别的计算机病毒的数目完全取决于计算机病毒代码库内所含计算机病毒的种类多少。显而易见,库中计算机病毒代码种类越多,扫描程序能认出的计算机病毒就越多。计算机病毒代码串的选择是非常重要的。短小的计算机病毒只有一百多个字节,长的有上万字节的。如果随意从计算机病毒体内选一段作为代表该计算机病毒的特征代码串,可能在不同的环境中,该特征串并不真正具有代表性,不能用于将该串所对应的计算机病毒检查出来。选这种串做为计算机病毒代码库的特征串就是不合适的。
另一种情况是代码串不应含有计算机病毒的数据区,数据区是会经常变化的。代码串一定要在仔细分析了程序之后才选出最具代表特性的,足以将该计算机病毒区别于其它计算机病毒的字节串。选定好的特征代码串是很不容易的,是计算机病毒扫描程序的精华所在。一般情况下,代码串是连续的若干个字节组成的串,但是有些扫描软件采用的是可变长串,即在串中包含有一个到几个
“
模糊
”
字节。扫描软件遇到这种串时,只要除
“
模糊
”
字节之外的字串都能完好匹配,则也能判别出计算机病毒。
除了前面说的选特征串的规则外,最重要的是一条是特征串必须能将计算机病毒与正常的非计算机病毒程序区分开。不然将非计算机病毒程序当成计算机病毒报告给用户,是假警报,这种
“
狼来了
”
的假警报太多了,就会使用户放松警惕,等真的计算机病毒一来,破坏就严重了;再就是若将这假警报送给杀计算机病毒程序,会将好程序给
“
杀死
”
了。
使用特征串的扫描法被查计算机病毒软件广泛应用。当特征串选择得很好时,计算机病毒检测软件让计算机用户使用起来很方便,对计算机病毒了解不多的人也能用它来发现计算机病毒。另外,不用专门软件,用
PCTOOLS
等软件也能用特征串扫描法去检测特定的计算机病毒。
这种扫描法的缺点也是明显的。第一是当被扫描的文件很长时,扫描所花时间也越多;第二是不容易选出合适的特征串;第三是新的计算机病毒的特征串未加入计算机病毒代码库时,老版本的扫毒程序无法识别出新的计算机病毒;第四是怀有恶意的计算机病毒制造者得到代码库后,会很容易地改变计算机病毒体内的代码,生成一个新的变种,使扫描程序失去检测它的能力;第五是容易产生误报,只要在正常程序内带有某种计算机病毒的特征串,即使该代码段已不可能被执行,而只是被杀死的计算机病毒体残余,扫描程序仍会报警;第六是不易识别多维变形计算机病毒。不管怎样,基于特征串的计算机病毒扫描法仍是今天用得最为普遍的查计算机病毒方法。
2.4.4
分析法
一般使用分析法的人不是普通用户,而是防杀计算机病毒技术人员。使用分析法的目的在于:
1.
确认被观察的磁盘引导扇区和程序中是否含有计算机病毒;
2.
确认计算机病毒的类型和种类,判定其是否是一种新的计算机病毒;
3.
搞清楚计算机病毒体的大致结构,提取特征识别用的字节串或特征字,用于增添到计算机病毒代码库供计算机病毒扫描和识别程序用;
4.
详细分析计算机病毒代码,为制定相应的防杀计算机病毒措施制定方案。
上述四个目的按顺序排列起来,正好是使用分析法的工作顺序。使用分析法要求具有比较全面的有关计算机、
DOS
、
Windows
、网络等的结构和功能调用以及关于计算机病毒方面的各种知识,这是与其他检测计算机病毒方法不一样的地方。
要使用分析法检测计算机病毒,其条件除了要具有相关的知识外,还需要反汇编工具、二进制文件编辑器等分析用工具程序和专用的试验计算机。因为即使是很熟练的防杀计算机病毒技术人员,使用性能完善的分析软件,也不能保证在短时间内将计算机病毒代码完全分析清楚。而计算机病毒有可能在被分析阶段继续传染甚至发作,把软盘硬盘内的数据完全毁坏掉,这就要求分析工作必须在专门设立的试验计算机机上进行,不怕其中的数据被破坏。在不具备条件的情况下,不要轻易开始分析工作,很多计算机病毒采用了自加密、反跟踪等技术,使得分析计算机病毒的工作经常是冗长和枯燥的。特别是某些文件型计算机病毒的代码可达
10Kb
以上,与系统的牵扯层次很深,使详细的剖析工作十分复杂。
计算机病毒检测的分析法是防杀计算机病毒工作中不可缺少的重要技术,任何一个性能优良的防杀计算机病毒系统的研制和开发都离不开专门人员对各种计算机病毒的详尽而认真的分析。
分析的步骤分为静态分析和动态分析两种。静态分析是指利用反汇编工具将计算机病毒代码打印成反汇编指令后程序清单后进行分析,看计算机病毒分成哪些模块,使用了哪些系统调用,采用了哪些技巧,并将计算机病毒感染文件的过程翻转为清除该计算机病毒、修复文件的过程;判断哪些代码可被用做特征码以及如何防御这种计算机病毒。分析人员具有的素质越高,分析过程越快、理解越深。动态分析则是指利用
DEBUG
等调试工具在内存带毒的情况下,对计算机病毒做动态跟踪,观察计算机病毒的具体工作过程,以进一步在静态分析的基础上理解计算机病毒工作的原理。在计算机病毒编码比较简单的情况下,动态分析不是必须的。但当计算机病毒采用了较多的技术手段时,必须使用动、静相结合的分析方法才能完成整个分析过程。
2.4.5
人工智能陷阱技术和宏病毒陷阱技术
人工智能陷阱是一种监测计算机行为的常驻式扫描技术。它将所有计算机病毒所产生的行为归纳起来,一旦发现内存中的程序有任何不当的行为,系统就会有所警觉,并告知使用者。这种技术的优点是执行速度快、操作简便,且可以侦测到各式计算机病毒;其缺点就是程序设计难,且不容易考虑周全。不过在这千变万化的计算机病毒世界中,人工智能陷阱扫描技术是一个至少具有主动保护功能的新技术。
宏病毒陷阱技术(
MacroTrap
)是结合了搜索法和人工智能陷阱技术,依行为模式来侦测已知及未知的宏病毒。其中,配合
OLE2
技术,可将宏与文件分开,使得扫描速度变得飞快,而且更可有效地将宏病毒彻底清除。
2.4.6
软件仿真扫描法
该技术专门用来对付多态变形计算机病毒(
Polymorphic/MutationVirus
)。多态变形计算机病毒在每次传染时,都将自身以不同的随机数加密于每个感染的文件中,传统搜索法的方式根本就无法找到这种计算机病毒。软件仿真技术则是成功地仿真
CPU
执行,在
DOS
虚拟机(
Virtual Machine
)下伪执行计算机病毒程序,安全并确实地将其解密,使其显露本来的面目,再加以扫描。
2.4.7
先知扫描法
先知扫描技术(
VICE
,
Virus Instruction Code Emulation
)是继软件仿真后的一大技术上突破。既然软件仿真可以建立一个保护模式下的
DOS
虚拟机,仿真
CPU
动作并伪执行程序以解开多态变形计算机病毒,那么应用类似的技术也可以用来分析一般程序,检查可疑的计算机病毒代码。因此先知扫描技术将专业人员用来判断程序是否存在计算机病毒代码的方法,分析归纳成专家系统和知识库,再利用软件模拟技术(
Software Emulation
)伪执行新的计算机病毒,超前分析出新计算机病毒代码,对付以后的计算机病毒。
计算机系统的修复
2.5.1
计算机病毒感染后的一般修复处理方法
一旦遇到计算机病毒破坏了系统也不必惊惶失措,采取一些简单的办法可以杀除大多数的计算机病毒,恢复被计算机病毒破坏的系统。
下面介绍计算机病毒感染后的一般修复处理方法:
1
、首先必须对系统破坏程度有一个全面的了解,并根据破坏的程度来决定采用有效的计算机病毒清除方法和对策。
如果受破坏的大多是系统文件和应用程序文件,并且感染程度较深,那么可以采取重装系统的办法来达到清除计算机病毒的目的。而对感染的是关键数据文件,或比较严重的时候,比如硬件被
CIH
计算机病毒破坏,就可以考虑请防杀计算机病毒专家来进行清除和数据恢复工作。
2
、修复前,尽可能再次备份重要的数据文件。
目前防杀计算机病毒软件在杀毒前大多都能够保存重要的数据和感染的文件,以便能够在误杀或造成新的破坏时可以恢复现场。但是对那些重要的用户数据文件等还是应该在杀毒前手工单独进行备份,备份不能做在被感染破坏的系统内,也不应该与平时的常规备份混在一起。
3
、启动防杀计算机病毒软件,并对整个硬盘进行扫描。某些计算机病毒在
Windows 95/98
状态下无法完全清除(如
CIH
计算机病毒),此时我们应使用事先准备的未感染计算机病毒的
DOS
系统软盘启动系统,然后在
DOS
下运行相关杀毒软件进行清除。
4
、发现计算机病毒后,我们一般应利用防杀计算机病毒软件清除文件中的计算机病毒,如果可执行文件中的计算机病毒不能被清除,一般应将其删除,然后重新安装相应的应用程序。
5
、杀毒完成后,重启计算机,再次用防杀计算机病毒软件检查系统中是否还存在计算机病毒,并确定被感染破坏的数据确实被完全恢复。
6
、此外,对于杀毒软件无法杀除的计算机病毒,还应将计算机病毒样本送交防杀计算机病毒软件厂商的研究中心,以供详细分析。
2.5.2
实例:手工恢复被
CIH
计算机病毒破坏的硬盘数据
1
、基础知识
(
1
)
DOS
兼容系统硬盘数据的构成
:
主分区和扩展分区结构基本相似,以下以主分区为例。
主引导记录(
MBR
):
MBR
占一个扇区,在
0
柱面
0
面
1
扇区,由代码区和分区表构成。其中代码区可以由
FDISK /MBR
重建。
系统扇区:
0
柱面
0
面
2
扇区到
0
柱面
0
面
63
扇区,共
62
个扇区。
引导扇区(
BOOT
):
0
柱面
1
面
1
扇区。这是我们过去称的
DOS
引导区。也占一个扇区。
隐藏扇区:
0
柱面
1
面
1
扇区开始,如果是
FAT16
那么占一个扇区,如果是
FAT32
则由此占
32
个扇区。
文件分配表(
FAT
):每个有效的
FAT
结构区包含两个完全相同的拷贝:
FAT1
、
FAT2
,
FAT16
的第一
FAT
表一般均在
0
柱面
1
面
2
扇区,
FAT32
的第一
FAT
表在
0
柱面
0
面
33
扇区。
FAT
表是记录文件占用扇区连接的地方,如果两个
FAT
表都坏了,后果不堪设想。由于
FAT
表的长度与当前分区的大小有关所以
FAT2
的地址是需要计算的。
FAT16
的每个表项由
2
字节(
16
位)组成,通常每个表项指向的簇包含
64
个扇区,即
32Kb
字节。逻辑盘容量最大为
2047MB
。
FAT32
的每个表项由
4
字节(
32
位)组成,通常每个表项指向的簇包含
8
个扇区,即
4Kb
字节。逻辑盘容量最小为
2048MB
。有关计算公式为:
每个扇区长度=
512
字节
簇容量=每扇区长度
×
每簇扇区数
总簇数=逻辑盘容量/簇容量
总簇数=
FAT
表长度(字节)/每个表项长度(字节)
-2
FAT
表长度=逻辑盘容量/簇容量
×
每个表项长度
FAT
表的开始由介质描述符加上一串
“
已占用
”
标志组成:
FAT16
硬盘:
F8 FF FF 7F
FAT32
硬盘:
F8 FF FF 0F FF FF FF 0F
根目录扇区(
ROOT
):这里记录了根目录里的目录文件项等,
ROOT
区跟在
FAT2
后面。
数据区:跟在根目录扇区后面,这才是真正保存文件内容的地方。
(
2
)主引导记录简单说明:
主引导记录是硬盘引导的起点,其分区表中比较重要的有
3
个标志,在偏移
0x01BE
处的字节,
0x80
表示系统可引导,且整个分区表只能有一个分区的标志为
0x80
;对于
C
分区,在偏移
0x01C2
处的字节,
FAT16
为
0x06
,
FAT32
为
0x0C
;结尾的
0x55 0xAA
标记,用来表示主引导记录是一个有效的记录。
2
.一个基本恢复被
CIH
破坏硬盘数据的例子
其实,无论主引导记录还是隐含扇区还是启动扇区,都不重要,这些扇区的重建都比较容易。对数据恢复来说,能否成功的找回数据文件是重要的。另外,由于
FAT
表记录了文件在硬盘上占用扇区的链表,如果
2
个
FAT
表都完全损坏了。那么恢复文件,特别是占用多个不连续扇区文件就相当困难了。
恢复被
CIH
破坏的硬盘数据的基本思路是:
(
1
)
FAT2
没有损坏的情况,用
FAT2
覆盖
FAT1
。
(
2
)
FAT2
也已经损坏的情况,一般是只期待找回其中某些关键的文件了。我们最期待的是这些文件是连续的。如果不连续的话,也并非没有可能,但这往往还要知道文件的一些细节,包括对一些文件本身的连接结构有了解。如果
FAT2
没有完全破坏,还是有一定用处的,另外,一般来说,
FAT16
的硬盘因为
FAT
表扇区比较靠前,破坏的比较严重,一般两个
FAT
表都会被破坏了,恢复起来比较困难。另外小容量的硬盘也是很难恢复。
在进行数据恢复之前准备好软盘
3
张:
DISK1
:
WIN98
启动盘(带
DEBUG.EXE
)
DISK2
:
NORTON DISKEDIT
等工具(此盘不要写保护)
DISK3
:
DOS
下杀
CIH
的工具
找一台完好无损的计算机,将待恢复的的硬盘接上,开机,进入
SETUP
,检测硬盘,把参数记下:
CLY 620 HEAD 128 PRECOMP 0 LANDZ 4959 SECTOR 63 MODE LBA
用准备好的软盘启动并输入:
A:\>C:
显示
Invalid drive specification
(无效的盘标识符)
用
FDISK /MBR
命令重建主引导记录,并重新用软盘引导。此时已经看的见
C:
硬盘。运行
DISKEDIT
,启动过程中显示
Invalid media type reading DRIVER C
。用
DEBUG
清空分区表,并置
0x80
和
0x55 0xAA
标志。重新启动,再运行
DISKEDIT
,显示设定为
READ ONLY
,没关系,把
CONFIGURATION
中的只读选项去掉,存盘,好了,可以编辑了。
我们期待
FAT2
没有损坏,以用
FAT2
覆盖
FAT1
,在这个时候
DISKEDIT
要比
DEBUG
容易的多,在
FIND OBJECT
中选择
FAT
,查一下起始扇区,在
0
柱面
68
面
14
扇区,偏移
0x0000
的字节:
F8 FF FF 0F
(
FAT32
的)。该项显示表明
FAT2
没坏。其实如果不用
DISKEDIT
的可以用
DEBUG
查,偏移
0000
的
F8 FF FF 0F
。记下了该扇区:
0
柱面
68
面
14
扇区备用。
FAT1
一般前面已经被破坏了,但后面应该还在,这可以作为检查。因为是
32
位的,
FAT1
一般在
0
柱面
1
面
33
扇区。
接下来再在
DISKEDIT
的
FIND
中查找
IO SYS
(
IO
和
SYS
中要有空格)以查找根目录扇区(
ROOT
)。找到后观察,是否有
C:\
下常见文件,以确定根目录扇区没被破坏。
有了根目录扇区后就该计算
FAT
表的长度了,因为
FAT2
是到
ROOT
前一扇区为止且
FAT1
和
FAT2
的长度相同,所以可以非常简单地计算出
FAT
表的长度。然后可以用
FAT2
覆盖
FAT1
,这里用
DEBUG
还是
DISKEDIT
都可以,如果用
DEBUG
一般是用
INT 25
读绝对扇区,再用
INT 26
写入,不过可能要分几次。用
DISKEDIT
可以标记
FAT2
的内容,然后复制下来,再写到
FAT1
。
然后可以恢复主引导记录、隐含扇区和启动扇区。可以先用
NDD
修复分区表,然后可以考虑用标准覆盖法,如果你希望下一步由
NORTON Utilities
来接手,这些都可以不做。用软盘启动后用
NORTON Utilities
扫描
C
盘,文件基本恢复。对
C
盘杀毒后,就基本完成对启动盘的修复工作。
然后再修复
D
盘。再回到
DOS
,用
DEBUG
查找结束标志为
55AA
的扇区,由结构判定是否为扩展分区。并算出大小来添入分区表。当然,
DISKEDIT
等工具可以很好的完成这一工作。
3
.经验总结
恢复数据要本着几项原则:
(
1
)先备份;
(
2
)优先抢救最关键的数据;
(
3
)在稳妥的情况下先把最稳定的鸡蛋捞出来,理应先修复扩展分区,再修复
C
,最好修复一部分备份一部分;
(
4
)要先作好准备,不要忙中出错。
其实看来,如果
FAT2
没有损坏的情况下,恢复
C
盘数据是非常容易的,可以编程实现。如果
FAT2
损坏了,最容易恢复的当然是只占用一个扇区的小文件和连续占用扇区的文件;如果扇区占用不连续的,比较容易恢复的是文本文件。
在此需要提醒读者,如果您没有具备相当的专业知识,千万不要轻易尝试,否则可能会造成数据的彻底无法恢复。大多数情况下应该请计算机病毒防范专家来恢复被计算机病毒破坏的硬盘中的数据。
2.5.3
计算机系统修复应急计划
就象解决计算机
2000
年问题一样,对计算机病毒实施的技术防范,任何一个小小的隐患,都可能导致巨大的损失。所以,防范计算机病毒工作也需要制定应急计划,一旦发生了计算机病毒发作,按预定的应急计划行事,将可能造成的损失降到最小程度。
一个应急计划必须包括人员、分工以及各项具体实施步骤和物质准备。
1
、人员准备:
首先需要指定一个全局的负责人,一般由领导担当,负责各项工作的分和协调。
参加应急工作的人员一般应包括:网络管理员、技术负责人员、设备维护管理人员和使用者(用户)或值班用户。同时,在发现新的计算机病毒疫情后,可以通过防杀计算机病毒厂商及寻求计算机病毒防范专家的支持。
2
、应急计划的实施步骤
应急计划中必需包括的主要工作有:
(
1
)对染毒的计算机和网络进行隔离
由网络管理员完成,网络使用者提供信息,辅助实施。
(
2
)向主管部门汇报计算机病毒疫情
一般可以由全局负责人向计算机病毒防范主管部门,或者计算机病毒防范体系中心汇报计算机病毒疫情,包括发作的时间、规模、计算机病毒名称、传播速度以及造成的破坏。
(
3
)确定计算机病毒疫情规模
通常由技术负责人员和网络使用者完成这项工作,可以在不扩大传染范围的情况下与隔离工作同步进行。
(
4
)破坏情况估计及制定抢救策略
在全局负责人的领导和计算机病毒防范专家的指导下,由全体人员参加,确定破坏的情况以及制定抢救策略,如重装系统、恢复备份等方法。
(
5
)实施计算机网络系统恢复计划和数据抢救恢复计划
在计算机病毒防范专家的指导下,由系统管理员、设备维护管理人员和使用者共同实施恢复计划和数据抢救计划。
3
、善后工作
将网络恢复正常运作,并总结发生计算机病毒疫情后的应急计划实施情况和效果,不断修改应急计划,使得它能够根好地解决问题,降低损失。
4
、此外,在应急计划中还必需包括救援物质、计算机软硬件备件的准备,以及参加人员的联络表等,以便使得发生计算机病毒疫情后能够迅速地召集人手,备件到位,快速进入应急状态。