了解最新技术文章
就像汽车制造商必须确保其车辆中的每个组件都是安全可靠一样,您也应该确保您生产的软件中的所有组件都是安全且没有缺陷的,尤其是在软件供应链攻击不断增加的情况下。
但引起您注意的不仅仅是攻击。生产安全软件正在成为世界各国政府关注的焦点。这包括政策和法规,以确保您的组织能够:
安全地采购(开源)软件;
安全地开发和发布软件应用程序;和
快速识别并降低安全风险。
如果这听起来在刚开始时就具有挑战性,而且在规模上更是如此,那么您并不孤单。许多组织正在尝试解决这些问题并提高软件开发流程和软件供应链的安全性。
那么,如何调整组织方法来确保软件开发的安全呢?
良好的第一步可能是建立最佳实践和建议的基础,使您的开发团队能够更好地管理软件供应链中的风险。
您可以深入研究并构建自己的流程来提高软件供应链的安全性。然而,更好的策略是利用现有的软件安全框架和工具。
软件安全框架是您的组织可以遵循的一组标准和建议实践,以更好地保护您的组织的软件开发方法。在许多情况下,框架由经过研究和测试的最佳实践组成,旨在满足严格的认证或要求。
就软件安全框架而言,主要目标是帮助开发人员管理与软件开发相关的安全风险。然而,随着这些框架的现代化,许多框架现在都纳入了建议,以最大限度地减少和减轻与开源软件 (OSS) 漏洞相关的风险,从而提高软件供应链的安全性。
优先考虑软件供应链安全的框架可以包括以下流程:
管理您的依赖堆栈
扫描漏洞
利用安全测试工具
开始使用软件物料清单 (SBOM)
软件安全框架与 SOC2 和 ISO 27001 等网络安全框架不同,它专门关注软件开发流程。相比之下,网络安全框架提供了更广泛的指南和最佳实践来保护组织的资产,例如基础设施、硬件和云服务。
软件安全框架代表着对基本原理的回归,以确保软件开发的各个方面都符合安全、公认的最佳实践。这可能包括提供对关键开发系统的访问权限的方法,但它也提供了修复您拥有的代码并就您对开源软件的消费和使用做出更好决策的指导。
软件安全框架为您提供了一种整体方法:
改进开发过程中的决策;
建立更强有力的防御措施来抵御不良行为者;和
为即将出台的政府政策和法规做好准备。
政府监管和软件责任不断变化的格局足以推动任何软件组织进行变革。但是,您应该发布安全软件,作为对客户产品的质量和安全性的承诺。
实施软件安全框架可以帮助您采用更安全的开发流程,重点关注将安全性留在软件开发生命周期 (SDLC) 中。例如,通过从最早阶段将安全性集成到开发过程中,您可以帮助降低与开源软件相关的漏洞风险。
这包括防御软件供应链攻击,这种攻击变得越来越普遍和复杂,并且需要一种组织方法。这些攻击利用漏洞或将恶意软件注入您的软件供应链。通过攻击软件供应链中的组件,不良行为者不仅会渗透到您的组织,还会渗透到您的客户。
由于这些攻击的盛行,各国政府已开始软启动法规,要求与公共部门合作的软件制造商承担责任,以更好地保护其软件供应链。这包括使用 SBOM、采用漏洞披露和响应的最佳实践,以及构建设计安全的产品,CISA 将其描述为“客户的安全是核心业务需求而不仅仅是技术功能的产品”。
通过遵循软件安全框架中提供的指导,组织可以确保遵守这些法规并避免处罚或其他后果。随着政府言论的增加,很快,是否要保护软件供应链将不再是一个选择。
策略、策略和过程根据您选择实施软件安全框架的方式而有所不同。在软件供应链的背景下,软件安全框架可以帮助您:
查看您的应用程序内部有什么,并更好地了解整个软件供应链;
使您的开发人员能够在选择组件时做出更好的决策;和
扩展您的安全实践。
软件安全框架中的一个一致原则是能够跟踪应用程序内部的内容。了解应用程序内部的内容需要实施 SBOM 并利用软件组合分析 (SCA) 工具,以提供对您在应用程序中消耗和使用的 OSS 组件的可见性。
一旦您了解了 OSS 组件,下一步就是向开发人员提供信息,以便他们能够做出更明智的选择来解决漏洞、许可以及与 OSS 使用相关的其他因素。这可能涉及实施管理组件采购和使用的策略,此外还涉及漏洞扫描、测试和签名软件组件的使用。
为了有效,软件安全框架需要大规模实施。这包括确定最关键组件的优先级、制定坚定的政策以及从企业范围的角度监控流程。这可以通过使用自动化工具和流程来实现,例如持续集成和持续交付 (CI/CD) 管道,这有助于确保您的软件供应链在 SDLC 的每个阶段都是安全的。
此时框架已经提供了画布。最后一步是持续监控、迭代和提高软件链的安全性。这包括定期审查政策和程序、更新漏洞数据库以及合并可用的新工具和技术。
以下是现有框架和元素的一些示例,可以帮助将更多安全性纳入软件供应链。将来,我们将更深入地研究其中的每一项,并研究它们为保护您的软件供应链而提供的具体建议。
美国国家标准与技术研究院 (NIST)安全软件开发框架(SSDF) 是一组将安全性集成到 SDLC 中的指南和最佳实践。NIST 与行业专家合作开发了这个框架,以建立一种更加结构化的方法来开发安全软件。
该框架由三个主要类别组成:准备、保护和响应,每个类别都有一组用于构建和部署安全软件的特定活动和参考。通过使用SSDF框架,组织可以开发更安全的SDLC并降低安全事件的风险。
构建安全成熟度模型(BSIMM) 是一个用于评估和改进组织的软件安全实践的框架。BSIMM 基于从 200 多个组织收集的数据并由一组安全专业人员于 2009 年开发,由具体活动和最佳实践组成,提炼为 12 个类别,包括策略和指标、合规性和政策、培训以及代码审查。该框架作为基准测试工具,帮助组织改进其安全计划并降低安全事件的风险。
NIST系统和组织网络安全供应链风险管理(C-SCRM)实践提供了一套指南,帮助组织识别、评估和管理因使用外部供应商的产品和服务而可能产生的安全风险。
该框架由核心层、配置文件层和实施层组成,涵盖供应商选择、持续监控和事件响应等主题。该框架的指导方针旨在适应不同的组织,并可用于开发有效的软件供应链风险管理计划。
美国第 14028 号行政命令,也称为“改善国家网络安全”,是总统乔·拜登于 2021 年 5 月签署的行政命令。该命令旨在通过制定新的指导方针和要求来加强美国政府和私营部门的网络安全态势适用于联邦机构和技术服务提供商。
该命令包括几项关键条款,例如:
改善联邦机构和私营部门实体之间有关网络安全威胁和事件的信息共享。
为联邦机构建立基线网络安全标准,并要求他们采用多因素身份验证和加密。
要求联邦承包商在向政府提供产品和服务时满足新的网络安全标准。
为联邦机构制定标准网络安全事件响应手册。
实现联邦网络安全基础设施和实践的现代化。
创建网络安全审查委员会来审查和评估重大安全事件。
该命令代表了应对日益增长的网络安全威胁的协调努力。它已经对与美国政府合作的政府机构、联邦承包商和技术服务提供商产生了深远的影响。
该记分卡是开源安全基金会 (OpenSSF) 开发的开源自我评估工具,旨在帮助组织评估其安全实践并确定软件供应链安全方面需要改进的领域。
记分卡不是一个符合前面示例精神的框架。但是,它可以帮助组织识别潜在的安全漏洞并确定安全投资的优先级。通过完成自我评估,组织可以深入了解其安全状况并确定需要改进的领域。该记分卡提供了有关如何解决任何已发现的差距并改进整体安全实践的指导。
此外,OpenSSF 记分卡可以帮助组织向客户、合作伙伴和利益相关者展示其对确保软件开发实践和软件供应链安全的承诺。通过公开分享自我评估的结果,组织可以提高其安全实践的透明度,并展示其对提高软件安全性的承诺。
您生产的软件的安全性与其功能一样重要。软件安全框架对于确保软件开发团队有能力管理与使用开源软件相关的安全风险至关重要。这意味着开发人员能够在选择组件时做出更好的决策,团队可以提高对他们使用的 OSS 组件的可见性,并且组织可以更好地管理与其 SDLC 相关的安全风险。
然而,这只是第一步。软件供应链安全性的真正改进是随着时间的推移而实现的。软件安全框架是构建更成熟流程的基础。因此,实施软件安全框架的组织将能够更好地采用更安全的软件开发流程,降低与软件供应链攻击相关的风险,遵守即将出台的行业法规,并最终为其客户发布更安全的软件。
在以后的文章中,我们将更深入地研究每个框架,并回顾提高软件供应链安全性的关键建议。我们将分享 Sonatype 软件供应链成熟度框架的见解,该框架有助于评估和指导组织改善软件供应链安全性。