iT邦幫忙

2026 iThome 鐵人賽

1

DAY42 SCA軟體組成分析/第三方元件風險

  • 一. 什麼是SCA?軟體組成分析?
    • 1.1 什麼是第三方元件?
    • 1.2 什麼是開源軟體?
    • 1.3 已知漏洞
  • DAY36 SDLC軟體開發週期

接續SBOM軟體物料清單
在軟體物料清單中知道了這些軟體使用了哪些元件
接下來就是這些元件有沒有已知漏洞等等的風險?

一. 什麼是SCA?軟體組成分析?

Software Composition Analysis,SCA
軟體組成分析

辨識軟體使用的 第三方/開源 元件,並分析這些元件的相關風險
簡單來說就是用來:
分析軟體元件是否存在已知漏洞

一樣用昨天購物網站的舉例:
這個網站可能使用了別人做好的元件例如:

  • 登入套件
  • 加密函式庫
  • 圖片處理套件
  • 資料庫套件
  • 等等

所以通常一個應用程式的組成有可能會是:

  1. 自己的程式碼
  2. 開源元件
  3. 第三方元件
  4. 相依套件

這時可能會出現一個問題
別人的元件如果有漏洞
你的軟體可能也會受到影響

IPAS 113-2 第二科 Q24
軟體組成分析(Software Composition Analysis, SCA)主要是針對程式設計的哪一個部分進行分析?
D:軟體元件是否有已知漏洞

SCA做了:

  1. 辨識元件
    • 找出軟體使用了哪些元件
  2. 辨識版本
    • 找出這些元件使用了什麼版本
  3. 辨識相依關係
  4. 拿上面的資訊和已知漏洞資訊做比對

SCA的部分結束後就會接DAY3的風險評鑑
來決定要如何處理發現的風險

以上是安全風險的部分

SCA還有另一個方向:授權風險

開源授權風險
假設我的產品使用了開源套件
這個套件有特定的授權條款
這時就必須確認
我的使用方法是否符合授權的要求

1.1 什麼是第三方元件?

不是由我自己的開發團隊完全自行開發
而是由外部來源提供、被你的軟體使用的元件

一樣以購物網站為例:
我開發一個購物網站,使用了B公司提供的登入套件
這個登入套件 -> 第三方元件

1.2 什麼是開源軟體?

原始程式碼依特定授權條款公開
允許使用、研究、修改、散布

1.3 已知漏洞

已經被發現、公開揭露、有相關漏洞資訊的安全弱點

CVE 常見弱點與揭露
可以用來識別公開揭露的特定漏洞

SCA顯示沒有已知漏洞≠絕對安全
可能有:

  1. 尚未公開的漏洞
  2. Zero-Day 零時差漏洞
  3. 元件辨識錯誤
  4. 版本資訊錯誤
  5. 資料庫尚未更新
  6. 自己寫的程式碼可能有漏洞 (SAST測試)
  7. 系統設定錯誤

DAY36 SDLC軟體開發週期

這幾天合起來就是整個開發週期在做的事
DAY37 SAST 看程式碼安全
DAY38 DAST 測試執行中的應用程式安全
DAY39 DevSecOps 整個週期由開發團隊+資安團隊+維運團隊共同負責
DAY40 CI/CD在開發過程中持續整合/交付/部署,並且自動化

  • CI 自動 建置/程式碼檢查SAST/SCA掃描
  • CD 自動 部署到測試環境->DAST測試->部署正式環境

DAY41 SBOM 來記錄整個應用程式用了哪些元件以及這些元件的資訊
DAY42 SCA 分析元件是否有已知漏洞等風險或是授權有沒有問題


上一篇
DAY41 SBOM 軟體物料清單
系列文
格鬥教練想轉職學資安是否搞錯了什麼(自學第一步)IPAS初級筆記 共 41 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言