供應鏈
軟體供應鏈風險管理
軟體供應鏈風險管理,是組織識別、評估並降低非自行撰寫之軟體所帶來風險的方式,涵蓋開源套件、商業產品、SaaS 供應商與建置工具。資安控制措施保護的是管線;風險管理則決定哪些風險重要、由誰負責,以及您願意接受哪些風險。
更新日期
風險管理與資安的差別
軟體供應鏈安全是一組技術控制措施:SBOM、釘選的相依套件、受限的建置。風險管理位於其上一層。它要問的是:您的業務仰賴哪些供應商與元件、其中一個出問題時會發生什麼事,以及您是否把心力花在對的地方。
有哪些風險?
| 風險 | 範例 | 主要控制措施 |
|---|---|---|
| 有漏洞的元件 | 廣泛使用的函式庫中存在缺陷 | SBOM 與持續監控 |
| 惡意元件 | 遭劫持的套件,或錯字搶註套件 | 審查、延後採用、限制對外連線流量 |
| 遭棄置的專案 | 只有一位維護者、而且他已不再參與的相依套件 | 健康度檢查與替換計畫 |
| 授權風險 | 專有產品中含有 copyleft 元件 | 授權政策 |
| 建置遭入侵 | 遭劫持的 GitHub Action 取得您的機密 | 釘選、隔離、最小權限 |
| 供應商風險 | 廠商的產品或更新遭入侵 | 評估、合約、來自供應商的 SBOM |
| 法規風險 | 客戶或法律要求您提出無法產出的佐證資料 | 依版本保存的紀錄 |
六步驟流程
- 建立資產清冊。列出您製造的產品與您採購的軟體。對於您自行建置的產品,每個版本都保存一份 SBOM。看不見的東西,就無法評估。
- 依重要性排序。付款服務中的函式庫,與內部工具中的函式庫不能相提並論。請依暴險程度、資料與業務影響為產品評級。
- 評估風險。檢視漏洞、專案健康度、授權,以及每個供應商如何處理資安。對最高層級深入評估,其他則輕度評估。
- 處置風險。針對每項風險,決定要修正、替換、增加控制措施或接受。被接受的風險需要一位負責人與一個複審日期。
- 持續監控。即使您這邊沒有任何變動,風險也會改變,例如有資安公告發布或維護者離開。年度檢視會錯過這些變化。
- 呈報。為管理層提供精簡的概覽:主要風險、隨時間變化的暴險程度,以及已接受的風險。客戶與稽核人員會要求更多細節。
評估供應商
問卷只能告訴您供應商怎麼說。請要求能證明他們實際做法的資料:
- 產品的 SBOM,註明格式並提供取得更新的方式
- 他們如何處理漏洞,以及多快通知客戶
- 資安聯絡窗口與漏洞揭露政策
- 他們如何建置版本,以及能否證明某個版本的來源
- 一個版本會獲得多久的資安修正
- 涵蓋您所採購產品的認證與稽核報告
將這些要求寫進合約。在簽約時要求 SBOM 或通報時限,比在資安事件發生後才要求容易得多。
可依循的框架
- NIST SP 800-161 是網路安全供應鏈風險管理(C-SCRM)的主要參考依據。它適用於組織的每個層級,並將供應鏈風險納入更廣泛的風險管理中。
- NIST SSDF 涵蓋安全開發實務,因此很適合作為您對供應商以及對自己的要求基礎。
- SLSA 提供一套共通語言,用來描述建置的可信程度。
- ISO/IEC 27001:2022 包含 ICT 供應鏈安全(附錄 A 5.21)與技術漏洞(8.8)的控制措施。它並未要求 SBOM,但 SBOM 是這些控制措施的良好佐證資料。
- NIS2 在第 21(2)(d) 條中,將供應鏈安全列為適用實體必須採取的措施。
SBOM 在上述每一項框架下、逐一控制措施能證明什麼,請參閱 作為 ISO 27001、SOC 2 與 NIS2 佐證資料的 SBOM。
如何衡量
挑選幾項能促成決策的指標:
- 目前版本具備 SBOM 的產品比例
- 針對新的重大漏洞,回答「我們是否受影響?」所需的時間
- 暴險期間:有漏洞的版本在正式環境中存在多久
- 過去一年內完成評估的最高層級供應商比例
- 已超過複審日期的已接受風險數量
CRACI 能幫上什麼
對於您自行建置的軟體,CRACI 為風險管理計畫提供它通常缺少的資料。它記錄每次 GitHub Actions 建置引入的內容(包括宣告的授權),寫入您可依版本保存、並以 CycloneDX 或 SPDX 分享的 SBOM。它監控已出貨的內容,顯示哪些建置包含有漏洞的套件,讓您看出受影響的期間,並能執行授權政策、以政策關卡封鎖建置。請參閱 使用 CRACI 實現軟體供應鏈安全與 各工具比較。
供應商評估與風險登錄冊仍由您的治理工具與團隊負責。
軟體供應鏈風險管理:常見問題
什麼是軟體供應鏈風險管理?
這是組織識別、評估並降低非自行撰寫之軟體所帶來風險的方式,涵蓋開源套件、商業產品、SaaS 供應商與建置工具。
什麼是 C-SCRM?
C-SCRM 是 cybersecurity supply chain risk management(網路安全供應鏈風險管理)的縮寫,是 NIST 使用的術語。NIST SP 800-161 是其主要指引,說明如何在組織的每個層級,找出、評估並降低整個供應鏈的網路風險。
最大的軟體供應鏈風險有哪些?
有漏洞與惡意的開源元件、遭入侵的建置系統與 CI 工具、遭棄置的專案、授權問題,以及遭到入侵的供應商。
它與第三方風險管理有何不同?
第三方風險管理通常把廠商當作公司來檢視。軟體供應鏈風險管理則深入到元件與建置流程,包括背後沒有任何廠商的開源專案。
由誰負責?
通常由資安或風險管理主管制定計畫,產品資安團隊負責公司自行建置的產品,採購或廠商管理部門負責採購的產品。工程團隊則負責修正發現的問題。