在KubeClarity 系列的上一篇文章中,我們深入探討了以下問題的複雜性:KubeClarity 架構揭示其內部運作方式。現在是時候將我們的注意力轉移到使其與眾不同的突出功能:多SBOM(軟體物料清單)整合。與我一起閱讀這篇令人興奮的博文,我們將探索多 SBOM 整合的強大功能,並了解它如何支援您的安全策略。
軟體物料清單 (SBOM) 回顧
看看在深入研究高階 SBOM 整合之前,我們先回顧一下我們上一篇文章中介紹的SBOM 基礎知識。雖然 KubeClarity 與其他解決方案一樣提供標準 SBOM 整合方法,但它憑藉其先進的多 SBOM 整合功能更進一步。本文從單一 SBOM 整合開始,逐步深入研究多 SBOM 策略。
只是提醒您,KubeClarity 不是 SBOM 生成器,而是整合和操作流行的 SBOM 生成器的解決方案。讓我們看看它如何啟動 SBOM。因此,準備好利用 KubeClarity 將您的安全遊戲提升到一個新的水平!
SBOM 生成器集成
KubeClarity 透過公開 SBOM 生成器整合設定。請按照中的說明進行操作自述文件或更多詳細的安裝博客,您可以探索和調整預設的helm圖表值。 是查看 SBOM 整合選項的起點。
預設情況下,KubeClarity 啟用 Syft 和 CycloneDX gomod 分析器。將新類型的分析器新增至值設定檔中的生成器清單中可以啟用其他整合。例如,Trivy現在作為附加分析器提供,提供增強的分析功能。然而,該架構允許無縫擴展,確保未來版本可以輕鬆合併其他分析器。這是「values.txt」中對應的設定片段。
KubeClarity SBOM 資料庫
產生的 SBOM 快取在 SBOM DB 中。 KubeClarity 安裝會自動部署 SBOM DB pod。回顧一下,SBOM DB 是一種輕量級 SQLite DB,可以避免持久性磁碟區儲存開銷。其主要用途是以字串格式儲存和檢索 SBOM 文檔,並用作渲染 SBOM 資料的快取功能。 DB 不會儲存或查詢 JSON 物件來解析或查詢 SBOM。但是,它支援gzip壓縮和 base64 編碼儲存以減少記憶體佔用。
KubeClarity 可以接受和處理 SPDX 和 CycloneDX 輸入格式,並將它們轉換為 KubeClarity 的本機格式,該格式與 CycloneDX 格式一致。查看README中有關支援的輸出格式的詳細資訊。
繁重的工作是產生 SBOM 並將其轉換為本機格式。產生 SBOM 並將其儲存在快取中後,將內容分析對應到漏洞是一個相對較快的過程,只需幾秒鐘。我們將在下一篇文章中研究掃描配置和漏洞。
單一SBOM的缺點
我們之前在 SBOM 基本面回顧中討論過這一點;值得注意的是,並非所有 SBOM 都能同等產生。例如,讓我們來看看兩種流行分析器之間的一些差異。
和Syft是開源分析器,可以為容器化應用程式產生 SBOM(軟體物料清單)。然而,在偵測容器中的函式庫時,這兩種工具都有獨特的優點和缺點。
Trivy 的優勢在於其廣泛的漏洞資料庫,其中包括來自各種來源(例如 NVD、Red Hat 和 Debian)的 CVE。此外,Trivy的資料庫不斷更新,可以偵測多種程式語言的漏洞,包括Java、Python和Ruby。
相較之下,Syft 的漏洞資料庫比 Trivy 的小,主要專注於偵測 Python 庫中的漏洞。
因此,在檢測使用 Python 以外的程式語言的容器化應用程式中的漏洞或容器映像包含許多具有已知漏洞的程式庫時,Trivy 的 SBOM 可能比 Syft 的 SBOM 更好。
但是,如果應用程式 嚴重依賴 Python 庫,Syft 可能是更好的選擇,因為 Syft 擁有更廣泛的 Python 漏洞資料庫,並且可以為這些庫提供更準確的漏洞資訊。最終,選擇使用哪種工具取決於所分析的容器化應用程式的特定要求和特徵。
如果您不必在選項之間進行選擇,那不是很 卡塔爾電話號碼數據 好嗎?如果您可以同時擁有這兩個或需要的數量,該怎麼辦?要實現這一目標,需要努力確保這些分析器共存,並且它們的輸入和輸出格式標準化。在下一節中,我們將探索 KubeClarity 的一個獨特功能來解決這個挑戰。繼續了解有關 KubeClarity 如何脫穎而出的更多資訊。
多重SBOM解決方案
該解決方案整合了多個 SBOM,以產生準確的軟體包和庫譜系。整合多SBOM有助於提高檢測的覆蓋範圍和準確性。
考慮到處理單一 SBOM 的 哪些行業可以從轉讓定價服務中受益最多? 複雜性,管理多個 SBOM 似乎相當具有挑戰性。然而,Kubeclarity 可以有效地組織和處理多個 SBOM,將看似混亂的內容轉變為有價值的見解來源。此外,透過多個 SBOM 的無縫集成,包括匯出使用者提供的外部 SBOM 的能力,KubeClarity 簡化了流程。
統一SBOM格式
圖 2 說明不同的分析器可能支 資料庫資料庫 援不同的 SBOM 格式。在這種情況下,KubeClarity 透過攝取這些不同的格式並將其轉換為漏洞掃描程式所需的本機格式發揮著至關重要的作用。由於每個漏洞掃描程式都需要特定格式的 SBOM,因此合併 SBOM 涉及大量工作,需要仔細平衡和標準化輸入以確保相容性。
圖 2:多SBOM 整合流程
當多個分析器識別出相同的資源時,KubeClarity 將它們作為聯合處理,並將兩個分析器標記為來源。 KubeClarity 沒有嘗試合併每個生成器產生的原始數據,而是在生成的 SBOM 中添加額外的元數據,同時保持原始數據不變(如分析器報告的那樣)。
合併SBOM
除了合併多個 SBOM 之外,KubeClarity 還提供將 CI/CD 管道各個階段的 SBOM 合併到單一 SBOM 中。
如下圖 3 所示,可以透過分層和合併來增強 SBOM。在這裡,您可以看到應用程式建置時的應用程式依賴 SBOM 分析可以透過映像建置階段的映像依賴性分析來增強。合併後的 SBOM 在適當格式化後可作為漏洞掃描程式的輸入。我們將在下一篇文章中深入介紹漏洞掃描。現在讓我們繼續關注 SBOM。
圖 3:各個 CI/CD 階段的 SBOM 集成
如果您有興趣探索與 SBOM 格式化、轉換和合併相關的程式碼,您可以在共享包。請隨意環顧四周。圖 4 簡要概述了程式碼庫。
圖 4:SBOM 整合原始碼佈局
探索 SBOM 整合:實踐練習
有多種方法可以使用您首選的分析器來設定 KubeClarity。第一個選項是使用工具,該工具對於整合到 CI/CD 管道中非常有用。第二個選項涉及使用設定檔。以下讓我們詳細探討這兩個選項: