以下内容转自http://bbs.kafan.cn/thread-934671-1-1.html和http://bbs.kafan.cn/thread-941231-1-1.html,原作者:nkspark。本人的“云安全离失败有多远”与之观点类似。
看到很多人在问“什么是云安全”,但一直也没有看到很全面深入的解答。包括很多在做云安全产品的技术人员,也对云安全不甚了了。本文做一下云安全的科普,把多年来对云安全从排斥到接受,从推崇到反思的一些心得,和大家交流一下。
云安全基本概念
1、“云安全”一词的起源;
2、对云安全的不同理解;
3、云安全是否更有效;
4、如何判断一款云安全产品是可信任的;
5、云安全的定义;
1、“云安全”一词的起源;
当初我第一次看到“云安全”一词的时候,是很好奇的,习惯性的在网上搜索,但发现无论是"Cloud Security"还是"Security Cloud",都没有任何返回结果。
你猜得没错,“云安全”这个词是中国人创造的。大家都在争论国内谁最先提出这个概念,莫衷一是。但我一直确信,发明这个词的是一个记者,当时我能找到的最早的资料,是一个记者写的文字,大部分内容忘了,一条比较重要的还记得,就是以后反病毒厂商的门槛提高了,要有几万台服务器在云端。
所以可以这么说,在“云安全”这个概念上,中国是世界领先的,老外当初看到国内各病毒厂商搞得风生水起,也是莫名其妙的。当然中国人崇洋媚外的劣性是根深蒂固的,所以现在可以看到国内的云安全产品要反过来搞洋认证,还沾沾自喜。其实老外根本还没搞清中国人搞得是啥,当然你交钱还请我去中国旅游,我还是很开心的。
2、对云安全的不同理解;
不得不说,当初提出云安全的人也根本不知道什么是云安全。但“云计算”这个概念很火,带出了“云存储”,那么提出“云安全”自然顺理成章。可是提出“云安全”这个概念后,怎么往“云计算”上靠,就成了大问题。可以说,刚开始的时候,是完全靠不上的。
不深入谈“云计算”了,只简单的总结“云”的几个特点:
* 用户透明;
* 无处不在;
* 随着云节点的增加处理能力增强;
* 云服务由厂商提供;
那么,云安全在容纳原有杀毒模式的情况下,如何同“云”扯上关系呢?
“云”原来是不包含用户节点在内的。所以云安全概念发展的第一个阶段,就是把用户计算机算作云节点(你在我就在)。那么就出来一个搞笑的错位,到底是厂商给用户提供服务呢?还是用户给厂商提供服务?这个不管啦,总之,云安全现在有了立脚点。
让我们来粗略的看看几个数字:
* 病毒样本数量:每天新增5000,就算1万,一年300万;10年的样本量3000万;从有病毒的那天算起,到现在所有病毒样本加起来也超不过这个数。
* 病毒文件大小:以平均5000个样本1G来算,3000万样本需要60T。实际上只有几个T的样子。
* 特征库大小:如果以32字节MD5+20字节描述,或者满打满算100字节,100*3000万=3G。
好了,3000万,3G,60T,这几个数字加起来就是“云”了?一台服务器+一个个人用数据库(保存特征库,是的,我的个人单机数据库文件已经40G了,处理3G小case)+一个磁盘阵列(保存病毒样本),这个云也太小了吧。
所以,防病毒厂商在云端的潜力,已经没有发挥的余地了。用户计算机才是真正的宝藏。
在云安全的第一阶段,用户计算机主要被当作样本采集点,把以前的样本上传功能改头换面,贴个云安全的标签,就OK了。当然如果仅限于此的话,这时的云安全与传统病毒查杀系统并无明显区别,这也是对云安全争论最多的时候,一个结论,“噱头”。
但事情的发展从来没有“仅限于此”这回事。防病毒厂商对用户端计算机已经觊觎已久了,以前搜集用户信息都是偷偷摸摸,尽量不搜集敏感信息。现在好了,精明的反病毒厂商发现,“云安全”居然是最好的幌子,哪里还管什么敏感不敏感,用户计算机上的所有文件,统统拿来。而且还告诉你,我在保护你哦,将来你文件坏了,我还能帮你恢复呢,我不要你钱哦。至于你的数据我是用来分析,还是用来卖钱,这个就不是你关心的事情了。
于是现在到了云安全的第二阶段,“云抢劫”。对,是抢劫,因为我是明目张胆,大摇大摆拿走你的所有数据。
看到这里你应该明白,为啥“云安全”最早在中国提出,并在中国一步步发扬光大了吧?“不做恶”说说容易,做起来太难了,面对满眼的钱,能忍住不伸手太难了。尤其是在缺乏法律法规约束、缺乏商业自律的神奇国度。
国外的安全厂商是不敢向用户计算机伸手的,因为代价太大。当然国外的用户也是花了钱去买安全的。国内的用户没有花钱买安全,也没有花钱买任何软件的习惯,但请记住这句话:“天下没有免费的午餐”。我免费请你泡温泉吃大餐,五星级服务,一分钱不要,哦,网上有你的裸照?那是我们的安保录像,录下来是为了保证你的安全的。大致如此。
所以目前国外反病毒厂商的云安全只局限在特征信息实时提取、服务端实时反馈的在线查杀。
这段想写不同时期对云安全的不同理解以及中外对云安全的不同理解,可说的还挺多,但大致也就如此了。
3、云安全是否更有效;
首先第一个问题,现实网络中的病毒情况真的像媒体和反病毒厂商说得那么严重吗?每天成千上万个病毒被创造出来?防毒厂商疲于奔命,用户天天生活在恐惧中?
我们知道,国际测评机构评价一个反病毒产品是否合格,最常采用的是ITW(当前流行病毒),能够查杀ITW样本的反病毒产品就为合格。那么这个月的ITW新增样本数量是多少?说出来吓死你:2月份ITW样本个数为114个。即,平均1天不超过4个。这才是真相。
基本上,以特征提取为主要技术的传统防病毒系统可以完全应付当前的病毒,而且10几年来,反病毒技术和系统架构基本上没有什么变化,也一直能满足用户的需求。实际上,即使有新的技术和方法,反病毒厂商也懒得去尝试和采用。为什么?市场决定的。当革新技术不能产生新的利润来源的时候,反病毒厂商是一点儿动力也没有的。
同样,“云安全”概念的出现,并不是用户有了新的需求,而是反病毒厂商找到了新的利润来源。“羊毛出在羊身上”,这个新的利润来源当然就是用户自身。对用户来说,当被人卖掉还在帮着数钱的时候,也不是一点儿正面的东西也没有。当有利润作为驱动的时候,新的技术和新的架构自然会应运而生。而这些新的技术和架构,如果应用得当,也确实有比传统反病毒系统更先进的地方,能更好的保护用户的安全。
第二个问题,用户在反病毒系统里扮演什么角色?好多年前的事了,我觉得身体不舒服去校医院看病,校医院的水平啥样大家都懂的。这位医生听完我的各种情况后,伸出5根手指说,你的病可能是这个1、这个2、这个3、这个4、这个5,你自己说可能是那个吧。我当时看着他的5根手指,想一口咬下去的心都有。我自己要能判定,要医生干吗?如果用户能够判定一个程序是不是病毒,要反病毒产品干吗?这就是我想说的。每当看到反病毒产品的提示:“此程序有可能是恶意木马,是否继续运行?”,或者类似的话语,都会让我想起那在我眼前晃来晃去的5根手指。用户是没有能力判定一个程序是不是恶意木马的。用户需要反病毒厂商很明确地告诉他,这个程序是病毒,不是病毒。
描述这个问题,我的本意是,所谓主防,所谓QVM,只要你是基于概率的,只要你把最后的判定责任交给用户,那就都是浮云。如果说,弹个提示框警告用户然后让用户自己选择,这样就算一款反病毒产品的话,那这个反病毒产品实在没有存在的必要。因为微软已经做了,在Windows 7里,你执行任何一个程序,系统都会弹框告诉你,可能危险,你自己要拿主意,继续运行还是不运行。不过这样的提示,除了让使用者更麻烦以外,还有什么意义呢?
第三个问题,用户在反病毒系统里的权利是什么?最基本的权利,用户应该知道反病毒产品在自己的机器上做了什么。进一步的权利,用户应该有权决定反病毒产品在自己的机上可以做什么。对应的,防病毒厂商有义务告诉用户自己的产品做了什么,有义务向用户提供选择清单。
说的更直白一点,用户应该知道反病毒程序是不是把自己机器上的财务报表、个人银行数字证书上传给了反病毒厂商,用户应该有权中止反病毒程序上传自己的敏感信息。
进度有点儿快了,还回到云安全架构下的反病毒系统相对于传统反病毒系统有哪些优势上来吧。
传统的防病毒系统:要完成病毒的查杀,需要用户获取最新的特征库,在用户本地完成特征比对。这时有两个问题,一个是特征库版本的一致性问题,如果有用户没有及时更新特征库,不同用户使用的就是不同版本的特征库。第二个问题就是实时性问题,厂商的特征库与用户的特征库更新是不同步的,很可能反病毒厂商能查杀的最新的病毒,用户还会感染到。
云安全架构下的防病毒系统:由于直接使用反病毒厂商的特征库,一致性和实时性都得到了保证。
云安全架构给用户带来的好处是显而易见的,一个移去的特征库就已经释放出用户计算机上宝贵的内存资源了,何况这个在云端的特征库可以做到覆盖历史上所有的病毒,还有其他很多很多好处,三天三夜也说不完。
但是且慢,再仔细看看,最重要的改变是什么?数据流向!!!!!
在传统的反病毒系统架构下,反病毒厂商提供数据,也就是病毒特征库,数据从反病毒厂商流向用户,用户来决定我是不是要升级特征库、何时升级特征库。当然,有的用户也想要反病毒厂商提供产品的源代码数据,但他们一般不给。
在云安全架构下,用户提供数据,目前这个数据可能是用户计算机上的任何东西,数据从用户流向反病毒厂商。反病毒厂商决定用户提供什么数据,正常情况下,也许一个文件的MD5值就足够了,但也许有的反病毒厂商认为用户有必要提供整个文件,还有的反病毒厂商认为用户有必要提供整个计算机上的所有文件,这完全取决于反病毒厂商的贪婪程度。是有这样的医生的,你去看牙,他让你脱掉所有的衣服,包括内裤。这样的医生我们一般称之为流氓医生。同理,有的反病毒厂商我们也可以称之为流氓厂商。
4、如何判断一款云安全产品是可信任的;
现阶段,很多反病毒厂商,借云安全之名,大肆搜集用户的隐私敏感信息。第一不应该搜集,第二搜集后要保护好,不要动不动就被搜索引擎都给找到。
作为一个具备商业道德的防病毒厂商,对于用户的隐私敏感信息必须给与足够的重视和保护。
第一、做出上传动作之前,要征得用户同意;用户同意才能上传,而不能偷偷摸摸地就传了。这个征求同意的动作,应该由用户选定,是同意一次就可以以后随时上传,还是每次上传都要用户确认。就象现在微软“软件更新”提供的选项一样。用户也可以要求自己自行上传。
第二、上传的文件类型、所在路径、文件大小、文件创建时间等属性条件,应该由用户自行设定。反病毒厂商不能想搜集什么文件就搜集什么文件。用户的银行数字证书、游戏账号等敏感信息文件,不得搜集。看到有的不良厂商连用户银行的账号密码都上传,真的让人毛骨悚然。
第三、在上传用户文件时,必须留下完整上传记录日志文件,并向用户提供日志检查功能,让用户对防病毒软件做了什么一清二楚。
第四、对于上传后的文件,要对用户有足够反馈信息。是否是恶意文件,还是正常文件。如果是正常文件,是用户私有文件还是公用文件。如果是用户私有文件,反病毒厂商采取了哪些后继处理动作?是仅仅保留了特征码后删除,还是保留了完整文件。并向用户提供反馈信息检查功能。
目前国家还缺乏保护“用户端”计算机不受盗取侵害的法律法规,用户的保护主要还是靠反病毒厂商的商业自律。不过从国内防病毒厂商的一贯表现来看,用户的安全状况堪忧。
对“上传文件”这一功能来说,不能完全满足本首席给出四条标准的云安全产品,都是不可信任的。
云安全的悖论
我们来做个游戏。这个袋子里有10个球,其中1个是黑色的,其它都是白色的。请你告诉我,一次取球,取到黑球的概率是多大?你的答案是1/10吗?好,袋子里的球增加到100个,其中1个是黑色的,其它都是白色的。请你告诉我,一次取球,取到黑球的概率是多大?你的答案是1/100吗?概率越来越小了,对吗?
如果我说,你错了,实际上随着袋子里的球越来越多,你拿到黑球的概率越来越大。你一定觉得我脑子有毛病。
那么,再来看看这个说法,“云安全的策略构想是使用者越多,每个使用者就越安全”,和“袋子里的球越多,拿到黑球的概率越大”,有什么区别吗?
看了前面的朋友,自然会理解,云安全的用户越多,对反病毒厂商是越有好处的,因为用户的数据可以免费拿到。Metcalfe’s Law是成立的,“网络的价值同网络用户数量的平方成正比”。但你一定要搞清楚,这个网络的价值是对谁而言的,是反病毒厂商,而不是用户。
用户越多对反病毒厂商越有价值是不能明说的,说出来用户也接受不了,那么,换一种说法就是,用户越多越安全。用户很开心,但是,真的是如此吗?还是去摸摸球体会一下先吧。
第一,性能。这个我不多说,大家都能理解。网络、服务器、数据库,都是有瓶颈的。但这个问题从技术上、硬件上都是可以解决的,这里提一句就是想说明,用户越多对性能的影响自然越大,不可能用户越多,性能越好。
第二、处理时间。不管你是白文件也好、黑文件也好、灰文件也好,都是袋子里的球。云端搜集到的文件越多,相当于袋子里的球越多。如果病毒用黑球来代表的话,是不是查出病毒(黑球)的概率就越低?怎么会反而越安全了呢?
第三、每个用户就是那个唯一的黑球。有人提出,球是越来越多,但黑球同时也增加了呀,被查到的概率也增加了。但是对于某个特定用户来说,自己就是那个唯一的黑球,当反病毒厂商说,我们的用户染毒概率是0.000001时,对这个染毒的用户来说,是100%。
所以,即使我们现在还不能肯定的说用户越多越危险,但也决不是用户越多越安全。
对于这个悖论最好的例证就是大家常说的“第一批牺牲者”问题。
无论对于传统的反病毒还是云安全,“第一批牺牲者”都是不可避免的。“第一批牺牲者”说明了病毒是实际存在的,查杀这样的病毒才有实际意义。如果某个病毒,在没有“第一批牺牲者”的情况下,被某个反病毒产品查杀,这种查杀基本上只存在市场营销方面的意义,对用户是没有意义的。但恰恰,现有的大部分病毒,就是号称每天新出现5000、10000个之类的,都是只存在市场营销方面的意义的病毒。我在讲座一中举例的ITW新增样本集,才是真正业界专业的被“第一批牺牲者”验证过的对用户有意义的病毒。这样的病毒,很少很少,平均每天4个。不用质疑,上个月的ITW我一个一个数的。
但现在问题的关键是,相对于传统反病毒,云安全架构下的“第一批牺牲者”有点儿多了,不是多一点儿,而是多太多。
因为传统反病毒主要面向病毒样本(黑名单),数量少,更多地采用了人工分析。云安全比较贪心,各种文件通吃,黑名单、白名单、不黑不白搞不清楚名单等等,人工肯定不行,累死也不行,只能更多地依赖自动分析。
从这一点上来看,传统反病毒在对病毒样本的快速响应上,绝对是不输于云安全的。准确率更是云安全没法比的。传统反病毒的劣势是特征库到用户的分发时间,相对近乎实时的云安全来说,有点儿太长了。
人工分析,一个样本就够了,病毒分析员可以直接下结论,这是一个病毒,提取特征码,入库。“第一批牺牲者”也许只有一个用户。
自动分析,需要同一样本多次出现,触发预设的阈值,启动自动分析。预设的阈值也许是固定值,例如100,也许是比例值,例如所有用户的0.0001,如果是1000万用户,就是1000。所以云安全的“第一批牺牲者”永远是成批的。
如果预设的阈值是比例值,例如所有用户的0.0001,如果是1000万用户,“第一批牺牲者”就是1000。如果是1亿用户,“第一批牺牲者”就是10000。如果你是恰巧处于“第一批牺牲者”之中,你告诉我,是用户越多越安全吗?结论就是“用户越多越安全”的提法纯属扯淡。
“云安全这朵云越大收集到病毒的可能性是否增大的问题,也就是说是否sensor越多越全面的问题”这句话基本上没什么毛病。但搜集到了病毒样本,并不等于你已经识别出来了。你有所有的病毒样本,但你如果识别不出来的话,跟没有是一样的。“用户越多”=“sensor越多” = “样本越多”是成立的,但“样本越多” = “越安全”是不成立的。这也是本文的主题:“用户越多”和“越安全”之间没有必然联系。
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/968.html