iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
Cloud Native

我在 CKS 考完只拿 47% 後痛定思痛決定好好準備內容系列 第 20

[Day20] 5-2. Understand your supply chain (e.g. SBOM, CI/CD, artifact repositories)

  • 分享至 

  • xImage
  •  

SBOM 介紹

Software Bill of Materials(SBOM)提供類似製造業的 BOM(物料清單),在這個清單中會列出軟體中所有的元件、依賴項目和版本,目的是提供軟體組成的透明度,透過名單的提供可以快速識別受影響的元件以及滿足法規要求(如美國 EO 14028)。

SBOM 的內容

典型的 SBOM 包含:

{
  "name": "my-application",
  "version": "1.0.0",
  "components": [
    {
      "name": "nginx",
      "version": "1.21.0",
      "type": "library"
    },
    {
      "name": "openssl",
      "version": "1.1.1k",
      "type": "library"
    }
  ]
}

SBOM 標準格式

SBOM 主要分成兩種格式 SPDX 以及 CycloneDX

1. SPDX (Software Package Data Exchange)

SPDX 是由 Linux Foundation 主導,主要是符合 ISO/IEC 5962:2021 國際標準,提供詳細的授權資訊追蹤。

2. CycloneDX

起源於 OWASP 專案,專門為應用程式安全設計,該準則以安全為中心的設計,並專注於漏洞管理和風險評估。

主要差異總結

SPDX CycloneDX
用途導向 合規性和授權管理為主 安全性和漏洞管理為主
複雜度 更複雜但更全面 相對簡化但專注
生態系 更廣泛的產業接受度 在安全工具中更常見
標準化程度 國際標準 (ISO) OWASP 專案標準

掃描工具

掃描時可以有多種搭配:

  1. bom + trivy
  2. syft + grype

兩個不同的掃描所能達成的結果是相同的,考試提供的模擬題主要是考 bom + trivy 的用法,因此這邊會介紹該用法。

bom + trivy

在考試時主要透過 bom --help,以及 trivy --help查看指令,下面範例是透過 bom 產生 SBOM 還有透過 trivy 產生 cycloneDX。另外是透過 trivy 掃描 sbom 的結果已提供弱點掃描結果,其實也是可以透過 trivy 直接掃描 image ,但是 sbom 的檔案比較小掃描起來比較有效率。

# 使用 bom 產生 SBOM 
bom generate --image <image> --format json --output output.json

# 使用 trivy 產生 cycloneDX
trivy image --format cyclonedx --output output.json <image>

# 使用 trivy 檢查 sbom 的漏洞
trivy sbom sbom_check.json

參考資料


上一篇
[Day19] 5-1. Minimize base image footprint
系列文
我在 CKS 考完只拿 47% 後痛定思痛決定好好準備內容20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言