查看原文
其他

开源基金会必须合作以防止下一次Log4Shell混乱



| 作者:Brian Behlendorf

| 编辑:金心悦

| 设计:朱亿钦

|责编:王玥敏



作为一个将整个职业生涯都花在开源软件(OSS)上的人,Log4Shell 的混乱(整个行业范围内的四级警报,以解决 Apache Log4j 包中的一个严重漏洞)是一个谦卑的提醒,我们还有很长的路要走。OSS 现在是现代社会运作的中心,就像公路桥、银行支付平台和手机网络一样重要,是时候 OSS 基金会开始像现代社会运作的中心一样行动了。

像 Apache 软件基金会、Linux 基金会、Python 基金会等组织,为他们的 OSS 开发人员社区提供法律、基础设施、营销和其他服务。在许多情况下,这些组织的安全工作资源不足,并且由于害怕吓跑新的贡献者,在设置标准和需求以减少重大漏洞的机会方面受到限制。太多的组织没有申请筹集到的资金,也没有设置过程标准来改进他们的安全实践,并且不明智地偏向于代码的数量而不是质量。

“像现代社会运作的中心一样行动”是什么样子的?以下是一些开源软件基金会可以做的事情来降低安全风险:

1. 建立一个全组织范围的安全团队来接收和分类漏洞报告,并协调对其他受影响的项目和组织的响应和披露。
2. 通过 CI 工具进行频繁的安全扫描,以检测软件中的未知漏洞,并识别依赖项中的已知漏洞。
3. 对关键代码进行偶尔的外部安全审计,特别是在新的主要版本发布之前。
4. 要求项目使用测试框架,并确保高代码覆盖率,因此不鼓励没有测试的特性,并主动淘汰未充分使用的特性。
5. 要求项目移除已弃用或易受攻击的依赖项。(一些 Apache 项目不容易受到 Log4j v2 CVE 的攻击,因为它们仍然与 Log4j v1 一起发布,而 Log4j v1 已经有了已知的弱点,而且自 2015 年以来就没有收到过更新!)
6. 鼓励并最终要求使用 SPDX 等 SBOM 格式,以帮助每个人更容易、更快地跟踪依赖关系,从而更容易发现和修复漏洞。
7. 鼓励(然后最终要求)维护人员演示熟悉安全软件开发实践的基础知识。

其中许多都被纳入了CII 最佳实践徽章[1],这是第一次尝试将它们编纂成一个客观的可比度量,现在已经转移到 OpenSSF。OpenSSF 还为开发人员发布了一个关于如何开发安全软件的免费课程[2],而SPDX 最近也作为 ISO 标准发布了[3]

上述做法都不是为了向开发者支付更多报酬,或者将资金直接从软件用户转移到开发者身上。不要误会我的意思,一般来说,开源开发者和支持他们的人应该得到更多的报酬和更多的赞赏。然而,如果你只是把更多的钱塞进他们的口袋,他们就会编写更安全的代码,这对大多数维护者来说是一种侮辱。与此同时,当每个下游用户都认为这些做法已经到位,由其他人完成并支付费用时,可以说普遍的悲剧发生了。

应用这些安全实践并提供解决这些问题所需的资源,是越来越多的基金会为他们的社区所做的事情。基金会应该开始为其托管的和成熟的项目建立安全相关的需求。他们应该从利益相关者那里筹集所需的资源,对他们最重要的项目进行定期付费审计,扫描工具和所有项目的 CI,并在跨项目安全团队中至少有一些付费的工作人员,这样关键的时间响应就不会留给单个志愿者。从长远来看,基金会应该考虑提供资源,将关键项目或代码段转移到内存安全的语言中[4],或者为更多的测试提供奖励。

Apache 软件基金会似乎在这方面做得很好,让我们清楚一点。尽管在感恩节之前收到了通知,但他们的志愿安全团队与 Log4j 维护者一起工作,并迅速做出了反应。Log4j 在其 CI 流水线中也有近 8000 个通过的测试,但即使所有这些测试都没有发现这个漏洞可能被利用的方式。一般来说,Apache 项目根本不需要测试覆盖,更不用说运行这种 SAST 安全扫描或进行第三方审计(可能可以捕获了这种情况)了。

许多其他的基金会,包括那些托管在 Linux 基金会的基金会,也在努力做到这一切——这是不容易通过自由放任的哲学,许多基金会有关于代码质量,第三方代码审计和测试是不便宜的。但为了可持续发展,减少对更广泛的社区的影响,使其更有弹性,我们必须做得更好。我们必须共同努力,因为对开业软件的信任危机影响着我们所有人。

这就是 OpenSSF 出现的原因,也是我最初选择这个项目的原因。在新的一年里,你将看到我们宣布一系列新的倡议,这些倡议建立在我们为开源社区的安全“提高基础”所做的工作上。我们有效做到这一点的唯一方法是开发工具、指导和标准,这些工具、指导和标准能够鼓励开源社区采用,并且是实用的,而不是繁琐的或官僚的。我们将与其他开源项目和基金会合作,并为他们提供资助,以帮助他们改善他们的安全工作。如果你想了解我们正在做的事情,请在Twitter[5]上关注我们或以其他方式参与进来[6]。要了解我们到目前为止的进展,请阅读我们在 Linux 基金会年度报告[7]中的内容,或观看我们最近的市政厅[8]

希望一个少四级警报的 2022 年,

Brian
Brian Behlendorf 是 Linux 基金会的开源安全基金会(OpenSSF)的总经理。他是 Apache Group(后来成为 Apache 软件基金会)的创始成员之一,并担任基金会总裁三年。

参考资料:
[1]
CII 最佳实践徽章:

 https://bestpractices.coreinfrastructure.org/zh-CN
[2]如何开发安全软件的免费课程:
 https://openssf.org/training/courses/
[3]SPDX 最近也作为 ISO 标准发布了:
https://spdx.dev/spdx-specification-is-now-an-iso-standard/
[4]将关键项目或代码段转移到内存安全的语言中:
https://www.memorysafety.org/
[5]Twitter:
http://twitter.com/theopenssf
[6]其他方式参与进来:
 https://openssf.org/getinvolved/
[7]Linux 基金会年度报告:
https://www.linuxfoundation.org/wp-content/uploads/2021_LF_Annual_Report_120721c.pdf
[8]市政厅:
 https://openssf.org/townhalls/

联系关于Linux基金会




Linux基金会是非营利性组织,是技术生态系统的重要组成部分。 
Linux基金会通过提供财务和智力资源、基础设施、服务、活动以及培训来支持创建永续开源生态系统。在共享技术的创建中,Linux基金会及其项目通过共同努力形成了非凡成功的投资。请长按以下二维码进行关注。




相关阅读 | Related Reading


试论开源生态的经济模型

2021开源社年度报告:开心开源


官宣!2021中国开源年报震撼首发!一篇报告带你读懂中国开源的2021~


开源社简介

开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、开源项目” 为使命的开源社区联合体。开源社积极与支持开源的社区、企业以及政府相关单位紧密合作,以 “立足中国、贡献全球” 为愿景,旨在共创健康可持续发展的开源生态,推动中国开源社区成为全球开源体系的积极参与及贡献者。


2017 年,开源社转型为完全由个人成员组成,参照 ASF 等国际顶级开源基金会的治理模式运作。近七年来,链接了数万名开源人,集聚了上千名社区成员及志愿者、海内外数百位讲师,合作了近百家赞助、媒体、社区伙伴。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存