GKE 上 AI 工作負載的安全防護最佳做法

這份文件提供最佳做法,協助平台團隊、安全工程師和雲端架構師在 Google Kubernetes Engine (GKE) 部署 AI 工作負載。您可以使用 GKE 保護專屬智慧財產 (IP),例如模型權重、篩選內容以維護品牌聲譽,以及提升法規遵循度。

除了下列其他 GKE 和 AI 工作負載安全性最佳做法外,也請實作這些最佳做法:

瞭解您的安全防護責任

AI 工作負載的資安態勢取決於環境的各個層面,例如 Cloud de Confiance by S3NS 基礎架構和使用的模型。下表說明這些層級、負責保護各層級安全的人員,以及該層級的安全責任:

圖層 說明 責任
基礎架構 AI 工作負載執行的底層基礎架構,例如虛擬機器 (VM)、網路元件和儲存空間硬體。 Cloud de Confiance 擁有基礎架構,並提供強大的安全基準。

貴機構的平台管理員會導入控管措施,在下列領域提升安全性:

  • 防範提示詞注入攻擊
  • 資料加密
  • 使用者和工作負載驗證與授權
  • 輸出內容安全性
  • 多租戶環境的硬體和租戶隔離
  • 多租戶環境中的速率限制
  • 記錄檔和指標收集
模型 模型、模型權重、訓練 pipeline 和安全屬性。如果您執行訓練或微調的模型,則必須負責保護模型層。如果您執行第三方供應商 (例如 Gemini) 的受管理模型,則供應商須負責模型安全。

在模型層級,模型擁有者負責下列領域的安全:

  • 模型完整性
  • 模型權重保護
  • 模型安全屬性
應用程式 提示、程式碼、系統指令和使用者體驗。 貴機構的應用程式營運人員和平台管理員,負責應用程式層級的安全。

在應用程式層,應用程式營運人員、開發人員和平台管理員負責下列領域的安全性:

  • 防範提示詞注入攻擊
  • 應用程式資料處理
  • 應用程式層級內容安全
  • 工作負載隔離和沙箱機制

您負責套用控管機制,確保自己負責的層級安全無虞。下列範例說明 GKE 客戶的常見部署類型,以及這些部署的相應安全責任:

  • 您執行受管理模型,例如 Gemini:您可以在基礎架構和應用程式層級套用控管機制。即使使用內建安全篩選器的受管理模型,您仍須負責提示詞注入防禦措施,保護特定應用程式邏輯。
  • 自行執行模型:如果您執行微調模型、開放原始碼模型或您訓練的模型,則必須負責各層的安全防護。
  • 您是多租戶 AI 服務供應商:如果您在 GKE 上執行模型,並向多個租戶公開推論端點,藉此向自家使用者提供 AI 服務,則您必須負責額外的控制項。這些多租戶控制項包括邏輯和實體租戶隔離 (例如專屬節點集區、命名空間和網路政策)、每個租戶的速率限制,以及使用不同的客戶自行管理的加密金鑰 (CMEK) 加密租戶靜態資料。

提升基礎架構層的安全性

在基礎架構層, Cloud de Confiance 和 GKE 提供預設實作各種安全控管機制的基準資安態勢。如要提升 AI 工作負載基礎架構的安全性,請根據您執行的 AI 工作負載類型,以及要達成的特定安全目標,設定額外的安全控管機制。以下各節說明可用來保護 AI 基礎架構各項元件的產品和服務。

保護 GKE 節點

