2007年5月21日

杀毒软件哪个好?

嘿嘿,自己取这个题目的时候觉得,这个破题目感觉像要给某软件做广告,或者就是一篇杀毒软件的横向测评报告。嘿嘿,错了,不是。是什么呢?看下去。看不懂的可以以各种方式吱一声,我负责解答,我解答不了的,我可以帮你问问google,google上面也没有的,可能只有比尔盖茨说得清楚了,这样看来,比尔盖茨=上帝。嗯,这次你对了。(你看我说话这么言简意赅,连符号都用上了,我哪里罗嗦了?嗯?今天批评我很罗嗦的某人)

好了好了,开始入正题,咳咳……

最近杀毒软件呢,出了几件大事,嗯嗯,大事!大事!大事哦!作为IT人士的我呢,如果不说两句,心里十分之不痛快也。注意:我是IT人士哦!作为一个成功的IT人士呢……好,下次再说IT人士的话题。现在说杀毒软件。

最近杀毒软件出了两件大事,

一件是Norton(诺顿,一种著名杀毒软件)杀了也就是强行删了中文版Windows XP(微软公司推出的一种电脑操作系统软件)的两个重要的dll文件,导致这些Windows XP用户开机蓝屏,也就是说这些用户头天关了电脑,第二天一早打开电脑,发现:哇色,我的电脑怎么了?这个品牌的破电脑,再也不买它了!谁怀疑得到Norton身上呢?

另外一件是Kaspersky(卡巴斯基,另外一种著名杀毒软件)杀了瑞星卡卡(瑞星<另外另外一种著名杀毒软件及其公司>推出的一种非杀毒软件)的升级文件,导致瑞星卡卡的用户不能正常升级瑞星卡卡。

下面正常说话。

对这两起事件,网上评论很多,有神经病扯到了国家民族的高度,这种人可以不去管它。不过,值得关注的是,有一种主流民意认为这是Norton和Kaspersky的错。当然从经济赔偿上面讲,norton绝对应该赔偿用户的损失,kaspersky的事情谈不到赔偿上。但是从技术上面讲,我比较相信Norton和Kaspersky是技术上无辜的。

要谈这个问题,我们先要了解现在杀毒软件有哪些基本技术帮助我们防御病毒。首先肯定最基本的是病毒码判断技术,绝大部分病毒都有自己独特的一段代码是其他正常软件不会有的,找到了这段代码等于找到了病毒的身份证,也就可以把病毒揪出来。第二,由于很多病毒现在用了各种各样的技术伪装自己,比如加壳技术,所以真实的病毒执行代码并不容易获得,所以各种杀毒软件想出了另外一种判断病毒的方式,就是判断软件的行为来判断这个软件是不是病毒,这就是所谓的主动防御方式。举个例子,中国的警察叔叔喜欢查身份证,如果哪天查到一个身份证,发现这个身份证是通缉犯,那警察叔叔就会毫不犹豫把通缉犯抓起来。但是,罪犯并不一定都在通缉的黑名单上,即便通缉的黑名单上有罪犯,狡猾的罪犯也知道换一个身份证。所以警察叔叔必须学会主动防御,比如,一旦某人发生了抢银行的行为,那么警察叔叔可以毫不犹豫的说这个人是罪犯并且把它抓起来。这就是被动防御和主动防御。

为什么我比较相信Norton和Kaspersky是无辜的呢?

先说Norton。Norton傻啊?不知道这种事会对商业利益和商业信誉造成损害啊?难道有人会相信Norton的项目主管和微软有仇?一般来说不会吧,所以我们可以初步判断Norton这个属于误杀。

这里要解释一下什么叫做误杀,误杀就是把本来不应该杀掉的文件当作病毒杀掉了。这在主动防御中比较容易出现。也就是说某软件产生了某些行为,看起来好像很符合病毒行为的定义,但是其实这些行为是正常的合法的。还是警察叔叔的例子,比如银行抢匪的行为有一个重要特点,就是把钱大把大把的往外运,但是人家银行正常转账也会大把大把把钱往外运,那警察叔叔监控到银行的钱被大把大把往外运的时候,抓还是不抓呢?所以一般我们不把这种行为看作一定会产生危险的,我们只把它们称为有潜在危险的行为。在软件上面找一个例子,比如,金山词霸在鼠标抓词的时候用到了一些软件注入的技术,软件注入也是很多病毒会用到的技术。可以这么说,绝大部分软件注入的应用都是病毒,因为好端端的没事,一个软件干嘛去对别的软件动手动脚的呢?所以大部分杀毒软件把软件注入定义为潜在危险行为。所以也就有很多杀毒软件对金山词霸的鼠标抓词报病毒的现象。因为主动防御的这种不确定性,大部分软件在处理主动防御的时候都是很谨慎的,比如提示用户,这里有潜在的危险行为出现,是一直不管它还是干掉它,主动权交到了用户手里。

回到Norton的话题,Norton这次误杀可能不是主动防御引起的,因为Norton没有提示用户,而是选择直接干掉之,说明Norton软件比较确定这是一个病毒(这里的病毒指广义的病毒、木马、后门等等)。那么,真的是“误杀”吗?既然不是Norton故意为难微软,Norton的软件又很确定这是一个病毒(实际上据说是一个后门),那么我倾向于相信这两个文件真的有问题。看来微软是不是要好好找一找问题的所在了,这次是Norton还好说,下次是人家利用漏洞的攻击,又造成冲击波那样的惨剧就不好了。

然后再说Kaspersky。Kaspersky据说和瑞星有仇,当然嘛,同行是冤家嘛。不过Kaspersky要干掉直接把瑞星软件干掉就行了吧,干嘛要不痛不痒的干掉一个瑞星卡卡呢?并且还只是瑞星卡卡的升级功能相关的文件而已。所以我相信,Kaspersky这是“无心之失”,我甚至于相信瑞星卡卡真的有什么“潜在的危险行为”存在,瑞星可以反省一下自己,并且大方的让我们知道,是不是在卡卡这个软件中做了什么不光彩的动作?

另外就Kaspersky和瑞星这个事情,我想讲一下软件行业处理这样的事情的通则。软件不兼容是常有的事情,比如新版的操作系统vista和很多软件的兼容性就不好,常常造成冲突。一般的解决办法是,如果不兼容会造成用户损失的,由出问题的软件及时负责帮助用户避免或者减少损失,然后两方充分沟通,力争在最快时间通过软件补丁等办法为消除冲突,达到最终兼容的结果。反观瑞星的做法,不管从瑞星还是Kaspersky的声明当中,我都没有看到瑞星发现问题之后去和Kaspersky沟通的迹象,而是先发了一个措辞强硬的声明,含沙射影的指责Kaspersky利用杀毒软件排挤对手。瑞星这种做法令我觉得很不齿。

还有,就像我前面说的,很多杀毒软件在面对潜在的危险行为的时候,都会给出提示,提示用户避免还是保留这个行为。如果Kaspersky报卡卡有问题,用户只需要点击“跳过”就可以避免删除卡卡的文件而导致的不能升级。很遗憾我也没有看到瑞星首先发布怎样让用户避免误杀,而是只有气势汹汹的指责Kaspersky。

所以,不管是遵守软件行业的通则也好还是对用户解决问题的服务也好,瑞星都还有很长的路需要走,一个成熟的公司不是靠贬低对手而成功的。我们真心希望看到瑞星的越来越好。

没有评论: