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

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

除了實施這些最佳做法,也請採用其他 GKE 和 AI 工作負載安全性最佳做法,例如:

瞭解您的安全責任

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

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

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

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

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

  • 模型完整性
  • 模型權重保護
  • 模型安全屬性
應用程式 提示、程式碼、系統指令和使用者體驗。 貴組織的應用程式操作員和平台管理員負責應用程式層的安全。

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

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

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

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

提升基礎架構層的安全性

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

保護 GKE 節點

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

  • 使用硬體認證加密使用中的機密資料:在機密 Google Kubernetes Engine 節點上執行推論工作負載,將硬體層級記憶體加密功能擴充至 GPU 和 TPU 等加速器,以及 AMD SEV-SNP 或 Intel TDX CPU。如要部署受監管的項目和敏感推論工作負載,請使用機密 GKE 節點。機密 GKE 節點不會保護工作負載,免於應用程式層級漏洞攻擊,或具有節點層級存取權的授權使用者。

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

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

  • 避免工作負載使用靜態憑證:使用 GKE 適用的 Workload Identity Federation,透過短效期的聯合憑證從應用程式程式碼存取 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。即使憑證遭到入侵,攻擊者也無法將資料帶出 perimeter。對受監管的工作負載使用 VPC Service Controls。

管理身分與存取權

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

管理金鑰和密鑰

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

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

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

提升供應鏈安全性

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

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

  • 設定安全偵測和態勢管理:使用 Security Command Center 查看 AI 專屬威脅偵測和態勢管理發現項目,例如 Gemini Enterprise Agent Platform 端點設定錯誤,或訓練資料 bucket 暴露在外。Security Command Center 會將這些 AI 發現項目與 Artifact Registry 安全漏洞和 IAM 分析結果整合,全面掌握機群狀況。

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

提升模型層級的安全性

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

提升模型完整性

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

  • 簽署模型構件:先以加密方式簽署模型權重,再將權重發布至登錄檔。部署模型時,請使用二進位授權認證驗證簽章。簽署及驗證模型構件,有助於判斷模型在儲存或傳輸期間是否遭到竄改,並為正式環境模型提供可驗證的監管鏈。
  • 找出訓練後修改:開放原始碼 Activation Model Scanner (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 權限。
  • 在沙箱中執行程式碼或不信任的工具:使用 GKE 上的 Agent Sandbox,在沙箱環境中執行代理,這些代理會執行產生的程式碼,或與未經驗證的第三方工具互動。GKE 上的 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 指標的工作階段層級詞元用量
工作階段操弄 根據推論閘道指標,每個租戶的新工作階段速度
模型指紋 功能探查模式
計時側通道 架構緩解措施 (快取分區)

建立事件應變程序

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

  • Model Armor 中的內容偵測:封鎖要求、記錄事件,並設定快訊,在比率超過門檻時通知您。對屢次違規的使用者設定頻率限制。

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

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

在整個部署生命週期中實施安全措施

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

部署基礎架構

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

類別
GKE 節點
  • 在所有正式環境叢集上啟用 Workload Identity Federation for GKE。
  • 為機密推論工作負載設定機密 GKE 節點。
  • 為所有工作負載啟用 Shielded GKE 節點。
網路
  • 使用 VPC 原生叢集。
  • 啟用私人節點。
  • 使用 NetworkPolicies 預設拒絕叢集流量。
  • 為受監管的工作負載建立 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 特有的威脅,並建立事件應變程序。
在整個部署生命週期導入安全措施 部署基礎架構、操作工作負載和基礎架構,以及大規模控管部署作業。

後續步驟