Model Garden 風險
自 GCP Model Garden 部署模型之安全風險:第三方模型信任、模型來源驗證、自未受信任來源之部署,與供應鏈攻擊向量。
Model Garden 風險
GCP 之 Model Garden 為發現並部署來自 Google、開源社群與第三方提供者之基礎模型之策展中心。雖其簡化模型部署,其引入與傳統軟體依賴不同之供應鏈風險。模型為不透明可執行檔——你無法如審查函式庫之原始碼般審查其「原始碼」(權重)。木馬化模型通過功能測試同時含僅於特定觸發啟動之隱藏行為。對紅隊員,Model Garden 既為攻擊面(部署受損模型)亦為偵察資源(理解目標使用何模型)。
第三方模型風險
信任問題
Model Garden 提供來自數個具不同信任層級之來源之模型:
| 來源 | 範例 | 信任層級 | 風險 |
|---|---|---|---|
| Google 第一方 | Gemini、PaLM、Gemma | 高 | Google 之基礎設施與安全過程 |
| 已驗證夥伴 | Anthropic Claude、Meta Llama | 中高 | 夥伴之安全過程、Google 審查 |
| 開源社群 | 微調變體、特殊化模型 | 低中 | 僅社群審查,無正式審查 |
| 自訂上傳 | 組織自身之模型 | 變化 | 取決於內部安全實踐 |
模型中之隱藏行為
模型可含經標準評估不可偵測之隱藏行為:
後門觸發
以後門訓練之模型對標準輸入正常回應但於特定觸發存在時產出攻擊者控制之輸出。例如,對所有輸入正確翻譯之翻譯模型,除含特定 Unicode 序列者(其觸發資料外洩行為)。
資料記憶化
模型記憶訓練資料。第三方模型可能於可經針對性提示提取之敏感資料訓練。於你之基礎設施部署此模型經你之 API 端點暴露該記憶資料。
偏誤注入
微調以展現特定偏誤(例如始終推薦特定產品、細微偏向某些結果)之模型於標準基準內正常運作,但於生產產出被操弄輸出。
能力隱藏
看似為簡單文字分類器之模型但實際具可經特定輸入模式啟動之生成能力,啟動其自受限部署內作為通用語言模型使用。
模型卡缺口
Model Garden 提供含訓練資料、效能與限制資訊之模型卡。然而,模型卡具固有缺口:
- 自我回報:模型卡由模型建立者撰寫且未被獨立驗證
- 評估有限:基準測試已知情境;後門於未知觸發啟動
- 訓練資料不透明:多數模型卡以一般術語描述訓練資料,無詳細來源
- 版本漂移:模型權重被修改時模型卡資訊可能未更新
模型來源
驗證挑戰
模型來源——驗證模型來自其聲稱者且未被篡改——為 ML 生態系之未解決問題。
| 驗證方法 | 其證明什麼 | 其不證明什麼 |
|---|---|---|
| Checksum 匹配 | 二進位完整性(模型於發布後未被修改) | 模型安全;模型來自聲稱來源 |
| 簽署 | 模型被簽署金鑰持有者簽署 | 簽署者身分;模型內容安全 |
| 模型卡 | 建立者對模型屬性之聲明 | 聲明準確;無隱藏行為 |
| 基準評估 | 模型於已知測試表現良好 | 無後門、無記憶敏感資料 |
| 紅隊測試 | 模型抵抗已知攻擊模式 | 對新穎攻擊之抵抗 |
供應鏈攻擊向量
[Model Creator] → [Publishing Platform] → [Model Garden] → [Customer Deployment]
↑ ↑ ↑ ↑
Training data Platform compromise Catalog tampering Deployment config
poisoning Model substitution Metadata fraud Runtime modification
鏈中每個環節為攻擊面:
- 訓練資料投毒:攻擊者投毒模型建立者使用之訓練資料,於結果模型嵌入後門
- 平台受損:攻擊者受損發布平台(例如 Hugging Face)並替換模型檔案
- 目錄操弄:攻擊者操弄 Model Garden metadata 以指向不同模型產物
- 部署篡改:攻擊者於部署至客戶基礎設施期間或之後修改模型
自未受信任來源之部署
一鍵部署風險
Model Garden 之一鍵部署簡化模型部署但可導致不安全組態:
| 風險 | 描述 | 緩解失敗 |
|---|---|---|
| 預設服務帳戶 | 部署使用 Compute Engine 預設 SA | 過度權限之模型端點 |
| 公開端點 | 預設部署可能建立公開可存取之端點 | 模型於無 VPC 限制下可存取 |
| 無內容過濾 | 開源模型於無 Google 之安全過濾器下部署 | 於模型輸出無護欄 |
| 大實例類型 | GPU 實例於無成本控制下部署 | 拒付錢包暴露 |
| 無監控 | Model Monitoring 未預設組態 | 對抗輸入未被偵測 |
自託管模型風險
當組織自 Model Garden 部署開源模型至其自身基礎設施時:
# 檢查部署模型細節
gcloud ai models describe <model-id> --region=us-central1
# 檢查使用之容器映像
gcloud ai endpoints describe <endpoint-id> --region=us-central1 \
--format="json(deployedModels[].model,deployedModels[].serviceAccount)"自託管模型缺乏受管 API 模型(Gemini)受益之安全基礎設施:
- 無安全訓練:許多開源模型具最少安全對齊
- 無內容過濾:於輸入或輸出無自動內容過濾
- 無速率限制:無對抗濫用之內建保護
- 完整權重存取:模型權重於客戶儲存並可被外洩
- 容器層級存取:服務容器可經模型服務框架漏洞(例如 TensorFlow Serving、Triton)可利用
模型服務框架漏洞
開源模型經具其自身漏洞表面之框架被服務:
| 框架 | 用於 | 常見漏洞 |
|---|---|---|
| vLLM | LLM 服務 | API 暴露、無預設身分驗證 |
| TensorFlow Serving | TF 模型 | gRPC/REST API 漏洞 |
| Triton Inference Server | 多框架 | 自未受信任路徑之模型載入 |
| TGI(Text Generation Inference) | LLM 服務 | API 暴露、經模型載入之 SSRF |
紅隊評估途徑
模型來源分析
為目標環境中之每個模型:
- 辨識來源:其為 Google 模型、已驗證夥伴、開源社群或自訂?
- 檢查來源:模型之來源可經 checksum、簽章或稽核軌跡驗證嗎?
- 評估部署組態:何服務帳戶、網路組態與監控就位?
- 測試隱藏行為:以為觸發後門設計之對抗輸入探測模型
- 評估服務堆疊:測試模型服務框架之其自身漏洞
模型盤點缺口
組織常缺乏部署模型之完整盤點:
- 為測試部署且從未停用之開發模型
- 由個別資料科學家於無中央監督下部署之模型
- 同一模型之多個版本同時執行
- 於非標準區域部署以避免配額限制之模型
相關主題
- GCP AI 服務概觀 —— 服務地景與列舉
- Vertex AI 攻擊面 —— 端點與訓練利用
- 基礎設施與供應鏈 —— 一般供應鏈攻擊方法論
- RAG、資料與訓練攻擊 —— 訓練資料投毒技術
組織使用一鍵部署自 Model Garden 部署微調 LLM 而不修改預設組態。何安全風險最可能存在?
為何傳統程式碼審查技術無法套用以驗證自 Model Garden 之第三方模型安全?
參考資料
- Vertex AI Model Garden —— 模型目錄與部署
- Model Cards for ML —— 原始模型卡論文
- Hugging Face Security —— 為模型託管平台之安全實踐