軟體開發在很大程度上依賴於利用預建構的第三方元件來簡化流程,其中一些是開源的。這些元件是現代 網路應用程式的建構塊,但也可能引入漏洞,為網路犯罪分子提供進入系統的潛在入口點。
為了瞭解構成軟體的元件並 管理依賴項漏洞 ,維護稱為 SBOM(軟體物料清單)的清單對於增強應用程式的安全性、風險管理和合規性至關重要。
什麼是SBOM?
A Software Bill of Materials (SBOM)是應用程式中使用的所有封閉與開放原始碼元件、程式庫與相依性的詳細清單。簡單來說,就像實體產品可能附有零件與材料清單一樣,軟體也有其元件。
開發人員與供應商經常透過結合開放原始碼與商業程式碼來建構軟體。SBOM 系統性地詳細說明這些元件,以確保軟體產品中基礎程式碼元件的透明度與可追蹤性,有助於促進供應鏈安全並確保符合法規。
SBOM 有什麼好處?
從本質上講,SBOM 提供三個主要好處:

透明度
它提供了軟體組成的清晰視圖,使利益關係人(無論是開發人員、審計員還是最終使用者)能夠了解進入其軟體堆疊的元件。

漏洞管理
安全性是軟體開發中最緊迫的問題之一。SBOM 可以快速查明軟體產品中的元件,從而更輕鬆地識別、解決和修復漏洞。
發佈安全公告時,它通常包含有關軟體元件漏洞的最新資訊。透過將SBOM與最新的安全公告進行交叉引用,組織可以快速確定其應用程式是否存在風險,並採取必要的緩解措施來確保其安全。

整合到 SDLC(軟體開發生命週期)中
隨著軟體在開發管道中的進展,從概念化和設計到部署和維護,它都會不斷更新。SBOM 用作動態記錄,確保在 SDLC 的每個階段都能清楚地瞭解軟體的元件、依賴關係和關係。
誰需要 SBOM?
從廣義上講,軟體消費者可以是從供應商處獲得其第三方元件和第三方軟體實用程式的任何實體,無論是商業的還是非商業的。這些供應商的範圍很廣:
- 商業軟體發行商
- 提供軟體元件的合約軟體開發人員
- FOSS(自由和開源軟體)供應商在開放儲存庫或包管理器中管理代碼
值得注意的是,這些供應商身兼數職。他們可以是製造商、開發人員、維護者或供應商。理想情況下,這些實體還應該為其軟體功能策劃 SBOM。要記住的一個獨特區別是,大多數供應商也是消費者。但是,沒有任何上游元件的供應商通常被標記為根實體。
公共部門的SBOM
聯邦機構在採用和執行SBOM標準方面發揮著關鍵作用。他們的監督不僅僅是設定基準,而是確保符合這些基準,以實現更大的公共利益。 美國第 14028 號行政命令 於 2021 年 5 月發布,要求包括 NIST(美國國家標準與技術研究院)在內的多個具有廣泛管轄權的機構透過與軟體供應鏈的安全性和完整性相關的各種措施來加強網路安全。
第 10 號行政命令 14028 第 14028 節將 SBOM 定義為「包含建構軟體中使用的各種元件的詳細資訊和供應鏈關係的正式記錄」。。SBOM 有可能提供更高的透明度、來源和速度,聯邦部門和機構可以識別和修復漏洞。
SBOM 類型和定義
根據軟體開發和部署階段,會生成不同類型的 SBOM,每種 SBOM 都有獨特的用途,並提供對軟體元件的獨特見解。以下是六種常見的 SBOM 檔案類型。
SBOM 的要素是什麼?
根據 NTIA(美國國家電信和資訊管理局)的說法,SBOM 的最低元素包括軟體的供應商名稱、元件、其版本、唯一標識符、依賴關係、SBOM 資料的作者和時間標記。此外,SBOM 資料應包含以下要素,以使其有效和全面:
- 資料欄位: 必須具有明確定義的資料欄位,詳細說明軟體的元件名稱、版本和屬性。這保證了每個利益關係人都徹底瞭解軟體的構成。
- 自動化支援: 鑒於軟體開發的動態性質,SBOM 應該能夠自動更新並整合到軟體開發和部署管道中。這確保了即時的準確性和效率。
- 實踐和流程: 除了列出元件之外,SBOM 還應嵌入到管理其創建、維護和利用的最佳實踐和流程中。
SBOM 格式
常用的SBOM 格式包括
- SPDX(軟體包資料交換)— 由 Linux 基金會開發
- CycloneDX — 通常用於應用程式安全
- SWIDSoftware 識別標籤)- 由 ISO/IEC 19770-2 定義
透過對每個元件進行編目,SBOM 允許組織清楚地識別與每個軟體相關的證照,確保它們始終符合許可條款並避免潛在的法律陷阱。
保持合規和 保護 在 SDLC 中
由於供應鏈攻擊日益增加,聯邦政府和私營部門都意識到軟體識別的重要性。SBOM 對於詳細說明軟體元件,尤其是第三方元件,至關重要。SBOM 資料有助於預防漏洞,並確保 SBOM 建立的透明度。每個軟體都應該包含全面的 SBOM,以加強安全措施。
透過對每個元件進行編目,SBOM 允許組織清楚地識別與每個軟體相關的證照,確保它們始終符合許可條款並避免潛在的法律陷阱。
透過OPSWAT SBOM,開發人員可辨識已知漏洞、驗證授權,並針對 OSS(開放源碼軟體)、第三方依賴項目和容器產生元件清單。若要進一步瞭解如何利用強大的 SBOM 解決方案保護軟體供應鏈的安全,請造訪OPSWAT的軟體供應鏈安全解決方案。