因特网时代的计算机病毒与防治
#2 计算机病毒的定义
关于计算机病毒,存在着种种定义。日本通产省在“计算机病毒对策基准”中作了以下定义:“病毒是为了对第三者的程序和数据库施加某种危害而制作的程序,它含有至少一种以下的功能:感染功能、潜伏功能、发病功能”。
根据以上定义,只要拥有上述功能之一便可视为计算机病毒。实际上现在已经发现的病毒,几乎都三种功能兼而有之。
#2 计算机病毒的侵入方式
计算机病毒目前已有几千种,其侵入方式大约可以归纳为四种:
以软盘为媒介侵入 感染计算机系统的病毒,多以软盘为媒介侵入。早些时候的例子发生于1990年。当时美国阿托丁格公司在出售一种游戏软件FAR SIDE MOON,该软件存放在3片一组的软盘中。引起问题的病毒侵入其中一片数据盘的引导区。但是,这种类型的计算机病毒仅仅是在用受感染的软盘建立系统时才会侵入。因此它一般不会经由网络侵入。
以软件为媒介侵入 这种例子很多。1991年发生的病毒侵入商用个人机通信服务系统NIFTY-Serve事件,便属于这一类型。侵入的病毒叫“维也纳”病毒,侵入的对象是使用NIFTY-Serve网络来交换软件的用户,病毒感染了压缩软件LHarc。从1991年1月14日该程序在此系统开始使用时算起,到4月3日发现该程序受病毒感染约3个月时间,它一直保持在上载时的状态,凡在这期间下载这一软件的用户都受到侵害。
这一侵害事例虽然发生在个人机通信服务系统中,在因特网也同样会发生。通过使用WWW(万维网,曾译为环球网)和FTP(文件传送协议),下载已受病毒感染的软件,并在自己的计算机执行这一软件时,也将感染到这种病毒。
混在电子函件(电子邮件)中侵入 一种名为“淘气程序”的计算机病毒便是用这种方式侵入的,受害者也是个人机通信服务用户。
1988年9月商用个人机通信服务系统PC-VAN便受其侵害。它经由二进制码函件发送内容不明的程序,执行它时便会在个人机的系统文件上感染这种“淘气程序”病毒。当用受“淘气程序”侵害的个人机访问PC-VAN时,画面会突然停止不动,但很快便恢复正常,似乎什么也没有发生。这时,“淘气程序”乘用户不注意便偷走他们在使用PC-VAN时的ID(身份号)和密码。
这种情况同样会在使用因特网时发生。对于从不相识的人那里发送来的二进制码函件,人们无法知道它输入的是什么程序,而二进制码函件即使使用杀病毒软件也无法进行检查,因此无法判断其是否安全。所以对内容不清楚的程序不仅不能利用,而且要立即删除。
需要指出,能传递病毒的不仅有二进制码函件。1995年夏天还发现了一种新类型的病毒,它经由因特网混在文本文件形式的函件中侵入。
这种病毒叫做“WordMacro概念”,也称为宏病毒,它会感染用微软公司出品的文字处理软件Word生成的文本文件。通过电子函件得到感染这种病毒的文本文件后,只要用Word打开该文本文档,“Word Macro概念”病毒便会侵入计算机。
通过安全漏洞侵入1988年11月,美国纽约州康奈尔大学计算机科学专业的研究生罗巴特·莫里斯,有意把一种计算机病毒放入因特网作实验。这种病毒被称为“网络虫”。它徘徊在网络之中,不断地复制自己并进行扩散,是一种危害很严重的病毒。
网络虫并不感染计算机系统区和软件,所以有人认为它不是计算机病毒。但从它侵入计算机后会造成危害这一点看,它同前面谈到的“淘气程序”是一样的,所以也应把它看作计算机病毒的一种。
网络虫通过网络的安全漏洞而侵入。所谓安全漏洞是指使用链接于特定网络的计算机工作时,用于确认计算机用户合法性的软件的“缺陷”。如果知道了认证系统有什么样的缺陷,尽管未拥有正式的用户ID,也能使用计算机。
由链接于网络的计算机所启动的网络虫,将收集链接于该网络的相邻计算机的信息,还会为了把自身的复制品送入网络而进行线路链接处理。一旦线路链接上,网络虫的一部分即引导网络虫用的程序,便通过安全漏洞送入邻近的计算机。这种程序通常用C语言源码段编制。进入相邻计算机的引导程序,经过远程编译后,便会被启动。程序经由线路,同所引导的网络虫联络,把二进制码段的网络虫读入到相邻的计算机。
在这一阶段,网络虫会被复制到所有相邻的计算机上。同时这些网络虫还会在各自的计算机中反复进行一连串的自身复制行为,因此在因特网中的网络虫便扩散到鼠标算式中。
#2 采取新的抗病毒措施已非常必要
对于混在二进制代码的电子函件中侵入的病毒,一般还无法判别其内容是否安全。因此所采取的措施,只有对发送者确认的内容后才使用,不能确认时只能删除掉。
至于以其他几种方式侵入的病毒,则应采用以下三种防范措施:
利用杀病毒软件 对于以软件为媒介侵入的病毒和混在文本文件形式的电子函件中侵入的病毒,使用杀病毒软件是对付它们的有效措施。
但每种杀病毒软件所能检测到的病毒都有限,因此最好多用几种软件检查。
利用完整性法 为了弥补杀病毒软件的缺陷,还可以利用完整性法。它是IPA(日本信息处理振兴事业协会)于1993年开始进行研究的。
这种措施对上述两种病毒很有效。当软件感染上这两类病毒时,在感染处不再保持信息的完整性。利用这一点便可发现病毒。
采用这种措施需要有软件销售者或分发者的配合。首先,由他们制作两种密钥,并规定署名方法。
一种密钥是给销售者或分发者在对软件进行数字署名时使用的。这种密钥不对外公开,防止附于软件上的数字签名被更改。先由软件销售者按署名方法制作署名数据,再用秘密钥对署名数据加密成为数字署名,然后把加密后的数字署名附于软件上,最后出售软件。
另一种密钥由销售者和分发者事前在钥管理机构登录。它被称为公开钥。用户在验证所购入软件内容时使用从钥管理机构得到的公开钥,对附在所购入软件上的数字签名进行译码,另外还可对所购入的软件另作署名数据。署名方法由销售者及分发者公开,用户也可以从钥管理机构取得。
如果软件感染了病毒,它的内容便和原来不一样。这样,用户用所得到的署名方法生成的署名数据,同用公开钥对附于软件的数字署名进行解密而获得的署名数据不一致。由此便可发现计算机病毒的侵入。
为了实现这一措施,需要软件销售者和分发者进行数据署名,并设立钥管理机构。抗病毒软件无法发现还不知道的计算机病毒,而完整性法则能发现尚不知道的计算机病毒的侵入。所以作为今后抗病毒的措施将是非常有效的。
防止安全漏洞 在上面提到的被网络虫破坏的例子中,被通过的安全漏洞是Sendmail(Unix的电子函件功能)的DEBUG选项。现在链接于因特网的计算机,还有使用这一老式Sendmail的,因此还会发生同样问题。除Sendmail外,还未发现和它一样的网络虫通过安全漏洞的情况。但Sendmail之外也发现了不少安全漏洞。有可能出现新的网络虫通过这些安全漏洞的情况。对付的办法只有一一堵住这些安全漏洞。
查询CERT-CC(设于卡内基梅隆大学内的保护因特网安全的机构)的忠告清单和新闻组网点的Comp.security.announce等便可获得网络漏洞信息,所以应及时获得网络漏信息,并采取相应措施。