使用下列服務保護私密資料,例如處理提示和回覆的推論工作負載,或存取專屬模型的訓練工作負載:

  • 使用硬體驗證功能加密使用中的機密資料:在 Confidential Google Kubernetes Engine 節點上執行推論工作負載,除了 AMD SEV-SNP 或 Intel TDX CPU,還可將硬體層級的記憶體加密功能擴充至 GPU 和 TPU 等加速器。針對受監管的部署作業和機密推論工作負載,使用機密 GKE 節點。機密 GKE 節點無法保護工作負載,避免受到應用程式層級的攻擊,或有節點層級存取權的授權使用者影響。

    如果供應商的客戶有嚴格的隔離需求 (例如主權工作負載),GKE Hypercluster 可提供加密認證,確保即使是底層基礎架構的運算子Cloud de Confiance也無法檢查租戶資料。

  • 降低節點冒用風險:在 受防護的 GKE 節點上執行工作負載,這類節點提供可驗證的節點完整性和身分驗證。為所有工作負載類型使用受防護的 GKE 節點。

  • 避免工作負載使用靜態憑證:使用 Workload Identity Federation for GKE,透過短效期聯合憑證從應用程式程式碼存取 Cloud de Confiance 服務,並防止非必要的 Compute Engine 中繼資料暴露給應用程式。在所有正式版叢集中使用 Workload Identity Federation for GKE,特別是需要存取叢集外部服務中的資料時。

導入網路控制項

您可以運用下列功能和產品,提升 AI 工作負載的網路安全:

  • 使用別名 IP 位址範圍:虛擬私有雲原生叢集會使用別名 IP 位址範圍,在 Pod 之間轉送流量,而不是使用虛擬私有雲網路中的靜態路徑。一律使用 VPC 原生叢集。

  • 限制節點的網路存取權:使用私人節點,預設禁止節點與公用網際網路之間的流量。需要公開的推論端點應在端點和網際網路之間,使用 Google Cloud Armor 等代管服務。

  • 根據預設拒絕叢集內流量:使用 Kubernetes NetworkPolicies 拒絕 Pod 之間、命名空間之間,以及輸出至網際網路的流量。只允許需要特定存取的應用程式使用網路流量。

  • 為網際網路端點新增邊緣防護:您可以透過Google Cloud Armor 實作速率限制、DDoS 防護、地理位置存取控管和第 7 層攻擊緩解措施,保護公開的網際網路推論端點。如果您有對外開放的 AI API,請使用 Cloud Armor 處理巨流量和應用程式層攻擊,避免攻擊影響運算基礎架構。將 Cloud Armor 與私有節點結合使用,盡量提升推論端點的安全性。

  • 防範攻擊期間的資料竊取行為:使用 VPC Service Controls 為 Cloud de Confiance 資源建立安全 perimeter。即使憑證遭盜用,攻擊者也無法將資料帶出防護範圍。針對受監管的工作負載使用 VPC Service Controls。

管理身分與存取權

如要識別使用者及控管叢集和工作負載的存取權,請使用下列授權機制:

管理金鑰和密鑰

將所有加密金鑰和機密資料 (例如 API 金鑰和憑證) 存放在叢集外部。下列產品可協助您儲存這些資源:

  • 管理加密金鑰:使用 Cloud Key Management Service 管理所有加密金鑰。您也可以在 Cloud KMS 中建立客戶自行管理的加密金鑰 (CMEK),使用您控管的金鑰加密資料,這通常是受監管產業的必要做法。

  • 儲存應用程式機密資料:使用 Secret Manager 儲存工作負載使用的機密資料,例如應用程式密鑰、API 金鑰和憑證。如要從 Pod 讀取這項資料,請使用 Workload Identity Federation for GKE,只允許特定工作負載身分存取 Pod 需要的資源。

提升供應鏈安全性

