卡巴斯基实验室业已成为网络安全行业的知名全球企业,一路走来,卡巴斯基经历了无数重要里程碑,其中最重要的即是推出革命性的卡巴斯基反病毒软件6.0。此版本软件于2006年正式推出,不久就在全球反病毒市场上赢得了用户的交口称赞,为卡巴斯基在未来几年内发展成为技术领导企业奠定了基础。将我们的产品称之为是全球最佳反病毒解决方案未免有些过誉,但确实是许多杂志和独立基准测试实验室对我们的评价。 卡巴斯基的成功之路并非一帆风顺,而是布满了荆棘和坎坷,希望好莱坞编剧有一天能以此为素材拍一部电影,再现当时的情景;但在此之前,我们将通过最初开发团队的照片、备注和备忘录的形式来与大家分享我们的成功故事。希望我们的故事能对现在年轻一代的新应用和服务开发者们有所引导,只要像我们最初的”Six”开发小组那样怀揣着梦想,希望有一天成为业内的佼佼者,那么成功一定离你们不远。 困难重重的2003年 “Six”是从上一版惨败的土壤中开出的成功之花。事实上第五版从未见过天日,与当初设想的完全不同。 要了解导致这一惨败的原因,我们将时钟拨回2002年:当时Windows XP才不过刚刚上架销售;CPU主频终于达到1 GHz的时钟频率;反病毒行业相对年轻,还没有遇到各种全新的威胁。所有反病毒企业都渴望拓展产品功能:当时有竞争力的解决方案必须含有防火墙、持续运行的系统监视器和其它数十种功能。 虽然卡巴斯基开发团队早在上世纪90年代就构建了强大的扫描引擎,但他们也承认,该解决方案中装满了各种各样的新功能,导致运行速度极慢,让人无法忍受,甚至当时的V4.0也遭到不少用户的诟病(当时只要谈到有关电脑的话题,就免不了有各种类型的指责”卡巴斯基运行太慢”)。这就是为什么新版5.0的开发过程非常谨慎,考虑到了许多核心的业务要素:新首席技术官走马上任,采用了新的开发框架,并选择了新的反病毒架构。 当时是倾全公司之力为此项目提供支持。但一年后,我们得出的结论是,即便严格遵循所有这些新的开发规则,也不一定就能保证开发出具有竞争力的产品。开发出的这套系统仿效的是企业级客户端/服务器应用(架构由CTO亲自择定),但无法满足市场上对反病毒产品提出的各种要求。该系统速度慢,占用资源多,bug无数,且在团队运行测试后依然未有减少。事实上bug数量是不减反增。 “我开始向公司元老们征求意见。他们说这都是架构的问题。就像一座纸牌搭建的房屋一样:手忙脚乱地拆东墙补西墙,结果整个房子塌掉了。”尤金•卡巴斯基(Eugene Kaspersky)承认。所以继续按原样改进这个项目毫无意义。我们必须全盘推翻从头开始构建。 我们能做到! 卡巴斯基实验室开发团队兵分两路:一路不管选择的架构多么不合理,仍奋力修补产品;另一路则负责将上一版V4.0改造成适用的新产品。 与此同时,一支四人小组决定开发一款全新的产品,不仅要满足各种市场需求,而且永不过时。这一目标由”Six”开发团队设定,但说起来容易做起来难。新版本必须做到防范所有病毒和威胁入侵系统,同时要求速度快、灵活性强、透明度高,哦……还得外形靓丽。 “我们只是想做出一款前所未有的最佳产品,”Six开发团队回忆道。这个短小精悍的开发团队肩负着极重的任务,受到公司其余200名员工的关注。但迎战这一艰巨使命的小团队还是有理由保持乐观:公司创始人尤金•卡巴斯基和Alexey De-Monderik当时正在寻找新的替代架构,他们即将发现替代架构确实存在,而且不是别人,正是卡巴斯基团队自己开发的。 来自布拉格的帮助 必须承认,在V4.0中装有两个反病毒内核(即所谓的”引擎”),以捆绑软件的形式运行。文件检查则由能力出众的旧版(受到包括G-Data到F-Secure的许多跨国公司的大量许可)V3.0引擎负责。V3.0早在1996年就已开发出。加强网络流量过滤功能的新任务则由1998年在布拉格头脑风暴会议过程中设想出的全新强大机制来处理。 该引擎最终被称为”布拉格”,虽然事实上是由Andrey Doukhvalov在莫斯科开发出的。Andrey Doukhvalov当时并未参加在捷克共和国首都布拉格举行的头脑风暴会议。但关键性的想法是源于布拉格,所以Andrey来公司后绞尽脑汁,基于这些想法实施了”布拉格”概念。 “布拉格”意图成为纯反病毒内核,但为其设定的目标实在是雄心壮志,以致于新开发的这款引擎的灵活性和独创性完全能够支持更复杂的系统。就像Andrey和开发人员说的,能否基于”布拉格”来实施整个产品这个问题给卡巴斯基带来了沉重的压力。 “有一次我问Victor Matyushenko关于布拉格在产品内部的表现如何时,他说”像磐石一样坚固!”突破就在这里。我把刚才这个问题整理了一下,然后走进Graf [De-Monderik]和Petrovich [Doukhvalov]的办公室问了他们以下问题:”为什么我们不把产品整个基于布拉格呢?”Graf说了一些”布拉格不可能这样用”之类的话,但Petrovich犹豫了一下。第二天他来办公室时带了一小叠纸,然后和我说:”我基于布拉格编写了一些用例代码。”Graf抬头看看他说:”我们得谈谈。”他们俩谈过之后,又一起来找我,确定这值得一试。” 试验由一支非常精简的团队负责执行,是他们编写了日后成为”Six”产品的第一批代码。 试验由一支非常精简的团队负责执行,是他们编写了日后成为”Six”产品的第一批代码。 “我们开始四处招人,希望找到有创造性,能献计献策的人才,他们就是这支团队的扩编人员。”De-Monderik回忆说。”比如编码员Pavel Mezhuev,他虽然是新手,但非常聪明。还有Mike