开源安全的危机在于太相信 GitHub?——专访Apache之父&OpenSSF基金会总经理Brain Behlendorf…

ce60b0f737cc57284d583cb0ed6886ae.jpeg

Brain Behlendorf,Apache 创始人之一、OpenSSF 基金会总经理

本期《新程序员005》有幸邀请到了这位开源大师展开专访,他不仅向我们分享了许多开源安全领域建设的实践经验和宝贵思考,还吐露了自己最真挚且崇高的开源理想。

以下是 Brian Behlendorf 访谈记录:

8cd0396468a31835fad58260d3592c12.png

安全的开源开发需要公开的“配料表”

《新程序员》:自去年 12 月 Log4j2 曝出“惊天”漏洞以来,引发了全球多个国家政府以及科技巨头纷纷的关注与反思,同时关于开源软件的安全性问题的探讨也变得越来越紧迫。对你来说,开源安全领域过去几年发生了哪些大的变化/strong>

Brian:开源安全是政府和企业需要共同努力的事情。我记得当时他们在 Log4j事件之后发布了相当多的报告,但在一份大约 3 周前发布的报告里表示:是很多不同的情况导致了这场危机,因此希望像 OpenSSF 这样的开源安全基金会越来越多。OpenSSF 被那份政府报告引用了 29 次。在我看来,至少在过去几年里,国家安全委员会不再会在修复漏洞的问题上对我们发表意见,所以基金会能取得如今这样的成果和地位,不仅是非常令人满意的,也是非常令人生畏的。开源安全是摆在我们面前的一项艰巨的任务,社会依赖它来运转,就像依赖桥梁、高速公路、电网或社会的其他部分一样,我们的生活不能没有它。

《新程序员》:2021 年 10 月,Linux 基金会宣布筹集 1000 万美元新投资,以扩展和支持开源安全基金会( OpenSSF ),保护开源供应链。为什么开源供应链如此重要在开源的发展中占据什么位置/strong>

Brian:供应链代表着一切,可以说我们所生活的世界就是由供应链组成的,现在我的电脑旁边能有一只鼠标存在,都是因为供应链的存在。而软件自然也不例外,很少有哪个软件是由一个人写成,然后直接把它发送给终端用户的,因为开源软件就是离不开供应链的存在。

正因如此,供应链现在也是被主要攻击的对象。十年前我们肯定想不到,可能会有人在我们的包数据库里偷偷安插了一个坏包,更想不到某个 JavaScript 模块的作者可能会把账户卖给某个黑客,而这个黑客可能会在我们的网站上设置后门……我们的事业是在一个彼此之间高度信任的时代建立起来的,当时我们不必担心这些类型的攻击。现在我们已经意识到了,要帮助开源开发者做出更加安全的决定。

《新程序员》:你认为开源软件的安全性目前面临的最大挑战是什么/strong>

Brian:现在的开发者经常忽视一个问题,那就是平台的选择。比如,当我需要添加一个功能时,一般会在现有库的基础上进行构建,构建的过程中就需要平台的帮助,但我们从来都是默认了一个平台并且依赖它,没有去思考深层的安全性问题。你可以认为这是因为大部分程序员都很“高效”,但其实也是一种“懒惰”。所有人在开发过程中都给予 GitHub 这样的中心组织很大的信任,甚至从未质疑它们。

当然,我希望 GitHub 永远不会被黑客入侵,一旦 GitHub 被入侵了,很多人都会遭殃。到目前为止,GitHub 做得很好,但我们真的应该把所有的信任都交给一个组织吗/p>

我也不清楚这个问题的答案。我们在 OpenSSF 中有一个名为 Sigstore 的项目,它使用了非常轻量的 Let’s Encrypt 方式来用密钥对研发流程中的制品进行签名,以便将其嵌入到每个人用来进行构建和发布的工具中。这就像我们生活中随处可见的配料表:如果你拿起一瓶番茄酱,那么制造商必须告诉你瓶子里装的是什么,以免有的人过敏。总之,开发者现在还需要更好的软件工具来促进开源安全。

开源开发也需要这样的“配料表”,需要透明公开的协作流程。很多企业通常不知道他们运行的是什么软件,Log4j 也是因此出现了问题。开发者们在部署软件时需要理解目标对象的构建,需要了解整套工作的运行流程。我们要尽量避免那些只有一个开发人员看过的软件、来源不可信的软件或者那些你不能保证构建服务器是否被入侵的软件。

5a3efbf9a4699dffb4bdef2b8af0d85a.png

Apache Way 是更安全的协作方式

《新程序员》:作为 Apache 软件基金会的创始成员,你对著名的“ Apache Way ”的理解是什么种开源的运作方式如何保障开源软件的安全/strong>

Brian:其实 Apache Way 一直没什么确切的定义,它的核心有两点:电子邮件和数字交流。Apache Way 是一种完全包容、开放、透明且基于共识的工作方式,让我们打个比方:如果一个项目、一个事情没有发生在我们公众的邮件列表里,那么你可以先在私下进行它,但是你必须把它带回到公众面前,进行一次群体的交流,然后才能继续项目的推进。Apache Way 的主题是透明、协作,我们要尽量避免出现“一个人负责整个软件”这种情况,因为如果某个项目唯一的负责人哪天离开了项目,就没有任何人知道怎么继续维护了。

正如我前面所说,你要确保在开源项目中,总是有很多人对每一行代码负责,甚至是对整个项目进行负责。这就是 Apache Way,我认为它其实是一种生活准则。我们通过这种方式一起使用简单的工具来协调我们的活动,并且对事物的编写方式有共同的期望,这样我们才能够高效生产,编写出最好的软件,从而在代码中建立公众对我们的信任。

《新程序员》:那关于“Apache Way”还有你们的工作方式,你有哪些趣闻可以分享吗/strong>

Brian:我很喜欢用电子邮件来进行工作交流,我喜欢这种以异步方式在线协作的感觉,电子邮件也包容了我们时间上的差异、文化差异还有语言差异等等。至于趣闻,其实我们的 Apache Web 服务器项目就是一个例子,我们的项目里有一个叫 Alexico 的人,他在服务器项目建立后的3年里,大部分时间都对我们提供了不少实用的帮助。他不仅是帮忙写了一些代码,他还会帮助项目里的其他人写代码,并且协助审查他人的代码,甚至还帮我们回答用户的问题。不得不说,他真的是一个优秀的社区构建者。

但是那时候还不流行视频会议,我们也没有很多面对面的机会,所以我没有见过他本人,所以我唯一知道的就是这位 Alexico 的电子邮件地址。直到有一天,他给 Apache Web 服务器的开发者邮件列表发了一条消息,说:“嗨,伙计们,我有一些消息要告诉你们。我以后可能没法给项目带来那么多贡献,也没法经常上线了;因为我今年秋天就要上大学了。”

他作为一名高中生一直在参与这个开源项目,与所有其他专业软件开发人员进行交流!当时我们项目的所有人,都为他的勤奋、智慧以及纯正的开源精神而震惊不已,而我们后来在许多不同国家的人们之间也看到了这份精神。所以我认为,Apache Way 可以帮助那些英语不是母语的人使用电子邮件进行交流,这比使用视频或电话或其他方式要好得多,因为使用电子邮件能保证信息被更准确地传达。

dd72f1f96d352fe1a754f4ca7a1886dc.jpeg

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92024 人正在系统学习中

来源:CrisAppleYan

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月1日
下一篇 2022年10月1日

相关推荐