天极按

近日,美国国家安全局(NSA)与网络安全和基础设施安全局(CSA)与十多个国家的网络安全机构合作,发布了一份联合指南,强调软件物料清单(SBOM)的重要性。该指南敦促软件生产商、采购商和运营商采用SBOM实践,以增强供应链的可视性并降低风险。

本指南由美国网络安全与基础设施安全局(CISA)及合作伙伴共同撰写,阐述了软件材料清单(SBOM)的共同愿景,以及软件组件提升与供应链打破了全球社会带来的价值。

  • 美国国家安全局(NSA)

  • 澳大利亚信号局下属澳大利亚网络安全中心(ASD"s ACSC)

  • 加拿大网络安全中心(CyberCentre)

  • 捷克国家网络与信息安全局(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数据和安全公告部署更精准的措施集,从而节约资源。

SBOM提升了组织对Log4Shell漏洞影响的可视性

2021年12月,开源日志输出库Apache Log4j被发现存在任意代码执行漏洞(俗称Log4Shell)。该库作为日志输出的标准模块,被全球Java系统广泛采用。安全机构很快发现该漏洞被广泛利用。由于Log4j通常作为传递性依赖(即其他依赖项的依赖项)存在,识别难度较大。缺乏SBOM能力的组织往往需要耗时的手动搜索,且存在持续暴露风险。而采用SBOM的组织则能实现相对简便高效的响应(见图1)。

图1. 软件物料清单对Log4j漏洞的影响

供应链风险管理

企业可能受制于组织、行业或政府特定政策,要求其报告或限制特定类型软件组件的使用。这些要求可能涉及软件组件的开发地点、方式、开发者等要素。企业在采购决策时可利用此类数据,使软件选择更契合已知的供应链风险。反过来,软件供应商也将有动力将供应链风险数据融入开发实践,以降低下游用户的阻力。

当供应链中的所有参与者都拥有某款软件的软件物料清单(SBOM)时,识别和响应漏洞所需的时间可大幅缩短(见图2)。若缺乏SBOM,每个参与者都需依赖上游供应商通知其软件是否受到漏洞影响。

图2. 软件物料清单缩短总漏洞响应时间

优化软件开发流程

在软件开发生命周期中实施并使用软件物料清单,可降低组件管理成本、减少漏洞响应造成的停机时间,并识别已停产/终止支持的软件组件风险。企业通过软件物料清单数据,能快速识别符合组织要求和政策的已批准组件,从而节省时间。在软件开发生命周期早期处理组件问题(如已知漏洞或许可问题),可减少软件部署后通常所需的计划外或临时漏洞响应工作。开发过程中识别组件的生命周期终止或安全支持信息,能让开发人员有时间规划组件的终止使用/终止支持日期。部署后的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在保障软件供应链安全方面的价值,并认识到软件开发需要更高透明度。为进一步明确共同愿景,可采取的技术实施协调措施包括: 技术方案的分歧可能阻碍SBOM的广泛采用与可持续实施。协调统一的SBOM实施策略既能提升效能,又能降低成本与复杂度。当跨行业、跨区域、跨国界广泛应用时,供应链可视化将为各方提供更优质的“原料”,并确保已知风险得到早期处置。SBOM的普及是实现软件“安全设计”的必要条件。

声明:本文来自天极智库,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。