這份架構完善的 AI 和機器學習觀點文件,概述了相關原則和建議,可確保 AI 和機器學習部署作業符合貴機構的安全與法規遵循需求。本文中的建議符合 Google Cloud 架構完善架構的安全性支柱。
安全部署 AI 和機器學習工作負載是至關重要的需求,尤其是在企業環境中。為滿足這項需求,您需要採用全方位的安全防護方法,從 AI 和機器學習解決方案的初步概念化開始,一直延伸到開發、部署和持續營運。 Google Cloud 提供完善的工具和服務,可協助保護 AI 和機器學習工作負載。
本文中的建議對應至下列核心原則:
如要進一步瞭解 AI 安全性,請參閱下列資源:
- Google Cloud的「安全 AI 架構」(SAIF) 提供全方位指南,協助您建構安全且負責任的 AI 系統。這份指南列出重要原則和最佳做法,協助您在整個 AI 生命週期中,解決安全性與法規遵循方面的考量。
- 如要進一步瞭解 Google Cloud的 AI 信任機制,請前往法規遵循資源中心。
設定明確的目標和需求
有效的 AI 和機器學習安全防護是整體業務策略的核心要素。您可以在設計和開發流程初期,輕鬆整合必要的安全性和法規遵循控制項,不必在開發完成後才新增控制項。
在設計和開發程序開始時,請根據特定風險環境和業務優先事項做出適當決策。舉例來說,過於嚴格的安全措施可能會保護資料,但也會阻礙創新,並減緩開發週期。然而,缺乏安全性可能會導致資料外洩、聲譽受損和財務損失,進而對業務目標造成不利影響。
如要定義明確的目標和需求,請參考下列建議。
確保 AI 和機器學習安全符合業務目標
如要讓 AI 和機器學習安全防護工作與業務目標一致,請採用策略性做法,將安全防護整合到 AI 生命週期的每個階段。如要採用這種做法,請按照下列步驟操作:
明確定義業務目標和安全防護需求:
- 找出主要業務目標:明確定義 AI 和機器學習計畫的目標。舉例來說,您的目標可能是提升顧客體驗、最佳化作業或開發新產品。
- 將目標轉換為安全防護需求:釐清業務目標後,請定義具體安全防護需求,以支援這些目標。舉例來說,您的目標可能是使用 AI 提供個人化客戶建議。為達成這項目標,您的安全需求可能包括保護顧客資料隱私權,以及防止未經授權存取推薦演算法。
在安全性和業務需求之間取得平衡:
- 進行風險評估:找出 AI 系統中的潛在安全性威脅和漏洞。
- 優先採取安全措施:根據這些安全措施對業務目標的潛在影響,決定優先順序。
- 分析成本和效益:確保您投資的解決方案最有效。請考量不同安全措施的成本和效益。
- 將安全防護措施提前納入開發流程:在設計階段初期就採用安全性最佳做法,並隨著業務需求變化和威脅出現,調整安全防護措施。
找出潛在攻擊向量和風險
請考量可能影響 AI 系統的潛在攻擊向量,例如資料中毒、模型反轉或對抗性攻擊。隨著 AI 系統發展,持續監控及評估不斷演變的攻擊面,並追蹤新威脅和安全漏洞。請注意,AI 系統的變更也可能導致攻擊面發生變化。
為降低潛在的法律和聲譽風險,您也需要遵守與資料隱私權、演算法偏見和其他相關法規有關的規定。
如要及早預測潛在威脅和安全漏洞,並做出可降低風險的設計選擇,請採用「融入安全考量設計」方法。
Google Cloud 提供全套工具和服務,協助您採用融入安全考量的設計方法:
- 雲端安全態勢管理: 使用 Security Command Center 找出 AI 基礎架構中的潛在安全漏洞和設定錯誤。
- 遭受攻擊風險分數和攻擊路徑: 運用 Security Command Center 生成的遭受攻擊風險分數和攻擊路徑,
- Google Threat Intelligence: 隨時掌握針對 AI 系統的新威脅和攻擊手法。
- 記錄與監控: 追蹤 AI 系統的效能和安全性,並偵測任何異常或可疑活動。定期進行安全稽核,找出並解決 AI 基礎架構和模型中的潛在安全漏洞。
- 安全漏洞管理: 實行安全漏洞管理程序,追蹤及修復 AI 系統中的安全漏洞。
詳情請參閱「Google 的安全設計」和「實作安全設計」。
確保資料安全,避免遺失或處理不當
資料是寶貴的機密資產,必須妥善保護。資料安全有助於維護使用者信任感、支援業務目標,以及符合法規遵循要求。
為確保資料安全無虞,請考慮採取下列建議做法。
遵守資料最小化原則
為確保資料隱私權,請遵守資料最小化原則。為盡量減少資料,請勿收集、保留或使用對業務目標而言並非絕對必要的資料。請盡可能使用合成或完全去識別化的資料。
資料收集有助於取得業務洞察和分析結果,但請務必謹慎進行資料收集程序。如果您收集顧客的個人識別資訊 (PII)、揭露私密資訊,或是製造偏誤或爭議,就可能會建構出有偏誤的機器學習模型。
您可以運用 Google Cloud 功能,在各種用途中盡量減少資料用量,並提升資料隱私權:
- 如要將資料去識別化,同時保留資料的實用性,請套用匿名化、去識別化和一般化 (例如特徵分塊) 等轉換方法。如要實作這些方法,可以使用 Sensitive Data Protection。
- 如要充實資料並降低潛在偏誤,可以使用 Vertex AI 資料標籤工作。資料標籤程序會為原始資料加上有意義的資訊標記,將其轉換為機器學習模型的結構化訓練資料。資料標籤可提高資料的明確性,減少模糊不清的情況。
- 為避免資源遭到長期存取或操控,請使用 Cloud Storage 功能控管資料生命週期。
如需實作資料加密的最佳做法,請參閱 Well-Architected Framework 中的靜態資料和傳輸中資料加密。
監控資料收集、儲存和轉換作業
AI 應用程式的訓練資料是造成偏誤和資料外洩的最大風險。為確保符合規定及管理不同團隊的資料,請建立資料治理層,監控資料流程、轉換和存取權。維護資料存取和操作活動的記錄。稽核記錄可協助您稽核資料存取權、偵測未經授權的存取嘗試,以及防範未經授權的存取行為。
您可以運用 Google Cloud 功能,協助您實作資料治理策略:
- 如要建立全機構或全部門適用的資料治理平台,請使用 Dataplex Universal Catalog。資料治理平台可協助您集中探索、管理、監控及治理整個資料平台的資料和 AI 構件。資料治理平台也會提供存取權給信任的使用者。您可以使用 Dataplex Universal Catalog 執行下列工作:
- 管理資料沿襲。BigQuery 也提供資料欄層級的沿襲。
- 管理資料品質檢查和資料設定檔。
- 管理不同資料市集的資料探索、探索和處理作業。
- 管理特徵中繼資料和模型構件。
- 建立商務詞彙表來管理中繼資料,並建立標準化詞彙。
- 透過切面和切面類型,充實中繼資料的內容。
- 統一管理 BigLake 和開放格式資料表 (如 Iceberg 和 Delta) 的資料。
- 建構資料網格,將資料擁有權分散給不同團隊或網域的資料擁有者。這項做法符合資料安全原則,有助於提升資料存取便利性和營運效率。
- 檢查並傳送機密資料結果, 從 BigQuery 到 Dataplex Universal Catalog。
- 如要建構統一的開放式湖倉,並妥善管理,請將資料湖泊和資料倉儲與代管中繼存放區服務整合,例如 Dataproc Metastore 和 BigLake metastore。開放式湖倉採用開放式資料表格式,可與不同的資料處理引擎相容。
- 如要排定特徵和特徵群組的監控作業,請使用 Vertex AI 特徵儲存庫。
- 如要在機構、資料夾或專案層級掃描 Vertex AI 資料集,請使用「Vertex AI 的機密資料探索功能」。您也可以分析儲存在 BigQuery 中的資料剖析檔。
- 如要擷取即時記錄並收集與資料管道相關的指標,請使用 Cloud Logging 和 Cloud Monitoring。如要收集 API 呼叫的稽核追蹤記錄,請使用 Cloud 稽核記錄。請勿在實驗或不同記錄伺服器中記錄 PII 或機密資料。
根據最小權限原則實作角色式存取控管
導入角色式存取控管 (RBAC),根據使用者角色指派不同層級的存取權。使用者必須只具備執行角色活動所需的最低權限。根據最低權限原則指派權限,確保使用者只擁有必要的存取權,例如無存取權、唯讀或寫入。
如果貴機構使用資料湖、特徵商店或模型訓練超參數中的機密資料,就必須採用最低權限原則的 RBAC,確保安全無虞。這項做法有助於防止資料遭竊、維護模型完整性,並減少發生意外或遭受攻擊的機率。
如要協助您實作這些存取策略,可以使用下列Google Cloud 功能:
如要實作存取權精細度,請考慮下列選項:
- 將不同產品的 IAM 角色對應至使用者、群組或服務帳戶,以允許精細存取權。根據專案需求、存取模式或標記,對應這些角色。
- 設定附帶條件的 IAM 政策,精細管理資料、模型和模型設定的存取權,例如程式碼、資源設定和超參數。
探索應用程式層級的精細存取權,有助於保護您稽核及與團隊外部共用的機密資料。
- Cloud Storage:在值區和受管理資料夾上設定 IAM 政策。
- BigQuery:使用身分與存取權管理角色和權限,管理資料集和資料集內的資源。此外,您也可以在 BigQuery 中,限制資料列和資料欄層級的存取權。
如要限制特定資源的存取權,可以使用主體存取邊界 (PAB) 政策。 您也可以使用 Privileged Access Manager, 為特定主體即時提升特殊權限,並控管這類暫時性權限。稍後,您可以查看這項 Privileged Access Manager 活動的稽核記錄。
如要根據 IP 位址和使用者裝置屬性限制資源存取權,可以擴充 Identity-Aware Proxy (IAP) 存取政策。
如要為不同使用者群組建立存取模式,可以使用 IAM 的 Vertex AI 存取權控管機制,合併預先定義或自訂的角色。
如要使用情境感知存取權控管保護 Vertex AI Workbench 執行個體,請使用 Access Context Manager 和 Chrome Enterprise Premium。採用這種做法時,系統會在使用者每次向執行個體進行驗證時評估存取權。
為資料移動作業導入安全措施
實施安全範圍和其他措施,例如加密和限制資料移動。這些措施有助於防止資料外洩和遺失,避免造成財務損失、信譽受損、法律責任,以及業務運作中斷。
如要防範 Google Cloud上的資料外洩和遺失,您可以搭配使用多種安全防護工具和服務。
如要實作加密功能,請考慮下列事項:
- 如要進一步控管加密金鑰,請在 Cloud KMS 中使用客戶自行管理的加密金鑰 (CMEK)。使用 CMEK 時,下列整合 CMEK 的服務會為您加密靜態資料:
- 如要保護 Cloud Storage 中的資料,請使用伺服器端加密功能儲存 CMEK。如果您在自己的伺服器上管理 CMEK,即使 CMEK 儲存系統遭到入侵,伺服器端加密也能協助保護 CMEK 和相關聯的資料。
- 如要加密傳輸中的資料,請對 AI 和機器學習服務的所有 API 呼叫使用 HTTPS。如要為應用程式和 API 強制執行 HTTPS,請使用 HTTPS 負載平衡器。
如要進一步瞭解如何加密資料的最佳做法,請參閱 Well-Architected Framework 安全性支柱的「為靜態和傳輸中的資料加密」一節。
如要實作 perimeter,請考慮下列事項:
- 如要為 AI 和 ML 資源建立安全邊界,並防止資料從虛擬私有雲 (VPC) 外洩,請使用 VPC Service Controls 定義服務範圍。將 AI 和 ML 資源以及機密資料納入安全範圍。如要控管資料流,請為 perimeter 設定輸入和輸出規則。
- 如要限制 AI 和機器學習資源的傳入和傳出流量,請設定防火牆規則。實作政策,預設拒絕所有流量,並明確允許符合條件的流量。如需政策範例,請參閱「範例:拒絕所有外部連線,但特定通訊埠除外」。
如要實作資料移動限制,請考慮下列事項:
- 如要在安全環境中跨隱私權界線分享資料及擴大規模,請使用 BigQuery 分享和 BigQuery 資料無塵室,這兩項服務提供強大的安全和隱私權架構。
- 如要直接從商業智慧資訊主頁將資料分享至內建目的地,請使用 Looker Action Hub,這個服務提供安全的雲端環境。
防範資料汙染
資料中毒是一種網路攻擊,攻擊者會將惡意資料注入訓練資料集,藉此操控模型行為或降低模型效能。這類網路攻擊可能對機器學習訓練系統造成嚴重威脅。 為確保資料有效性和品質,請採取相關措施保護資料。這項做法對於確保模型維持一致的公正性、可靠性和完整性至關重要。
如要追蹤資料 pipeline 和 ML pipeline 的不一致行為、轉換或非預期存取,請設定完整的監控和快訊。
Google Cloud 功能可協助您實施更多防護措施,防範資料中毒:
如要驗證資料完整性,請考慮下列事項:
- 請先實作健全的資料驗證檢查,再使用資料進行訓練。驗證資料格式、範圍和分布情形。您可以使用 Dataplex Universal Catalog 的自動資料品質功能。
- 搭配使用 Sensitive Data Protection 和 Model Armor,即可享有全方位的資料遺失防護功能。詳情請參閱模型護甲重要概念。透過 Model Armor 使用 Sensitive Data Protection,即可探索、分類及保護智慧財產等機密資料。這些功能可協助您防止機密資料在 LLM 互動中未經授權曝光。
- 如要偵測訓練資料中可能表示資料中毒的異常狀況,請使用 BigQuery 中的異常偵測,並搭配統計方法或機器學習模型。
如要準備進行穩健的訓練,請按照下列步驟操作:
如要將人工審查納入訓練資料或模型輸出內容,請執行下列步驟:
- 分析模型評估指標,偵測可能表示資料中毒的潛在偏誤、異常或未預期的行為。詳情請參閱「Vertex AI 的模型評估服務」。
- 運用領域專業知識評估模型或應用程式,並找出自動化方法可能無法偵測到的可疑模式或資料點。詳情請參閱「生成式 AI 評估服務總覽」。
如要瞭解如何建立以基礎架構和資料安全為重點的資料平台,請參閱 Well-Architected Framework 中的「實作設計安全機制」原則。
確保 AI pipeline 安全無虞,且能抵禦竄改行為
您的 AI 和機器學習程式碼,以及程式碼定義的管道,都是重要資產。如果程式碼未受到保護,就可能遭到竄改,導致資料外洩、不符法規,以及重要業務活動中斷。確保 AI 和機器學習程式碼安全無虞,有助於維護模型和模型輸出的完整性和價值。
為確保 AI 程式碼和管道安全無虞,請考慮採取下列建議做法。
採用安全的程式設計做法
為避免出現安全漏洞,請在開發模型時採取安全的編碼做法。建議您導入 AI 專屬的輸入和輸出驗證、管理所有軟體依附元件,並在開發過程中持續納入安全編碼原則。在 AI 生命週期的每個階段 (從資料前處理到最終應用程式程式碼) 嵌入安全防護機制。
如要實作嚴格的驗證,請考慮下列事項:
為防止模型遭到操縱或系統遭到濫用,請在程式碼中驗證並清除輸入和輸出內容。
- 使用 Model Armor 或微調的 LLM,自動篩選提示和回覆,找出常見風險。
- 在資料擷取和前處理指令碼中,針對資料類型、格式和範圍實作資料驗證。如果是 Vertex AI Pipelines 或 BigQuery,您可以使用 Python 實作這項資料驗證。
- 使用程式碼助理 LLM 代理程式 (例如 CodeMender),提升程式碼安全性。讓人類參與驗證工作,確認建議的變更。
如要管理及保護 AI 模型 API 端點,請使用 Apigee,其中包含可設定的功能,例如要求驗證、流量控管和驗證。
為協助降低整個 AI 生命週期內的風險,您可以使用 AI Protection 執行下列操作:
- 在環境中探索 AI 資產。
- 評估資產清單,找出潛在安全漏洞。
- 透過控管機制、政策和防護措施保護 AI 資產。
- 透過偵測、調查和回應功能管理 AI 系統。
為確保 CI/CD pipeline 中的程式碼和構件依附元件安全無虞,請考慮下列事項:
- 為解決開放原始碼程式庫依附元件可能為專案帶來的風險,請搭配使用 Artifact Registry 和 Artifact Analysis,偵測已知安全漏洞。使用並維護核准的程式庫版本。將自訂機器學習套件和經過審查的依附元件儲存在私有 Artifact Registry 存放區。
- 如要將依附元件掃描功能嵌入 Cloud Build MLOps 管道,請使用 Binary Authorization。強制執行政策,確保只有通過安全檢查的程式碼容器映像檔,才能進行部署。
- 如要取得軟體供應鏈的安全性資訊,請使用 Google Cloud 控制台中的資訊主頁,瞭解來源、建構作業、構件、部署作業和執行階段的詳細資料。這類資訊包括建構構件中的安全漏洞、建構出處,以及軟體物料清單 (SBOM) 依附元件清單。
- 如要評估軟體供應鏈安全性的成熟度,請使用軟體構件供應鏈級別 (SLSA) 架構。
如要在每個開發階段持續導入安全程式設計原則,請考慮下列事項:
- 如要避免模型互動洩漏機密資料,請使用「記錄與 Sensitive Data Protection」。同時使用這些產品時,您可以控管 AI 應用程式和管道元件記錄的資料,並隱藏機密資料。
- 如要實施最低權限原則,請確保用於 Vertex AI 自訂工作、管道和已部署模型的服務帳戶,只具備最低必要 IAM 權限。詳情請參閱「實作角色型存取權控管,並採用最小權限原則」。
- 為確保管道和建構構件安全無虞,請瞭解程式碼執行環境中的安全性設定 (VPC 和 VPC Service Controls)。
保護管道和模型構件,避免未經授權的存取
模型構件和管道是智慧財產,訓練資料也包含專屬資訊。為保護模型權重、檔案和部署設定免於遭到竄改和利用安全漏洞,請以更安全的做法儲存及存取這些構件。根據使用者角色和需求,為每個構件實作不同存取層級。
為確保模型構件安全,請考慮採取下列做法:
- 如要保護模型構件和其他機密檔案,請使用 Cloud KMS 加密。即使基礎儲存空間遭到入侵,這項加密功能也能保護靜態和傳輸中的資料。
- 為確保檔案存取安全,請將檔案儲存在 Cloud Storage 中,並設定存取控管機制。
- 如要追蹤任何錯誤或不當的設定,以及與定義標準的任何偏差,請使用 Security Command Center 設定安全防護。
- 如要啟用精細的存取權控管和待機加密功能,請將模型構件儲存在 Vertex AI Model Registry 中。為進一步確保安全性,請為核准的建構程序期間產生的套件和容器建立數位簽章。
- 如要享有 Google Cloud的企業級安全防護,請使用 Model Garden 中的模型。Model Garden 提供 Google 專屬模型,以及精選合作夥伴的第三方模型。
如要對所有使用者和群組生命週期強制執行集中管理,並強制執行最小權限原則,請使用 IAM。
- 為 MLOps 管道建立並使用專屬的最低權限服務帳戶。舉例來說,訓練管道的服務帳戶具備的權限,僅限於從特定 Cloud Storage 值區讀取資料,以及將模型構件寫入 Model Registry。
- 使用 IAM 條件強制執行條件式、以屬性為基礎的存取權控管。舉例來說,條件可允許服務帳戶觸發 Vertex AI 管道,但前提是要求來自受信任的 Cloud Build 觸發程序。
為確保部署管道安全無虞,請考慮下列事項:
如要管理 Google Cloud 服務和資源的 MLOps 階段,請使用 Vertex AI Pipelines,這項服務可與其他服務整合,並提供低層級的存取權控管。重新執行管道時,請務必在部署模型構件前,執行 Vertex Explainable AI 和負責任的 AI 檢查。這些檢查可協助您偵測或防範下列安全性問題:
- 未經授權的變更,可能表示模型遭到竄改。
- 跨網站指令碼攻擊 (XSS),可能表示容器映像檔或依附元件遭到入侵。
- 不安全的端點,可能表示放送基礎架構設定有誤。
為確保推論期間的模型互動安全無虞,請使用以 Private Service Connect 為基礎的私人端點,搭配預先建構的容器或自訂容器。使用預先定義的輸入和輸出結構定義建立模型簽章。
如要自動追蹤程式碼變更,請使用 Git 管理原始碼,並將版本管控功能整合至強大的 CI/CD 管道。
詳情請參閱「保護 AI 管道」。
強制執行歷程和追蹤
為協助您滿足法規遵循需求,請強制執行 AI 和機器學習資產的沿襲和追蹤。資料歷程和追蹤功能可提供資料、模型和程式碼的完整變更記錄。模型出處 可在整個 AI 和機器學習生命週期中,提供透明度和問責機制。
如要在 Google Cloud中有效強制執行沿襲和追蹤作業,建議使用下列工具和服務:
- 如要追蹤模型、資料集和構件的沿襲,請使用 Vertex 機器學習中繼資料,這些項目會在閒置時自動加密。記錄資料來源、轉換、模型參數和實驗結果的中繼資料。
- 如要追蹤 Vertex AI Pipelines 的管道構件沿襲,以及搜尋模型和資料集資源,可以使用 Dataplex Universal Catalog。追蹤個別管道構件,以便執行偵錯、疑難排解或根本原因分析。如要追蹤整個 MLOps 管道 (包括管道構件的沿革),請使用 Vertex 機器學習中繼資料。您也可以使用 Vertex 機器學習中繼資料分析資源和執行作業。Model Registry 會套用並管理您儲存的每個模型版本。
- 如要追蹤 API 呼叫和管理動作,請啟用 Vertex AI 的稽核記錄。使用記錄分析工具分析稽核記錄,瞭解哪些使用者存取或修改了資料和模型,以及相關時間。您也可以將記錄檔轉送至第三方目的地。
使用安全工具和構件,在安全系統上部署
確保程式碼和模型在安全環境中執行。這個環境必須具備完善的存取控管系統,並為您部署的工具和構件提供安全保障。
如要在安全系統上部署程式碼,請參考下列建議。
在安全環境中訓練及部署模型
為維護 AI 和 ML 系統的完整性、機密性和可用性,請實施嚴格的存取權控管機制,防止未經授權的資源操控行為。這項防禦措施可協助您執行下列操作:
- 減少模型遭竄改的風險,避免產生非預期或衝突的結果。
- 保護訓練資料,避免侵犯隱私權。
- 維持服務正常運作。
- 遵循法規。
- 建立使用者信任感。
如要在安全性更高的環境中訓練 ML 模型,請使用 Google Cloud 中的代管服務,例如 Cloud Run、GKE 和 Dataproc。您也可以使用 Vertex AI 無伺服器訓練。
本節提供建議,協助您進一步保護訓練和部署環境。
為確保環境和周邊安全,請考慮採取下列措施:
如先前所述,實作安全措施時,請考量下列事項:
- 如要隔離訓練環境並限制存取權,請使用專屬專案或虛擬私有雲進行訓練。
- 如要在執行期間保護私密資料和程式碼,請使用安全防護 VM 或機密運算訓練工作負載。
- 為確保網路基礎架構安全無虞,並控管已部署模型的存取權,請使用 VPC、防火牆和安全防護 perimeter。
使用 Vertex AI 訓練時,您可以透過下列方法確保運算基礎架構安全無虞:
- 如要訓練自訂作業,並以不公開的方式與其他授權 Google Cloud 服務通訊,且不向公開流量公開,請設定 Private Service Connect 介面。
- 如要提高網路安全性並縮短網路延遲時間 (與公開 IP 位址相比),請使用私人 IP 位址連線至訓練工作。詳情請參閱「使用私人 IP 進行自訂訓練」。
使用 GKE 或 Cloud Run 設定自訂環境時,請考慮下列選項:
- 如要保護 GKE 叢集,請使用適當的網路政策、Pod 安全性政策和存取權控管。為訓練工作負載使用經驗證且值得信賴的容器映像檔。如要掃描容器映像檔,檢查是否有安全漏洞,請使用 Artifact Analysis。
- 為保護環境免於容器逸出和其他攻擊,請為 Cloud Run 函式導入執行階段安全措施。如要進一步保護環境,請使用 GKE Sandbox 和工作負載隔離。
- 如要保護 GKE 工作負載,請按照 GKE 安全性總覽中的最佳做法操作。
- 如要在 Cloud Run 中滿足安全防護規定,請參閱安全性設計總覽}。
使用 Dataproc 訓練模型時,請遵循 Dataproc 安全性最佳做法。
為確保部署作業安全無虞,請考慮採取下列措施:
- 部署模型時,請使用 Model Registry。 如果您在容器中部署模型,請使用 GKE Sandbox 和 Container-Optimized OS,提升安全性並隔離工作負載。根據使用者角色和職責,限制存取 Model Garden 中的模型。
- 如要保護模型 API,請使用 Apigee 或 API Gateway。為防止濫用,請實作 API 金鑰、驗證、授權和頻率限制。如要控管模型 API 的存取權,請使用 API 金鑰和驗證機制。
- 如要確保預測期間的模型存取安全,請使用 Vertex AI Inference。如要防止資料竊取,請使用 VPC Service Controls 範圍保護私人端點,並控管對基礎模型的存取權。您可以使用私人端點,在虛擬私有雲網路中啟用模型存取權。IAM 不會直接套用至私人端點,但目標服務會使用 IAM 管理模型存取權。如果是線上預測,建議使用 Private Service Connect。
- 如要追蹤與模型部署相關的 API 呼叫,請啟用 Vertex AI 的 Cloud 稽核記錄。相關 API 呼叫包括端點建立、模型部署和設定更新等活動。
- 如要將 Google Cloud 基礎架構擴展至邊緣位置,請考慮使用 Google Distributed Cloud 解決方案。如要使用完全中斷連線的解決方案,可以選擇 Distributed Cloud 實體隔離,不必連線至 Google Cloud。
- 如要協助部署作業標準化,並確保符合法規和安全防護需求,請使用 Assured Workloads。
遵循 AI 構件的 SLSA 指南
針對 AI 專屬構件 (例如模型和軟體套件),請遵循標準的軟體構件供應鏈級別 (SLSA) 指南。
SLSA 是一種安全架構,可協助您提升軟體構件的完整性,並防範竄改行為。遵循 SLSA 指南,有助於提升 AI 和 ML pipeline 的安全性,以及 pipeline 產生的構件。遵循 SLSA 可帶來下列優點:
- 提高對 AI 和機器學習構件的信任度:SLSA 有助於確保模型和軟體套件不會遭到竄改。使用者也可以追溯模型和軟體套件的來源,進而對構件的完整性和可靠性更有信心。
- 降低供應鏈攻擊的風險:SLSA 有助於降低攻擊風險,避免軟體供應鏈中的安全漏洞遭到利用,例如注入惡意程式碼或入侵建構程序。
- 強化資安防線:SLSA 有助於強化 AI 和機器學習系統的整體資安防線。這項實作作業有助於降低攻擊風險,並保護重要資產。
如要在 Google Cloud上為 AI 和機器學習構件導入 SLSA,請按照下列步驟操作:
- 瞭解 SLSA 級別:熟悉不同SLSA 級別和相關規定。等級越高,提供的完整性也越高。
- 評估目前等級:根據 SLSA 架構評估目前的做法,判斷目前的等級,並找出需要改進的地方。
- 設定目標等級:根據風險容許度、安全性需求,以及 AI 和機器學習系統的重要性,決定要達成的適當 SLSA 等級。
導入 SLSA 需求:如要達到目標 SLSA 級別,請導入必要的控管措施和做法,包括:
- 來源控管:使用 Git 等版本管控系統,追蹤程式碼和設定的變更。
- 建構程序:使用有助於保護建構內容的服務,例如 Cloud Build,並確保建構程序是透過指令碼或自動化方式執行。
- 生成來源:生成來源中繼資料,擷取構件的建構方式詳細資料,包括建構程序、原始碼和依附元件。詳情請參閱「追蹤 Vertex 機器學習中繼資料」和「追蹤執行作業和構件」。
- 構件簽署:簽署構件,驗證構件的真實性和完整性。
- 安全漏洞管理:定期掃描構件和依附元件,檢查是否有安全漏洞。使用 Artifact Analysis 等工具。
- 部署安全性:採用有助於保護系統安全的部署做法,例如本文所述的做法。
持續改善:監控及改善 SLSA 實作項目,以因應新的威脅和安全漏洞,並爭取更高的 SLSA 級別。
使用經過驗證的預先建構容器映像檔
為避免 MLOps 階段發生單點故障,請將需要不同依附元件管理作業的任務,隔離到不同的容器中。舉例來說,您可以為特徵工程、訓練或微調,以及推論工作使用不同的容器。此外,機器學習工程師也能彈性控管及自訂環境。
如要在整個機構中推廣 MLOps 一致性,請使用預先建構的容器。 按照下列最佳做法,維護經過驗證且可信任的基本平台映像檔中央存放區:
- 在貴機構中維持集中式平台團隊,負責建構及管理標準化基礎容器。
- 擴充 Vertex AI 專為 AI 和機器學習提供的預建容器映像檔。管理機構中央存放區中的容器映像檔。
Vertex AI 提供多種預建的深度學習容器,可用於訓練和推論,也支援自訂容器。如果是較小的模型,您可以在容器中載入模型,縮短推論的延遲時間。
如要提升容器管理安全性,請考慮採取下列建議做法:
- 使用 Artifact Registry 建立、儲存及管理不同格式的容器映像檔存放區。Artifact Registry 會透過 IAM 處理存取權控管,並整合了可觀測性和安全漏洞評估功能。Artifact Registry 可讓您啟用容器安全功能、掃描容器映像檔,以及調查安全漏洞。
- 使用 Cloud Build 執行持續整合步驟,並建構容器映像檔。這個階段可能會突顯依附元件問題。如要只部署 Cloud Build 建構的映像檔,可以使用二進位授權。為防範供應鏈攻擊,請在 Artifact Registry 中部署 Cloud Build 建構的映像檔。整合 SonarQube、PyLint 或 OWASP ZAP 等自動測試工具。
- 使用 GKE 或 Cloud Run 等容器平台,這些平台已針對 GPU 或 TPU 進行最佳化,可處理 AI 和機器學習工作負載。請考慮 GKE 叢集中容器的安全漏洞掃描選項。
考慮使用 GPU 適用的機密運算
如要保護使用中的資料,可以使用機密運算。傳統安全措施可保護靜態和傳輸中的資料,但機密運算會在處理過程中加密資料。使用 GPU 適用的機密運算功能時,有助於保護機密訓練資料和模型參數,避免未經授權的存取。您也可以協助防止擁有權限的雲端使用者或可能取得基礎架構存取權的潛在攻擊者,進行未經授權的存取。
如要判斷是否需要 GPU 適用的機密運算,請考量資料的敏感度、法規要求和潛在風險。
如果您設定了機密運算,請考慮下列選項:
- 如要執行一般用途的 AI 和機器學習工作負載,請使用搭配 NVIDIA T4 GPU 的機密 VM 執行個體。這類 VM 執行個體可透過硬體加密使用中的資料。
- 如果是容器化工作負載,請使用機密 GKE 節點。這些節點會為 Pod 提供安全且隔離的環境。
- 如要確保工作負載是在安全無虞的真正安全區域中執行,請驗證認證報告,這類報告是由 Confidential VM 提供。
- 如要追蹤效能、資源使用率和安全性事件,請使用 Monitoring 和 Logging 監控機密運算資源和機密 GKE 節點。
驗證及保護輸入內容
無論輸入內容來自於一般使用者或其他自動化系統,都應將 AI 系統的所有輸入內容視為不受信任。為確保 AI 系統安全無虞且運作正常,您必須及早偵測並清除潛在的攻擊媒介。
如要驗證及保護輸入內容,請參考下列建議。
實施有助於保護生成式 AI 系統的做法
將提示視為重要的應用程式元件,與程式碼一樣對安全性至關重要。實作縱深防禦策略,結合主動設計、自動篩選和嚴謹的生命週期管理。
為確保生成式 AI 提示安全無虞,您必須設計安全提示、在使用前檢查提示,並在整個生命週期內管理提示。
如要提升提示設計和工程的安全性,不妨考慮以下做法:
- 設計明確的提示:使用 Vertex AI Studio 提示管理功能設計及測試所有提示。提示必須結構清晰明確。定義角色、納入少量樣本,並提供具體且有範圍的指令。這些方法可降低模型誤解使用者輸入內容的風險,避免產生安全漏洞。
測試輸入內容的穩健性和根據:主動測試所有系統,防範非預期、格式錯誤和惡意的輸入內容,避免系統當機或產生不安全的輸出內容。透過紅隊測試模擬真實攻擊,在 Vertex AI Pipelines 中,將穩健性測試設為標準步驟,您可以使用下列測試技術:
- 模糊測試。
- 直接測試 PII、敏感輸入內容和 SQL 注入。
- 掃描可能含有惡意軟體或違反提示政策的多模態輸入內容。
實作多層防禦機制:採用多種防禦措施,切勿只依賴單一防禦措施。舉例來說,如果是以檢索增強生成 (RAG) 為基礎的應用程式,請使用其他 LLM 分類傳入的使用者意圖,並檢查是否有惡意模式。接著,該 LLM 可以將要求傳遞給功能更強大的主要 LLM,由後者生成最終回覆。
清理及驗證輸入內容:將外部輸入內容或使用者提供的輸入內容併入提示前,請先在應用程式程式碼中篩選及驗證所有輸入內容。這項驗證程序相當重要,有助於避免間接提示注入攻擊。
如要自動篩選提示和回覆,請考慮採用下列做法:
- 使用完善的安全性服務:導入專用的模型無關安全性服務 (例如 Model Armor),做為 LLM 的強制保護層。Model Armor 會檢查提示詞和回覆,找出提示詞注入、越獄活動和有害內容等威脅。為確保模型不會在回覆中洩漏敏感訓練資料或智慧財產,請搭配使用 Sensitive Data Protection 整合功能和 Model Armor。詳情請參閱「Model Armor 篩選器」。
- 監控及記錄互動:為模型端點的所有提示和回應維護詳細記錄。使用 Logging 稽核這些互動、找出濫用模式,並偵測可能針對已部署模型發生的攻擊媒介。
為確保提示生命週期管理安全無虞,建議採取下列做法:
- 為提示導入版本管理:將所有正式版提示視為應用程式碼。使用 Git 等版本管控系統,建立完整的變更記錄、強制執行協作標準,以及還原為舊版。這項核心 MLOps 做法有助於維護穩定且安全的 AI 系統。
- 集中管理提示:使用中央存放區儲存、管理及部署所有已版本化的提示。這項策略可確保各環境的一致性,並在不需要重新部署整個應用程式的情況下,進行執行階段更新。
- 定期進行稽核和紅隊測試:持續測試系統防禦措施,防範已知安全漏洞,例如 OWASP LLM 應用程式前 10 大安全漏洞中列出的漏洞。身為 AI 工程師,您必須主動對自己的應用程式進行紅隊測試,在攻擊者利用弱點之前,先找出並修正問題。
防止惡意查詢傳送至 AI 系統
除了本文稍早討論的驗證和授權機制,您還可以採取進一步措施,防範惡意輸入內容,確保 AI 系統安全無虞。您需要為 驗證後情境準備 AI 系統,因為攻擊者會規避驗證和授權通訊協定,然後嘗試從內部攻擊系統。
如要實作全方位策略,協助保護系統免於驗證後攻擊,請套用下列規定:
保護網路和應用程式層:為所有 AI 資產建立多層防禦機制。
- 如要建立安全防護範圍,防止模型從 Model Registry 遭竊,或防止機密資料從 BigQuery 遭竊,請使用 VPC Service Controls。請務必先使用模擬測試模式驗證 perimeter 的影響,再強制執行。
- 如要保護筆記本等網路工具,請使用 IAP。
- 如要保護所有推論端點,請使用 Apigee 取得企業級安全防護和管理功能。您也可以使用 API 閘道進行簡單的驗證。
注意查詢模式異常狀況:舉例來說,攻擊者可能會傳送數千個略有差異的連續查詢,藉此探查系統安全漏洞。標記不反映正常使用者行為的異常查詢模式。
監控要求量:查詢量突然暴增,強烈表示發生阻斷服務 (DoS) 攻擊或模型竊取攻擊,也就是試圖對模型進行逆向工程。使用頻率限制和節流功能,控管來自單一 IP 位址或使用者的要求量。
監控並設定地理區域和時間異常狀況的快訊: 建立正常存取模式的基準。如果活動來自異常地理位置或在非正常時間發生,系統會產生快訊。舉例來說,凌晨 3 點有大量使用者從新國家/地區登入。
監控、評估及準備回覆輸出內容
AI 系統可產生輸出內容,輔助、改善或自動化人類決策,因此能帶來價值。為維護 AI 系統和應用程式的完整性和可信度,請確保輸出內容安全無虞,且符合預期參數。您也需要制定事件應變計畫。
如要維持輸出內容,請參考下列建議。
使用指標和安全措施評估模型效能
為確保 AI 模型符合效能基準、安全防護規定,以及公平性和法規遵循標準,請徹底評估模型。部署前先進行評估,然後定期評估正式環境中的模型。為盡量降低風險並建構值得信賴的 AI 系統,請採用全方位的評估策略,結合效能指標和特定 AI 安全性評估。
如要評估模型穩健性和安全態勢,請考慮下列建議:
在 MLOps 管道中導入模型簽署和驗證。
評估模型對非預期或對抗性輸入內容的復原能力。
- 針對所有模型,測試模型是否出現常見的資料損毀情形,以及任何可能惡意的資料修改。如要協調這些測試,可以使用 Vertex AI 訓練或 Vertex AI Pipelines。
- 針對安全關鍵模型,進行對抗式攻擊模擬,瞭解潛在安全漏洞。
- 如果是部署在容器中的模型,請使用 Artifact Registry 中的 Artifact Analysis 掃描基礎映像檔,檢查是否有安全漏洞。
使用 Vertex AI Model Monitoring 偵測已部署模型的偏移和偏差情形。然後將這些洞察資料回饋到重新評估或重新訓練週期。
使用 Vertex AI 的模型評估結果,做為 Vertex AI Pipelines 的管道元件。您可以單獨執行模型評估元件,也可以與其他管道元件一起執行。根據您定義的指標和資料集比較模型版本。將評估結果記錄到 Vertex 機器學習中繼資料,以追蹤歷程。
使用或建構 Gen AI Evaluation Service,評估所選模型或實作自訂人工評估工作流程。
如要評估公平性、偏誤、可解釋性和事實準確度,請考慮下列建議:
- 定義符合使用情境的公平性指標,然後評估模型在不同資料切片中可能存在的偏誤。
- 瞭解哪些特徵會影響模型預測,確保特徵和預測結果符合領域知識和道德規範。
- 使用 Vertex Explainable AI 取得模型的特徵歸因。
- 使用 Gen AI Evaluation Service 計算指標。在測試的來源驗證階段,服務的根據指標會根據提供的來源文字檢查事實性。
- 為模型的輸出內容啟用基礎,方便使用者進行第二層的來源驗證。
- 請詳閱我們的 AI 原則,並根據這些原則調整您的 AI 應用程式。
監控正式環境中的 AI 和機器學習模型輸出內容
持續監控正式環境中的 AI 和機器學習模型,以及支援基礎架構。因此,請務必及時找出並診斷模型輸出品質或效能下降、出現安全漏洞,以及違反法規授權的情況。這項監控功能有助於維持系統安全、可靠和值得信賴。
如要監控 AI 系統輸出內容是否有異常、威脅和品質下降等情況,請參考下列建議:
- 使用模型監控功能追蹤模型輸出內容,瞭解預測分布情形是否出現非預期變化,或低信賴度模型預測結果是否突然增加。主動監控生成式 AI 模型輸出內容,找出不安全、有偏誤、離題或惡意的生成內容。您也可以使用 Model Armor 篩選所有模型輸出內容。
- 在應用程式層級識別特定錯誤模式、擷取品質指標,或偵測有害或不符規定的輸出內容。如要找出這些問題,請在 Monitoring 資訊主頁中使用自訂監控功能,並使用 Logging 的記錄指標。
如要監控輸出內容,查看安全性專屬信號和未經授權的變更,請考慮採取下列建議做法:
- 找出未經授權的 AI 模型存取嘗試、Cloud Storage 或 BigQuery 中的資料集,或是 MLOps pipeline 元件。特別是 AI 資源的 IAM 權限,請找出非預期或未經授權的變更。如要追蹤這些活動並檢查是否有可疑模式,請使用 Cloud 稽核記錄中的「管理員活動」稽核記錄和「資料存取」稽核記錄。整合 Security Command Center 的發現項目,這項工具可標記安全性設定錯誤,以及與 AI 資產相關的潛在威脅。
- 監控大量要求或來自可疑來源的要求,這可能表示有人試圖對模型進行逆向工程或外洩資料。您也可以使用 Sensitive Data Protection 監控可能外洩的機密資料。
- 將記錄整合至資安營運作業。使用 Google Security Operations 偵測、協調及因應 AI 系統的任何網路威脅。
如要追蹤為 AI 模型提供服務的基礎架構運作健康狀態和效能,請考慮下列建議:
- 找出可能影響服務提供或模型效能的作業問題。
- 監控 Vertex AI 端點的延遲時間、錯誤率和流量模式。
- 監控機器學習運作管道的執行狀態和錯誤。
- 使用 Monitoring,其中提供現成的指標。您也可以建立自訂資訊主頁,協助找出端點中斷或管道故障等問題。
實作快訊和事件應變程序
一旦發現任何潛在的效能、安全性或法規遵循問題,有效回應至關重要。為確保適當的團隊能及時收到通知,請實作完善的提醒機制。建立並落實全面性的 AI 認知事件應變程序,有效管理、控制及解決這些問題。
如要為您發現的 AI 問題建立完善的快訊機制,請參考下列建議:
- 根據平台監控活動設定可採取行動的快訊,通知相關團隊。舉例來說,您可以設定快訊,在模型監控功能偵測到顯著的偏移、偏差或預測異常時觸發。或者,您也可以設定快訊,在 Model Armor 或自訂監控規則標記惡意輸入內容或不安全輸出內容時觸發。
- 定義明確的通知管道,包括 Slack、電子郵件或透過 Pub/Sub 整合的簡訊。根據警報嚴重程度和負責團隊,自訂通知管道。
制定並落實 AI 相關事件應變計畫。有條理的事件應變計畫至關重要,可將潛在影響降至最低,並確保復原。您可以自訂這項計畫,因應 AI 特有的風險,例如模型遭竄改、因漂移導致預測結果不正確、提示注入,或是生成模型輸出不安全內容。如要制定有效計畫,請納入下列重要階段:
準備:找出資產和安全漏洞、開發劇本,並確保團隊擁有適當的權限。這個階段包括下列工作:
- 找出重要的 AI 資產,例如模型、資料集,以及端點或 Vertex AI 特徵儲存庫執行個體等特定 Vertex AI 資源。
- 找出資產的潛在故障模式或攻擊向量。
根據貴機構的威脅模型,制定 AI 專屬的事件應對手冊。舉例來說,應對手冊可能包含下列內容:
- 模型回溯,使用 Model Registry 中的版本控管功能。
- Vertex AI 訓練的緊急重新訓練管道。
- 在 BigQuery 或 Cloud Storage 中隔離遭入侵的資料來源。
使用 IAM 確保應變團隊具備必要的最低權限,可存取事件期間所需的工具。
識別及分類:使用設定的快訊偵測及驗證潛在事件。為機構調查或宣告 AI 相關事件的方式,制定明確的標準和門檻。如要進行詳細調查及收集證據,請使用應用程式記錄和服務記錄的記錄功能,並使用 Cloud 稽核記錄瞭解管理活動和資料存取模式。資安團隊可以透過 Google SecOps 深入分析安全性遙測資料。
遏止:隔離受影響的 AI 系統或元件,防止進一步影響或資料外洩。這個階段可能包含下列工作:
- 停用有問題的 Vertex AI 端點。
- 撤銷特定 IAM 權限。
- 更新防火牆規則或 Cloud Armor 政策。
- 暫停運作異常的 Vertex AI 管道。
根除:找出並移除事件的根本原因。 這個階段可能包含下列工作:
- 在自訂模型容器中修補有安全漏洞的程式碼。
- 從模型中移除已識別的惡意後門。
- 在 Vertex AI Training 上啟動安全重新訓練工作前,請先清除遭下毒的資料。
- 更新任何不安全的設定。
- 修正輸入內容驗證邏輯,封鎖特定提示注入技術。
復原及安全重新部署:將受影響的 AI 系統還原至已知的良好安全運作狀態。這個階段可能包括下列工作:
- 從 Model Registry 部署先前經過驗證且可信任的模型版本。
- 請務必找出並套用所有安全性修補程式,以防程式碼或系統中出現安全性漏洞。
- 將 IAM 權限重設為最小權限原則。
事件後活動和經驗教訓:解決重大 AI 事件後,請進行詳盡的事件後檢討。這項審查作業會納入所有相關團隊,例如 AI 和機器學習、MLOps、安全性和資料科學團隊。瞭解事件的完整生命週期。運用這些洞察資料調整 AI 系統設計、更新安全控管措施、改善監控設定,並強化 AI 事件應變計畫和應對手冊。
將 AI 事件應變功能整合至更廣泛的機構架構,例如 IT 和安全事件管理,以利協調作業。如要讓 AI 專屬事件回應與貴機構的架構保持一致,請考慮下列事項:
- 提報:明確定義提報路徑,將重大 AI 事件提報給中央 SOC、IT、法務或相關業務部門。
- 溝通:使用既有的機構管道,處理所有內部和外部事件報告及最新消息。
- 工具和程序:針對 AI 事件使用現有的企業事件管理和票證系統,確保追蹤和能見度一致。
- 協作:預先定義 AI 和機器學習、MLOps、資料科學、安全、法律和法規遵循團隊之間的協作通訊協定,以便有效回應 AI 事件。
貢獻者
作者:
- Kamilla Kurta | GenAI/ML Specialist Customer Engineer
- Vidhi Jain | 雲端工程師,數據分析和 AI
- Mohamed Fawzi | 比荷盧經濟聯盟安全與法規遵循主管
- Filipe Gracio 博士 | 客戶工程師、AI/機器學習專家
其他貢獻者:
- Lauren Anthony | 客戶工程師、資安專家
- Daniel Lees | 雲端安全架構師
- John Bacon | 合作夥伴解決方案架構師
- Kumar Dhanagopal | 跨產品解決方案開發人員
- Marwan Al Shawi | 合作夥伴客戶工程師
- Mónica Carranza | 資深生成式 AI 威脅分析師
- Tarun Sharma | Principal Architect
- Wade Holmes | 全球解決方案總監