Cloud Storage 威脅模型報告

上次更新日期:2026 年 5 月 22 日

本文說明 Cloud Storage 資料機密性、完整性和可用性的潛在攻擊向量和因應策略。這份報表的範圍僅限於您的角度,著重於您可以在 Cloud Storage 環境中管理的風險。

這些威脅模型是根據目前已知的攻擊向量、架構假設,以及發布時系統的指定範圍,進行機率評估。這些模型並非詳盡無遺,僅做為 Google Cloud 客戶安全和風險評估的基準,並引導他們做出降低風險的決策。

這項服務發現下列威脅:

威脅詳細資料

以下各節將說明每種威脅、其表現方式,以及建議的緩解措施。

使用不安全的存取設定揭露資訊

如果存取控管設定有誤,儲存在 Cloud Storage 物件中的機密資料可能會洩漏給未經授權的對象。存取控制設定錯誤是最常見且影響重大的雲端安全問題之一。

STRIDE 類別

資訊揭露

MITRE ATT&CK 策略

集合

裝飾玻璃貼紙
  • 公開 bucket 曝光:在 Cloud Storage bucket 的 IAM 允許政策中,將 Storage Object Viewer 等角色授予 allUsersallAuthenticatedUsers 帳戶,即可公開 bucket。如果未強制執行公開存取權預防措施,這些角色會將所有物件公開在網路上。

  • 簽署網址外洩:簽署網址會做為臨時持有人權杖,但透過用戶端程式碼、記錄或不安全的傳輸方式,可能會意外外洩。任何取得網址的外部使用者或應用程式,都能在網址簽章到期前,使用權限 (例如讀取或寫入) 存取指定的 Cloud Storage 物件。

  • 過於廣泛的 IAM 權限:身分 (例如使用者帳戶或服務帳戶) 只需要存取一小部分資料,卻在許多 buckets 中獲得廣泛權限 (例如 storage.objects.getstorage.objects.list)。

  • 遭盜用的身分憑證:攻擊者取得使用者帳戶或服務帳戶金鑰的憑證,即可向 Cloud Storage JSON API 進行驗證,並存取遭盜用身分有權查看的所有資料。

  • 負載平衡器設定錯誤:如果 Cloud Load Balancing 執行個體設定以 Cloud Storage bucket 做為後端,即使 bucket 本身並非公開,也可能設定錯誤而公開物件。這項設定錯誤會建立替代的資料存取路徑 (安全性可能較低),繞過直接的 Cloud Storage IAM 控制項。

  • CDN 快取設定不當:如果將 Cloud Storage 值區做為 Cloud Load Balancing 和 Cloud CDN 的後端,設定錯誤可能會導致敏感資料快取在 Google 的公開邊緣位置。如果後端服務未發出正確的 Cache-Control 標頭 (例如 private 或 no-store),CDN 可能會將快取內容提供給未經授權的使用者,略過 bucket IAM 檢查。

因應措施
  • 使用 storage.publicAccessPrevention 機構政策限制,在個別儲存空間 bucket 或專案、資料夾或機構層級,強制禁止公開存取。

  • 使用統一 bucket 層級存取權簡化權限,並避免使用舊版 ACL。

  • 設定客戶管理的加密金鑰 (CMEK),透過靜態加密保護資料。

  • 盡可能縮短已簽署網址的到期時間。

  • 定期稽核並移除遭盜用或未使用的服務帳戶金鑰。

  • 導入 VPC Service Controls 建立服務安全範圍,即使憑證遭竊,也能防止資料外洩。

  • 確保 Cloud Armor 政策已套用至提供 Cloud Storage 內容的負載平衡器,以限制存取權。

使用 IAM 錯誤設定提升權限

如果攻擊者擁有看似無害的特定 IAM 權限,就能提升權限,取得更廣泛的存取權,包括 Cloud Storage 值區的管理控制權,以及值區內含的資料。這項威脅會規避預期的安全防護機制,並違反最低權限原則。

STRIDE 類別

權限提升

MITRE ATT&CK 策略

提權