下列 Cloud de Confiance 服務可協助您提升整個軟體供應鏈的安全性:

  • 掃描容器映像檔安全漏洞:將容器映像檔儲存在Artifact Registry 存放區,預設會啟用安全漏洞掃描功能。針對登錄檔中的每個映像檔啟用持續 CVE 偵測功能。
  • 只允許經過驗證的映像檔進入正式環境:使用二進位授權,在部署時強制執行容器映像檔簽章的政策式授權。只有經過認證的映像檔才能進入正式環境。

  • 設定安全偵測和資安態勢管理:使用 Security Command Center 查看 AI 專屬的威脅偵測和資安態勢管理發現項目,例如設定錯誤的 Gemini Enterprise Agent Platform 端點,或公開的訓練資料儲存空間。Security Command Center 會整合這些 AI 發現項目、Artifact Registry 安全漏洞和 IAM 分析,讓您全面掌握機群狀況。

  • 追蹤 AI 構件:使用專為 Kubernetes AI 工作負載打造的材料清單工具 (例如 k8s-aibom),產生模型、資料集和架構的完整清單。

提升模型層級的安全性

如果您執行已訓練或微調的模型,或是執行您設定的開放原始碼模型,則應設定各種控制項,以提升模型安全性。如果您是透過第三方供應商執行受管理模型,則不適用此層級。以下各節說明如何提升模型的完整性、機密性和安全性。

提升模型完整性

提高模型完整性,以便在模型可透過推論端點存取之前,找出竄改證據。請參考下列準則,提升模型完整性:

  • 簽署模型構件:先以密碼編譯方式簽署模型權重,再將權重發布至登錄檔。部署模型時,請使用二進位授權認證驗證簽章。簽署及驗證模型構件有助於判斷模型在儲存或傳輸期間是否遭到竄改,並為生產模型提供可驗證的監管鏈。
  • 找出訓練後修改內容:開放原始碼的啟動模型掃描器 (AMS) 會分析模型啟動簽章與基準的差異,偵測訓練後經過修改的模型 (例如新增後門、權重擾動或未經授權的微調)。在將模型發布至正式版登錄檔之前,請先在 CI/CD 管道中執行 AMS 等掃描器。對於高價值或受監管的模型,請定期對生產構件執行 AMS 掃描,偵測初始發布後發生的竄改行為。

保護模型機密性

如果您有敏感的模型權重,例如專屬微調、以受管制資料訓練的模型,或具競爭力的智慧財產,請按照下列規範保護權重:

  • 加密靜態權重:將權重儲存在加密的物件儲存空間 (例如 Cloud Storage bucket),並限制 IAM 存取權。Cloud Storage 預設會加密靜態儲存的客戶內容。您也可以選擇使用 CMEK,以您控管的金鑰加密資料,這通常是受監管產業的要求。詳情請參閱 Cloud Storage 說明文件中的「資料加密選項」。

  • 保護使用中的權重:在機密 GKE 節點上執行模型,確保權重在推論期間於記憶體中加密。機密 GKE 節點可協助您保護智慧財產,避免遭到管理程序層級的入侵,以及基礎架構營運商未經授權的存取行為。機密 GKE 節點無法防範應用程式層級的攻擊,也無法防範具有節點層級存取權的授權使用者。

  • 控管權重的存取權:記錄儲存空間中所有模型構件的存取權。使用 IAM 存取權政策,限制特定服務帳戶和人員的存取權,並記錄存取需求。使用 Kubernetes RBAC 政策和 Chrome Enterprise 進階版,嚴格限制叢集的管理存取權,包括容器的殼層存取權、節點 VM 的 SSH 存取權,或節點層級的偵錯。這些措施可協助您保護模型權重,避免擁有節點層級存取權的使用者存取,這類存取權不在機密 GKE 節點的涵蓋範圍內。

提升模型安全屬性

訓練模型時,您可以實作各種安全設定。如果您要訓練或微調自己的模型,請投入資源進行與模型用途相關的安全訓練。模型的安全性屬性包括拒絕行為、對齊訓練,以及抵禦越獄攻擊。如果您使用預先訓練的模型,請選擇安全屬性符合應用程式需求的模型。

應用程式開發人員和營運人員可以在應用程式層級實作各種控制項,以改善模型無法涵蓋領域的安全性。

提升應用程式層級的安全性

