11.2 我真的需要一个SBOM吗?
随着围绕 SBOM 的所有炒作和混乱,一些软件消费者可能会问自己是否需要 SBOM。当然,虽然软件行业几十年来一直没有使用 SBOM,但这并不意味着没有挑战,而且随着 OSS 和第三方组件的使用增加,这些挑战只会加速。
SBOM(软件物料清单)的兴趣在软件行业的供应商和消费者中都大幅增长,并且这种趋势似乎不会减缓。根据Linux基金会的《软件物料清单(SBOM)和网络安全准备状态》等调查,SBOM的使用在2022年增加了66%,预测显示到2023年几乎88%的组织将在某种程度上使用SBOM(www.linuxfoundation.org/research/the-state-of-software-bill-of-materials-sbom-and-cybersecurity-readiness)。
现代软件和应用程序主要由开源软件(OSS)和第三方软件组件组成,如果没有使用SBOM或软件组成分析(SCA)等严格的活动,消费者对所使用软件的组件或依赖项的理解就不够充分。这意味着消费者目前和传统上一直在使用供应商提供的软件时,对所涉及的组件、它们的漏洞、可利用性以及它们可能对组织及其合作伙伴、客户和利益相关者构成的风险几乎不了解。正如在第2章“现有方法——传统供应商风险管理”中讨论的那样,传统的采购/收购和供应商风险评估流程没有达到包括软件组件清单和风险管理的深度。
虽然成熟且积极的供应商理想情况下会发布补丁或更新以解决其软件中的易受攻击组件,但事实并非总是如此。Veracode在其2017年的《软件安全状态》报告中发现,只有大约一半的供应商为其软件中发现的第三方组件漏洞开发补丁(www.veracode.com/sites/default/files/pdf/resources/reports/report-state-of-software-security-2017-veracode-report.pdf)。这并不是说所有的易受攻击组件都是可利用的,但它仍然使消费者缺乏上下文和指导,并伴随着剩余风险。
因此,消费者可能会使用他们不知道存在漏洞的软件。除非他们从供应商那里获得了该软件的SBOM,显示其包含的组件,否则消费者无法关联这些组件相关的漏洞,无法向供应商询问其可利用性,或独立评估和验证其漏洞的可利用性。SBOM带来的透明度有助于缓解大多数软件消费者目前面临的可见性和意识差距。
消费者使用SBOM的另一个原因是,如我们在其他章节中讨论的那样,国家漏洞数据库(NVD)等数据库显示的是产品级别的漏洞,但通常缺乏对产品中涉及的组件和这些特定组件相关漏洞的详细见解。消费者不能仅仅依赖严格使用NVD和产品的通用平台枚举(CPE)名称来了解或意识到产品中的易受攻击组件。
正如我们讨论过的,其他漏洞数据库正在出现,这些数据库在OSS漏洞以及对包URL(PURL)的支持方面提供了更好的功能,PURL是一种更有效的识别组件级漏洞的方法(https://github.com/package-url/purl-spec)。
正如您记得的,我们讨论过SBOM论坛在其白皮书《组件识别操作化提案》中的努力,该白皮书呼吁MITRE和NVD采用PURL来识别OSS和商业软件。在某种程度上,这将有助于解决NVD在与产品相关的组件级漏洞方面的当前差距。正如白皮书中指出的那样,全面自动化和SBOM的有效性将受到抑制,直到这一命名挑战得到解决或至少显著改善。
虽然供应商可能经常主动识别其组件和产品中的漏洞,修复它们并通知其消费者,但这并非总是如此。拥有组件的可见性允许消费者保持对组件级漏洞的意识,并在消费者识别到新组件漏洞时通知供应商(如果供应商之前没有通知,这是理想情况)。它还赋予消费者询问识别到的漏洞的可利用性的权力,如果供应商没有主动提供相关背景的话。正如我们将要讨论的,它还使消费者能够在供应商尚未发布修复或补丁且可能永远不会发布的情况下,实施虚拟补丁等方法。
这将责任推给供应商,使其知道消费者关注并关心组件漏洞。现实是,识别和修复漏洞有成本,而供应商不一定有动力在其他产生收入的活动(例如产品和功能开发)上主动进行这项工作。
资产清单一直是SANS和互联网安全中心(CIS)等来源中的安全最佳实践和关键控制。然而,随着行业认识到单个软件组件可能对不仅仅是一个组织而是整个行业造成的风险,对软件资产清单和现在的软件组件资产清单的讨论已经成熟。
知道让组织采用所有安全控制或优先实施它们同等重要是不现实的,CIS提供了一份与生态系统中最普遍的攻击相关的关键安全控制清单。CIS表示,这份清单是每个希望提高其安全防御的企业的“必须做,先做”的起点(www.cisecurity.org/controls)。
CIS 关键安全控制映射到其他行业框架,例如支付卡行业数据安全标准 (PCI DSS)、健康保险流通与责任法案 (HIPAA)、北美电力可靠性公司关键基础设施保护 (NERC CIP) 和联邦信息安全现代化法案 (FISMA),所有这些框架也在一定程度上讨论了软件清单的需求。虽然传统上这可能意味着应用程序,但随着软件供应链攻击和易受攻击的软件组件的激增,它越来越多地转向更精细的软件资产清单。
正如CIS指导指出的那样,软件资产的清单和控制是防止攻击的关键基础。恶意行为者经常寻找他们可以利用的易受攻击的软件版本。这可能对组织产生各种影响,包括横向移动到其他企业资产,甚至出现级联场景,在这种情况下,他们会从最初的目标组织转移到商业伙伴、客户或其他目标有访问权限的组织。
如果没有健全和准确的软件资产清单,消费者将无法确定其环境中是否存在易受攻击的组件,或者是否存在其他相关问题,例如许可问题。
除了在软件组件资产清单方面发挥关键作用外,SBOM还为消费者提供了其他用例,例如事件响应团队。例如,在Log4j事件发生后,网络安全审查委员会(CSRB)报告称,一些联邦机构花费了数万小时调查事件并试图找到其企业环境中易受攻击的Log4j组件的存在。
虽然在大型复杂环境中的事件响应无论在何种情况下都不可避免地需要时间,但如果事件与易受攻击的软件组件(如Log4j)相关,并且你的组织缺乏全面的软件组件清单,那么确定组织的脆弱性位置和程度将变得极其困难。
从消费者的角度来看,SBOM在采购和收购中也具有重要价值。当消费者通常通过流程来审查新应用程序和供应商,以在其企业中使用或促进业务流程时,了解这些供应商可能带来的潜在风险是关键。
组织使用的方法包括请求漏洞扫描、渗透测试报告、合规性文档(如SOC 2)等,以帮助他们确定使用特定供应商或供应商的适用性。然而,这些活动在历史上并不包括软件组件清单数据,这使得消费者对所包含产品的软件组件构成不了解,也不了解供应商在其产品中使用的第三方软件组件相关的漏洞。
通过向供应商索取 SBOM 和漏洞利用交换 (VEX) 文档,消费者可以了解与其供应商产品相关的任何漏洞、其可利用性以及这些产品可能对其组织的安全态势产生的潜在影响,然后再在采购和收购过程中走得太远。
对于消费者来说,SBOM的另一个关键考虑因素是确保他们与供应商合作,以消费者可以支持的格式接收SBOM(例如,如果他们的内部工具和功能面向SPDX或CycloneDX,而不是具有支持两者的能力)。消费者可以使用合同条款等方法,要求供应商根据其个人需求和能力提供特定格式。消费者还可以使用他们的合同条款来定义他们所需的 SBOM 格式,以及频率、交付方式、必填字段等。这方面的例子包括美国联邦部门,该部门正在围绕国家电信和信息管理局 (NTIA) 团结起来——为 SBOM 定义了定义所需字段和内容的最小元素。
No Comments