6
本文作者: haoxiaoru | 2014-11-28 07:53 |
或许你不知道:iPhone 的 CPU 最早由三星设计和制造,但从 iPhone 4s开始,苹果逐渐转向自主设计 CPU,仅由三星代工制造。直到 iPhone 6,将大部分CPU代工制造部分交给另一家公司,成功摆脱对三星的依赖。
几乎同一时期,社交网络公司腾讯在另一个常人认为它不擅长的领域——安全软件上演了类似的剧情:摆脱对国外杀毒引擎的依赖,改用自家产品。
杀毒引擎是什么?若将安全软件比作汽车,那杀毒引擎就是它的发动机。众所周知,国产杀毒软件技术路线都是从进口发动机开始的,这种方式也被成为OEM引擎,腾讯自然也不例外。在腾讯负责自研引擎的于涛告诉雷锋网,2010 年 QQ 电脑管家还在采用OEM杀毒引擎的时候遇到两大问题,一是国外的杀毒引擎并不是针对中国市场环境设计的,二是OEM引擎无法适应互联网产品小步快跑、快速迭代的开发节奏。
于涛和另一位负责产品的同事桃子回忆称,有一年遭遇 Office 宏病毒的某企业寻求腾讯安全人员的帮助,虽然电脑管家内置的小红伞引擎(Avira)可以识别此病毒,但处理方式是删除整个文档。对中病毒的用户来说,把刚刚写好的文档删掉是不可接受的。他们为此与小红伞沟通,但对方并不认为这种处理方式有问题。“看来指望第三方来做好这件事是没戏的。”
很多人以为3Q大战后腾讯才开始注重安全,其实不然,鉴于针对QQ盗号的木马丛生,鹅厂本身也有足够的动力为QQ用户提供保护。但也不能否认,3Q大战的促进作用。
早在2010年,3Q大战开始前两年,腾讯就开始自研杀毒引擎之路。2011年,自研引擎初具模型后,首先被部署到电脑管家的后台,负责云查杀。这时候它也有了自己的名字 TAV——Tencent Anti-Virus。与此同时,开发人员拿它与国内外主流安全软件做了初步的性能横向比较。
“云查杀的效果和横向比较的数据给了我们团队很大的一个信心。”于涛操着一口标准的东北普通话娓娓道来,跟讲话似挤牙膏的技术人员截然相反,“2012年初,腾讯要推出一款将杀毒和卫士类产品合二为一的产品,那个时候电脑管家的产品团队对 TAV 不是特别有信心,于是我们团队向老大立下军令状,以类似灰度发布的方式逐步向用户前台部署 TAV。”
在北京的TAV研发团队,前排右一剪刀手是于涛,他右后的女剪刀手是桃子。
电脑管家由多个不同的功能模块组成,负责整个产品开发的团队主要在深圳总部,而负责“发动机”TAV研发的技术团队主要在北京。
“灰度发布”是一种互联网时代的软件部署方式,指的是让一部分人先用上某些功能或特性,经过验证后再全面部署给所有用户。从TAV引擎与OEM引擎的 2:8 用户比例,再到 5:5 比例,目前电脑管家已经默认全部采用自研的 TAV 引擎。尽管如此,电脑管家依然保留了开启“小红伞”引擎的选项,于涛称这是为了给用户选择,也方便技术爱好者做对比,但实际上主动开启小红伞的用户非常少。
2012年中到2013年中,是考验 TAV 引擎的时期,一个产品从实验室进入亿万用户的电脑,面临的问题自然不会少。“这一年基本上就是卧薪尝胆、练内功。”于涛总结道,“主要抓产品稳定性、识别率等关键性能指标。”
2014年上半年,采用TAV引擎的电脑管家拿下两个权威国际认证:西海岸实验室和 VB100。拿到两个关键的认证标志后,TAV引擎开发团队的技术实力得到了认可,立下的军令状可以交差了。
这两个认证主要考验的是杀毒引擎的实力,是技术团队最看重的。其实国际上还有两个安全软件的认证非常权威,AV-TEST 和 AV-Comparatives,但这两个认证主要考察的是产品体验以及对操作系统的影响。“比如,同样是一个安全软件遇到的新文件,可能有的产品认为不在信任名单的就报警,也可能有的产品认为必须监测到真有危害才报警。不同方案对用户的感受是不同的,那么如何处理它对用户来说更友好,就涉及到产品端的设计,跟杀毒引擎的关系不大。”于涛解释,“我们目前正在做的就是配合产品团队争取后两个认证,争取在今年末或明年初的时候拿下来,证明我们腾讯做安全也是顶尖的。”
到了2013年,随着用户量级和安全环境的变化,TAV 需要处理的样本量每天达到了百万甚至上千万级。这时候 TAV 在技术路线上面临两种选择:要么像老牌杀毒软件厂商一样,招更多的人来处理样本;要么开拓新的方法,更符合互联网时代的方法。
传统安全软件是通过特征码来判断一段程序是否含病毒的,如果一段程序(样本)被杀毒引擎“拆解”后可以匹配病毒库中的一条特征,那么就判断它是病毒。这种方法没法适应现今的实际情况,因为病毒变种很快,仅依靠特征很容易误判和漏判。
杀毒引擎的机器学习数据模型训练方式,示意图。
依托海量数据、大规模计算技术的普及,机器学习的概念这时候刚刚兴起。负责 TAV 引擎开发的团队敏锐地意识到机器学习将为杀毒引擎带来革命性变化,更新自己的知识结构成为当务之急,挑灯夜战是免不了的。没过多久,这只精英部队就掌握了新的机器学习方法:先通过被称为哈勃的海量文件分析系统,让文件(程序)在后台系统的“沙箱”中真实地运行起来,然后根据这些程序的行为对其做出判断,黑、白或未知。据此训练出一个数学模型算法:当一段程序执行起来具有哪些行为就将其判断为病毒。
可以这样理解,如果把互联网病毒查杀和医疗领域作对比,那么传统医疗方法是根据病人的各项医疗检查和医生的判断,比如血常规,CT,核磁共振这类的。而新方法是将大量生病的病人的DNA与正常人的DNA做对比,通过统计的方式找到致病基因和这个基因的致病概率。
近几年的电脑病毒最大的两个特点是趋利化和在线诈骗行为增多。“但我们也发现,容易中毒、上当和被盗号的总是同一批人,原因在于他们的电脑使用习惯不好。”
“对于中国用户来讲,在电脑上全都用 Administrator 管理员账户是个恶习,打开了所有权限容易被利用,我们倡导普通用户使用 User 账户。很容易类比的是,iPhone 比 Android 手机,尤其是 root 后的 Android 手机安全,就是因为权限管理更严格。”这是于涛常常会给自己的家人、朋友的建议,他希望这一理念可以影响到更多用户。
TAV 杀毒引擎历时4年多研发,它除了电脑管家的“发动机”这一身份,还作为一项腾讯安全体系的基础能力服务于众多其他产品。“腾讯做安全也是顶尖的”,于涛不经意说出口的一句话,恐怕也是腾讯最想从用户那里得到的评价。
雷峰网原创文章,未经授权禁止转载。详情见转载须知。