抛开360在互联网界的有争议行为,单纯从安全的角度来说,360的安全实力如何?360杀毒,360安全卫士的真实杀毒能力如何?”这是这两天在知乎上火了的一个帖子,小爆觉得提问确实很好,抛开了外界看待360固有的带有偏见的角度,而是回归了技术本质。
抛开360在互联网界的有争议行为,单纯从安全的角度来说,360的安全实力如何?360杀毒,360安全卫士的真实杀毒能力如何?”这是这两天在知乎上火了的一个帖子,小爆觉得提问确实很好,抛开了外界看待360固有的带有偏见的角度,而是回归了技术本质。在这个话题下,也产生了一个在小爆看来不明觉厉的答案。可惜的是,该用户选择了匿名,让人无从知晓该大牛是谁。道理有几分?看看便知晓。我与360的接触是从傅盛、徐鸣在360刚刚开始做卫士的时候开始的,后来由合作伙伴转为既有合作又有对立的“兄弟厂商”(尽管还是竞争的时候多一些)。
客观评价360的实力,要从多个维度来看。按照传统分类,我们从终端安全、网络安全两个角度来看。
360从终端安全“白手”起家,查杀“3721”等流氓插件,给系统打补丁,嵌入安天的AVL引擎查杀木马,引入免费的卡巴斯基,免费的bitdefender、小红伞,进一步推出自己的QVM启发式引擎,将win7以后的新安全机制引入XP制造出XP遁甲,为微软不断的提交漏洞。一步步走来,360从一个小作坊到100亿美元的巨型企业,其终端安全能力一直是竞争力的基石,这种能力的成长过程也是由奇虎公司的资本以及相关的利益集团的资本驱动的。
“怎么能够让我们的插件不被卸载?”这是老周他们在初期面临的技术问题。这个时候他们连最基本的安全能力都完全不具备。但随着竞争的激烈,就像今天的各种“全家桶”相互对抗一样,各家的技术不断的升级,新技术不断的引入。这些积累构成了360安全卫士查杀流氓插件的基础,在那个时期,360在安全大佬的眼中不过是“小赤佬”。但360的主动防御等技术却是从次开始起步。
“卸载流氓插件叫好不叫座,没有用户粘性”面对自己的黑历史,无论老周怎么开炮也很难取得用户的信任。但为用户打了补丁,特别是在XP系统自身补丁机制体验极差的情况,给了360第一个粘住用户的功能,解决怎么打的快,为什么有的补丁打不上,等等问题的过程中,360形成了另一轮技术积累。
“免费杀毒”,早起360自己是没有杀毒能力的,卫士里面嵌入了一个查杀木马的模块,用的是全文散列,至今全文散列仍然是360杀毒的主要特征之一。当然,傅盛、徐鸣很早就知道这种粗糙的方法不是长久之计,要想学习、积累必须要选择适合的合作对象。在机缘巧合之下,360卫士嵌入了安天的AVL反病毒引擎。作为一个有野心的公司,每一次OEM都意味着一次学习的机会,各种逆向之后,尽管还没有吃透杀毒引擎到底是怎样的才算好,但用户规模已经不允许360止步不前了。市场攻坚的需要也好,技术引入的需要也罢,360引入的卡巴斯基引擎,宣布杀毒免费。安天和卡巴斯基还是有微妙的关系的,安天的创始人江海客早年间极力推崇卡巴斯基的反病毒体系,所以产品设计自然一脉相承,360从安天切换到卡巴也是相当顺利。而后来的利益纠葛导致选择bitdefender作为新伙伴以及小红伞的引入,对360杀毒的查杀体系都没有特别大的影响。几年间的各种逆向成果,坚定了360自己不搞传统杀毒引擎的决心。拼运维能力的云引擎,拼计算能力的启发引擎,选择两条与传统引擎互补的路,既能够体现自己的技术特点也能够避开传统引擎的技术壁垒。
而围绕着上面三个历史,360形成了自己的终端安全技术核心:“主动防御”、“漏洞与补丁”、“病毒木马查杀”。
如今的所谓很多大牛,在当年也都是弱鸡。MJ就一个典型的例子。但作为看着他们成长起来的人,要承认他们的成长,要认可他们如今的能力。
讲了那么多历史,那么360这三个方面的能力到底怎么样?我认为360三个方面任何一方面都不是顶尖,但均属于行业前列。
先看“主动防御”,MJ是一个沿着野路子成长起来的人,实力虽然强,但是终归是“简单、粗暴、行之有效”的风格。所以至今360仍然有个进程叫“zhudongfangyu”,安装在各种机器上依旧有卡顿的时候。从我近年取证的情况来看,装了360的企业主动防御漏杀的情况总是存在,尽管是个小概率事件,但确实存在。微软的MSE虽然查杀率不够高,但是用户真的不卡。
在看“漏洞与补丁”,当袁哥在360的时候,360的实力堪称国内顶级,国际领先,特别是在微软体系内的各种漏洞,无论防御还是使用都得心应手。堪称经典的是XP遁甲,各种后续系统中的安全机制移植回XP做的非常棒,同时也使得主动防御能力有所提升。几次XP安全挑战赛下来,即使腾讯也为了应对也抽调主力逆向分析,同理开发了一套。XP安全360确实可以称第一了,但是这种安全也是要付出稳定性、兼容性以及系统性能的。实际使用中,XP遁甲还是要依赖补丁,无论是微软公开发布的补丁、还是逆向非公开渠道的补丁。随着袁哥的离职,360的漏洞团队前景堪忧。当然,有一个MJ就会有第二个,也许360会成长出来新的牛人也说不定。
说到杀毒,不得不提的是QVM。总觉得老周有个“搜索引擎”情节,也许是当年搜索引擎没做成功留下了怨念,在360依然要做搜索,依然不成功。但搜索引擎带来的丰富计算资源反而成就了QVM引擎。第一版QVM是简陋的,0x295个双字节特征,13个统计分析函数,构成了一个只能分辨是不是,检出率、误报率都不够理想的模型。依赖于千万样本的训练,从0x295个区分度不高的维度做出检测判断的向量机,对比传统的决策树与贝叶斯分类,并没有显著的优势。“不知道怎么检测是真的好,拍脑袋调一调”的感觉始终无法掩饰。其实即便把维度腰斩,只要选取合适,有很多模型可以适用。在新版本的QVM中,相关人员也应该发现了这一点,毕竟上市以来的资本带来更多的人才,博士、硕士也不是蠢蛋,虽然不懂安全,但是能力都是极好的。更低的误报,更高的检出率,更精确的分类名称,但你要记住——这都是传统引擎的补充,单一依靠QVM过不了VB100,拿不到AVTEST第一名,启发终究是启发。无论如何用智能、自学习来包装,终究是需要后台训练、前台更新,拍脑蛋调参数、互联网做验证。远远不像某人说的“QVM拿下世界第一”,看看360自己的新闻稿吧,"QVM人工智能引擎助力360国际评测大满贯",助力而已,离开主引擎,检出率也几乎腰斩。
基于大样本集合训练的方法,始终有一个算例上限的问题,当超过某一个限制值的时候,大家不会有显著的区别。这也是为什么百度杀毒可以迅速推出一个类似的引擎的原因。而对于传统厂商来说,无论是卡巴也好还是其他厂商,启发式的方法很早就在使用,只不过他们不是用向量机,模型虽然有差异,但是覆盖的算例没有显著的差别。耗费巨大的精力作出的引擎,也并没有追赶上传统厂商的脚步,脱壳、虚拟机、各种检测方法与检测效率的平衡,差距依然在那里。
在终端安全来看,综合能力360在国内三甲以内,但杀毒能力是短板。
看到评论里面有人要求比较一下其他家的技术,我今天就杀毒有关的技术再更新一些相关的内容。
如果把终端的安全软件,作为前端,把后台分析体系称作后端。那么360的技术处于很尴尬的位置,现阶段看起来挺美好,但是不远的前面就是深坑。历史决定你现在的位置,对于安全厂商也是一样。360一路走来,所有前端的需求都是短、平、快,服从人性、竞争需要,所有技术所长都服从于产品的发展:“主动防御”的坚固是继承于“流氓插件”,但查杀能力却一直依托外部力量。无论是早期的安天、卡巴,还是现在的bitdefender、小红伞,对于360来说无论多少个人逆向这些引擎,都没有带来真正的突破。就算看基础的脱壳能力,国外比不过主流产品、国内比不过瑞星、火绒,也就是三流水平。反病毒这个领域存在技术壁垒,积累的不仅仅是样本,从卡巴斯基、所罗门当年开始发展到今天,无形的墙在那里,传统的方式就算投入再多,也无法在几年之内翻越。但360在发展的过程中找到了适合他自己的路线,借助用户的数据、依赖用户的数据,采取跟跑的策略,依托对照扫描建立了自己的后台分析作业流程,包装了云的能力,形成所谓的云查杀。有业内的人讲“云查杀主要是解决特征库膨胀的问题,节约用户的资源”,但是我要在这里讲一个数据,bitdefender的不到700W特征覆盖了数亿的恶意程序,360对应则需要上亿的特征记录才能检测。这种技术差距,使得360没有更好的选择,只能选择把特征放在云里。几年前赛门铁克的杀毒,特征库不断膨胀,以至于压缩之后都有几百兆;今天(2015年4月1日)360的全量病毒库262M,想来与赛门铁克当年相差也不多。但是后来赛门铁克做了优化,病毒库缩减到50M,检测能力没有下降还有所提高。但短期内,这种差距360无法赶超。
前端的差距,一部分是技术积累造成的,一部分是后端分析能力的体现。如何选择检测特征、如何组织特征库,这些都需要根据后台自动分析流水线的产出来决定。卡巴斯基的检测方式有人说是双特征,但其本质是一个前置到用户决策树,所有的决策是依据后台对亿万样本的分析统计来决定的。360做了尝试,尝试的结果是出了一个QVM启发式。这个东西现在还没发和卡巴、ESET、bitdefender这些厂商相比,但也算是一种努力。
当无法通过奔跑追赶的时候,人总会想到新的突破点。“别人骑马,我坐火车。”,美国政府一纸提案,不再采购基于特征的恶意代码检测产品,促使的美国Fireeye的火爆,从新的技术角度来检测,也许追赶起来会更容易。国内在这方面投入的厂商也越来越多,金山有个同名的产品叫火眼,但根本不是一个段数的对手。后面针对新技术,以及360在这方面的能力我会再更新。