毫无疑问,开源软件对于满足联邦任务所需的开发和创新至关重要,因此其安全性至关重要。
OSS(运营支持系统) 支持联邦政府内的每个关键基础设施部门。
联邦政府认识到这一点,并正在采取措施优先考虑 OSS 安全,例如国家网络主任办公室最近的 OS3I 计划、随后的公共信息请求以及网络安全和基础设施安全局的开源软件安全路线图。
这些举措将帮助各机构更好地了解、管理和降低我们国家关键基础设施所依赖的开源软件的风险。
CISA、政府领导人和行业合作伙伴等监督机构有责任为 OSS 使用设定基准预期,并确保顶级安全性来保护机构的关键数据——如果机构未能制定明确的标准,这些数据可能会受到威胁。
为了大规模减少漏洞,政府领导人需要优先考虑安全性并促进开源软件开发最佳实践。这可以分为三个增强安全性的首要考虑因素:
1. 利用受支持的企业 OSS;
2. 在开发阶段实施安全设计实践;
3. 利用人工智能。
支持的企业 OSS 提供更高的安全性
与普遍看法相反,并非所有开源软件都是生而平等的。处理敏感数据的联邦机构应尽可能使用受支持的企业开源软件。大规模使用企业 OSS 免费版本的机构无法获得确保数据安全所需的支持级别。即使它们功能丰富,免费工具项目也无法大规模提供可审核、可证明的安全性。
受支持的企业 OSS 提供了更高级别的安全性和监管,并对所提供的代码提供了额外的责任。它通过质量检查点、自动化测试和可执行的 DevSecOps 管道来实现这一点,以一致地验证对软件的贡献。它还可以更好地管理风险,并提供增强的可见性、透明度、报告和可审计性功能。
此外,应为企业版 OSS 创建和发布强化指南和最佳实践,以降低风险。同行代码审查是 OSS 社区开发中的常见做法。为了提高透明度和安全性,托管 OSS 的平台应该能够了解同行评审和贡献批准者历史记录。
公私合作伙伴关系对于提高软件开发过程的问责制和透明度至关重要。政府可以向行业合作伙伴寻求安全开源软件最佳实践的支持。
通过设计确保 OSS 安全
除了 OSS 安全路线图之外,CISA 最近还为软件提供商发布了关于安全设计实践的新指南,作为确保 OSS 安全的关键方法。设计安全的产品在软件生命周期开始时就将安全性融入其中,而不是事后才考虑或在开发过程结束时考虑。
CISA 的指导以及NIST 的安全软件开发框架(SSDF)等标准制定的指南,强化了通过设计保持软件安全的关键考虑因素,这些因素必须延续到开源环境中。具体就 OSS 安全而言,SSDF 充当确认设计安全原则的指南,并为 OSS 采用带来初始信任级别。根据设计安全原则,使用软件的开发人员和联邦领导人应考虑使用能够自动扫描漏洞并具有强大环境可见性的工具。
政府领导人应考虑确保所有软件设计安全的另一个工具是软件物料清单或构成软件的组件清单。SBOM 还包括有关用于开发、构建和部署软件工件的库、工具和流程的关键信息。记录用于生成 SBOM 的工具以及随附的数字证明可以证明工件未被修改。
在开发阶段和选择受支持的平台上优先考虑安全对于建立和维持信任至关重要。通过用于构建、测试和安全功能的单一 DevSecOps 平台,也可以更轻松地实现证明和可信度。
应用 AI 增强 OSS
联邦政府正在通过使用人工智能来扩展其能力,这是各机构在 OSS 安全之旅中应该考虑的另一个工具。人工智能有能力自动执行琐碎的任务,并将减轻开发人员的一些负担,让他们有更多时间专注于安全性。组织还应该不仅仅将人工智能用于代码开发,而应将其纳入整个软件开发生命周期,例如向非技术用户解释代码和提供安全支持。
当人工智能集成到软件开发生命周期的每个阶段时,可以帮助主动防止或减少开发过程中的审批要求。它还可以应用于新代码和自动测试创建、自动选择审阅者以及辅助修复已识别的漏洞。
考虑人工智能的政府机构应关注所使用的模型和平台、供应商透明度和编码最佳实践。人工验证代码应该继续成为一项持续的要求,并辅之以自动安全扫描。
OSS 是软件开发的基础,可促进创新并使政府能够更快地开发关键项目,为关键基础设施提供基础。遵循 OSS 安全最佳实践对于降低风险并更好地保护政府资产至关重要。
这项事业不必单独完成——联邦领导人应该寻求激励政府和行业之间的有意合作伙伴关系,以鼓励合作和问责。共同努力保护 OSS 对国家安全至关重要。利用这些考虑因素可以增强 OSS 安全性,进而使政府能够针对关键任务运营进行创新。