22月1.1日,NIST发布了SSDF XNUMX(安全软件开发框架)的最终版本。
该框架最初于 2021 年 XNUMX 月作为草稿版本发布。所有高级实践和任务都保持相同,但围绕提供的各种示例存在许多差异。
什么是 NIST SP 800-218 框架? SSDF 整合了安全软件开发的长期最佳实践建议。其可定制、与行业无关的方法旨在促进跨部门(以及生产者/收购者)沟通,以帮助定义战略目标并评估当前差距。
NIST 建议在决定实施哪些实践时平衡风险与成本、可行性和适用性。自动化是一个需要考虑的关键功能,其预期目标是自动化尽可能多的检查和流程,以促进软件安全。
最终版本和草稿版本之间的差异:
完整性验证 – 在讨论漏洞时,更多关注的是完整性验证 当查看您的代码和从外部来源获取的库/产品时。
不可变的证明 – 实施实践的责任可能分布在不同的组织之间,特别是在考虑到软件供应链的复杂性时。越靠近链条的上游或下游,能见度就会显着下降。这就是为什么 NIST 建议将平台/服务的提供商和消费者的共同责任编入合同或协议中。应明确哪一方负责每项实践和任务,以及每个提供商将如何证明其遵守协议。 “信任但验证”公理在这里成立——不可变的证明 可以在软件生产商和软件收购方之间轻松共享的信息是提高所有利益相关者对软件供应链信任的关键。
开源社区参与 – NIST 表示未来的工作可能会采取特定用例的形式,并打算与 开源社区。 考虑到当今使用的大多数商业代码产品都包含重要的开源代码元素,因此很自然地将开源社区纳入软件生命周期安全的规划和实施中。
作为 KRI(关键风险指标)的漏洞严重性评分 – 另一个正在生效的变化是作为关键指标的严重性评分。知道许多网络安全人员都患有警报疲劳,因此每个组织都有必要定义适合自己的漏洞评分等级以及每个此类评分应得到的具体处理方法。
更少的人工访问,更多的自动化 – NIST 鼓励尽量减少人类对工具链系统的直接访问,例如构建服务。访问的人越多,发生的错误就越多。这再次与提高自动化程度的建议是同一脉络。
诚信的 SBOM – 在讨论 SBOM(软件物料清单)时,NIST 建议对工件的完整性采取强有力的保护,并为接收者提供一种验证完整性的方法。接收者可以是组织内部和外部的人员,因此采用第三方系统来共享安全 SBOM 是有意义的。
二进制与源代码完整性 – 如果无法确认所获取的二进制文件的完整性或出处,建议从源代码重新构建这些二进制文件。这是假设您可以验证源代码的完整性和出处。软件供应链中的所有环节都有责任通过数字签名或 SBOM 等其他机制提供可验证的完整性证明。
总结
总体而言,NIST 认为“SSDF 的实践、任务和实施示例代表了一个需要考虑的起点。它们应该被改变和定制,并随着时间的推移而发展。”
SSDF 不是您应该遵循的清单,而是为规划和实施基于风险的方法来确保软件开发安全提供了指导。
与美国基于法律的法规不同,SSDF 将以商业为基础——政府将利用其购买力让市场遵守这一新的最佳实践框架。如果您不能表现出对框架的遵守,您将不会被考虑签订政府合同。我们可能会看到一种涓滴效应,考虑申请政府合同的组织将要求其所有供应商也遵守,依此类推,直至软件供应链。
要了解有关新法规和 SSDF 的更多信息,请观看我们的网络研讨会: “揭秘 2022 年新网络安全法规”。
此内容由领先的端到端软件供应链安全解决方案提供商 Scribe Security 为您提供 - 为整个软件供应链中的代码工件以及代码开发和交付流程提供最先进的安全性。 了解更多