KeyFrame內部研究專用

SecTor 2025 | The Good, the Bad, and the Ugly: Hacking 3 Cloud Providers with 1 Vulnerability

Black Hat·5月25日週一·37 min英文

三句話摘要

Wiz 安全研究團隊利用 NVIDIA Container Toolkit 單一容器逃逸漏洞,實測三家雲端 AI 服務供應商(Azure、Replicate、DigitalOcean)的安全縱深,結果截然不同。 單一零日漏洞能造成服務接管還是毫無影響,差異完全取決於各家供應商是否部署了多層縱深防禦——容器逃逸只是第一道門,後面還要有第二道、第三道才算真正安全。 容器逃逸原理來自掛載操作的時序問題。 NVIDIA Container Toolkit 在容器完全初始化、安全機制就位之前就執行掛載操作,且掛載的源與目標均由攻擊者控制的容器映像決定,攻擊者可透過精心構造的 Dockerfile 製造指向主機根目錄的符號連結,實現逃逸。

重點整理

重點
  • 1

    容器逃逸原理來自掛載操作的時序問題。 NVIDIA Container Toolkit 在容器完全初始化、安全機制就位之前就執行掛載操作,且掛載的源與目標均由攻擊者控制的容器映像決定,攻擊者可透過精心構造的 Dockerfile 製造指向主機根目錄的符號連結,實現逃逸。

  • 2

    Azure 的縱深防禦在第二道障礙生效。 Azure 部署了虛擬 Kubernetes API 伺服器作為代理層,即使攻擊者成功逃逸容器並取得更高權限的 Kubernetes token,所有跨租戶請求仍被虛擬 API 層過濾,無法存取其他租戶資料。

  • 3

    Replicate 的架構設計讓 Redis 成為致命弱點。 Replicate 使用共享 Redis 實例作為所有 AI 模型的任務佇列,一旦攻擊者從容器逃逸至底層節點並取得 Redis 密碼,即可讀取或即時竄改平台上所有公開與私有模型的用戶提示與回應。

  • 4

    DigitalOcean 節點級別的 Kubernetes 憑證權限過高。 底層節點持有的 Kubernetes 憑證遠比用戶 pod 強大,攻擊者逃逸後可取得這些憑證,進而存取整個 700+ 節點共享叢集中所有客戶的資料、源碼與第三方雲端密鑰(AWS、GCP、Azure、GitHub)。

實用技巧與重點

乾貨
  • 漏洞資訊
  • 漏洞元件:NVIDIA Container Toolkit(容器運行時程式庫)
  • 漏洞類型:容器逃逸(Container Escape),邏輯漏洞,非核心漏洞
  • 已由 NVIDIA 分配 CVE 編號並在先前版本修復
  • 後續在同一程式庫發現第二個更嚴重漏洞:3 行程式碼即可達成容器外代碼執行
  • 時間成本
  • 第一個漏洞研究耗時:約 10 天
  • 第二個漏洞研究耗時:約 1 天(有前次源碼閱讀基礎)
  • 受測供應商與結果
  • Azure Container Instances:逃逸成功,跨租戶攻擊被阻止(縱深防禦有效)
  • Replicate:逃逸成功 → Redis 密碼洩露 → 全平台提示/預測可讀寫,被藍隊偵測
  • DigitalOcean Paperspace:逃逸成功 → 節點 Kubernetes 憑證 → 700+ 節點叢集全控,Image Pull Secrets 外洩
  • DigitalOcean 暴露面
  • Kubernetes 叢集節點數:700+
  • 可存取資料:所有客戶模型、源碼、資料集、環境變數、容器內檔案
  • 可存取密鑰種類:Azure、AWS、GCP、GitHub 及其他雲端服務的 Image Pull Secrets
  • 工具與技術名稱
  • NVIDIA Container Toolkit、Docker、Kubernetes、kubectl
  • Redis(Replicate 任務佇列)、Cog 格式(Replicate 模型上傳格式)
  • Procfs(/proc)、Unix Socket、Kestrel(.NET HTTP 伺服器,Azure 虛擬 API 使用)
  • 開源框架:Peach(多租戶隔離設計框架)
  • 活動資訊
  • Zero Day Cloud 計畫,與 AWS、Google Cloud、Microsoft 合作,Black Hat Europe(倫敦)舉辦
  • 針對開源元件零日漏洞提供現金獎勵,官網:zeroday.cloud

結論

結論