裝飾玻璃貼紙
  • 直接修改政策:如果使用者或服務帳戶等身分在 Cloud Storage 儲存空間值區中獲得 storage.buckets.setIamPolicy 權限,就能直接修改允許政策。透過這項設定,攻擊者可以授予自己高權限角色 (例如 Storage Admin),進而完全掌控 bucket 的設定和資料。

  • 服務帳戶模擬:如果身分具有 roles/iam.serviceAccountUser 等角色,且該角色在服務帳戶中包含 iam.serviceAccounts.actAs 權限,則可將服務帳戶附加至其他資源 (例如 Compute Engine 執行個體),以附加服務帳戶的身分執行程式碼。或者,具有 roles/iam.serviceAccountTokenCreator 等角色的身分 (權限包括 iam.serviceAccounts.getAccessToken) 可以為該服務帳戶產生存取權杖。如果目標服務帳戶在 Cloud Storage 資源中擁有較高的權限,攻擊者就能有效繼承這些權限。

  • 產生已簽署的網址:如果身分在服務帳戶中具有 iam.serviceAccounts.signBlob 權限,就能產生 V4 已簽署的網址。攻擊者可利用這些網址,建立服務帳戶可讀取或寫入物件的臨時持有人權杖存取權,可能因此繞過限制較嚴格的網路控制項,或彌補自身缺乏直接 Cloud Storage 權限的不足。

因應措施
  • 遵循最小權限原則。除非絕對必要,否則請避免將 storage.buckets.setIamPolicyiam.serviceAccounts.actAsiam.serviceAccounts.signBlob 等權限新增至角色。使用 IAM 條件,將權限限制在特定資源或時間範圍內。使用 Cloud Asset Inventory 等工具定期稽核允許政策,偵測並移除過多的權限。

  • 請確保處理已簽署網址的應用程式不會記錄這些網址,也不會以第三方可擷取的方式公開這些網址。舉例來說,如果使用 Cloud CDN 快取經簽署的網址,請設定適當的 Cache-Control 標頭,避免公開快取應為私密且透過經簽署的網址驗證的敏感物件。

使用過多權限竄改或破壞資料

如果攻擊者擁有足夠的權限,就能變更、破壞或永久刪除 Cloud Storage 系統中的資料和設定,導致資料完整性和可用性受到影響。

STRIDE 類別

遭破壞

MITRE ATT&CK 策略

影響

裝飾玻璃貼紙
  • 直接操控物件:具有 storage.objects.createstorage.objects.delete 權限的身分可以覆寫或毀損個別 Cloud Storage 物件。

  • 濫用生命週期政策:如果攻擊者擁有 storage.buckets.update 權限,就能修改 bucket 的物件生命週期管理設定,建立立即或在短時間內刪除所有物件的規則,導致大量資料遭到破壞。

  • 刪除 bucket:如果攻擊者擁有 storage.buckets.delete 權限,就能刪除整個 Cloud Storage bucket,並立即毀損所有相關聯的物件、設定和政策。

  • 通知遭盜用:擁有 storage.buckets.update 權限的攻擊者可能會惡意變更或刪除 Pub/Sub 通知設定。這項攻擊可能會導致依賴這些事件的下游系統無法運作,或將通知重新導向至攻擊者控制的主題。

因應措施
  • 如需不可變更的儲存空間或最短保留期限,請為整個 bucket 設定 bucket 鎖定,或為個別物件設定物件鎖定。

  • 設定物件版本管理功能和虛刪除政策,以便在含有重要資料的 Bucket 發生意外或惡意覆寫時,規劃復原作業。實作指定的虛刪除期間,確保您有足夠時間偵測及復原物件,以免物件遭到永久刪除。

  • 在含有重要資料的 bucket 上啟用資料存取稽核記錄,有助於監控異常存取模式。

使用設定錯誤的 Storage 移轉服務工作外洩資料

如果攻擊者擁有 storagetransfer.transferjobs.createstoragetransfer.transferjobs.update 權限,就能建立或修改 Storage 移轉服務工作,將敏感的 Cloud Storage 值區資料複製到另一個專案中由攻擊者控制的值區。攻擊者可利用這個攻擊媒介,持續不斷地無聲外洩大量資料,並規避一般資料存取監控機制 (這類機制可能著重於 storage.objects.get 等直接 API 呼叫)。

STRIDE 類別

資訊揭露

MITRE ATT&CK 策略

資料竊取

裝飾玻璃貼紙

建立惡意 Storage 移轉服務工作:擁有 storagetransfer.transferjobs.createstoragetransfer.transferjobs.update 權限的攻擊者建立或修改 Storage 移轉服務工作,將敏感的 Cloud Storage bucket 中的資料複製到另一個專案中,由攻擊者控管的 bucket。

因應措施
  • 嚴格限制 storagetransfer.transferjobs.createstoragetransfer.transferjobs.update 的 IAM 權限。請僅將這些權限指派給信任的管理員帳戶所使用的角色。

  • 實作 VPC Service Controls 範圍,限制範圍內服務與範圍外服務之間的通訊。

  • 在授予移轉作業權限的角色上使用 IAM 條件,將來源和目的地 buckets 限制在已知的授權位置。

  • 定期監控 Cloud 稽核記錄,瞭解 Storage 移轉服務 工作建立和修改情形。針對指定不受信任或外部目的地的任何工作設定快訊。

