介绍
本指南由美国网络安全和基础设施安全局(CISA)和以下合作伙伴编写,提出了软件物料清单(SBOM)的共同愿景,以及提高软件组件和供应链透明度可以为全球社区提供的价值。
§美国国家安全局(NSA)
§澳大利亚信号局的澳大利亚网络安全中心(ASD's ACSC)
§加拿大网络安全中心(网络中心)
§捷克国家网络和信息安全局(NÚKIB)
§法国网络安全局(ANSSI)
§德国联邦信息安全办公室(BSI)
§印度计算机应急响应小组(CERT-In)
§意大利国家网络安全局(ACN)
§日本经济产业省(METI)
§日本国家网络安全办公室(NCO)
§荷兰国家网络安全中心(NCSC-NL)
§新西兰国家网络安全中心(NCSC-NZ)
§波兰研究和学术计算机网络(NASK)
§新加坡网络安全局(CSA)
§斯洛伐克国家安全局(NBÚ)
§大韩民国国家情报院/国家网络安全中心(NIS/NCSC)
§韩国互联网和安全振兴院(KISA)
编写组织旨在进一步告知软件的生产者、选择者(即采购组织)和运营商,了解将SBOM生成、分析和共享集成到安全流程和实践中的优势。SBOM的广泛采用将增强安全性、降低风险并降低成本。
大多数现代软件都由来自开源和专有软件世界的软件组件、模块和库组成,而不是开发人员从头开始创建它。随着人们对软件安全性和来源的担忧日益增加,了解软件供应链中的风险(包括底层软件组件的风险)至关重要。解决这些风险的第一步是提高透明度。这对于执行影响公共安全的基本功能的关键基础设施和系统中的软件尤其重要。
正如国际安全设计工作所确定的那样,软件组件和供应链透明度是更安全的软件生态系统的基础。创作组织了解SBOM在保护软件供应链方面的价值,并认识到软件开发需要提高透明度。
什么是SBOM?
SBOM是构建软件中使用的各种组件的详细信息和供应链关系的正式记录。它也可以被认为是软件的“成分列表”。SBOM已成为解决软件安全挑战的关键工具,因为它们提供了对软件组件的可见性。
SBOM应该以广泛使用的格式进行机器处理,并包含有关软件中开源和专有组件的足够信息,以便与其他数据源(例如漏洞数据库和安全公告)相关联。自动化是SBOM生成和使用的关键目标。通过分析SBOM数据,用户应该能够确定给定组件是否存在于软件中。SBOM数据还可以提供对组件来源的洞察。在供应链下游共享SBOM使组织能够更全面地了解软件,并对可能表明新风险的信息做出响应。
SBOM价值主张
SBOM通过记录有关软件依赖关系的信息,提高整个组织软件供应链和企业系统的可见性。组织可以利用这种透明度来提高风险管理实践的有效性,特别是漏洞管理和供应链管理,改进软件开发流程,并支持组织的许可证管理。
风险管理实践
漏洞管理
识别和响应漏洞是安全软件开发和在整个软件生命周期中限制风险的关键步骤。借助SBOM数据,软件生产者和运营商可以将软件的依赖关系映射到现有漏洞的相关列表,并使用持续监控来跟踪可能出现的新漏洞。
SBOM的透明度提高了响应漏洞的速度和效率,缓解措施更加量身定制,专注于解决特定风险。通过使用软件供应商提供的安全建议(理想情况下,采用通用安全咨询框架4等自动化友好的格式),组织还可以验证该漏洞是否使其软件容易受到利用。如果需要缓解措施,组织可以通过根据SBOM数据和安全公告部署一组更有针对性的措施来节省资源。
2021年12月,在开源日志输出库Apache Log4j中发现了一个任意代码执行漏洞(俗称Log4Shell)。该库被广泛用作全球Java系统中日志输出的标准模块。安全组织很快观察到广泛的利用。 由于Log4j通常用作传递依赖项(其他依赖项的依赖项),因此并不总是容易识别。没有SBOM功能的组织通常不得不进行耗时的手动搜索,并冒着仍然容易受到攻击的风险。拥有SBOM的组织能够报告相对直接和有效的响应(见图 1)。 | 图1.SBOM对Log4j漏洞的影响 |
组织可能具有特定于组织、行业或政府的策略,要求他们报告或限制某些类型的软件组件的存在。这些要求可能与软件组件的开发地点、方式、人员等有关。组织在做出购买决策时可以利用这些数据,以更好地使其软件选择与已知的供应链问题保持一致。反过来,软件供应商将有动力将供应链风险数据整合到他们的开发实践中,以尽量减少下游用户的摩擦。
当供应链上的所有参与者都拥有软件的SBOM时,识别和响应漏洞的时间可以显着减少(见图2)。如果没有SBOM,每个参与者都依赖于上游供应商来通知漏洞影响他们的软件。
图2.SBOM缩短了总漏洞响应时间
改进的软件开发流程
在整个软件开发生命周期中实施和使用SBOM可以降低与管理组件、响应漏洞所花费的停机时间以及识别软件组件生命周期终止/支持终止的风险相关的成本。组织通过使用SBOM数据来识别已根据组织要求和策略批准的组件来节省时间。
在软件开发生命周期的早期解决软件组件问题,例如已知漏洞或许可证问题,可以减少部署软件后漏洞响应通常需要的计划外或计划外工作。在软件开发过程中识别软件组件的生命周期终止或安全支持信息,使开发人员有时间规划生命周期结束/支持终止日期。SBOM的部署后监控可以帮助组织识别随着时间的推移而变得易受攻击的组件,使他们能够快速有效地构建和部署修复程序,作为有效DevOps开发流程的一部分。软件开发人员可以使用SBOM数据在软件开发生命周期的每个阶段为他们的决策提供信息,以开发更安全的软件。
管理软件许可证
SBOM数据使组织能够更好地识别软件组件的许可证信息,并在许可证允许的情况下使用软件组件。例如,随着开源软件越来越多地嵌入整个软件生态系统,跟踪许可证和义务可能会变得更加复杂和重要。违反开源许可证可能会导致软件销售暂停或召回、罚款和声誉受损。这些后果可能会通过突然增加的成本或计划外终止支持来影响下游组织。
谁应该关心SBOM?
整个软件生态系统中的软件生产者、选择者和运营商受益于SBOM数据透明度的提高。组织可以同时承担软件生产者和选择者、选择者和作者的角色,或这些角色的任意组合。同样,组织内的个人或办公室也可以充当软件生产者、选择者或操作员,或这些角色的任意组合。国家网络安全组织也受益于SBOM的采用和实施。
生产者
在生产软件的组织中,开发人员可以更好、更自动化地跟踪供应链中的上游组件,这使他们能够选择最适合自己需求的组件。支持软件开发的安全团队,例如应用程序安全团队或更正式的产品安全团队,可以更好地响应漏洞信息并战略性地部署缓解措施。SBOM中提供的许可证数据可以帮助法律团队更有效地管理许可证问题。生产软件的组织还可以从减少代码膨胀和预测潜在的支持或质量问题中受益。
需求者
SBOM透明度的提高使获取软件的组织(或负责为其组织获取或选择软件的组织)能够就将软件组件引入组织系统做出风险知情决策。软件供应商是否可以为其软件提供SBOM本身就有助于为软件采购决策提供信息。
运营商
部署软件后,整个网络和系统的可见性使软件运营商能够更好地了解新识别的风险敞口。操作员可以更轻松地对哪些软件以及该软件支持的哪些任务进行分类,以响应新的漏洞信息。当补丁或更新不可用时,安全团队可以采取其他预防措施,包括补偿控制、网络隔离或有针对性地使用威胁情报。
国家网络安全组织
SBOM可以在管理一个国家的网络安全风险方面发挥至关重要的作用。除了在采购过程中使用SBOM之外,各国政府还开始探索如何提高透明度来改善整体风险态势。这包括协助协调漏洞披露和应对,以及为市场监督机构、特定监管机构或认证方法的评估和政策做出贡献。网络安全组织在与其他实体(例如行业协调机构)协调时也可以从软件供应链数据中受益。SBOM的使用并不预设任何政策;具体政策最终应留给各国。
除了这些核心角色之外,执行团队还应跟踪供应链可见性,作为软件安全的关键组成部分,涵盖一系列问题和跨团队关注点。出于许可和合规原因,法律和合规团队可能有明确的利益。对于刚刚开始SBOM之旅的组织,战略团队应该了解如何引入和部署这种能力。组织现代化专家还应考虑实施SBOM,因为更现代或更先进的工具使SBOM生成更容易、更便宜,从而带来规模经济和更先进的开发实践。
了解SBOM的设计安全
在联合文件《改变网络安全风险的平衡:设计和默认安全原则和方法》中,第二个原则是“拥抱彻底的透明度和问责制”。安全设计方法鼓励软件制造商和生产商“掌控他们的供应链”。SBOM为软件制造商和生产商提供了一种采用安全设计原则的方法,即在其供应链中采用彻底的透明度和问责制。通过为每个产品构建和维护SBOM、向供应商请求数据以及向下游客户和用户提供SBOM,软件制造商和生产商展示了他们对他们创建的产品的尽职调查以及应对风险的能力。SBOM还使软件消费者能够在出现新漏洞时更好地应对风险。
为了兑现这一承诺,自动化工具和流程应该推动SBOM的实施。这包括自动生成、管理和使用。生成SBOM可以在软件创建生命周期的多个时间点进行。理想情况下,SBOM生成是软件创建过程的一部分,使用构建时工具,但这并不总是可能的。可以从源存储库创建SBOM。如果软件已经存在,二进制分析工具可以使用越来越准确的启发式方法和数据集来确定底层组件。创建后,软件制造商和生产商必须管理SBOM,包括通过版本控制和确定哪些元数据是最新的并适用于跨组织部署的系统。其他自动化就绪数据,如漏洞利用交换(VEX)可以与SBOM数据同时使用,以最大限度地提高效率并协助确定优先级。
最后,必须消耗SBOM。毕竟,SBOM只是数据。上述大部分价值需要将这些数据转化为可以推动行动的见解。SBOM数据可以映射到其他数据集,例如漏洞数据库、安全公告或有关供应链风险的信息、开源项目详细信息以及生命周期结束/支持终止信息。其中一些数据会随着时间的推移而变化;以前风险很小的组件可能会引起新的担忧。理想情况下,SBOM数据将集成到组织已经使用的其他工具中,例如供应链风险管理、漏洞管理和资产管理工具。
结论
更好的软件透明度将直接提高软件创建和使用过程中做出的决策质量。创作组织了解SBOM在保护软件供应链方面的价值,并认识到提高软件开发透明度的必要性。进一步澄清共同愿景的其他步骤可包括协调技术实施。不同的实施可能会阻碍SBOM的广泛采用和可持续实施。协调一致的SBOM方法将提高有效性,同时降低成本和复杂性。
当跨行业、地区和国家广泛使用时,供应链照明可以为每个人提供更好的“成分”,并有助于确保及早解决已知风险。采用SBOM是软件设计安全的不可或缺的条件。
免责声明
本报告中的信息按“原样”提供,仅供参考。CISA和创作组织不认可任何商业实体、产品、公司或服务,包括本文档中链接的任何实体、产品或服务。通过服务标志、商标、制造商或其他方式对特定商业实体、产品、流程或服务的任何引用,均不构成或暗示CISA和创作组织的认可、推荐或青睐。
本文件不影响适用于编写组织所在司法管辖区的任何类型的立法。本文件不对起草组织具有约束力,也无意为执行此类立法提供指导。
鸣谢
欧盟委员会通信网络、内容和技术总局(DG CONNECT)6为本指南做出了贡献。
版本历史记录
2025年9月3日:初始版本。
—欢迎关注
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...