單一零日漏洞能造成服務接管還是毫無影響,差異完全取決於各家供應商是否部署了多層縱深防禦——容器逃逸只是第一道門,後面還要有第二道、第三道才算真正安全。

完整解析

詳細

Wiz 安全研究員 Nir Ohfeld 與 Ilan Ben Sasson 在 Black Hat 上發表了這場研究,主題是他們如何用一個 NVIDIA Container Toolkit 的容器逃逸漏洞,系統性地測試多家 AI 雲端供應商的安全縱深,並以三個截然不同的結果說明:決定損害大小的關鍵不是漏洞本身,而是各家服務的安全架構設計。

NVIDIA Container Toolkit 是幾乎所有 AI 雲服務的共同元件,它讓 Docker 容器得以存取 NVIDIA GPU。研究人員發現,這個工具套件在容器完全初始化之前就執行掛載操作,而掛載的源與目標都由攻擊者控制的容器映像決定。透過在 Dockerfile 中製造指向主機根目錄的符號連結,攻擊者可將整個主機檔案系統掛載進容器,再透過 Docker Unix Socket 建立新的特權容器共享主機命名空間,完成從容器到主機的完整逃逸。這個漏洞之所以普遍,是因為凡是需要 GPU 的 AI 工作負載幾乎都依賴它。

第一個案例是 Azure Container Instances。研究團隊成功逃逸至底層主機,並從主機上找到 Kubernetes 憑證,進而繞過網路限制連上 Kubernetes API;他們甚至透過嗅探節點流量,攔截到 Azure 門戶操作觸發的更高權限 Kubernetes Token。然而,當他們試圖使用這個強力 Token 列舉其他租戶的節點時,發現自己其實是在跟一個以 .NET 寫成的虛擬 Kubernetes API 伺服器溝通,而非真正的 Kubernetes API。這個虛擬層會過濾所有跨租戶請求,即使是授權的查詢,返回的資源也只限於自身租戶。研究人員嘗試掃描內網尋找真實 API 伺服器、尋找日誌代理漏洞等各種繞過方式,全數失敗。Azure 的縱深防禦在第二道障礙有效攔截了攻擊。

第二個案例 Replicate 則揭示了共享基礎設施的風險。Replicate 允許用戶上傳 Cog 格式(本質是 Docker 容器)的 AI 模型,研究人員將惡意容器偽裝成 AI 模型,使其如遠端 Shell 般運作並植入漏洞利用程式碼。逃逸至底層節點後,他們在 procfs 中發現一個 Redis 進程,命令列參數中清楚地帶著密碼。這個 Redis 實例正是 Replicate 的共享任務佇列,連接所有平台上的 AI 模型——包括字節跳動、Salesforce、OpenAI 等知名企業的模型。取得 Redis 控制權意味著可以讀取或即時竄改平台上所有用戶的提示與預測,無論是公開還是私有模型。不過,Replicate 的藍隊及時偵測到異常活動,帳號被暫停,安全團隊主動聯繫確認是否為合法研究。研究人員評價其偵測能力相當出色。

第三個案例 DigitalOcean Paperspace 則造成了最嚴重的影響。逃逸至底層 Kubernetes 節點後,研究人員取得了節點層級的 Kubernetes 憑證——其權限遠超用戶 pod 所能擁有的。使用這組憑證執行 `kubectl get nodes`,回傳超過 700 個節點,確認這是一個龐大的多租戶共享叢集。透過自建的備用帳號測試,他們確認可以存取任意客戶 pod 中的所有內容:模型、源碼、資料集、環境變數,乃至用於拉取私有容器映像的 Image Pull Secrets。這些 Secrets 中儲存著客戶在 Azure、AWS、GCP、GitHub 等平台上的雲端憑證,攻擊者因此得以從 DigitalOcean 橫向滲透至客戶的其他雲端環境,大幅擴大攻擊範圍。

研究人員在結論中指出三點核心教訓:容器不應是不同隔離環境之間唯一的安全屏障;真正需要強隔離的場景(如不同租戶之間)應同時部署計算、網路、身份驗證、授權等多層防護;以及適當的安全態勢確實能讓環境在面對零日漏洞時具備韌性。他們也預告了在同一 NVIDIA Container Toolkit 程式庫中發現的第二個更嚴重漏洞,僅需 3 行程式碼即可完成攻擊,說明此攻擊路徑並非偶發事件,而是雲端容器運行時層面持續存在的結構性風險。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。