黑客团队 Project Zero:守护全世界的安全" />
雷锋网按:在这个万物联网的时代,信息安全是不可避免的问题,然而我们似乎对它还没有足够的重视。幸好 Google 走在了时代的前线,设立一个不仅关注自家安全问题,更关注整个业界安全的团队 Project Zero。
它像一个孤胆英雄,对抗着全球数字威胁,它有点急躁,也备受争议。团队成员用自己的方式维护互联网安全。最近 Fortune 一篇长文对这一团队进行了详细报道,雷锋网对文章编译如下:
一
一个星期五下午,在加州山景城的 Google 总部,安全研究大神 Tavis Ormandy 正在他的工位上执行一些常规的“模糊测试”。这是一种常见的代码测试技术,可以通过随机数据使软件中的缺陷暴露出来。随后他在数据集中发现了一些问题,但奇怪的是,这并非典型的破损数据。测试结果没有得到预期的输出,反而出现奇怪的配置异常——大量的内存散落。所以他继续深挖。
在收集足够的信息后,Ormandy 召集同事分享了发现的一切。这个名为 Project Zero 的 Google 团队很快发现问题的实质:大量数据正从从旧金山的 Cloudflare 公司泄漏出去。大多数情况下,Cloudflare 的内容分发网络大概可以处理世界互联网流量的十分之一,并且没有时延。但 Ormandy 发现,该公司的服务器其实在网络上泄露了人们的私人数据。这些信息已经泄漏了好几个月。
Ormandy 在 Cloudflare 没有认识的人,他犹豫着要不要在一个三天小长假的前一晚给 Cloudflare 的技术支持团队打电话。最后他采取了另一个解决方案,通过自己的 Twitter 账号求助。
“有谁是在 Cloudflare 安全部门工作的,能马上联系我吗?”
发布的时候,是太平洋时间的下午五点。
Ormandy 没有@Cloudflare 公司。他不需要。因为他在信息安全专业人士聚集的热门社区中声名载道,在他按下“发送”键的 15 分钟内,世界上每一个需要知道和很多不需要知道的人都能看见他的这条留言。
伦敦当地时间凌晨1:26,John Graham-Cumming 的手机将他吵醒。这位 Cloudflare CTO 揉了揉眼睛,拿起了手机。他没接到电话。来电的是仅有的几个被列在白名单里,能在午夜给他打电话的人。他马上发短信问发生了什么情况。
他的同事立即回应,“出了严重的安全问题。”
他惊坐了起来并回复,“我马上上线。”
这位 CTO 从床上弹起,冲到楼下,拿出了他为这样种场合准备的装备——充电器,耳机,额外的电池。 他启动了电脑,并迅速加入了和 Cloudflare 加州总部的同事一起进行的会议。
安全小组向他介绍了局势情况。Google 的 Project Zero 团队在他们的基础设施中发现了一个 bug , 一个严重的 bug。他们的帮助运行超过 600 万个客户网站的服务器,存在数据泄漏。这些客户包括 FBI,纳斯达克和 Reddit。任何人都可以访问 Cloudflare 支持的站点,并在某些情况下获取该网络上另一站点用户的私密 tokens、缓存和私人消息。这些用户包括 Uber、1Password、OKCupid 和 Fitbit。
Ormandy 和 Graham-Cumming
信息暴露在众目睽睽之下。更糟糕的是,搜索引擎和其他网络爬虫工具已经将泄漏的数据缓存了长达数月。 封锁泄漏源头也不能完全解决问题。
“这就像一次漏油事件”,Graham-Cumming 说,“处理一个油罐的漏洞很容易,但难的是有很多被污染的海床需要清理。”
所以 Cloudflare 的工程师有的忙活了。兼职担任美国网络黑客戏剧《机器人先生》的 Cloudflare 安全顾问的 Marc Rogers 领导了分流工作。在不到一个小时的时间内,团队推出了一个初始的更新程序,从而将全球漏洞堵住。几个小时后,技术人员成功地恢复了导致错误的功能。Ormandy 发布那条推文将近七个小时之后,Cloudflare 的工程师们设法要求主要的搜索引擎——Google、微软、雅虎,清除了历史网页。
这是一个小长假的开始。Cloudflare 工程师花了剩余的时间来评估有多少数据和什么类型的数据被泄露了,以及这件事情会造成多大的影响。
Cloudflare 的快速响应令 Google 的 Project Zero 团队印象深刻。但随着两个团队之间关于公布泄露内容日期的谈判开展,他们的关系开始变僵。双方本来暂时同意在 2 月 21 日周二公布,但 Cloudflare 并未履行诺言,并声称需要更多的时间进行清理。于是公布的日期从周二变成了周三,又变到了周四。Google 忍无可忍:无论 Cloudflare 是否完成了评估,是否确保清除了网络缓存中的泄漏数据,周四下午都将公布泄露情况。
双方同意在在 2 月 23 日公布。一周的互联网恐慌也随之而来。
二
即使不是 Google 的 Project Zero 的成员,也知道信息安全危机在全球范围愈演愈烈。每个公司都变成了为科技公司,黑客越来越普遍。这些黑客在企业银行账户上偷盗,窥探个人信息,干预选举。新闻头条也令人发指:超过 10 亿的雅虎帐户受损。黑客从 SWIFT 金融网络窃取了数百万美元。2016 年美国总统大选之前,民主党全国委员会的无数私人电子邮件遭到曝光。
据美国身份盗窃资源中心统计,美国公司和政府机构在 2016 年发生了比 2015 年多了 40% 的信息泄露,这还只是保守估计。与此同时,据研究组织 Ponemon 所进行的一项研究显示,目前数据泄露的平均成本升到了 360 万美元。
无论是程序员导致的错误,还是某一国家的黑客作怪,数据泄露都是新的常态。因此,高管们的想法是,将代码问题扼杀在萌芽之前会更加经济,以防止问题像滚雪球一样越滚越大。
但事情并这不是那么简单。很多公司并不把信息安全放在首位,也不把它当成产品交付前的指标。根据 CA Technologies 今年初收购的应用软件安全公司 Veracode 的调研,参与调研的 500 位 IT 经理中,有 83% 承认曾在测试 bug 和解决安全问题之前就发布了代码。同时,信息安全行业也面临人才短缺。思科公司预计全球有 100 万个空缺的信息安全岗位。赛门铁克预计,到 2019 年空缺将增加到 150 万个。还有人预计,到 2021 年,这一数字将增至 350 万。
即使是一家有钱、有志还有声望来支持信息安全的公司,也无法避免有缺陷的代码产生的影响。最好的质量监控程序和敏捷开发的方式,也无法法捕捉到每一个错误。
许多公司,包括微软和苹果都有内部安全研究团队调查自家的软件。但很少有团队还有余力研究其他公司的软件。这就是 Google 如此不同寻常的原因。对于 Ormandy 和 Project Zero 的十几个人来说,他们的管辖权是没有界限的,触及互联网的任何地方他们都能触碰。监察全网空间不仅对人类有好处,对企业也是有好处的。
三
Google 于 2014 年正式组建 Project Zero,团队的起源可以追溯到 2009 年。面对信息安全问题,很多公司经常要到面临紧急情况时才意识到其严重性。对于 Google 而言,那一刻是“极光行动”(Operation Aurora)。
2009 年,与天朝相关的网络间谍集团攻击了 Google 和其他一些技术巨头,破坏他们服务器,窃取他们的知识,并试图监视其用户。这一攻击激怒了 Google 的高层管理人员,使得 Google 最终退出了中国。
此次事件令 Google 联合创始人 Sergey Brin 感到特别困扰。计算机取证公司和调查人员确定,Google 遭受的攻击并不是自己的软件错误,而是通过微软 IE6 中的漏洞进行入侵的。他想知道,凭什么 Google 的安全性要依赖于其他公司的产品呢?
在接下来的几个月中,Google 开始更加积极地要求竞争对手解决他们软件缺陷。Google 与其同行之间的战斗很快就成为传奇故事。Bug 猎手 Tavis Ormandy 凭借这自己出神入化的解决手段,岿然处在这些争端的中心。
“极光行动”公开之后不久,Ormandy 就透露了他几个月前发现的微软 Windows 一个漏洞,可能会让黑客攻击个人电脑并使其瘫痪。在等了微软七个月后,他决定靠自己来解决问题。2010 年 1 月,Ormandy 在给信息安全研究同行的“全面披露”邮件中,发布了漏洞情况和可能遭受的攻击。他的认为:如果微软不及时解决这个问题,至少应该让人们知道这个问题,好让人们制定自己的解决方案。几个月之后,他对一个影响 Oracle 的 Java 软件的 bug,和一个更大的 Windows 漏洞采取了相同的办法。后者则是在向微软汇报了五天之后。
有人谴责 Ormandy 的行为,声称这损害了安全。在一篇博客文章中,两名 Verizon 的信息安全专家称,选择了这些全面披露路线的研究人员都是“自恋的漏洞皮条客”。Ormandy 并不理会。在 2013 年,他再次选择在 Windows 发布修复之前将漏洞公开。他认为,如果没有学者站出来给他们施压,他们就没有紧迫感,就会无限期地处理这些问题,使每个人都处于危险之中。
2014,Google 秘密地正式确定了 Project Zero 的团队(这个名字暗示了 0Day 漏洞,这一术语是信息安全专家用来描述完全没有时间解决的未知安全漏洞)。公司制定了一套协议,让 Chrome 前任安全总监 Chris Evans 主持工作。Evans 随后招募了 Google 员工和其他人到团队。
他招募了在瑞士的英裔安全研究员 Ian Beer,他对发现苹果代码错误有种特殊的喜好;Ormandy,一个因与微软的公开冲突而闻名英国大汉;Ben Hawkes,一名因发现 Adobe Flash 和微软 Office 的 bug 而闻名的新西兰人;还有少年 George Hotz 做实习生,他早些时候在一个黑客竞赛中黑进了 Chrome 浏览器,赢得了 15 万美元。
Project Zero 首次公开是在 2014 年 4 月,当时苹果在一份简短的文字中赞扬一名 Google 研究人员,因为其发现了一个会让黑客控制能运行苹果 Safari 浏览器的软件的漏洞。文中向“Google Project Zero 团队的 Ian Beer”表示了感谢。
在 Twitter 上,安全社区都对这个秘密小组感到好奇。“什么是 Project Zero?”纽约网络安全顾问 Trail of Bits CEO 和联合创始人 Dan Guido 在推文中问道。美国公民自由联盟 CTO Chris Soghoian 也很好奇,“Apple 安全更新日志中竟对神秘的 Google Project Zero 的员工对表示了感谢。”
Dan 和 Chris 的推文
Project Zero 渐渐收到了更多感谢。5 月份,苹果对 Beer 发现其 OS X 系统中的几个 bug 表示感谢。一个月后,微软对一个 bug 打了补丁,并感谢了 Project Zero 的 Tavis Ormandy。
那时,关注安全问题的人群中,这一团队是离不开的话题。Evans 最终决定在公司博客中正式宣布了他们的存在。他表示:“人们应该能够自由地使用网络,而不用担心犯罪或国家赞助的人利用软件漏洞感染他们的计算机,窃取秘密或监控通信情况。”他援引了针对企业和人权的间谍活动例子,认为这些是无良的虐待,认为“这应该被制止”。
Evans 一年后离开了团队加入特斯拉,现在担任一家漏洞赏金公司 HackerOne 的顾问。Hawkes 现在是 Project Zero 的领导。如今,Evans 更加谨慎地描述了该团队的起源。他说:“Project Zero 源自多年深度的午餐时间对话,和多年对攻击演变的观察。我们希望创造专注于顶级信息安全进攻研究的工作,吸引世界上最优秀的人才进入公共研究领域。”
这似乎是一个比较困难的挑战。私有资金吸引了许多世界上最好的黑客,引诱他们秘密工作,政府和其他团队通过经纪人为他们的调查结果支付高昂的报酬。如果研究无法公布,就会有人为此受苦,Evans 如此认为。
自从 Zero Project 正式组队,三年中这个精英黑客小组已经成为地球上最高效的计算机漏洞终结者之一。尽管普通消费者不知道这些人:James Forshaw、Natalie Silvanovich、Gal Beniamini。
但世界都欠他们的一份感激,因为他们为了维护我们数字设备和服务的安全贡献了许多。团队还对其他公司产品的一系列改进负责,包括找到并帮助修复操作系统、防病毒软件、密码管理器、开源代码库和其他软件中的一千多个安全漏洞。Project Zero 迄今发布了 70 多篇有关其工作的博客文章,其中一些文章是目前网上最好的公共安全研究资源。
该团队的工作间接有利于 Google 的主要业务:在线广告。保护互联网用户免受威胁,意味着保护公司为这些用户提供广告的能力。Project Zero 的努力使供应商陷入困境的同时,也迫使他们修复导致 Google 产品崩溃的 bug。
网络安全企业家、著名苹果黑客以及前 Square 移动安全部门负责人 Dino Dai Zovi 表示:“这是一个很呆的名字,但它就像一只牧羊犬。牧羊犬不是狼,它仁慈,但也追逐羊,让它们回到羊圈中。”
四
四月,Project Zero 的三名成员前往迈阿密参加了 Infiltrate 安全会议,这次会议基本都关注在黑客领域的进攻端。
在一个满是阳光、沙滩和跑车的城市中,黑客团队看起来有点格格不入。Hawkes、Ormandy 和德国安全研究员 Thomas Dullien(Zero 团队的成员,以绰号“Halvar Flake”更为人所知),聚集在 Fontainebleau 酒店的草坪上,在棕榈树下啜饮鸡尾酒。与他们一起的,还有 Google 的其他参会者,这些 Google 员工畅谈工作,喜爱的科幻小说,以及如何保护黑客历史。
对于 Ormandy 不得不面对的让厂商修复他们代码这件事,Dave Aitel 说到:“人们就是不会给你好脸色。不过你知道,你不需要处理这些问题的。”Aitel 是一名前 NSA 黑客,他运营着一个进攻性黑客商店 Immunity。Aitel 甚至还玩笑似的,试图说服 Ormandy 加入黑客研究员的“黑暗面”,也就是发现漏洞后卖出去,而不是报告给受影响的公司。
各类设备的漏洞奖金金额
当时 Ormandy 只是耸了耸肩笑了笑。他可能是一个会让人觉得很麻烦的人,但他的目标是纯粹的。
尽管外界看起来 Project Zero 锋芒毕露,但由于其理想与现实世界的复杂性相冲突,团队不得不变得更加灵活。他们最初规定的是很严格的 90 天披露截止日期,而对于那些正被积极利用的漏洞则只有七天。但在几次于公司发布更新之前就披露漏洞的事件后,如微软就习惯在每周二发布补丁,导致团队受到了颇多指责。它也因此为 90 天的期限增加了 14 天的拓展期,以防厂商准备好了补丁但还没发布。
Katie Moussouris 称,Project Zero 拥有业内最明确的披露政策。她曾帮助微软制定了披露政策,现在则运营着自己的漏洞赏金咨询公司 Luta Security。她认为这是一件好事。许多公司没有如何报告漏洞的指南,也缺乏指导研究者如何及何时公布漏洞的政策。有一些组织给公司准备的修复软件的时间,比 Google 更少。脱胎自卡内基梅隆大学的一个团体 Cert CC,给的期限只有 45 天,不过他们会根据各情况进行调整。
Project Zero 团队会迅速赞扬采取行动来修复 bug 的公司,也会严厉批评那些回应缓慢的公司。今年早些时候,Ormandy 在推特上说,他和同事 Natalie Silvanovich“在内存中发现了最糟糕的 Windows 远程代码执行”,这意味着可以远程控制基于 Windows 的系统。他说到,这个漏洞极其危险。他们两人与微软合作修补了这个 bug,并在附后的推文中对微软安全部门的反应赞誉有嘉。
科技公司可能会对 Project Zero 的大胆感到畏惧,但他们应该感到安慰,因为这些黑客愿意抵制那些促使一些研究人员把研究结果出售的动机。在黑客逐渐专业化的这几年中,Project Zero 公布的这些 bug 已经在市场上萌芽了。各国政府、情报机构、犯罪分子,都想拥有这些漏洞,而且愿意支付不菲的价格。好在软件公司越来越多地发起了漏洞奖励计划,让天平不至于只向恶意的一方倾斜。这些奖励为研究人员的时间、精力和专长提供了补偿。但赏金金额可能永远都比不上暗市能给出的价格。
IBM 知名安全大师兼高管 Bruce Schneier 表示:“无论 Google 为漏洞给的奖赏是什么,有的政府都将付出更多的代价。”
Dullien 也表示,如今对于黑客技能的需求让自己感到惊讶,曾经这只是在黑暗地下室的爱好,现在却变成了政府大厅里是一个职业。“它是 90 年代的亚文化,就像嘻哈、霹雳舞、滑板或涂鸦一样,但现在的情况却是,军方觉得很有用。”
五
据 Cloudflare CEO 兼联合创始人 Matthew Prince 说,Google 顶级安全研究员发现的漏洞,最初使他的公司几乎失去了一个月的营收。
不过如果这段经历真让他觉得很糟糕,他或许不会把它说出来。他当然知道被真正恶意的黑客盯上是什么感觉。几年前,一个名为“UGNazi”的黑客组织黑进了 Prince 的个人 Gmail 帐户,用它控制了他的企业邮件帐户,然后再借此劫持了 Cloudflare 的基础架构。这些黑客本可能造成重大损失,不过他们只是将 4chan.org(一个黑客社区)的地址重新定向到了他们个人的 Twitter 页面,以作宣传。
Prince 很后悔,没有在 Google 和 Cloudflare 发布初步调查结果之前,向客户通报公司的全部问题。他希望公司在客户阅读有关新闻报道前,就将漏洞的事提醒了客户。即使如此,他回想起来,还是觉得 Project Zero 团队对于在何时披露漏洞是对的。据他所知,漏洞公布后没发现任何与它相关的重大损失,没有密码、信用卡号或健康记录被泄露。
Prince 表示,Cloudflare 已经制定了新的控制措施,以防止这种事件再次发生。公司开始审查所有代码,并聘请外部测试人员做同样的事情。它还建立了一个更复杂的系统,用于识别常见的软件崩溃,这往往表明存在漏洞。
对于漏洞及其后果,他说,幸好是 Tavis 和他的团队发现了漏洞,而不是一些疯狂的黑客。
当然,他也永远无法排除另一个人或组织,有泄密数据副本的可能性。这也是 Project Zero 的观点,对于其每一个团队成员来说,有无数其他研究人员在私下工作,他们的目标不太高尚。这是你所知道和不知道的邪恶。
雷锋网附关注漏洞市场的小知识:
有两个漏洞市场:进攻和防守。前者包括民族国家,有组织犯罪集团和其他黑客攻击者。后者包括漏洞赏金项目和销售安全产品的公司。
进攻市场的价格较高,没有上限。他们不只是购买漏洞,也会购买利用漏洞但不会被检测到的能力。购买者很低调。
防守市场的支付能力不强,基本不会有厂商会为找到漏洞的顶级开发者补偿上百万美元。尽管主要公司的代码质量正在改善,但复杂性仍在不断增加,这也意味着更多的错误。
安全研究人员对特定的漏洞可能采取的行动,往往取决于他们的财务需求,他们对一款软件或厂商的主观货币,以及他们自己的个人风险偏好。这里不只是简单的黑白分明。