因依附元件管理不當而無法存取資料

如果重要服務依附元件遭到攻擊或管理不當,可能會導致 Cloud Storage 中的資料無法正常存取,即使儲存系統本身未受影響,資料也無法存取。

STRIDE 類別

遭破壞

MITRE ATT&CK 策略

影響

裝飾玻璃貼紙
  • CMEK 無法使用:如果 Cloud Storage 值區已設定為使用 CMEK,停用或刪除備份的 Cloud KMS 金鑰,會導致所有以該金鑰加密的物件無法存取。Cloud Storage 服務代理人無法執行解密作業,因此該資料會遭到全面阻斷攻擊。

  • 惡意值區鎖定:具備 storage.buckets.update 權限的攻擊者可以套用保留期限過長的值區鎖定。這項鎖定功能會阻止合法刪除資料,導致不必要的巨額成本累積,形成一種金融服務阻斷攻擊。

因應措施
  • 針對 Cloud KMS 管理作業實作嚴格的 IAM 允許政策和分散權責。請確保有權管理 Cloud Storage bucket 的身分,沒有權限管理 bucket 使用的 Cloud KMS 金鑰。

  • 使用 Cloud KMS 金鑰刪除防護機制。

  • 如果是 Bucket 鎖定,請嚴格控管 storage.buckets.update 權限,並使用監控功能,在設定發生非預期變更時發出快訊。

因觀測能力不足而導致活動遭到混淆

如果稽核和監控設定不當,攻擊者就能對 Cloud Storage 資源執行惡意動作,且不會遭到偵測。如果可觀測性不足,攻擊者就能隱藏蹤跡,並阻礙有效的事件應變和鑑識。

STRIDE 類別

否認

MITRE ATT&CK 策略

規避防禦機制

裝飾玻璃貼紙
  • 資料存取記錄已停用:管理員活動記錄一律會啟用,但記錄物件讀取和寫入作業的資料存取記錄預設為停用。如果未明確啟用,攻擊者可以竊取或竄改值區中的所有資料,且這些動作不會產生 Cloud 稽核記錄,因此難以偵測或調查違規行為。

  • 記錄檔接收器操控:如果攻擊者取得足夠的權限,就能停用或重新設定 Cloud 稽核記錄的路由記錄檔接收器,有效阻止安全相關資料流向監控系統。

  • 疏於監控指標:攻擊者會緩慢地執行活動,例如在很長一段時間內逐步竊取少量資料。這些動作可能不會在 Cloud 稽核記錄中觸發嚴重程度高的警告,但會在 Cloud Monitoring 指標中建立異常模式 (例如持續輸出流量)。如果沒有監控這些指標,攻擊者就能繼續潛伏而不受偵測。

因應措施
  • 針對所有含有機密或重要資料的 bucket 啟用資料存取稽核記錄。

  • 請確保記錄檔會轉送至安全無虞的集中式記錄專案,並嚴密控管權限,防止記錄接收器遭到竄改。

  • 在 Cloud Monitoring 或 SIEM 中設定以記錄為準的快訊,主動偵測可疑活動,例如異常存取模式或 IAM 允許政策變更。

  • 根據重要的 Cloud Monitoring 指標建立快訊,偵測與基準行為的偏差。

  • 使用內建的 Storage Intelligence 資訊主頁,以及 Data Security Posture Management 的深入分析資料,持續監控物件層級的風險暴露情形,並評估安全防護機制。

使用儲存在 Cloud Storage 中的遭入侵構件,造成供應鏈中毒

如果攻擊者取得 Cloud Storage bucket 的寫入權限 (例如 storage.objects.createstorage.objects.delete),並用來儲存軟體構件 (例如二進位檔、容器映像檔或建構指令碼),他們就能以惡意版本取代正版構件。信任這個值區構件的下游 CI/CD 管道、開發人員或使用者,會不慎執行遭入侵的程式碼,導致供應鏈攻擊擴散。

STRIDE 類別

遭破壞

MITRE ATT&CK 策略

初始存取

