iT邦幫忙

2026 iThome 鐵人賽

DAY 19
0
自我挑戰組

從第一線應變到企業治理:30 天打造資安溝通與營運韌性系列 第 19 篇

# Day 19 - 你的系統引用了幾百層開源套件,卻沒人說得出來哪一層可能已經被下毒

  • 分享至 

  • xImage
  •  

一句話摘要:
現代軟體開發幾乎完全建立在開源套件的地基上,但多數企業連自己用了哪些套件、哪個版本都說不清楚;SBOM(軟體物料清單)不是合規文件,是在供應鏈攻擊發生的那一刻,決定你能不能在幾分鐘內回答「我們中了沒」的關鍵基礎設施。


為什麼這件事對企業很重要?

現代應用程式的程式碼,往往有八成以上來自開源套件與第三方函式庫,而這些套件本身又會引用其他套件,形成層層疊疊的依賴關係。軟體供應鏈 Poisoning(下毒)攻擊正是利用這種複雜性,攻擊者入侵一個廣泛被使用的開源套件維護者帳號,在新版本中植入惡意程式碼,只要有企業自動更新依賴套件,惡意程式碼就會被悄悄帶入生產環境。這正是重大 CVE 應變情境中,最棘手的一種,因為你甚至不知道自己「用了」這個套件,因為它是依賴的依賴的依賴。

第一線 IT/SecOps 心聲: 「上次那個知名開源套件被爆出植入惡意程式碼,主管問我們有沒有用到,我們光是要確認『到底有沒有間接引用』,就翻了老半天的 package.json 跟建置紀錄,最後還是不太確定有沒有漏查。」

決策層 / 業務單位迷思: 「我們的軟體都是自己開發的,應該不會有開源套件的風險吧?」(實際上幾乎不存在完全不使用任何開源元件的現代應用程式)

當企業無法即時回答「我們的系統裡到底用了哪些套件、哪個版本」,供應鏈攻擊發生時,應變速度會被這個基本問題徹底拖垮,而攻擊者不需要打穿你的城牆,只需要在你信任的地基裡埋一顆種子。


技術觀念與治理機制拆解

SBOM(Software Bill of Materials)的概念類似食品的成分標示,清楚列出一個軟體產品由哪些元件、哪些版本組成,並且能追蹤這些元件的依賴關係。SBOM 治理的核心價值,是把「我們用了什麼」這個問題,從事後臨時盤查,變成隨時可查詢的即時資訊:

【SBOM 供應鏈事件即時應變流程】

  1. 開發階段自動化: 於開發與建置階段自動產生 SBOM。
  2. 集中化管理: 將 SBOM 存放於中央化資產庫。
  3. 事件觸發: 重大漏洞或供應鏈下毒事件發生。
  4. 即時查詢比對: 即時查詢受影響套件是否存在於任一系統。
  5. 精準定位: 數分鐘內確認受影響範圍,啟動緩解措施。

要讓 SBOM 真正發揮價值,關鍵在於自動化產生與持續更新,而不是每年做一次性的人工盤點文件。以下是 SBOM 治理成熟度的階段對照:

成熟度階段 樣貌 應變速度影響
無 SBOM 依賴關係僅存在於建置設定檔中,無中央化管理 重大漏洞應變需數小時到數天人工盤查
靜態 SBOM 每次發版產生一次,但未持續更新或集中管理 部分系統可快速查詢,但可能與現況脫節
動態 SBOM CI/CD 自動產生並同步至中央資產庫,即時查詢 重大漏洞公告後,數分鐘內可定位受影響範圍

實務追蹤範例(去識別化 SBOM 供應鏈事件應變查詢紀錄):

【SBOM 供應鏈事件應變查詢紀錄】

  • 事件: 知名開源套件 XYZ-lib 被證實植入惡意程式碼(v3.2.1-v3.2.4)
  • 查詢耗時: 事件公告後 12 分鐘
  • 發現受影響系統數: 4 台

【受影響系統細節】

  1. 訂單處理服務:
    • 依賴路徑: app -> logging-framework -> XYZ-lib v3.2.3
    • 暴露狀態: 直接依賴,已確認受影響版本。
    • 處置行動: 緊急降版至 v3.1.9,已於 2 小時內完成。
  2. 內部報表工具:
    • 依賴路徑: reporting-tool -> util-pkg -> XYZ-lib v3.2.2
    • 暴露狀態: 間接依賴(三層深),已確認受影響版本。
    • 處置行動: 評估影響範圍後,排入當日修補排程。
  • 未受影響系統: 其餘系統經查詢均使用 v2.x 或 v3.3.0 以上版本,排除風險。

【總結結論】
透過 SBOM 中央查詢系統,於 12 分鐘內完成全公司受影響範圍確認,較過去人工盤查方式(平均需 2-4 小時)大幅縮短應變關鍵時間。

這份紀錄清楚展示了 SBOM 的實際效益:從過去需要 2-4 小時的人工盤查,縮短到 12 分鐘的自動化查詢,這正是重大漏洞應變黃金時間中,最關鍵的槓桿改善點。


實務落地與溝通建議

  • For 第一線 SecOps / IT 團隊: 建議從公司最關鍵的幾個核心系統開始,在 CI/CD pipeline 中導入自動產生 SBOM 的工具(多數為開源免費工具),逐步擴大涵蓋範圍,不需要一次要求全公司系統都導入。
  • For CISO / IT 主管 / 決策者: 向董事會或開發團隊推動 SBOM 治理時,可以直接引用重大漏洞應變的真實耗時案例作為佐證,說明「資產可見度」如何直接轉換成應變速度與風險降低,這比單純強調「這是最佳實務」更有說服力;同時建議將 SBOM 完整度納入軟體開發生命週期(SDLC)的正式關卡之一。

實戰行動清單:

  • 針對最關鍵的核心系統,優先導入 CI/CD 自動化 SBOM 產生工具。
  • 建立中央化 SBOM 查詢資產庫,取代散落各專案的建置紀錄。
  • 將 SBOM 產生與更新,納入 SDLC 正式關卡(對應 DevSecOps 左移思維)。
  • 每次供應鏈事件發生後,記錄查詢耗時,作為治理成效追蹤指標。

懂事掌短評

你信任的不是某一家開源套件的維護者,你信任的,是一整條你可能從未真正看清楚的依賴鏈。SBOM 治理的意義,不是為了應付稽核而產出一份文件,而是在下一次供應鏈攻擊發生的那個瞬間,讓你有能力在幾分鐘內說出「我們中了沒」,而不是花上一整夜在建置紀錄裡大海撈針。工具會換,開源生態會持續演化,但看清楚自己軟體地基的能力,永遠是供應鏈韌性的起點。


現場挑戰問題

如果現在有一個知名開源套件被爆出植入惡意程式碼,你有信心在多久之內查出公司哪些系統受影響?如果答案是「不確定」,你覺得問題出在缺乏 SBOM,還是依賴關係太複雜難以追蹤?


【明日 DAY 20 痛點預告】
攻擊者視角下的隱藏資產,但影子 IT 從來不是一次性掃描就能解決的問題,它是每天都在新增、每天都在被遺忘的動態戰場。明天用全域資產動態監測(EASM 治理實務延伸),拆解如何把一次性掃描,升級成持續運作的治理機制。


上一篇
# Day 18 - 你的核心系統固若金湯,攻擊者卻從外包廠商那道沒人管的後門長驅直入
系列文
從第一線應變到企業治理:30 天打造資安溝通與營運韌性 共 19 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言