1. 首页
  2. 供应链管理
  3. 软件供应链

软件供应链

软件供应链(英语:software supply chain)是将制造业供应链概念用在软件开发上,是指在软件制品(software artifact)开发过程中,所需要的元件(component)、函式库、工具和流程[1]

软件供应商在开发软件时,会整合开源软件商业软件的元件。软件材料表(software bill of material,SBOM)[2]中列出软件工件开发时需要的元件[3]。软件材料表类似食品中的成分英语Ingredient标签,成分标签说明食品的成分,因此在选择食品时,可以避开过敏物质。在选择软件时可以利用软件材料表,避开会造成损害的软件。

材料表(物料清单,bill of material,BOM)是在制造业就已形成的概念,也是供应链管理的一部分[4]。制造业利用材料表来追踪制造时所需要的各种部件。若某部件有缺陷,透过材料表可以找出受影响的产品。

用途

软件材料表对于软件供应商以及软件使用者都有帮助。软件供应商会在开源软件元件以及商业软件元件中挑选适合的元件,整合成软件。软件材料表可以让软件供应商确认各个元件都是最新的,出现新的漏洞时,可以快速反应[5]。软件使用者,可以用软件材料表进行漏洞以及授权的分析,以评估此一产品的风险。

一些公司会用Excel来管理软件材料表,不过用Excel呈现的软件材料表有其风险以及问题。若软件材料表集合起来放在存储库中,成为其他自动化系统中的一部分,其他的应用程序可以查询其中的资料,其助益会更大。在软件包资料交换规范英语Software Package Data Exchange(SPDX)开放标准中,有提到自动化软件材料表流程的需求。

了解软件供应链,产出软件材料表,以及来分析漏洞,这些都是风险管理中重要的成分[6][7][8]

立法

美国曾经提出Cyber Supply Chain Management and Transparency Act of 2014[9],要求政府机关在购买新产品时,需要取得产品的软件材料表,其中也针对“所有美国政府会使用的软件、固件及产品”,都要有软件材料表。此法案后来没有通过,不过也让政府单位注意此一议题,也带动之后的相关法案,例如Internet of Things Cybersecurity Improvement Act of 2017[10][11]

美国在2021年5月12日发布有关提升美国网络安全的行政命令(Executive Order on Improving the Nation’s Cybersecurity)[12],要求国家标准技术研究所在90天内订定指引,其中包括有许多主题的标准、程序或是准则,目的是“强化软件供应链的安全性”,其中也包括了“提供采购者所有产品的软件材料表(SBOM)”。也强制美国国家电信暨资讯管理局英语National Telecommunications and Information Administration(NTIA)在60天内发布“软件材料表中的基本元素”。

NTIA在2021年7月12日发布软件材料表中的基本元素[13],其中也“说明让软件供应链更加透明的软件材料表使用案例,并且列出后续演进的选项。”基本元素包括以下三类:资料字段(每一个软件元件的基线资讯)、是否支援自动化(是否可以用机器可读以及人工可读的格式产出软件材料表),实务及流程(组织产生软件材料表的时机,以及产生方式)。其中的“支援自动化”也有列出需要“自动生成”,可以使用软件成分分析(software composition analysis,SCA)的方案来达成[14]

相关条目

参考资料