裝飾玻璃貼紙
  • 二進位檔替換:攻擊者會以特洛伊木馬版本覆寫發布的二進位檔或程式庫。當這個構件被拉進建構或部署作業時,攻擊者的程式碼就會在目標環境中執行。

  • 容器映像檔中毒:如果攻擊者有權存取做為容器登錄檔後端的儲存空間 (例如 Artifact Registry),可能會竄改映像檔層,注入安全漏洞或後門。

  • 修改建構指令碼:攻擊者修改儲存在 Cloud Storage 中的建構指令碼 (例如 cloudbuild.yamlMakefile),藉此改變建構程序本身。攻擊者可能會修改建構指令碼,在編譯期間外洩密鑰或嵌入後門。

  • AI 模型中毒:攻擊者可能會在 Cloud Storage 中,將有效的模型檢查點換成惡意檢查點,後者會在生產系統載入時執行程式碼。或者,攻擊者可能會修改用於模型訓練的 Cloud Storage 值區中的資料,在訓練好的模型中插入後門或惡意行為。

因應措施
  • 使用 Artifact Registry 等專屬構件管理服務,這類服務提供安全漏洞掃描功能,並可加強存取控管。請避免使用標準 Cloud Storage bucket 儲存重要軟體構件。

  • 為所有建構構件實作數位簽章。設定 CI/CD 管道,在部署構件前驗證簽章,確保構件的完整性和出處。

  • 在 bucket 上設定物件版本管理,保留遭惡意資料覆寫的物件。

使用 Cloud Storage 物件大量傳輸或濫用輸出功能,造成阻斷攻擊

如果攻擊者在可公開寫入或安全性不佳的 bucket 中擁有物件建立權限,就能上傳大量小型物件,導致 A 級作業和儲存空間費用大幅增加。或者,如果值區停用「要求者付費」,攻擊者只要具備讀取權限,就能重複下載大型物件,產生過多的網路輸出費用,並可能因帳單限制而影響正當使用者的服務可用性。

STRIDE 類別

阻斷攻擊

MITRE ATT&CK 策略

影響

裝飾玻璃貼紙
  • 物件大量湧入:攻擊者使用指令碼在儲存空間中快速建立數百萬個小型物件,導致作業成本增加,並可能影響列出或處理儲存空間內容的應用程式。

  • 輸出濫用:如果值區代管大型公開資料集,攻擊者會重複下載檔案,導致輸出頻寬費用增加,造成財務損失。這類濫用行為可能會導致專案達到帳單配額,進而造成阻斷攻擊。

因應措施
  • 設定 Cloud Billing 快訊,在費用超過預先定義的預算門檻時通知管理員,以便及早偵測異常支出。

  • 如果是可公開存取的值區,請啟用「要求者付費」功能。這項功能會將資料存取和輸出費用轉移給下載資料的使用者,藉此減輕針對 bucket 擁有者的輸出費用攻擊。

  • 使用儲存空間分析監控物件層級的活動。Storage Insights 提供成本預測所需的能見度,並找出可能成為輸出濫用目標的高流量物件。

濫用 Cloud Storage 物件版本管理功能,操縱資料完整性

物件版本管理是重要的防禦措施,但如果攻擊者擁有足夠的權限 (例如 storage.objects.deletestorage.objects.create),就能操控物件記錄,破壞資料完整性。他們可以刪除物件的目前版本,導致較舊的版本成為「使用中」版本,但這些版本可能不正確或有安全漏洞。這可用於還原安全性修補程式、重新導入錯誤,或還原過時資訊,且由於物件仍存在,因此不會立即顯現。

STRIDE 類別

遭破壞

MITRE ATT&CK 策略

影響

裝飾玻璃貼紙
  • 安全性修補程式還原:攻擊者刪除含有安全性修補程式的最新版應用程式二進位檔或設定檔,導致系統還原為先前的易受攻擊版本。

  • 透過還原導致資料損毀:在依賴 Cloud Storage 儲存狀態或設定的系統中,攻擊者會將重要設定物件還原至舊版狀態,導致服務設定錯誤或資料處理錯誤。

  • 操縱 AI 模型完整性:攻擊者可能會覆寫或還原儲存在 Cloud Storage bucket 中的 AI 模型檢查點。

因應措施
  • 開發依賴特定版本物件的應用程式時,請依物件的專屬版本編號 (而非名稱) 擷取物件。確保系統一律會擷取正確版本。

  • 針對需要不可變更儲存空間的資料,使用 bucket 鎖定功能並定義資料保留政策。

  • 設定虛刪除政策,做為防範惡意刪除的額外防護層。物件版本管理功能無法防範值區刪除作業。

使用由 Cloud Storage 觸發的 Dataflow 管道外洩資料

