作为一个整个职业生涯都在从事开源软件(OSS)工作的人,我认为 Log4Shell的争夺 (一个全行业的四级火灾,以解决一个严重的漏洞。 阿帕奇Log4j 包)是一个谦卑的提醒,提醒我们还有多远的路要走。开放源码软件现在是现代社会运行的核心,就像公路桥梁、银行支付平台和手机网络一样关键,现在是开放源码软件基金会开始像它一样行动的时候了。
像Apache软件基金会、Linux基金会、Python基金会等组织,为他们的开放源码软件开发者社区提供法律、基础设施、营销和其他服务。在许多情况下,这些组织的安全工作资源不足,在制定标准和要求以减少重大漏洞的机会方面受到束缚,因为他们害怕吓跑新的贡献者。太多的组织没有运用筹集到的资金或制定流程标准来改善他们的安全实践,并且不明智地倾向于代码的数量而不是质量。
"像这样行事 "会是什么样子?以下是开放源码软件基金会可以做的几件事,以减轻安全风险。
- 建立一个组织范围内的安全团队,接收和分流漏洞报告,以及协调对其他受影响项目和组织的回应和披露。
- 通过CI工具执行频繁的安全扫描,以检测软件中的未知漏洞,并识别依赖关系中的已知漏洞。
- 对关键代码进行不定期的外部安全审计,特别是在新的重大发布之前。
- 要求项目使用测试框架,并确保高代码覆盖率,这样,没有测试的功能就会被阻止,而未被充分利用的功能就会被主动淘汰。
- 要求项目删除已废弃的或脆弱的依赖关系。(一些Apache项目 不易受到Log4j v2 CVE的影响。,因为他们仍在使用Log4j v1,它有已知的弱点,并且自2015年以来没有得到更新!)
- 鼓励并最终要求使用SBOM格式,如 SPDX 以帮助每个人更容易、更迅速地跟踪依赖关系,从而使漏洞更容易被发现和修复。
- 鼓励并最终要求维护者展示对安全软件开发实践基础知识的熟悉程度。
其中许多被纳入了 CII最佳实践奖章这是将这些内容编入一个客观的可比较的指标的首次尝试之一,这一努力现在已经转移到OpenSSF。OpenSSF还发布了一个 为开发人员提供的关于如何开发安全软件的免费课程,以及 SPDX最近已被公布为ISO标准.
上述做法都不是要给开发者更多的报酬,或者将资金从软件的用户直接输送给开发者。不要误会我的意思,开源开发者和支持他们的人应该得到更多的报酬,并在总体上得到更多的赞赏。然而,如果说如果你把更多的钱塞到他们的口袋里,他们就会写出更安全的代码,这对大多数维护者来说是一种侮辱。同时,可以说,当每一个下游用户都认为这些做法已经到位,并且是由其他人支付的时候,就会发生公地悲剧。
应用这些安全实践并提供解决这些问题所需的资源,是人们越来越期待基金会为其社区所做的事情。基金会应该开始为他们的托管项目和成熟项目制定安全相关的要求。他们应该从利益相关者那里筹集所需的资源,为他们最关键的项目进行定期的付费审计,为他们所有的项目提供扫描工具和CI,并在一个跨项目的安全团队中至少有一些付费的工作人员,这样就不会把时间紧迫的反应留给个别志愿者。从长远来看,基金会应该考虑提供资源,以便将 关键项目或代码段转为内存安全的语言,或为更多的测试提供资金悬赏。
阿帕奇软件基金会似乎在很多方面都做得很好,让我们来明确一下。尽管在感恩节假期前被通知,他们的志愿安全团队与Log4j的维护者合作,并迅速作出反应。Log4j在其CI管道中也有近8000个通过的测试,但即使所有这些测试也没有抓住这个漏洞可能被利用的方式。一般来说,Apache项目根本不需要有测试覆盖率,更不用说运行SAST安全扫描或主持第三方审计,这些都可能发现这个问题。
许多其他基金会,包括Linux基金会主办的基金会,也在努力做这一切--这不容易通过许多基金会对代码质量的自由放任理念来推动,而且第三方的代码审计和测试也不便宜。但为了可持续发展,减少对更广泛的社区的影响,以及更有弹性,我们必须做得更好。我们必须一起做这件事,因为对开放源码软件的信任危机影响到我们所有人。
这就是OpenSSF的作用,也是当初吸引我加入这个项目的原因。在新的一年里,你会看到我们宣布一系列新的倡议,这些倡议建立在我们一直以来为开源社区的安全 "提高底线 "所做的工作之上。我们做到这一点的唯一方法是开发工具、指导和标准,使开源社区的采用得到鼓励和实用,而不是繁琐的官僚主义。我们将与其他开源项目和基金会合作,并向他们提供资助,以帮助他们改善他们的安全游戏。如果你想密切关注我们正在做的事情,请在以下网站关注我们 推特 或 以其他方式参与.要想了解我们迄今为止的工作情况,请阅读我们在《世界日报》上的报道。 Linux基金会年度报告,或观看我们最近的 市政厅.
希望2022年能减少四级警报的火灾。
卜睿哲
Brian Behlendorf是Linux基金会的开源安全基金会(OpenSSF)的总经理。他是Apache集团的创始成员,该集团后来成为Apache软件基金会,并担任该基金会主席达三年之久。