在應用程式層,營運人員和開發人員最能控管 AI 專屬安全設定。在應用程式層,您可以實作安全控管措施,保護資料、建立格式正確的要求,以及保護提示和回覆。這些控制項通常適用於推論工作負載,可處理使用者提示、工作階段和回應。下列各節說明各種控制項、產品和服務,可能有助於您在應用程式層級達成特定安全性目標。

防範內容層級威脅

檢查所有提示詞和回覆,找出提示詞注入、敏感資料暴露和有害內容等安全問題。由於 GKE 節點的設計宗旨是不存取內容,因此請在應用程式和推論端點之間部署 Model Armor。Model Armor 採用特定的資料處理和儲存原則,旨在提升掃描期間的資料隱私權。

保護系統提示詞

過濾輸出內容,防止提示詞外洩,並設定 Model Armor 資料外洩偵測功能,以偵測擷取模式。如果是高度敏感的指令,請在不會向使用者傳回文字的呼叫中處理指令。

管理工作階段和路徑

向終端使用者公開推論端點時,請使用 GKE Inference Gateway。Inference Gateway 擴充了 Gateway API,可根據 AI 推論工作負載專屬的指標和資料,轉送流量。您可以自動調度工作負載以因應需求,並與 Model Armor 和 Apigee 整合,進行內容篩選、工作階段層級的可觀測性及配額強制執行。

提升 AI 代理程式安全性

如果 AI 工作負載是代理程式,則需要額外的應用程式層級控制項,例如:

  • 限制 Cloud de Confiance API 的存取權:搭配 IAM 存取權政策使用 Workload Identity Federation for GKE,限制代理程式工作負載 Pod 可存取的 API。為每個代理程式使用專屬的 Kubernetes ServiceAccount,並只將工作負載所需的 IAM 權限授予該主體。
  • 在沙箱中執行程式碼或不信任的工具:使用 Agent Sandbox 執行代理,在沙箱環境中執行產生的程式碼,或與未經驗證的第三方工具互動。Agent Sandbox 使用 GKE Sandbox 或 Kata Containers 等隔離機制,防範容器逸出。

設定可觀測性和事件應變

收集記錄並監控各種指標,及早發現潛在攻擊並限制漏洞攻擊的影響。以下各節提供相關規範,或許有助於提升偵測和回應成效。

收集記錄檔和指標

為盡快找出威脅,請盡可能採用下列可觀測性最佳做法:

  • 收集 GKE 記錄檔。
  • 針對敏感作業啟用資料存取稽核記錄,例如 KMS 金鑰使用情況。
  • 除非政策明確允許,否則請勿記錄提示或完成內容。如果您收集多模態提示和回應資料 (搶先版),請根據安全防護政策刪除或限制存取已儲存的資料。
  • 收集對 SRE 而言重要的指標。
  • 為特定類型的 AI 模型伺服器設定自動應用程式監控。
  • 在 Cloud Logging 或您自己的安全資訊與事件管理 (SIEM) 平台中匯總記錄。
  • 使用記錄指標,根據記錄內容建立指標。

偵測 AI 特有威脅

在 Logging 和 Cloud Monitoring 中設定快訊,偵測各種 AI 特有威脅。您設定的具體警報政策取決於收集的記錄類型和貴機構的需求。如要進一步瞭解可用的快訊政策,請參閱「快訊選項比較」。設定 AI 特有威脅的快訊,例如:

AI 特有威脅和信號
提示詞注入 Model Armor 記錄 (用於清理或拒絕提示)
擷取系統提示詞 Model Armor 和快取命中異常
機密資料暴露 Model Armor 回覆記錄
濫用推論費用 從 Inference Gateway 指標取得工作階段層級的權杖用量
工作階段操弄 每個用戶端的新工作階段速度 (來自 Inference Gateway 指標)
模型指紋 功能探查模式
時間側通道 架構緩解措施 (快取分割)

建立事件應變程序

