iT邦幫忙

2026 iThome 鐵人賽

0

DAY43 軟體供應鏈安全

  • 一. 什麼是軟體供應鏈安全?
    • 第一種風險:有弱點的元件
    • 第二種風險:元件遭竄改
    • 第三種風險:軟體更新遭竄改
    • 第三方元件的來源重要性
    • 建置系統也可能被攻擊
    • 開發人員帳號可能也會被冒用
  • 結合以上還有目前學到,構成完整防護思維

保護軟體從來源、元件、建置、更新、交付整條鏈


一. 什麼是軟體供應鏈安全?

Software Supply Chain Security
軟體供應鏈安全
保護軟體從

  • 原始程式碼
  • 第三方元件
  • 開發與建置工具
  • 發布/部署
  • 更新

整個過程中的安全性與完整性

例如:

  • 元件有沒有被植入惡意內容
  • 元件是否存在已知漏洞
  • 更新檔是否是真的
  • 建置過程有沒有被竄改
  • 儲存庫有沒有被入侵
  • 開發帳號有沒有被盜
  • 使用者拿到的軟體是不是原本那份

軟體供應鏈攻擊
攻擊者不是直接攻擊最終的使用者
而是攻擊軟體開發、元件、建置、發布、更新,這些供應鏈中的某個環節
進而影響下游使用者
攻擊一個上游,可能影響很多下游

上下游
上游:
開源元件開發者、套件供應者、軟體供應商
下游:
使用這些元件的公司、產品、最終使用者


第一種風險:有弱點的元件

假設我的網站

使用到元件A 1.0

後來發現

元件A 1.0有已知的風險

那我的軟體可能會受到這個漏洞影響

IPAS官方建議方向:

定期:
進行漏洞掃描
保持軟體元件更新與修補


第二種風險:元件遭竄改

上一種是元件本身有漏洞
這個是:

元件本身正常,但被攻擊者動了手腳

例如剛剛的元件A

原版本是正常的

結果被攻擊者修改

開發人員下載到遭修改的惡意元件A

然後放進自己的產品中

你沒被入侵,但你拿到的元件已經是被修改過的


第三種風險:軟體更新遭竄改

正常的情況中:

  1. 供應商製作更新檔
  2. 使用者下載更新檔
  3. 驗證
  4. 安裝

這時攻擊者可能會:

  1. 攻擊供應商
  2. 修改更新檔
  3. 放入惡意內容
  4. 使用者下載
  5. 系統又沒驗證
  6. 自動安裝

第二和三類都屬於:

軟體及資料完整性失效

可以使用PKI公鑰基礎建設,相關憑證驗證機制
協助確認資料來源的真實性與完整性(DAY13)

DAY12有提過「雜湊」
Hash雜湊可以用來協助驗證integrity完整性

假設官網公告:

A元件.zip
SHA-256=ABC1234***********

使用者下載後計算:

SHA-256
ABC1234***********

如果相同代表檔案內容與對方提供的一致

如果不同代表檔案不同,可能原因:

  1. 下載損壞
  2. 檔案被更換
  3. 檔案遭竄改

IPAS 113-2 Q21
作業系統在更新軟體、韌體時,下列敘述何者錯誤?
A:可以透過Hash確認完整性

但!Hash主要證明檔案內容是否一致
不一定能證明
這個檔案是不是官方可信任的來源提供的
(真實性)

這時就可以看DAY13學到的數位簽章
它可以協助:

  • 驗證來源
  • 驗證完整性

原理簡單理解:

  1. 供應商用私鑰
    • 對更新內容進行數位簽章
  2. 使用者下載後
    • 用公鑰進行驗證

如果驗證成功:

這份資料確實來自對應的私鑰擁有者,而且簽署後沒有被修改過


第三方元件的來源重要性

假設我想下載一個軟體套件:
有兩個地方有這個軟體套件
A -> 官方/可信任的儲存庫
B -> 陌生論壇上的下載連結

這時即使檔案名稱都一模一樣
也不代表裡面的內容是一樣的

所以供應鏈安全
不只是使用什麼元件
還有這個元件從哪裡來

這就是來源資訊/來源追溯
最重要的是元件來源必須是可信的

儲存庫是什麼
放程式碼、套件、軟體元件的倉庫


建置系統也可能被攻擊

建置
把程式碼轉成可執行/部署的成品

這時假設原始的程式碼都是安全的
但!!

建置的系統被攻擊了

那可能會變成

攻擊者入侵建置系統
偷偷加入惡意內容
產生出被污染的軟體

所以!不能只檢查程式碼!


開發人員帳號可能也會被冒用

假設整個流程都是正常的
但!

一開始的帳號就已經被冒用了

  • 可能機密會被竊取
  • 竄改整個CI/CD管線
    • 修改建置腳本、設定,等等
  • 發布惡意的套件版本
  • 偽造簽章
  • 等等

所以!供應鏈安全不只有程式設計


結合以上還有目前學到,構成完整防護思維

  1. 可信任的元件來源
  2. SBOM 軟體物料清單
  3. SCA 軟體組成分析
  4. SAST 靜態應用程式安全測試
  5. CI/CD 的管線安全
  6. Hash雜湊 / 數位簽章驗證 確認檔案完整性和真實性
  7. 受控的發布
  8. 修補/更新管理

這就是縱深防禦
不把安全全部押在單一控制措施上


上一篇
DAY42 SCA軟體組成分析/第三方元件風險
系列文
格鬥教練想轉職學資安是否搞錯了什麼(自學第一步)IPAS初級筆記 共 42 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言