如果 Dataflow 管道設定為在 Cloud Storage 值區中建立物件時自動觸發,能夠寫入該值區的攻擊者就可能外洩資料。如果 Dataflow 工作的服務帳戶有權存取其他機密資料,並寫入外部位置 (例如另一個 Cloud Storage bucket 或 BigQuery),攻擊者可以製作輸入檔案,導致管道讀取機密資料並寫入攻擊者控管的位置。

STRIDE 類別

資訊揭露

MITRE ATT&CK 策略

資料竊取

裝飾玻璃貼紙

跨專案外洩:攻擊者將檔案上傳至觸發 bucket,Dataflow 管道會以具備特殊權限的服務帳戶執行,從其他專案讀取機密資料,並將輸出內容寫入攻擊者輸入檔案指定的公開 Cloud Storage bucket。

因應措施
  • 將 Dataflow 管道及其 Cloud Storage 依附元件納入 VPC Service Controls 範圍內,防止管道將資料傳送至未經授權的外部目的地。

  • 對 Dataflow 工作站服務帳戶套用最小權限原則。服務帳戶應只具備從來源讀取資料,以及寫入目標目的地的特定權限。

  • 啟用 DATA_WRITE 事件的資料存取稽核記錄,有助於稽核 Dataflow 管道中的可疑活動。

  • 在 Cloud Storage bucket 上啟用統一 bucket 層級存取權,確保 IAM 型存取控管方式一致。

透過 Cloud Storage 中的 IaC 狀態操控行為,導致完整性受損

使用 Cloud Storage 值區儲存基礎架構即程式碼 (IaC) 狀態檔案 (例如 Terraform 中的 terraform.tfstate 檔案) 時,如果攻擊者擁有狀態值區的寫入權限,就能竄改狀態檔案。攻擊者可以藉由修改狀態,在下次執行 IaC 時注入惡意資源、變更重要安全設定,或導致資源毀損。由於攻擊目標是狀態,而非程式碼本身,因此這類竄改行為會略過程式碼審查程序。

STRIDE 類別

遭破壞

MITRE ATT&CK 策略

影響

裝飾玻璃貼紙

停用安全控制項:攻擊者會變更狀態檔案,導致防火牆規則或 IAM 允許政策顯示不正確的狀態。下次套用 Terraform 時,可能無法正確套用預期的安全設定。

因應措施
  • 在儲存狀態檔案的 Cloud Storage bucket 中啟用物件版本管理功能。物件版本管理功能可讓您在意外或惡意修改狀態檔案時復原檔案。

  • 對狀態檔案儲存空間實施嚴格的 IAM 控制措施。請確保只有 CI/CD 服務帳戶具備寫入權限,開發人員最多只能具備唯讀權限。

儲存在 Cloud Storage 中的開機或啟動程序指令碼提權

如果 Compute Engine 執行個體或 GKE 節點從 Cloud Storage bucket 提取開機或啟動程序指令碼,擁有該 bucket 寫入權限的攻擊者就能修改這些指令碼。由於這些指令碼通常會以高權限執行 (例如以 VM 上的根使用者身分,或使用節點的服務帳戶),攻擊者可以插入指令來建立後門使用者、竊取中繼資料和存取權杖,或安裝惡意軟體。攻擊者可透過這些動作,將 Cloud Storage 物件寫入權限提升為運算資源的完整控制權。

STRIDE 類別

權限提升

MITRE ATT&CK 策略

提權

裝飾玻璃貼紙
  • 中繼資料外洩:攻擊者會在開機指令碼中加入 curl -H 'Metadata-Flavor: Google' http://metadata.google.internal/... 等指令,竊取服務帳戶權杖或其他私密資訊。

  • 反向殼層:攻擊者會注入指令,從運算執行個體啟動反向殼層,連線至攻擊者控制的伺服器,藉此取得互動式存取權。

因應措施
  • 將啟動指令碼儲存在專用且嚴格控管的 Cloud Storage 值區中。套用最低權限 IAM 允許政策,確保只有授權管理員或 CI/CD 管道可以修改指令碼。請考慮採用資料分類策略,在用於啟動指令碼的 bucket 上設定資源標記,並使用 IAM 標記型條件式存取權,進一步限制存取權。

  • 不要從 Cloud Storage 提取指令碼,而是將指令碼納入自訂機器映像檔。這項策略會建立不可變動的構件,較不容易在執行階段遭到修改。

使用 Cloud Storage 託管的機器學習訓練資料,在供應鏈中植入後門

