美国网络安全和基础设施安全局(CISA)和美国能源部U.S. Department of Energy (DOE) Cybersecurity,Energy Security, and Emergency Response (CESER)联合发布了其软件材料清单(SBOM)共享生命周期报告,其中列举并描述了SBOM共享生命周期的不同参与方和阶段。
2018年,当国家电信和信息管理局NTIA)启动其多利益攸关方进程时,与软件材料清单(SBOMs)的合作社区努力开始了。这些努力导致了工作小组的建立这些努力导致了以软件组件透明度为重点的工作组的建立。这些工作组介绍了SBOM的相关概念,提供了技术资源,创建了概念验证工作,并制作了实施材料。2021年底,国土安全部的网络安全和基础设施安全局(CISA)开始通过促进社区参与来推进SBOM的工作。这些社区主导的努力采取了社区创建的教育文件、相关活动的参与(例如,SBOM-a-rama关于推进 SBOM技术,流程和实践的公众听证会),以及正在进行的与SBOM有关的新工作流。CISA推动的一个新的工作流的重点是SBOMs的共享。这项工作是建立在先前利益相关者的努力之上的,为用户提供不同的发现和访问方式。和访问这一努力是建立在利益相关者先前的努力之上的,目的是为用户提供不同的发现和访问选择,并尽量减少"SBOM数据的不同作者和消费者的负担"。多方利益相关者和社区主导的SBOM工作已被证明在了解SBOM创造,分配和消费的现状方面富有成效。从这些利益相关者的参与中,有两件事变得很清楚:(1)目前正在进行SBOM共享,(2)没有一个单一的、无处不在的解决方案被所有利益相关者使用。虽然社区对SBOM的生成进行了大量讨论,但对SBOM共享的集中讨论较少。本报告的目的是强调目前使用的SBOM共享解决方案,并帮助读者根据他们对SBOM的发现、访问和传输的需要,考虑活当的共享解决方案。
相关各方在共享SBOMs方面的互动将被称为SBOM共享生命周期。NTIA的"共享和交换SBOMs"文件包含了广告/发现和访问的两步方法。10共享生命周期对这一方法进行了扩展,重点是SBOMs如何从作者到消费者的完整共享过程。生命周期由发现、访问和传输阶段组成(见图1和表1的定义) 代表了 SBOM如何从作者到消费者的过程。这三个阶段被用来简化SBOM生命周期的潜在的复杂过程。
图表1.共享生命周期的基本构件的流程图
作者将利用一种发现方法,使消费者能够识别一个SBOM的位置。在访问阶段,消费者要满足提供者设置的任何授权要求。在获得授权后,将向消费者提供一种传输方法。如果消费者是SBOM的终端用户该周期将在SBOM的传输阶段之后完成。
如果SBOM的消费者是下游作者,可以采取额外的步骤(见图2)。下游作者可以执行丰富的活动,向 SBOM添加额外的信息,或创建一个新的产品(即把数据纳入另一个SBOM以扩大其内部组件信息)。从那时起,共享生命周期阶段又开始了,下游作者从作者角色开始,通过发现阶段共享更新的信息每个阶段都包含了独特的特征供考虑,并被分成了先进性评级。这些评级可以基于包含或缺乏的功能以及与实施相关的努力。11这些评级反映了不同的特征,并不表明需要一定的复杂程度,因为它们是针对具体的使用情况。由于专业知识、时间和成本的巨大相互作用,评级可以通过单一或多个方面来解释。这种相互作用可以导致小的修改,从而增加或减少实施等级。
虽然这些评级随每个用例的不同而不同,但一个一致的趋势是能够尽量减少作者和消费者之间的人工互动。下一节将详细介绍各个阶段和每个评级,提供解决方案的例子并解释它们如何在评级结构中发挥作用。这些例子有助于在审查一个用例的潜在解决方案时提供一个起点。
图2.流程图对基本步骤进行了扩展,以帮助说迷你狗共享生命周期的潜在复杂性。
表2的目的是强调每个SBOM的生命周期阶段的可能的先进性例子。特征的不均匀分布表明,一些复杂程度的特点是缺乏某些特征,或者只是作为高和低之间的中间地带。
表2.SBOM共享生命周期的先进性实例
生命周期的初始阶段涉及消费者如何从作者可得供者那里获得对SROM存在的认识。SROM可以通过借应商网站中的标准化位置或软件源代码中的位置被发现。应提供足够的指导,使其能够继续进入访问和传输阶段。发现阶段也应明确说明SBOM是否要求消费者不断联系提供者并要求更新。或者,可以通过一个自动程序提供持续的更新。
发现-低度复杂化
发现阶船的低或熟度特征堵述了一种解决方赛,基中供应商没有准备任何主要的机制帮助感兴趣的各方找到SBOM。这就把发现阶段的负担放在感兴趣的各方身上,消费者很可能需要手动搜索一个没有明确知道包含SBOMs的供应商网站。消费者可能不得不通过不同的联系人联系,给各种代表发电子
邮件,或以其他方式参与一个可能是漫长和多步聚的过程,以获得关于SROM可能所在的信息。对于任何试字发理SROM的人喜说,这一流得可能遵循不同的路释。在低级别的发理价股,搜索是高度车动的,并不存在自动化的主要机会。
发现-中等成熟度
为了达到中等复杂程度,提供者的SBOM位置和访问程序可能有一些众所周知的方面,例如,一个分发代码的提供者可以提SROM片在软件须代码中,这个位雷对那些对该单一版本感兴趣的消费者来送很简单,但获得新的或过去版本的SBOM的说明可能不存在。
一个供应商可能有一个公司或组织的网站,该网站被推广或容易被搜索。这个网站,除其他目的外可以分发SBOMs。假设对于中等复杂程度,可能会有一些指导,说明如何到达这种应用中能够分发 SBOM的部分,但仍然需要消费者的一些导航。
发现-高度复杂化
对于一个高度复杂的方法,发现的负担更多的是放在提供者身上,以减少消费者的努力,可能有一个众所周知的,记录在案的过程,其自动化的条件已经成熟,需要人工干预的方面很少。例如,供应商可以例建一个发布订阅服务,提供关干新的SROMs的自动更音,理有SROMs的更新所本,并掉供一些机制来描述在哪里可以找到它们。此外,更高层次的复杂性应该有更多的精确性,以引导消费者获得所需的信息,而不显示不相关的信息。
发现解决方案实例
本节旨在提供一些例子 说明各种复杂程度如何适用于关于发现阶段的不同类型的解决方案。电子邮件如果消费者需要直接给作者发电子邮件,以确定是否存在SBOM,以及如何获得它,这将是电子邮件的一个低级实施。这是一个低级别的例子,因为消费者没有足够的信息来了解SBOM是否存在以及如何获得它:因此消费者必须手动联系以获得所需信息。此外,这样的过程不是立即的,因为作者在提供答复之前可能会有一些延迟,而且可能需要与消费者多次沟通才能获得所需的信息。一个中等程度的实施是,如果一个供应商创建了一个电子邮件分发列表,提醒新的SBOMs。在后一个例子中,仍然使用电子邮件:但是,消费者不再需要手动查询新的SBOMs。这个过程不是个性化的,除了不提供历史或过去的SBOMS外,还可能分发与分发名单上的每个成员无关的信息。
厂商使用说明
另一项可用于发现阶段的技术是制造商使用描述(MUD)标准、12该标准概述了设备在连接到网络时,如何分发对SBOM或SBOM本身的引用。这允许自动发现一个系统的相关SBOM。然而,这只提供了对存储库或单-SBOM的方向:因此,MUD标准可以被认为是一个中等程度的解决方案。
基本网络应用程序
一个基本的网络应用程序的中等成熟度实施的例子是,提供者创建一个包含SBOM的静态网页。在这个例子中,网页的URL将在系统提供的参考文件中发布,或者网站将被附加到一个知名的域名上。
功能丰富的网络应用程序
在一个高度复杂的实施例子中,提供者可以创建一个订阅服务,列出当前和更新的SBOMs。在这个例子中 一且消费者订阅了活当的服务,他们不需要采取任何额外的人工行动来了解更新或新的SBOMs。此外,可以假设这个订阅服务的输出是机器可读的,或以其他方式充分定义以实现自动化。
分布式账薄同步化
与"功能丰富的网络应用程序"中提到的订阅服务一样,分布式账本技术可以从对等人那里收到关于额外条目的更新。这可能会在节点首次初始化时以一系列传输的形式出现,也可能通过对等更新频繁出现,由于更新的自动传播,这种类型的实现将被描述为一种高精密度的实现。
在发现SBOM的位置后,下一步是获得对数据的访问。生命周期的这一阶段侧重于对SBOM的访问控制,以及消费者如何获得授权以继续进入传输阶段。对访问控制可能没有要求,SBOM将可供公众使用。
提供者可能要求品SROM保存在一个储存座中,请存库需要人工审核,以确定是否应将访问权授予个别接受者。SROMs也可以要求是体的访问控制救度,确保消费者只介许查看年产品相关的SROMs的特定版本 或只允许访问信息的特定部分。
访问-低度复杂
对于低复杂度,访问阶段的主要属性是缺乏认证或访问控制,或访问控制的高度手工性原。对于消费者请接访问的任何界面偶定SBOMs一日被发现就会向所有人公开。
另一种选择是,访问控制可能存在,但它们是在个案的基础上手动确定的。例如,如果消费者通过电子邮件请求SBOM,那么将由发件人决定是否应该满足请求,不同的人可能回答或拒绝不同类型的请求。此外,如果访问掉制是手动的,那么在同应访问请求时可能会出现手动引起的证识。
访问-中等复杂程度
中等复杂程度要求认证到位,以及某种程度的访问控制,访问控制可以是基于角色的(例如,作者,读者、管理员),或基于渠道的(例如私人的广播的、公共的):然而,在中等复杂程度的情况下,假定不存在个人权限的完全细化。因为这需要对每个单独的操作以及该背景下的不同级别的权限进行全面细分。可以假定。请求访问的过程要么是一个部分自动化的过程(例如,个人可以通过一个有明确字段的门户网站提交请求),要么是一个明确定义的手工过程(需要X个特定的个人的批准,由明确定义的标识符列出的SBOM等)。
访问高度复杂化
在高度复杂的情况下,消费者可以请求访问查看SBOM,并可能自动创建一个有限的账户。如果消费者能够提供证据,证明他们已经购买了与该SBOM相关的设备或软件,则可以自动提供对SBOM的访问。伴随着角色或组织层面的访问控制,存在着高度的权限细化。
由于必须评估和充分了解每个许可活动的权限,以及限踪自动验证客户购买的必要信息,这些功能代表了高度的复杂性。
对于高度复杂的情况,供应商可以使用一个系统将认证和访问控制请求委托给另一个组织,例如使用证书签名的公钥基础设施委托,以允许该组织下的个人获得最高至母组织级别的访问。
访问解决方案实例
本节举例说明各种复杂程度如何用于有关接入阶段的不同类型的解决方案。
电子邮件
一个低级别的实施方法是,供应商在回应消费者的电子邮件请求时,手动审查对SBOM的请求,
基本网络应用程序
一个中等是度的实能是使用一个登录门户,并对账户例建请发进行人工审查。这是一个中等舞杂程度的例子,因为请求过程部分是手动的,部分是自动的,还有隐含的认证要求。
功能丰富的网络应用程序
一个高精尖的实施方案是使用一个登录门户账户创建过程中涉及自动化。在这个例子中,假定最初创建的是一个有限制访问的有限账户,消费者必须提供序列号、采购订单号等。消费者可以以自动化的方式获得访问权,而无需主要的人工干预。一且消费者获得了必要的权限和访问权,消费者将能够阅读,下载或以其他方式获得SBOM数据本身。这由SBOM共享生命周期的以下传输阶段来描述。
运输生命周期阶段表示消费者如何接收SBOM。运输方法可以使SBOMs从单点转移到单点,或从单点转移到多点。不同的方法比其他方法更有效地促进这一过程。如果SBOM的运输只涉及单个SBOM的移动,那么通过电子邮件或放在硬盘上的副本,由作者发送给消费者可能就足够了。如果有广泛的消费者需要SBOM么就有一种方法使消者者能够安全地检索SROM。这一阶目对于使消费者能够利用这些数据是至关重要的。
运输-低度复杂化
一个低级别的运蝓过程可能涉及到提供者手动发送SBOM给任何要求它的人。例如,提供者将SBOM作为电子邮件附件发误。在低度运验中,这种据的移动主要是点对点的,因为向多个消费者发误需要收集所有需要SBOM的消费者,另一个低复杂度的趋势是,数据是由提供者"推"出来的,而不是由消费者"拉"出来的。低度复杂性并不意味着必须通过互联网运输。例如,如果一个SBOM是通过口头描述或通过邮政系统提供的,那么这也是一个低复杂性的解决方案。
运输-中等复杂程度
对于中等复杂程度,传输阶段可以使用众所周知的方法,如通过HTTP(S)下载:但是,支持这种传输的文件可能仍然很少,而且接口可能不一致或有限制,增加了传输过程自动化的成本和专业知识,使其达到很高的程度。
运输-高精尖
对于高度复杂的情况,运输阶段的过程应该使用标准协议进行良好的记录。一个应用编程接口(APL)应该是存在的、一致的和可重复的。一个为表征性状态传输(REST)或RESTfulAPI提供文档的OpenAP接口将足以被归类为高精尖水平。13虽然REST是标准化接口的一个流行例子,但其他API标准,如简单对象访问协议(SOAP)或图形查询语言(GraphOL),也是众所周知和定义的。事实上任何提供类似的整合便利性的接口也足以被置于高复杂度级别。国外进一步的传输机制的一个例子是分布式账本用来推送和检索账本更新的各种同步协议。
运输解决方案实例
对于运输阶段,提供了几个例子来说明如何评价复杂程度。
电子邮件
一个低级别的实施方法是为每个请求者手动生成一封电子邮件,在其中附上所需的SBOM请求。
基本网络应用程序
一个中等的实施方式是建立一个网站,允许通过脚本进行程序化的数据检索,尽管没有专门的API端点。有可能存在非标准化的格式和自动化的方法,可能要处理非标准的回应或不一致的数据。
功能丰富的网络应用程序
一个很高的实现方式是建立一个网站,向消费者提供记录的API。在这个例子中,我们假设API是由众所周知的或其他基本描述性的文件来描述的,这些文件告知消费者他们需要进行哪些操作来下载或读取SBOM,以及预期的响应。这种实现方式允许消费者根据自己的需要构建自己的流程来获得SBOMS。
发布和订阅
发布和订阅模式的实施将是一个高度复杂的传输系统的例子。在一个发布和订阅(pub/sub)系统中一个或多个"发布者"产生并发布内容,然后自动分配给"订阅者"他们根据自己的兴趣订阅频道或内容组。在这个系统中,一旦一个"订阅者"如果用户订阅了一个特定的频道(即包含特定产品或设备信息的频道),他们就不需要进一步的行动来接收他们感兴趣的产品的更新。
根据本报告的结论,实现SBOMs广泛共享的途包括提高能力,在SBOM共享生命周期的各个阶段注重自动化和互操作性。促进这一点的一个策略是找到降低与较高复杂度解决方案相关的成本的方法。虽然有些人可能会使用低水平的解决方案,因为它们满足了他们的需求,但也有一些人不使用高水平的解决方案,因为他们只是缺乏时间、资源、主题专家、努力和获得工具的机会,而这些都是在SBOM共享生命周期的特定阶段实施高水平解决方案所需。例如,开放源码软件方可能没有与封闭源码软件开发商相同的业务驱动力,因此在发现,访问或传输阶段必须采用高精尖的解决方案。SBOM共享生态系统将受益于各方为满足利益相关者的独特情况而制定的各种共享解决方案。这些情况的存在是因为一个特定的供应商可能被要求从他们的客户那里获得不同的运输机制,而一个客户可能通过不同的机制从他们的上游合作伙伴那里获得SBOM数据。这些解决方案可以解决已确定的独特情况,同时还试图在可能的情况下消除人工流程,并避免阻碍互操作性的做法。鉴于不同的SBOM共享方法不断被开发出来的现实,现有和未来的解决方案之间的互操作性应该是一个优先事项,以避免产生各种无法在更大的供应链中合作的SBOM共享解决方案。
本文件介绍了一个框架,用于评估SBOM发现、访问和传输阶段的不同解决方案,并让读者更好地了解当前的SBOM共享情况。由于共享方面的进展对SBOM的采用至关重要,因此需要尽快完成SBOM共享方面的其他工作。事实上,除了其他正在进行的工作外,业界已经开始创建私人共享解决方案和服务。16,17特别是,应探过SBOM丰富化的概念,以了解可能构成丰富化的不同活动和产品。额外的必要工作还可能包括更广泛的SBOM调查,以更好地了解SBOM的用户群,并审查所包括的理想功能,以期使交换框架成熟,并向用户提供推荐的功能。
内容主要整理自相关网站资料。
仅供学习参考,欢迎交流指正。
公众号内回复“DP85”
获取全文下载地址。
Powered by Jspxcms © 2010-2025 Jspxcms All Rights Reserved