🐳較早收集於 78m

強化映像檔:減少 CVE 與攻擊面

強化映像檔:減少 CVE 與攻擊面
PostLinkedIn
🐳閱讀原文: Docker Blog

💡學習如何縮減容器攻擊面,並消除 AI 部署堆疊中不必要的漏洞。

⚡ 30-Second TL;DR

有什麼變化

大多數漏洞源自於基礎映像檔中未使用的套件,而非應用程式碼本身。

為什麼重要

對於在生產環境部署模型的 AI 從業人員而言,採用強化映像檔至關重要,這能降低供應鏈攻擊風險,並減少修補未使用依賴項的維護負擔。

下一步行動

審查您目前的 Dockerfile,並切換至「distroless」或「alpine」等極簡基礎映像檔,以減少容器的攻擊面。

誰應關注:Developers & AI Engineers

關鍵要點

  • 大多數漏洞源自於基礎映像檔中未使用的套件,而非應用程式碼本身。
  • 強化映像檔移除了 Shell、編譯器與除錯工具,以最小化潛在的攻擊入口。
  • 縮減映像檔體積可同時提升安全性與軟體供應鏈的完整性。

🧠 深度解析

Web-grounded analysis with 29 cited sources.

🔑 增強重點摘要

  • 強化映像檔不僅透過移除不必要的組件來縮小體積,更包含加密簽署的中繼資料、軟體物料清單 (SBOM) 及漏洞可利用性交換 (VEX) 等完整的安全構件堆疊,以提供可稽核的安全性保證。
  • Docker 已於 2025 年 12 月 17 日將其強化映像檔 (Docker Hardened Images, DHI) 專案下的 1,000 多個映像檔開源,並採用 Apache 2.0 授權,使所有開發者都能免費使用,大幅提升了容器生態系統的安全基準。
  • 「強化映像檔」的概念超越了單純的「最小化映像檔」,它還強制執行安全的執行時配置,例如以非 root 使用者身份執行、限制權限以及使用唯讀檔案系統,從而提供更全面的保護。
  • 強化映像檔是一種「從源頭預防」的安全措施,與在執行時偵測和回應風險的雲端原生應用程式保護平台 (CNAPP) 等解決方案相輔相成,兩者在受監管環境中通常都是必需的。
  • Distroless 映像檔是強化映像檔的一種,其設計目標是僅包含應用程式及其執行時依賴項,不含套件管理器、Shell 或除錯工具,相較於 Alpine 映像檔,在某些特定應用場景(如靜態編譯的二進位檔或特定語言執行時)下能提供更小的體積和更低的攻擊面。
📊 競品分析▸ Show
功能/產品Docker Hardened Images (DHI)Chainguard ContainersGoogle DistrolessEchoAqua Security
最小化技術Distroless 方法,移除不必要組件基於 Wolfi,安全預設,持續重建僅包含應用程式和執行時依賴項,無 Shell/套件管理器從源碼重建映像檔,實現零 CVE廣泛的容器安全平台,包含映像檔掃描
安全構件加密簽署、SBOM、VEX、出處證明映像檔簽署、出處證明、SLSA、Sigstore改善掃描器信噪比,減少出處證明負擔完整 CVE 透明度、自動修補映像檔掃描、CI/CD 策略執行
授權/成本免費 (Apache 2.0);企業版提供 SLA 和合規性功能免費 :latest:latest-dev 層級;付費版提供更多功能免費 (Google Container Tools)商業產品,提供零 CVE 映像檔商業產品,提供端到端容器安全
合規性企業版支援 FIPS/STIG 對齊支援 CIS Benchmarks, FedRAMP, NIST SP 800-190減少攻擊面有助於合規性支援 FIPS 和 STIG,加速 FedRAMP 合規支援多種合規標準
主要差異提供免費開源的強化映像檔目錄,並有企業級 SLA 選項專注於安全預設的 Wolfi 基礎映像檔,強調出處證明極致最小化,移除所有非必要 OS 組件,減少攻擊面透過從源碼重建實現零 CVE,並提供自動修補提供涵蓋建置、部署和執行時的全面容器安全解決方案

🛠️ 技術深入

  • Distroless 映像檔:這些映像檔僅包含應用程式及其執行時依賴項,刻意省略了套件管理器、Shell 和除錯工具。它們通常基於 Debian (例如 Debian 13),但經過大幅精簡,僅保留必要的系統檔案,如 /etc/passwd/etc/group、CA 憑證和時區資訊。對於需要除錯的場景,提供帶有 busybox Shell 的 :debug 映像檔變體。
  • scratch 映像檔:這是最極致的最小化基礎映像檔,完全空白,僅適用於 Go 等靜態編譯語言,其二進位檔沒有外部依賴項。使用 scratch 映像檔需要手動管理憑證,且不提供任何除錯工具。
  • Alpine Linux:一種輕量級 (約 5MB) 且注重安全的 Linux 發行版,包含 apk 套件管理器和 Shell。它使用 musl libc,這可能導致與為 glibc 環境編譯的應用程式產生相容性問題。
  • 多階段建置 (Multi-stage builds):一種 Dockerfile 技術,用於將建置時依賴項(如編譯器、SDK)與執行時依賴項分離。在建置階段完成編譯和測試,然後只將必要的應用程式構件複製到最終的、更小且更安全的執行時映像檔中。
  • 安全構件 (Security Artifacts):強化映像檔通常會附帶加密簽署的中繼資料、軟體物料清單 (SBOM)(例如 SPDX 和 CycloneDX 格式)以及漏洞可利用性交換 (VEX) 諮詢報告,以提供可驗證的映像檔完整性和出處證明。
  • 執行時強化 (Runtime Hardening):除了映像檔內容的最小化,還包括在執行時實施的安全措施,例如以非 root 使用者身份執行容器、使用唯讀檔案系統、捨棄不必要的 Linux 權限,以及應用 Seccomp 設定檔來限制系統呼叫。

🔮 前景展望AI analysis grounded in cited sources

安全預設映像檔將成為行業標準。
隨著軟體供應鏈攻擊日益頻繁以及法規要求趨嚴,強化映像檔將從最佳實踐轉變為容器化應用程式部署的預期基準。
映像檔簽署和軟體物料清單 (SBOM) 將成為強制性要求。
為了確保軟體供應鏈的完整性和可追溯性,內容信任、映像檔數位簽署(例如 Sigstore)以及機器可讀的 SBOM 將在受監管行業中從可選轉變為強制性要求。
AI 將在容器安全中扮演更核心的角色。
AI 將被用於自動化映像檔強化、漏洞掃描,甚至可能用於識別由 AI 生成的惡意依賴項(如 slopsquatting),以應對不斷演變的威脅。

時間線

2013
Docker 成立,革新容器使用方式。
2020
Kubernetes 專案開始使用 Distroless 映像檔。
2021-08
Aqua Security 研究指出部分 Docker 官方映像檔存在未受支援的作業系統或大量未修補漏洞,凸顯了嚴格映像檔選擇的重要性。
2022-09
關於 Distroless 技術在減少容器映像檔大小和解決安全問題方面的研究被發表。
2025-05
Docker 推出「強化映像檔」(Hardened Images)。
2025-12
Docker 將 1,000 多個強化容器映像檔在 Apache 2.0 授權下開源,使其免費且廣泛可用。
📰

AI 週報

閱讀本週精選 AI 大事摘要 →

👉相關動態

AI 策展新聞聚合。所有內容版權歸原始發布者所有。
原始來源: Docker Blog