如果攻擊者有權寫入 Cloud Storage 值區,且該值區包含機器學習模型的訓練資料,就能汙染資料集。攻擊者可透過注入精心設計的惡意資料,在訓練好的模型中建立後門。這個後門會導致模型錯誤分類特定輸入內容,藉此讓攻擊者得利,同時在一般資料上正常運作,以規避偵測。舉例來說,模型可能會核准詐欺交易或略過安全檢查。

STRIDE 類別

遭破壞

MITRE ATT&CK 策略

影響

裝飾玻璃貼紙
  • 目標錯誤分類:攻擊者插入遭汙染的資料,導致訓練完成的詐欺偵測模型一律將攻擊者控制帳戶的交易分類為合法。

  • 模型規避:攻擊者會將惡意軟體範例標示為良性,藉此汙染惡意軟體偵測模型的訓練資料,導致最終模型忽略特定工具。

因應措施
  • 對含有訓練資料的 Cloud Storage 值區實施嚴格的存取控管。授予這些值區的寫入權限時,請採用最小權限原則,並定期使用政策分析工具等工具進行稽核。

  • 請考慮採用資料分類策略,在用於機器學習訓練資料的 bucket 上設定資源標記,並新增以 IAM 標記為準的條件,進一步限制存取權。

  • 稽核訓練資料所用物件的未授權修改。設定物件版本管理、維護總和檢查碼,並為 DATA_WRITE 事件設定資料存取稽核記錄,有助於稽核與訓練資料相關的物件建立事件異常情形。

  • 定期稽核及驗證機器學習模型,確認是否有非預期行為。運用對抗測試技術,探查訓練期間導入的隱藏後門或安全漏洞。

  • 設定 VPC Service Controls perimeter,限制從受信任 perimeter 外部存取機密資源,例如訓練資料和模型建立作業涉及的其他服務。

透過 Cloud Storage 中物件建立作業觸發的擴散傳遞功能工作流程,造成阻斷攻擊

如果工作流程 (例如 Cloud Run 函式或 Workflows) 設定為在 Cloud Storage bucket 中觸發物件建立作業,並執行耗用大量資源的工作,擁有 storage.objects.create 權限的攻擊者就能發動阻斷服務攻擊。在短時間內上傳大量檔案 (稱為擴散傳遞功能觸發),攻擊者可導致下游服務快速擴充,消耗過多資源、達到並行或資源調度限制,以及產生大量費用,最終導致合法使用者無法使用服務。

STRIDE 類別

阻斷攻擊

MITRE ATT&CK 策略

影響

裝飾玻璃貼紙
  • 資源耗盡:攻擊者上傳 10,000 個小型檔案,觸發 10,000 個並行的 Cloud Run 函式呼叫,導致專案的 CPU 配額、記憶體或下游 API 速率限制耗盡。

  • 以費用為基礎的 DoS:扇出會在付費服務中觸發大量執行作業,導致帳單金額龐大,帳戶也可能遭到停權,有效拒絕服務。

因應措施
  • 對觸發工作流程的 Cloud Storage bucket 實施嚴格的存取控管。授予這些值區的寫入權限時,請採用最小權限原則,並定期使用政策分析工具等工具進行稽核。

  • 對事件驅動型 Cloud Run 函式設定並行限制,控管並行執行的數量上限,避免資源耗盡。

  • 實作去抖動機制,然後叫用主要處理邏輯。舉例來說,您可以將工作新增至設有速率限制的 Cloud Tasks 佇列,藉此實作防連按機制。這項機制可將要求量分散到一段時間內,有助於管理要求量突然激增的情況。

  • 設定 VPC Service Controls perimeter,限制從信任的 perimeter 外部存取敏感資源,例如寫入會觸發工作流程的 bucket。

透過 Cloud Storage 備份管道未經授權移動資料

備份和災難復原 (DR) 工具通常會使用 Cloud Storage 做為備份的暫存區或最終目的地。如果攻擊者入侵這項工具的設定,就能將備份重新導向至攻擊者控制的 Cloud Storage 值區。備份服務帳戶通常在許多資料來源 (例如資料庫或 VM) 中具有廣泛的讀取權限,因此攻擊者可以操縱備份作業的目的地參數,外洩大量機密資料。

STRIDE 類別

資訊揭露

MITRE ATT&CK 策略

資料竊取

裝飾玻璃貼紙
  • 備份工作重新導向:如果攻擊者有權編輯備份工作設定,就能將目標 Cloud Storage bucket 路徑變更為 gs://attacker-public-bucket/

  • 跨專案備份:攻擊者在遭入侵的專案中設定新的備份工作,從機密來源讀取資料,並備份至由攻擊者控管的另一個 Google Cloud 專案中的 bucket。

