|
沙发
楼主 |
发表于 2007-7-18 02:41:21
|
只看该作者
杀毒引擎
以下为各家厂商的杀毒引擎简介,文中有一部分来源于业已公开的技术资料,有一部分来源于在病毒论坛上被奉为经典的反编,还有一部分来源于厂商技术人员的介绍(官方和私下的都有)。
1.诺顿:这个最熟悉了,诺顿的杀毒软件实际上防止侦测方面做得并不是很好,很多病毒程序在子程序段中经常借鉴搞崩诺顿的代码,希望在新版本中诺顿可以采用更强的自身防护技术。诺顿的引擎应该是完全自成封闭体系的,没有资料证实诺顿曾经购买或者借鉴过别的杀毒引擎。传闻很多公司都在设计时参考过卡巴斯基的泄漏版引擎设计,因此曾经在微软社区在线聊天时,问过这个问题。回贴一致认为诺顿借鉴卡巴斯基的杀毒引擎毫无必要,它自己的引擎搞得挺好的。有一个叫fenssa的家伙甚至回贴说不考虑病毒库因素,诺顿的杀毒引擎相当先进,综合防护性能很好。在微软,除了用Mcafee的就使用诺顿的(这一点我比较相信,很少见到别的杀软在微软被使用)。从诺顿的技术文档描述和在病毒论坛上流传的29A的一个家伙搞的一篇叫虚拟机环境下诺顿工作过程的步进追踪和反编的文章来看,诺顿的杀毒引擎应该是传统的静态代码对应与实时监控的完美结合,应该有一些改进的虚拟机技术在里面(诺顿的人并不怎么推崇虚拟机技术)。诺顿的杀毒速度慢,应该源于诺顿采用了较多的静态代码这种传统的检查方式有关。我个人非常喜欢诺顿的隔离机制,我认为在没有确定完全正确的处理方式之前,删除是不应该被采用的。一个高手写的病毒应该能尽可能的与系统进程相关,在这种情况下,隔离的优势立刻显现。诺顿资源占用量比较大,但实现了如下设计目标:能识别的病毒和被识别为病毒的进程完全可以正确处理,对已经不可能产生破坏作用的“病毒尸体”不会产生误判,更不会出现一次又一次的在处理完某病毒后又检测其为病毒的状况。
很多人认为诺顿企业版和个人板采用的引擎完全一致,这种理解不很正确。实际上企业版在个人板的技术上还是有改进的。Zdnet上刊登过一篇文章指出:企业版和个人版引擎的核心规则完全一样,但在前端文件汇入部分企业版是优于个人版的,企业版使用了更多的API接口。文章中说,在大规模文件扫描时,企业版明显优于个人版。并且由于使用了负载技术,企业版资源占用还好一点。另外据说企业版支持基于网络的多重负载技术。
2.Mcafee:记得看过一篇报道说Mcafee收购过别的杀毒软件引擎设计公司,据回贴可知为所罗门。在网上很少能看到关于对Mcafee的杀毒引擎进行过分析的技术文档,但从他自己宣传的资料看,Mcafee对虚拟机技术和实时监控研究的都挺彻底的。比如他最近宣传防止应用程序溢出(大致这个名字)的技术,应该是在不考虑硬件平台的情况下虚拟机技术和实时监控技术结合的上乘之作,尽管经常出现错误的溢出侦测(软件层面的防溢出技术确实不很稳定)。在处理大量的文件时,Mcafee有一定的速度优势(微软社区中有这个问题的论述)。有来自于Mcafee论坛的消息说,Mcafee 正在研究更先进的智能码扫描技术,估计肯定比东方卫士搞得要好。根据组长的回贴,Mcafee自发布VSE8.0i以来就着重于“前慑防范”这一新型的安全领域,并且NORTON也在朝这一方向迈进。“前慑防范”一共分为两个部分,其一为运用部分防火墙技术外加其入侵检测技术有效的阻断病毒的传播源,以至于病毒在传染的初期无法得到大面积的传播降低了危害性;其二为依靠其强大的特征码检测技术(Extra.dat)对病毒的行为方式、特征代码等进行检测,依靠它强大的研发团队以及策略联盟伙伴使其在这一领域独树一帜。诺顿能在其新版产品中也加入了一些原本属于防火墙的功能。发邮件询问诺顿的研究人员为什么没有采用特征码杀毒技术,回应说一个完美的特征码扫描技术应该能够达到根据用户的指定加入特定文件为病毒的目的,也就是当用户指定某个活动程序为病毒时,杀毒软件的引擎能够根据自身的规则为该活动程序定义一个特征码,并且在控制该活动程序时,能够有效地断绝其与系统正常进程的关联。在没有这个水平之前,诺顿不会大规模采用特征码技术。从Mcafee的技术文档来看,Mcafee也只是有限度的试验性的研究该技术,并在比较有把握的地方应用。实际上两家公司在这方面还有很长的路要走。
3.卡巴斯基:被过度神话的杀毒软件。我个人非常尊重卡巴斯基的高水准,但说句实话,在不考虑资源占用的情况下,卡巴斯基并没有什么足够的理由能够让我放弃诺顿,二者的水平并没有什么差异。在稳定性上,卡巴斯基比诺顿要差一些。由于早些年卡巴斯基的引擎曾经泄漏(实际上泄漏的并不是初始源代码,只是泄漏的引擎可以比较容易的反编),因此网上可以找到很多关于卡巴斯基引擎的非常详细的技术分析,尤其是德国的病毒高手写的关于如何优化卡巴斯基杀毒引擎的文章,被认为是所有采用卡巴斯基引擎的杀毒软件厂商必看的文章之一,就象美国人写的那篇VB100到底怎么测试杀毒软件(里面作者综合近几年的测试结果推测了VB100在测试时可能使用的病毒类型,相关比例等)是杀毒软件厂商在将自己的软件送测前必看的文章一样。从网上大量的分析文档看卡巴斯基的虚拟机技术是很优秀的,但是去年有人发贴认为卡巴斯基的良好的性能来源于它非常庞大的病毒库和良好的升级速度,其杀毒引擎设计水平并不高于其余的公司。卡巴斯基的引擎采用了所谓的单一形式的规则判断,众所周知诺顿是基于分类的规则处理。卡巴斯基的引擎在文件标识比对病毒库的时候被认为有着很好的性能,充分利用了处理器的处理能力,“但令人担忧的是,该公司对最新出现的技术并不充分重视”(英国的计算机杂志去年年末的评论),究竟是对原有引擎进行彻底改进还是大量使用新技术,估计谁都不知道。卡巴斯基的引擎存在叫做所谓的“过于简短的文件码”问题,说白了就是有时候会鞭尸,它的研究人员说正在改进。前段时间有人发帖子中指出病毒编写者只认可卡巴斯基,说实话看了很多论坛文档,好像没有哪个强人这么说过。卡巴斯基走的是与美国厂商有很大区别的研发道路,卡巴斯基很少引用别的公司开发的技术,而是在不断的深化,改进自身的杀毒引擎,单从某些方面评论,卡巴斯基的引擎代表着业界最高水准,但并不是全部。卡巴斯基是一款很好的杀毒软件,但并不是神。应该说它与诺顿,Mcafee一样都站在杀毒软件的顶峰水平上。
在国内,一直有江民的杀毒软件采用卡巴斯基引擎的传闻,说句实话业界相当一部分杀毒软件都参考了其引擎设计,即使在国内也没有足够的信息证实只是江民参考了其引擎设计。很多人都使用各种各样的病毒包对卡巴斯基和江民进行测试,测试结果是完全一样。说句实话,这种测试并没有什么可信性,对化石孢的检测各种杀毒软件结果几乎都一样。只有两种方法能够说两者的引擎如何:1.将两款软件送至VB100或者类似的权威机构进行测试,如果两者对其中未知病毒的测试结果(这个结果并不公布,厂商自己去买)完全一样,那什么都没说的。两个不同的引擎机制在对待同样大规模的未知病毒库时出现相同的检测结果近乎是不可能的。可惜的是,江民没有参加过VB100测试,好像也不大可能个人有足够庞大的未知病毒库来进行检测。2.采用类似于破解的方法进行反编,分析整个软件的工作机制,工作量有多大相信都能猜出来,也没有见过有人搞过这种研究。因此我个人只能认为江民可能(较大程度的)参考了卡巴斯基的杀毒引擎设计,但从两款杀毒软件的灵敏程度,杀毒速度等诸多方民看,即使江民采用了卡巴斯基的引擎,江民也应该进行了很大程度的源代码修改或者优化,另外也有消息说江民在引擎中加入了一些自己开发的技术,在实现方法上类似于数字码技术。霏凡上曾有高手指出假如公布两款软件的源代码,可能并不会有人能看出二者有什么关系。实际上,当发现江民的软件并不能使用卡巴斯基的病毒库的时候,我们就应该知道即便曾经借鉴过,二者也已经可以被认为是不同的杀毒引擎。可能在Windows3.x平台下,二者曾经很相近;但是今天我们在使用Windowsxp.即使江民确实采用过卡巴斯基的引擎,那么可以说江民在某些方面发展了这套引擎,尽管这种发展未必与原始的研发方向相符。但无论基于何种角度考虑,我认为江民的杀毒软件还是有优秀之处的。毕竟你回头看一看国内的杀毒软件厂商,在真正的技术研发领域只有这么一面旗帜偶尔飘扬。一步步走下来,江民还是有技术进步的。只就纯技术因素而论,假如江民采用了卡巴斯基的引擎,那么今天两家厂商在不同的方向上发展着那套原始的引擎,这未必是坏事,只要不固步自封,我们好像没什么必要争论两家厂商是否一个原始祖先,怕的就是在别人都往前跑的时候自己停下来,这跟自取灭亡没什么区别。尽管市场是杀毒软件厂商的第一要素,但别忘了技术是一个杀毒软件能否基业常青的决定性力量。
再加入金山和F-Secure杀毒,从它们来看多引擎。
这两款杀毒以前都以多引擎著称,看看真实的情况,说起金山,感觉有点遗憾和压抑。对自己的正版用户都撒谎骗人。大家一定知道金山毒霸是怎么出道的,途径和今天的病毒驱逐舰是一样的,在DR.WEB的引擎外面加了个包装。不过在中国是金山公司加的。当年的毒霸其实真的不错,可以说比当时的瑞星和KV都好,这也是应该的,拿DR.WEB和当时的瑞星和KV比,中国的当然干不过它。所以金山毒霸当时一举成功。但当时金山根本不是它说的多引擎,其实就一个DR.WEB的。为什么啊?大家一定认为我乱说,事实上毒霸2003号称集成AVP引擎,2002版及之前又号称是Dr.Web的,可见其所谓“国内引擎”是Dr.Web,金山并无其自己的引擎。其实DR.WEB在2002年以前就停止了和金山的合作,你现在知道金山毒霸的用户为什么从2002版金山开始就老是骂金山毒霸不管用了吧。的确从2002版金山毒霸,质量就十分差了。还有一点,你把金山毒霸和DR.WEB一起打开杀毒,看看占多少内存。估计今天的机器也够呛,要真是多引擎,当时的机器的性能能运行吗?扫描能那么快吗?简直就是骗人。
人家F-Secure的杀毒软件才真正是多引擎(以前的版本),故乡芬兰,集成了AVP,LIBRA,ORION,DRACO四套杀毒引擎。基本是走的卡巴的路线,加上自己的引擎,现在的F-Secure占内存很少。现在是不是多引擎我就不知道了,有很多人喜欢这个东东。我告诉你有个办法可以拿到正版,你去用微软推荐杀毒,其中就有这个,不过是英文版的,可以用一年,破解的生级后,容易出现像DR.WEB那样的情况,从汉化的变成英文的。如果只杀毒的话,这个F-Secure我还是很推荐的,现在的病毒库也不如以前的版本了,你装上它就会发现它有N个进程,很占内存。这个家伙才是真正的多引擎,这个家伙很早就集成了卡巴的引擎,甚至在一段时间还在VB100中超过了卡巴,你运行一下就知道什么叫多引擎杀毒了。
在我看来金山是最会做秀的,把木马库拿出来做个木马专杀,当时的木马专杀仅仅可以检查EXE关联与win.ini,winstart.bat以及system.ini,就不用说和国外的木马专杀比了,估计木马克星也会笑死它,在防火墙上加入杀毒引擎,这些其实都没有实质性的作用,作用只有一个——作秀,让中国不懂杀毒软件的老百姓去买金山毒霸。自从不用DR.WEB引擎以后金山几乎就垃圾到家了,如果你是金山的FANS一定看过金山毒霸6加强版出来时,他们说过一句话,“我们从来没有对毒霸这么有信心过”,看来自己也是知道不行的。那个时候为什么有信心了,因为加强版终于可以查杀他们在2003版就宣传的可以彻底查杀RAR文件病毒。现在金山的新引擎居然说可以杀某些很生猛的壳,甚至加壳后加跳针的,简直就是骗人。它没有虚拟脱壳怎么杀啊???这不是坑中国老百姓吗?金山的FANS可能看到要骂我了,用事实来说话,你如果在病毒重灾区,你装上金山毒霸2006,从此你就别清闲了!!!我什么都不说,不信你就试试看! |
|