从2004年推出Gmail到现在,已经十多年了。对攻击者而言,Gmail账号价值不菲,除了Gmail本身,很多网站使用Gmail验证,或者支持使用Gmail账号登录。攻击了Gmail账户,一个用户的网上生活可能也暴露得差不多了。所以保护Gmail的安全非常重要,Google在这方面也积累了很多经验。 Elie Bursztein(Anti-spam and Abuse Research Lead @ Google )在USENIX Enigma 2016上总结了他们保护Gmail的一些经验。 可以先用一张图概括其主要思路: (图片来源:http://googleresearch.blogspot.com/2016/03/lessons-learned-while-protecting-gmail.html) 我们来看一看他分享的内容(视频:https://www.youtube.com/watch?v=nkV9kOsTyJU)。 Gmail有9亿多用户,海量的数据带来了很多挑战。首先,错误容忍率很低,哪怕1%的误差,当面对海量的e-mail时,也是不可容忍的。其次,处理速度必须非常快。第三,解决问题的速度必须非常快,有时候需要日夜奋战。 Google的联合创始人Sergey Brin曾经说Google有1000多位从事安全工作的人员。但是随着体量越来越大,吸引的攻击者也越来越多。 Gmail面对5大主要威胁:Spam(垃圾邮件)、Malware(恶意软件)、Account Hijacking(账号劫持)、Phishing(欺诈)和Web Attacks(Web攻击)。 随着攻击手段越来越多样化,Gmail背后的安全团队也在不断扩大规模,增强其防御,不断迭代。 2011年推出了login challenge,如果用户名和密码都正确,但是Gmail仍然认为存在风险(比如不是常用的登录地点或登录设备),则会追加一个问题。 当然,钓鱼工具也会随之更新。 设计出一种新技术,攻击手段就会随之而来。所以第一条经验就是,不要停止改进防御。安全是持久战,不能止步。 第二条经验是没有银弹(silver bullet)。没有哪种技术能包打天下。Gmail最近宣布垃圾邮件拦截率超过了99.9%,背后综合运用了多种技术,最基础的技术是大规模e-mail机器分类器,另外还有规则系统、深度学习等技术。最近上线了基于TensorFlow的深度运行分类器。 攻击者也不断进步,所以安全团队还在研究下一代技术。 分类器也需要不断调优。举个例子,错误地将邮件标记为垃圾邮件,没有出现在用户的收件箱中,代价很大。而将邮件放到收件箱,由用户来标记为垃圾邮件,就不是一回事了。这需要权衡。增加login challenge,用户的操作流程复杂了,但是与账号被劫持相比,是可以接受的。也是一种权衡。这是产品需求,应该根据这些权衡来调整分类器。 错误在所难免,所以要有弥补机制。像下图中的红条提示,就是一种catch-up机制。 通过有意义的UI和工具让用户参与进来。除了报告垃圾邮件,最近还增加了屏蔽和取消订阅功能,只需要一次点击。 在引入这样的按钮之前,人们遇到不喜欢的邮件,就报告垃圾邮件。其中有些是社交通知信息,商务推广,或者邮件组信息,其实并非垃圾邮件。这会引发Gmail误判。 再一条经验就是压倒性地推送大量特性,不要每次发布一个小补丁。敌人会侦测你的系统,比如说更新了几行代码,他们很容易就能区分出来。所以在提交补丁的时候,最好是多积累一些发布,这样会增大攻击的难度。不要一次发布一个补丁。 下面看一下邮件附件。 有人会通过邮件附件携带恶意软件。 攻击具有突发性。不是说今天20个攻击者,明天、后天又是20个,而是今天可能没有,明天来了100个,后天就是上亿个。可以看一下下图中的峰值。 所以要针对这种情况有所准备。处理数据时有个规则是“不要处理两次”。处理邮件中的恶意软件,成本非常之高,尤其是Gmail这种10亿级的规模上。存储非常廉价,所以可以将之前的决策记录下来。见上图中的caching这一层。在面对大规模攻击时,有时可以省掉50%的计算。 Gmail设计之初,就不支持可执行文件类型的附件。这一决策非常重要。所以在设计之初要想清楚,我们是不是需要某个特性。如果一开始有,而中间去掉了,部分用户会很失望。这是策略(policy)设计方面的问题。 如果使用同样的技术,也可以使用该技术的多种不同实现。反病毒程序就是一个很好的例子。使用集成学习(Ensemble Learning),组合使用多个反病毒引擎,可以大大提供精确性。 对于未曾发现过的新病毒,或者老病毒的变种,应该如何应对呢?这就是动态执行(dynamic execution):在一个完整的环境中运行之。这么做的成本很高,仅会对极少部分文档做这种处理。由此又有一个非常复杂的系统来决定处理哪些文档。 Nassim Taleb曾提出一个理论:“黑天鹅效应”(black swan)。罕见和不可能的事件出现的次数比人想得还要多。人的想法通常受限于其所见、所知,和设想来假设。但是,实际的情况比人认知的更复杂、更不可预知。很多事情是无法预知的,而这些事情会影响我们的方方面面。所以这里引入了一个紧急阻塞系统。 举个例子,尽管附件不支持可执行文件,但是有些人非常聪明,携带链接文件,通过某种方式执行shell命令。发现这种问题后,先按紧急情况,将流量停下来,看看发生了什么。现在Gmail也不再支持链接文件了。 还有些做法,可以看下面的几张幻灯片。 比如加密,现在加密的成本很低,而且速度也不错。Google也在改进移动端的体验。 2016年的主要挑战。 最后总结一下。 本文转载自:微信公众账号 - 开发资讯,版权归原作者所有! |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|