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

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

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

用途

编辑

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

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

软件材料表的格式有三种,软件包资料交换规范(SPDX)是ISO/IEC 5962:2021指定的格式,此外还有NIST提出的SWID,以及OWASP提出的CycloneDX[6]

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

立法

编辑

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

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

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

相关条目

编辑

参考资料

编辑
  1. ^ For Good Measure Counting Broken Links: A Quant’s View of Software Supply Chain Security (PDF). USENIX ;login. [2022-07-04]. (原始内容存档 (PDF)于2022-12-17). 
  2. ^ Software Bill of Materials. ntia.gov. [2021-01-25]. (原始内容存档于2022-11-30). 
  3. ^ [Part 2] Code, Cars, and Congress: A Time for Cyber Supply Chain Management. [2015-06-12]. (原始内容存档于2015-06-14). 
  4. ^ Code, Cars, and Congress: A Time for Cyber Supply Chain Management. [2015-06-12]. (原始内容存档于2014-12-30). 
  5. ^ Software Bill of Materials improves Intellectual Property management. Embedded Computing Design. [2015-06-12]. (原始内容存档于2018-08-25). 
  6. ^ 安全軟體開發有新實踐指引,NIST SSDF正受資安業者關注. iThome. 2022-10-20 [2023-11-02]. (原始内容存档于2023-11-02). 
  7. ^ Appropriate Software Security Control Types for Third Party Service and Product Providers (PDF). Docs.ismgcorp.com. [2015-06-12]. (原始内容存档 (PDF)于2023-01-19). 
  8. ^ Top 10 2013-A9-Using Components with Known Vulnerabilities. [2015-06-12]. (原始内容存档于2019-10-06). 
  9. ^ Cyber-security risks in the supply chain (PDF). Cert.gov.uk. [2020-07-28]. (原始内容存档于2023-06-06). 
  10. ^ H.R.5793 - 113th Congress (2013-2014): Cyber Supply Chain Management and Transparency Act of 2014 - Congress.gov - Library of Congress. 4 December 2014 [2015-06-12]. (原始内容存档于2022-12-16). 
  11. ^ Internet of Things Cybersecurity Improvement Act of 2017 (PDF). [2020-02-26]. (原始内容存档 (PDF)于2023-01-19). 
  12. ^ Cybersecurity Improvement Act of 2017: The Ghost of Congress Past. 17 August 2017 [2020-02-26]. (原始内容存档于2022-12-16). 
  13. ^ Executive Order on Improving the Nation's Cybersecurity. The White House. 2021-05-12 [2021-06-12]. (原始内容存档于2021-05-15) (美国英语). 
  14. ^ The Minimum Elements For a Software Bill of Materials (SBOM). NTIA.gov. 2021-07-12 [2021-12-12]. (原始内容存档于2023-06-05) (美国英语). 
  15. ^ NTIA Releases Minimum Elements for a Software Bill of Materials. NTIA.gov. 2021-07-12 [2022-03-22]. (原始内容存档于2022-11-22) (美国英语).