如何因應各種事件取決於貴機構的架構和安全需求。以下指南說明偵測到特定類型的 AI 工作負載威脅時,應採取哪些行動:

  • 在 Model Armor 中偵測內容:如果要求超出門檻,系統會封鎖要求、記錄事件,並設定警示來通知您。針對屢次違規的使用者設定速率限制。

  • 推論偵測:使用 Inference Gateway 限制房客。終止確認有濫用行為的工作階段。

  • 跨層關聯性:Model Armor 偵測結果加上權杖濫用模式,表示有協調式濫用行為。定義關聯規則,並找出可信度門檻,之後誤判警報的風險就會降低。自動終止超過這個門檻的工作階段。

在整個部署生命週期導入安全措施

在整個部署生命週期中,盡可能提升 AI 部署作業的安全性。 在特定生命週期階段,實施可保護一或多個層級的控管措施。以下各節將提供生命週期各階段的指南。

部署基礎架構

建立或設計執行 AI 工作負載的基礎架構時,請盡可能導入下列控制措施:

類別
GKE 節點
  • 在所有正式版叢集上啟用 Workload Identity Federation for GKE。
  • 為機密推論工作負載設定機密 GKE 節點。
  • 為所有工作負載啟用 Shielded GKE 節點。
網路
  • 使用 VPC 原生叢集。
  • 啟用私人節點。
  • 使用 NetworkPolicy 根據預設拒絕叢集流量。
  • 為受監管的工作負載建立 VPC Service Controls perimeter。
  • 為推論端點部署 Model Armor。
  • 設定 Inference Gateway,以進行負載平衡和工作階段管理。
身分與存取權管理
  • 使用 Chrome Enterprise 進階版進行人工管理存取。
  • 使用 IAM 存取權政策和 Kubernetes RBAC 進行授權。
機密資料管理
  • 將所有密鑰 (例如 API 金鑰) 儲存在 Secret Manager 中。
  • 在 Artifact Registry 中儲存容器映像檔,並啟用安全漏洞掃描。
觀測能力
  • 啟用 Security Command Center。
  • 設定記錄及監控。
  • 建立事件應變程序。

運作工作負載和基礎架構

部署 AI 工作負載及執行正式環境系統時,請盡可能導入下列控制措施:

類別
工作負載安全防護
  • 使用二進位授權強制執行容器映像檔政策。
  • 在部署時簽署及驗證模型構件。
  • 在模型 CI 管道中執行 AMS。
  • 驗證所有結構化輸出內容。
  • 在沙箱中執行程式碼的代理會受到隔離。
網路
  • 調整 Model Armor 設定檔。
  • 調整 Inference Gateway 設定。
敏感資料保護 在受監管的環境中,使用 CMEK 以自己的金鑰加密資料。
觀測能力
  • 設定及彙整稽核記錄。
  • 生成 AI 供應鏈清查。

大規模管理部署作業

隨著貴機構擴大規模,請導入下列控管機制,自動執行安全管理:

  • 使用組織政策服務設定機構層級防護機制。
  • 使用 Kubernetes 准入 Webhook 強制執行准入時間政策。
  • 針對高可信度的偵測結果自動執行初步回應。
  • 建立跨層 SIEM 關聯性,以及每個租戶的行為基準。

最佳做法摘要

下表彙整本文建議的最佳做法:

主題
提升基礎架構層的安全性 保護 GKE 節點、實作網路控管、管理身分和存取權、管理金鑰和密碼,以及提升供應鏈安全。
提升模型層級的安全性 提升模型完整性、保護模型機密性,以及改善模型安全屬性。
提升應用程式層級的安全性 防範內容層級的威脅、保護系統提示、管理工作階段和路徑,並提升 AI 代理安全性。
設定可觀測性和事件應變 收集記錄和指標、偵測 AI 特有威脅,並建立事件應變程序。
在整個部署生命週期導入安全措施 部署基礎架構、執行工作負載和基礎架構,以及大規模控管部署作業。

後續步驟