隨著軟體供應鏈的複雜度日益提高,確保軟體元件的透明度與安全性成為企業及政府機構的重要課題。在此背景下,OpenChain 電信 SBOM(Software Bill of Materials)指引提供標準化的 SBOM 生成與管理準則,確保供應鏈資訊的完整性與一致性。OpenChain 電信 SBOM 繁體中文指引附於本文 最下方。
SBOM 的重要性與 OpenChain 電信 SBOM 指引的角色
SBOM 是軟體元件清單的正式記錄,包含軟體構建過程中的所有組件及其依賴關係。其主要目的是提升供應鏈的透明度,降低供應鏈攻擊風險,並確保組織能夠即時應對安全漏洞。
OpenChain 電信 SBOM 指引基於 ISO/IEC 5962:2021(SPDX) 標準,規範電信產業如何建立、交付與使用 SBOM,以確保高效與一致的安全管理機制。該指引適用於電信業者、設備供應商及軟體開發商。
主要標準與規範
1. SBOM 類型與資料格式
SBOM 可分為以下類型:
- 設計(Design)
- 原始碼(Source)
- 構建(Build)
- 分析(Analyzed)
- 部署(Deployed)
- 運行(Runtime)
符合 OpenChain 電信 SBOM 指引的文件應遵循 SPDX 2.2 或 2.3 格式,並包含以下關鍵元素:
- SPDX 文件生成資訊:版本、授權、文件 ID、建立者等。
- 軟體套件資訊:套件名稱、版本、供應商、下載來源、授權條款等。
- 元件依賴性資訊:確保所有傳遞性依賴(Transitive Dependencies)均被記錄。
- 數位簽章驗證:建議使用 Sigstore 進行數位簽章,以確保 SBOM 文件的完整性。
2. SBOM 交付方式與存取機制
- 內嵌交付:SBOM 應盡可能內嵌於軟體套件內,以提升存取便利性。
- 線上存取機制:若技術上無法內嵌 SBOM,應提供至少 18 個月 的線上存取,確保使用者能夠下載與驗證。
- 交付時機:SBOM 必須在軟體交付時同步提供,以確保合規性。
3. SaaS 環境與容器化應用的 SBOM
- OpenChain 指引對於 SaaS 服務並無強制 SBOM 要求,但供應商可選擇提供 SaaS 服務中使用的開源軟體及其依賴清單。
- 容器 SBOM 應包含所有安裝於容器內的軟體套件及相關元件,以確保完整性與可追溯性。
4. SBOM 合併與管理
- 允許透過 SPDX Relationship 定義 合併多個 SBOM,以簡化大型專案的管理。
- 可使用 SBOM Composer(GitHub 連結)進行多文件整合。
- 確保 SBOM 一致性:應建立內部機制驗證 SBOM 內容與軟體交付版本相符。
5. SBOM 保密性與法律限制
- SBOM 可受保密協議(Confidentiality Agreements)保護,但不得限制接收者重新散佈與開源軟體相關的部分。
- 針對商業元件,若未納入 SBOM,應明確標示為 已知但未包含的元件(Known Unknowns)。
- 確保合規性:應確保 SBOM 符合相關法規,如 GDPR、NIST 及 CISA 指南。
OpenChain 電信 SBOM 指引的實務應用
1. 內部政策與程序制定
- 建立 SBOM 生成與維護 流程,確保所有軟體產品均附帶符合標準的 SBOM。
- 明確 SBOM 責任歸屬,確保供應商與開發團隊遵循 OpenChain 指引。
2. 工具與自動化導入
- 使用 SPDX 相容工具(如 SPDX Tools)自動生成 SBOM。
- 部署 SBOM Composer 進行多 SBOM 合併與管理。
- 採用自動化檢測機制,確保 SBOM 更新同步於開發生命周期。
3. 供應鏈合規與審查
- 要求供應商提供符合 OpenChain 指引的 SBOM,並納入 採購合約條款。
- 針對 SBOM 進行 定期稽核,確保符合性與準確性。
- 建立供應鏈安全監控機制,確保 SBOM 更新與風險管理同步。
總結
OpenChain 電信 SBOM 指引為電信產業提供了一套完整的 SBOM 管理標準,確保供應鏈透明度與安全性。透過標準化的 SBOM 生成、交付與驗證機制,企業能夠有效降低供應鏈風險,確保軟體資安合規。