接續SBOM軟體物料清單
在軟體物料清單中知道了這些軟體使用了哪些元件
接下來就是這些元件有沒有已知漏洞等等的風險?
Software Composition Analysis,SCA
軟體組成分析辨識軟體使用的 第三方/開源 元件,並分析這些元件的相關風險
簡單來說就是用來:
分析軟體元件是否存在已知漏洞
一樣用昨天購物網站的舉例:
這個網站可能使用了別人做好的元件例如:
所以通常一個應用程式的組成有可能會是:
這時可能會出現一個問題
別人的元件如果有漏洞
你的軟體可能也會受到影響
IPAS 113-2 第二科 Q24
軟體組成分析(Software Composition Analysis, SCA)主要是針對程式設計的哪一個部分進行分析?
D:軟體元件是否有已知漏洞
SCA做了:
SCA的部分結束後就會接DAY3的風險評鑑
來決定要如何處理發現的風險
以上是安全風險的部分
SCA還有另一個方向:授權風險
開源授權風險
假設我的產品使用了開源套件
這個套件有特定的授權條款
這時就必須確認
我的使用方法是否符合授權的要求
不是由我自己的開發團隊完全自行開發
而是由外部來源提供、被你的軟體使用的元件
一樣以購物網站為例:
我開發一個購物網站,使用了B公司提供的登入套件
這個登入套件 -> 第三方元件
原始程式碼依特定授權條款公開
允許使用、研究、修改、散布
已經被發現、公開揭露、有相關漏洞資訊的安全弱點
CVE 常見弱點與揭露
可以用來識別公開揭露的特定漏洞
SCA顯示沒有已知漏洞≠絕對安全
可能有:
- 尚未公開的漏洞
- Zero-Day 零時差漏洞
- 元件辨識錯誤
- 版本資訊錯誤
- 資料庫尚未更新
- 自己寫的程式碼可能有漏洞 (SAST測試)
- 系統設定錯誤
這幾天合起來就是整個開發週期在做的事
DAY37 SAST 看程式碼安全
DAY38 DAST 測試執行中的應用程式安全
DAY39 DevSecOps 整個週期由開發團隊+資安團隊+維運團隊共同負責
DAY40 CI/CD在開發過程中持續整合/交付/部署,並且自動化
DAY41 SBOM 來記錄整個應用程式用了哪些元件以及這些元件的資訊
DAY42 SCA 分析元件是否有已知漏洞等風險或是授權有沒有問題