因應措施
  • 請確保備份工具的服務帳戶具備範圍受限的權限。設定備份工具,確保工具只能寫入特定指定備份值區,而無法從任意位置讀取資料。

  • 使用 VPC Service Controls,防止備份服務存取機密資料來源,以及寫入安全 perimeter 外部的 Cloud Storage bucket。

在混合環境中,使用舊版 Cloud Storage ACL 略過政策

Cloud Storage 支援兩種互斥的存取控管系統:IAM 和舊版 ACL。停用統一值區層級存取權後,系統會評估這兩種存取權系統。即使值區層級的允許政策看似限制重重,攻擊者仍可透過在物件中新增舊版 ACL (例如授予個人 Google 帳戶或公開群組存取權),來利用這項設定。這類攻擊會建立影子存取路徑,IAM 中心安全掃描器通常會忽略這類路徑,讓攻擊者規避預期的安全政策。

STRIDE 類別

權限提升

MITRE ATT&CK 策略

規避防禦機制

裝飾玻璃貼紙
  • 物件層級的公開存取權:攻擊者擁有 storage.objects.update 權限,可將公開讀取 ACL 新增至機密物件,讓網路上任何人都能存取,藉此規避限制性值區允許政策。

  • 跨帳戶存取權:攻擊者使用 ACL,將重要設定物件的 OWNER 權限指派給外部帳戶,藉此修改物件,而 IAM 稽核不會偵測到這項操作。

因應措施
  • 在所有 Cloud Storage 值區上啟用統一值區層級存取權。統一 bucket 層級存取權會停用所有 ACL,並確保 IAM 是管理存取權的唯一一致方法,簡化稽核作業並防止繞過存取權。

  • 使用組織政策限制 constraints/storage.uniformBucketLevelAccess,在專案、資料夾或機構中的所有新值區,強制執行統一的值區層級存取權。

透過遭入侵的 CI/CD 管道,以 Cloud Storage 為目標毀損資料

CI/CD 管道通常會獲得高權限服務帳戶,用來管理基礎架構及部署構件。如果攻擊者入侵 CI/CD 系統,就能使用管道的服務帳戶在 Cloud Storage 上執行破壞性動作。舉例來說,攻擊者可能會將惡意程式碼注入建構指令碼,或取得協調器存取權。這類攻擊可能包括刪除值區或覆寫重要物件。

STRIDE 類別

遭破壞

MITRE ATT&CK 策略

影響

裝飾玻璃貼紙
  • 惡意建構步驟:攻擊者在 CI/CD 管道中新增步驟,清除所有資料。舉例來說,攻擊者會在 cloudbuild.yaml 中新增步驟,執行類似 gcloud storage rm -r gs://critical-bucket/ 的指令。

  • 權限繼承:攻擊者使用遭入侵管道的服務帳戶 (該帳戶具有廣泛權限),授予攻擊者自己的帳戶 Cloud Storage 值區的管理存取權,以供日後使用。

因應措施
  • 對 CI/CD 服務帳戶套用最低權限原則。舉例來說,請勿將刪除正式版值區的權限指派給建構管道。針對不同的管道階段 (例如建構、測試或部署) 使用不同的身分。

  • 啟用值區鎖定或物件鎖定功能,或確保 CI/CD 服務帳戶沒有 storage.buckets.delete 權限,防止重要 Cloud Storage 值區遭到刪除。

使用權限過高的緊急帳戶,未經授權刪除 bucket

急用權限或緊急存取帳戶是高權限身分,僅供緊急情況使用。如果這些帳戶未受到妥善保護和管理 (例如憑證外洩或存取權未設時限),攻擊者一旦入侵緊急存取帳戶,就能執行破壞性極高的動作。主要風險是刪除整個 Cloud Storage bucket,這會導致災難性的資料遺失,且無法復原,因為 bucket 刪除是永久性動作。

STRIDE 類別

權限提升

MITRE ATT&CK 策略

提權

裝飾玻璃貼紙
  • 災難性資料遺失:攻擊者入侵管理不善的緊急存取帳戶,並執行指令碼來刪除專案中的所有 Cloud Storage 值區。

  • 勒索:攻擊者取得存取權,並威脅要刪除重要儲存空間,除非支付贖金。

因應措施
  • 針對急用權限程序導入即時存取 (JIT) 機制,而非使用具備常設特權的帳戶。視需要授予權限,且僅限特定用途和時間。

  • 對含有重要物件的值區套用值區鎖定,或對個別物件套用物件鎖定。在指定的保留期限內,即使是擁有者權限的使用者,也無法刪除值區及其物件。

