[转贴] 目前看到过的各种杀毒引擎最具技术含量的评论!
我感觉,目前论坛上对杀软的讨论越来越进入到一种主观的无意义的争论状态,有技术含量的帖子太少太少。而大多数新手面对各种意见又往往无所适从。
这是一篇讨论杀毒引擎的技术性文章,虽然有些时日,但是我认为,在目前枪手辈出,各种倾向性非常强的评测漫天飞的时代,这篇文章的既有非常高的技术含量,对各种软件的评论也非常的中肯,让我们拨开重重迷雾,看看杀软最本质的东西--杀毒引擎,然后根据每种软件的特点,结合你自己的机器配置情况和工作特性,选择“自己真正满意适用的杀软”。
如同一杯好酒,值得一品再品,这样的好文,也值得大家多多观摩。一个有希望的社会,是百家争鸣的社会,一个健康活跃的论坛,同样需要各种理性的声音。这是我转帖的一点小小心愿。
|转贴|杀毒软件的引擎- -
郑重声明:本贴原作者为走走看看
为防止误解,特作如下声明:
1.鉴于个人能力有限,文中大量借用了业已在病毒界获得公认的两篇文章:先进杀毒引擎的设计原理 ,流行杀毒软件的引擎设计 。
2.为便于理解,文中很多词语未使用严格的工业研发用语。比如杀毒引擎的前端正式名称为‘基于初步预扫描的(文件)对象汇入工程部分"。很多工业用语听起来很拗口,自己变通了一下,感兴趣者可查阅L.Felly:系统的安全与防护 中的有关章节。
3.我认为现今在全球流行的几款杀毒软件在技术上并不存在谁的技术远远领先的问题,没有必要过与赞扬那一款杀毒软件,自己用着高兴就好。文中对某些杀软的介绍比较详细,主要是因为它的资料较多,有东西可写,没有其余的意思。
4.到现在为止,我已经用过几乎所有的杀毒软件(论坛上提到的)
5. 我个人非常不喜欢设计病毒,私下写过的几个纯粹是写着玩,大部分时候是MM生气的时候写个玩笑程序让她高兴用的
6.很长时间不在专业病毒论坛上走动了。我认为如果因为喜欢程序设计看一下病毒的代码是可以的,当出于其他目的的时候,还是收手吧。
7.鉴于个人能力原因,有一部分是MM写的,MM很漂亮,也很娇气,但对我基本上言听计从,必经一起走过了十几年了。原帖子中有一部分是错误的,已经由她修改过。
8.文中有一部分内容来自一个朋友提供的杀毒软件公司的开发文档,我已经大幅改动过。
9.本人是学生,且正在忙于考G,上网的时间并不怎么多,因此很多问题可能并不能及时作出解答,还望原谅。
10.我一直在使用的杀毒软件(其余的半路都卸了):SAV9.0,KV2004(两套系统)。在我看来杀毒软件就只是一款软件罢了,没必要大家为用什么争来争去,自己感觉好就行了,争论的时间还不如用来多陪陪女友呢。
正文部分
文章比较长,加之本人写作水平有限和某些技术文档需要核实,只能写一段发一段,还望大家原谅。有误之处,敬请指出,谢谢!(各段数值标出,每次均对该文件进行编辑.
1.什么是杀毒软件引擎,与病毒库的关系?
首先必须指出杀毒软件的引擎与其病毒库并没有什么直接的关系。杀毒引擎的任务和功能非常简单,就是对于给定的文件或者程序进程判断其是否是合法程序(对应于杀毒软件厂商自己定义的正常和非异常程序规范而言。正常的程序规范是指在程序所在系统平台上操所系统本身洗净有定义的或者业界已经公认的程序行为过程,比如操作系统正常运行就必须要求应用程序与系统核心进行进程响应并与交换相关数据。非异常程序活动是指可能存在非法程序操作结果但能够以较高的置信度确定其非非法程序活动规范的。一般情况下,相关文件的复制,移动,删除等都奔包括在该界定范围内)。
我们知道病毒的最终目的有些是与合法活动很类似的,在这种情况下,要求软件厂商必须自己有一个行为规范界定规则,在一个给定的范围和置信度下,判断相关操作是否为合法。在这方面,各个厂商的界定是有区别的,一般而言非美国厂商界定是非常严格的,只有有很高的置信水平的程序行为,他们才判别为非病毒操作。记得前一阵论坛上有人给了四段简单的代码,很多杀毒软件将其判为病毒或有病毒性质的文件行为,实际上看那几段代码可以知道,其结果并不足以视之为病毒。美国厂商一般判断比较复杂,这主要由于美国市场上的杀毒软件引擎来源比较复杂,比如诺顿,有足够的技术资料确信它的杀毒软件引擎是自成体系的,而mcafee则存在一定的外界技术引进(收购所罗门)。