本文共 5246 字,大约阅读时间需要 17 分钟。
如果把 OpenSSL 的 Heartbleed (心脏滴血)漏洞称为互联网安全历史上最严重的漏洞之一,想必不会有太多人反对。
SSL(安全套接层)协议是使用最为普遍的网站加密技术,而 OpenSSL 则是开源的 SSL 套件,为全球成千上万的 web 服务器所使用。这个严重漏洞出现后,全球三分之二的网站可被攻击,这种攻击还是“敞开了门,可以随意掠夺信息”的那种。
2014 年 4 月 9 日,该漏洞被曝光后, OpenSSL 背后的团队才被媒体争相报道,他们的故事逐渐为人所知。2015年,锤子科技罗永浩宣布对 OpenSSL 捐款200万元,某媒体发表一篇以 OpenSSL 为主角的《隐形战友》后, OpenSSL “火”了。随之而来的,是另一位知名人士对该文章的反对——《到底谁在捍卫我们的隐私?OpenSSL的真实故事》。
争论的角度集中在这几个方面:
1. OpenSSL 真的有这么英雄主义吗?
2. OpenSSL 真的有这么穷吗?之前少有人给他们捐款吗?
3.真实的 OpenSSL到底是什么样子?
9月23日, OpenSSL 团队成员参观白山云科技公司时,OpenSSL创始人之一,美国国防部前顾问 Steve Marquess(也就是《隐形战友》中的史蒂夫)、OpenSSL前身SSLeay创建者,OpenSSL创始人之一 Tim Hudson 和白山云科技架构师,OpenSSL代码贡献榜排名18 的杨洋接受了包括雷锋网(公众号:雷锋网)宅客频道在内的媒体采访。
杨洋(左一)、 Tim Hudson(左二)、Steve Marquess(右一)
OpenSSL 的真实故事应该由他们自己来说。
--
Steve 一行人此前从没有来过中国。
这个星期里,Steve 和 OpenSSL 其他 4 名核心成员还陆续参观了阿里巴巴、百度、腾讯、华为、锤子科技等,最后一站他们来到了好队友杨洋所在的白山云科技。
华为和锤子科技确实是中国两家对 OpenSSL 捐款最多的公司,Steve 在白山云科技的这场活动中,先对两家公司表示了感谢。
“我们收到的来自中国的资助要比其他任何一个国家都多。”Steve说。
现在 OpenSSL 日子已经过得好多了,相比三年前只有两个全职员工,他们现在有个 4 名全职员工,其中两个全职人员这次也来到了中国。
“‘心脏出血’是惨痛的经历,但是发生这件事情也有好处,这件事情显示了计算技术和互联网有多大程度依赖 OpenSSL,很多媒体进行了报道。它的发生是由于严重的安全漏洞,OpenSSL 规模那么大、复杂程度那么高、影响面那么大,却没有足够的人力保障它的安全,这是个问题。”Steve 这样表述了“心脏滴血”漏洞发生的原因。
虽然,在《到底谁在捍卫我们的隐私?OpenSSL 的真实故事》中,作者这样写道:
“OpenSSL 公布‘心脏出血’漏洞的过程也非常有问题。一般出现严重漏洞的流程,是先不对公众公布,立即通知主流操作系统维护者和相关厂商,让大家先修改,之后一起发布安全公告和升级。之所以这样做,是因为如果操作系统不去打补丁,很多普通用户知道漏洞也没办法修补,反而让黑客们更容易利用这些漏洞。OpenSSL 不是这么做的,在 Google 告知了他们漏洞之后,OpenSSL 没有告知任何一家操作系统厂商,反而奇怪的被几家主要 CDN 厂商知道了,也就是说,在不知道哪个环节发生了泄密。之后开源社区中开始有关于这个重大 Bug 的传言,直到这个时候,几大操作系统仍然没得到正式通知。又过了3天,OpenSSL 才告知了Red Hat……”
在那三天里,OpenSSL 到底发生了什么?
Tim 称:“据我所知,心脏滴血事件是由两个团队互不知情的情况下独立发现的。我只对我们所作出的反应负责,对其他公司没办法负责。当时这个漏洞是非常严重的危险级别,我们所采取的措施也是当时认为合理的措施。整个过程中谁做了什么、谁发现了什么漏洞,这都是公开的,可以在我们的网站上查得到。”
出了这么大的事情,Steve说,对于一个人手有限的团队来讲日子确实不好过。一个看上去本来籍籍无名的团队瞬间火了,Steve 的好朋友,甚至连他的牙医都关心地询问:“最近老在电视上看到你,要不要紧?”
那一段时间,OpenSSL 倍感压力,收到了很多批评的声音,他们如履薄冰,担心未来可能重蹈覆辙,但也收到了一些鼓励的反馈。让 Steve 觉得温暖的是,一些他甚至都没听过名字的非洲国家都发来了鼓励的邮件,以前团队不太关注的中国也发来了“令人鼓舞的信息”。
“除了扩展到有 4 个全职员工的团队,一些 OpenSSL 的成员尽管有自己本职工作,但是他们的公司会鼓励他们做一些 OpenSSL 的工作,这些公司以间接的方式给我们提供了支持。我们还收到数百个中国人以及锤子科技、华为这两个中国企业给我们的资助,我们收到中国的资助要比其他任何一个国家都多。” Steve 说。
此后则是 OpenSSL 的复苏。
这个团队经历了重建,从系统上还了之前欠下的技术债。这些技术债是指一些之前没有进行很好的重构与精减的代码,后来又不断加入新代码和功能,OpenSSL 做了梳理和筛减,尽可能让内部结构变得不透明,他们有了新代码库,第一次重要审计也是在这个期间完成。
此前,还有诟病 OpenSSL 团队管理混乱的声音, Steve称,情况得到了改善,现在OpenSSL 有14位 “贡献者”和10位管委会成员,其中有 8 名是身兼两职。
OpenSSL 团队成员此次来到中国,是杨洋促成的。
让人难以想象的是,和一个人在线上聊了15年,但从来没有线下见过面是一种怎样的体验。在OpenSSL 团队中,这是十分常见的现象。更让人难以想象的是,OpenSSL 整个团队总共在线下见过三次面。
第一次见面发生在 2014 年德国的一次会议后,那是一种奇妙的体验,十几个OpenSSL 团队的成员走进一间会议室,尽管有些人视频聊天过,但还是见面不相识。
第三次碰面则是这次在中国:属于几个老友的相聚。
杨洋在两三年前与 OpenSSL 团队相识,那时他还在阿里巴巴,与 OpenSSL 的接触属于项目对接,当时他还没有兼职为 OpenSSL 贡献代码。去年底,杨洋加入白山云科技,由于公司允许他异地远程办公,并支持他同时为 OpenSSL 贡献代码,目前这个在家乡沈阳工作的小伙子从上午 10 点到下午 6 点为白山云科技工作,从晚上 8 点到凌晨三点为 OpenSSL 处理相关事宜及贡献开源代码。目前,根据代码量和代码质量排行的 OpenSSL 贡献榜上,杨洋排名全球18位,中国区排名第一位。
这家创业才两年的白山云科技得知杨洋和 OpenSSL 的渊源后,十分支持他的工作,并将本来是杨洋与OpenSSL 的一次私人聚会变成了一次 OpenSSL 的中国行,全力协助 OpenSSL 团队的成员与中国著名互联网公司之间的交流沟通,由于这个团队没人懂中文,杨洋还要全程陪同翻译。
此前,国外也有一些公司支持自己的员工为 OpenSSL 贡献时间和代码,但在中国,像杨洋这样的兼职 OpenSSL 成员并不多,到白山云科技现场支持的还有同为 OpenSSL 安全研究员的 360 CERT&Gear Team 的石磊。
事实上,诚如《到底谁在捍卫我们的隐私?OpenSSL的真实故事》这篇文章所言,并非没有人和公司捐助 OpenSSL ,捐助 OpenSSL 的方式有几种:个人或者公司直接捐款给 OpenSSL 的基金会,通过 Linux 基金会捐款给OpenSSL ,公司或个人贡献开源代码或者员工时间给 OpenSSL ……
不过情况也并非批评者说得那么乐观。 Steve 告诉雷锋网,除了自家基金会,只有 Linux 的基金会目前对 OpenSSL 捐款,捐款的数额没有传说中那么大,只负担这三年来新增的两位全职人员的全年工资,OpenSSL 尚未得到其他基金会的关注,不过也有一些其他企业和个人的捐款。
“我们主要做一些咨询的合作,比如帮英特尔这样的公司。在过去 5 年里面,我估计 1/4 的营收是从商业性的合作中获得的。”Steve 说。
Tim 说:“不管是公司还是个人,都有捐献代码,我们会进行研究、评估。如果觉得可以的话,我们会加入到软件鸣谢名单里。也有一些贡献的形式,有的是代码,有的是文档,有的是帮我们找错误等,不管是什么,我们都是很欢迎的。”
三年前,OpenSSL 确实穷到只有“一点点收入”。
Steve称,OpenSSL 团队有一个极具才华但是一贫如洗的程序员 Stephen Henson,Stephen穷到什么程度?Steve 说,穷到我知道的时候都震惊了。
Steve 和 Stephen 是相识 15 年却依然没有见过面的老友,因为 Stephen 性格独特,是一个非常害羞的人,从来没坐过飞机,甚至连护照都没有。但是, Stephen 却是Steve 认为在工作上最靠得住的人,他从来没有在任何一个项目快结束时迟交过代码。
也因此,Steve 在知道 Stephen 的困境后,Steve 全权帮助 Stephen 承接一些商业项目支撑生活。
此前提到,Steve 是前美国国防部的顾问,拥有良好的声誉,早期 Stephen 只是一个不出名的程序员,为了能让 Stephen 顺利获得这些项目,Steve 只能以自己的名义签下这些项目,让 Stephen 全程完成。有时,Stephen 一整年的收入都从Steve 这里获得。在两人没有签订任何协议下,一个以自己的信誉作担保,一个完全信任对方帮助自己处理财务上的事情,这种默契维持了很多年。
Steve 读到《隐形战友》这篇文章的翻译版时,已经是文章发表的半年后了。对于文章所呈现出的“英雄主义”色彩,Steve 称,确实夸张了。
有意思的是,当时 Steve 还把文章发给了杨洋,两人一起讨论文章中言过其实的一些细节。
不可否认的是,这篇文章发布后,OpenSSL 收到了一些不错的反馈,一些来自中国的邮件和捐款找了上来。
雷锋网编辑没有问 Steve 等人成立 OpenSSL 的动机。因为他在演讲中已经提到,如果要加入 OpenSSL,绝不是因为钱,如果要坚持下来,一定要有过硬的 C 语言编程技能、恒心以及兴趣。
“开源的不光是替自己写代码,挑战比较多。我们希望代码有商业上的意义,有些公司愿意雇佣我们的员工。但有些人如果只着眼于利润,可能没有耐心投入正常的时间和资金来做开源。这也是为什么有的开发人员和程序员离开了我们团队。以我为例,我可以把 OpenSSL 当作兴趣来做,我把房子的贷款还清了,女儿毕业了,不欠银行什么钱,不用担心自己饿肚子,因此花了大量时间在 OpenSSL 的工作上。我甚至通过做一些 OpenSSL 相关的咨询赚到了钱,现在有很多公司都会涉及到 OpenSSL,所以需要这方面的咨询。”Steve 说。
杨洋则称,自己做这件事情“just for fun”,就跟大家喜欢听音乐、看电影一样。
关于 OpenSSL 和 Steve ,事实上也有一些传闻和误解。
Steve 称,他的工作是一个自由职业咨询顾问,所做的事情就是服务各行各业的客户,从一个项目到另外一个项目,做了 40 多年。此前,还有传言称他要接触军火交易。事实上,他本人并没有进行过军火交易,比如枪、导弹。之所以有这种传闻,是因为此前美国政府有一个规定,密码或者加密系统被视为武器,所以与军方有过一次合作项目的 Steve 必须申请武器方面的从业执照。
Steve 加入OpenSSL 时,这还是一个默默无闻的组织,他澄清,自己并没有那么强烈的英雄主义情结,这个默默无闻的组织起初也并未让他获得所谓“英雄”的感觉。但在“心脏滴血”事件后,加入 OpenSSL 才可能会有这个效应。
OpenSSL 可能只有一些小小的心愿。
“项目背后的动机是什么?它是一个开源的项目,我们也很乐意看到 OpenSSL 应用广泛,也希望它的应用继续扩大下去,能够造福所有的用户。我们不确定的是哪一些特性是为人所乐见的,有的公司有特定的需求,但如果它们不告诉我们,我们没办法拿到这方面的信息。有时我们会做一些调整, 最后被证明对 OpenSSL 社区是有益的。此外,我们会不断对补丁进行维护,随着版本发布进行更新,让用户受益。因此,大家觉得有必要出于自己目的来修改 OpenSSL 的话,也许我们也能够听到大家的声音,即使微小调整也许会适应庞大的需求。”Steve 说。