使用遭入侵的記錄接收器將資料寫入 Cloud Storage,無聲無息地竊取資料

您可以將 Cloud Logging 設為將記錄匯出至 Cloud Storage 值區。如果攻擊者取得修改記錄接收器的權限,就能重新設定接收器,將機密記錄匯出至其他專案中由攻擊者控管的 Cloud Storage 值區。匯出機密記錄檔會讓攻擊者持續且無聲地竊取記錄檔中擷取的機密資料。

STRIDE 類別

資訊揭露

MITRE ATT&CK 策略

資料竊取

裝飾玻璃貼紙
  • 記錄檔接收器重新導向:攻擊者修改現有記錄檔接收器的目的地屬性,將其指向自己的 Cloud Storage bucket。

  • 建立惡意篩選器:攻擊者建立接收器,並使用篩選器專門找出含有私密資訊 (例如 PII 或權杖) 的記錄,然後匯出這些記錄。

因應措施
  • 監控 Cloud 稽核記錄中的 CreateSinkUpdateSink API 呼叫。設定快訊,在有任何新增或修改的記錄接收器時通知安全團隊,確保這些接收器已獲得授權。

  • 設定 VPC Service Controls perimeter,減少資料竊取。

使用集中式 CMEK 撤銷功能啟用勒索軟體防護

如果 Cloud Storage bucket 使用 CMEK 加密,資料可用性就會與金鑰可用性息息相關。如果攻擊者在 Cloud KMS 中取得足夠的權限,就能銷毀或停用用於重要 Cloud Storage 值區的金鑰。這項動作會讓 bucket 中的所有資料無法以密碼編譯方式存取,實際上是一種資料毀損或勒索軟體,因為資料會保留下來,但無法解密。

STRIDE 類別

遭破壞

MITRE ATT&CK 策略

影響

裝飾玻璃貼紙
  • 金鑰銷毀:擁有 cloudkms.cryptoKeyVersions.destroy 權限的攻擊者可以永久銷毀金鑰版本,導致資料無法復原。

  • 停用金鑰:擁有 cloudkms.cryptoKeyVersions.disable 權限的攻擊者會停用金鑰,導致 Cloud Storage 資料無法讀取,直到金鑰重新啟用為止。這項操作可能會導致長時間中斷服務。

因應措施
  • 強制規定 Cloud KMS 金鑰必須處於排定刪除狀態一段時間後,才能銷毀。預設為 30 天,但您可以在首次建立金鑰時,將這段期間設定為 1 到 120 天。金鑰刪除後,您就無法修改這段時間。建議您強制執行 constraints/cloudkms.minimumDestroyScheduledDuration 組織政策限制,確保建立金鑰時,排定銷毀期限不得低於預期最低期限。

  • 嚴格限制 Cloud KMS 管理角色的存取權。劃分金鑰使用和管理權責,避免單一遭盜用的帳戶同時使用及銷毀金鑰。

  • 定期輪替 Cloud KMS 金鑰,並根據工作負載的機密程度或法規遵循要求,選擇輪替週期。

使用快照或備份匯出功能將資料竊取至 Cloud Storage

許多 Google Cloud 服務 (例如 Compute Engine 或 Cloud SQL) 都允許建立快照或將備份資料匯出至 Cloud Storage。如果攻擊者有權執行這些匯出作業,就能建立含有機密資料的資源快照,並將快照儲存至權限寬鬆的 Cloud Storage bucket,例如公開 bucket 或與外部帳戶共用的 bucket。這項動作會略過主要資源較嚴格的存取權控管機制 (例如資料庫憑證),因為現在可以使用 Cloud Storage IAM 存取資料。

STRIDE 類別

資訊揭露

MITRE ATT&CK 策略

資料竊取

裝飾玻璃貼紙
  • 將磁碟快照匯出至公開值區:具有 compute.snapshots.createstorage.objectAdmin 權限的內部開發人員建立含有密碼的 VM 磁碟快照,並匯出至公開的 Cloud Storage 值區。

  • 資料庫匯出:擁有 cloudsql.instances.export 權限的攻擊者將正式版資料庫匯出至攻擊者控管專案中的 Cloud Storage 值區。

因應措施
  • 請確保指定用於備份和快照的專案,其 IAM 和 VPC Service Controls 政策至少與來源專案一樣嚴格,以維持一致的安全狀態。

  • 建議您採用資料分類策略,在用於備份的 bucket 上設定資源標記,並新增以 IAM 標記為準的存取條件,進一步限制存取權。