今天小編分享的互聯網經驗:分析Google Workspace全網域委托功能中的關鍵風險,歡迎閲讀。
Google Suite 是 Google 在訂閲基礎上提供的一套雲計算生產力和協作軟體工具和軟體,它包含 Google 廣受歡迎的網上應用,包括 Gmail、Google 雲端硬碟、Google 環聊、Google 日歷和 Google 文檔,現已更名為 Google Workspace。研究人員用一種意想不到的方式訪問了來自 Google Cloud Platform ( GCP ) 的 Google Workspace 網域數據。
研究人員發現,具有必要權限的 GCP 标識可以為委托用户生成訪問令牌,擁有被盜憑證的惡意内部人員或外部攻擊者可以使用此訪問令牌冒充 Google Workspace 用户,授予對其數據的未經委托訪問或以其名義執行操作。
随着組織越來越依賴基于雲的服務,如 Google Workspace 和 Google Cloud Platform GCP,深入研究其安全功能和漏洞的復雜性變得至關重要。
全網域委托濫用概述
模拟
下圖所示的可能的攻擊路徑可能是惡意的内部人員利用他們的訪問權限,例如,在 GCP 項目中具有編輯器權限的開發人員。他們可以通過濫用在 GoogleWorkspace 中被授予全網域委托權限的服務帳户來做到這一點,内部人員有權在同一個 GCP 項目中為服務帳户生成訪問令牌。
第二個攻擊場景
啓用了全網域委托權限後,惡意的内部人員可以冒充 Google Workspace 網域中的用户,并使用訪問令牌對 API 請求進行身份驗證。通過利用适當的作用網域和 API 訪問,内部人員可以訪問和檢索敏感的 Google Workspace 數據,這可能會危及存儲在網域内的電子郵件、文檔和其他機密信息。這些攻擊突出了全網域委托功能的威脅。
如果攻擊者獲得了附加到計算引擎實例的 GCP 服務帳户令牌,則會出現最壞的情況。例如,計算引擎默認服務帳户,默認具有編輯器權限,攻擊者可以利用全網域内的委托功能來產生更大的影響。如果在同一個項目中,存在一個具有全網域委托的服務帳户,這可能導致攻擊者模仿被委托的服務帳户,并從 GCP 橫向移動,以獲得對 Google Workspace 環境的訪問權。
Google Workspace
在研究人員深入研究 Google Workspace 和 GCP 中最近出現的復雜安全風險之前,有必要了解這些強大的基于雲的服務。
Google Workspace 應用程式是基于雲的協作工具的集合。組織使用 Google Workspace 通過各種工具來提高他們的工作效率和溝通,例如:
電子郵件;
日歷;
檔案存儲和共享;
團隊溝通;
工作流自動化;
安全;
政府;
Google Workspace 提供基于角色的訪問控制 ( RBAC ) 功能,并允許管理員為用户分配特定的角色,根據用户的職責和需求授予他們預定義的權限集。這些角色包括:
超級管理員;
組織管理;
一般用户管理;
每個角色對組織的 Google Workspace 環境的不同方面具有特定的權限和控制。Google Workspace 超級管理員擁有更高的權限和更廣泛的網域管理職責,包括向服務帳户授予全網域委托權限。
Google Workspace 管理員還可以定義特定于應用程式的權限,并限制共享和可見性設定。例如,管理員可以實施防止用户公開共享檔案的策略,并限制共享選項,以确保檔案保持在委托範圍内。
GCP 和 Google Workspace 之間鏈接的一個常見用例是,托管在 GCP 上的應用程式需要與 Google Workspace 服務之一進行互動。這些服務包括:
Gmail
Calendar
Drive
Docs
這種集成允許應用程式訪問和操作特定于用户的數據,代表用户執行操作,或者利用 Google Workspace 的協作和運行功能。
創建與 Google 服務互動、訪問 Google API、處理用户數據或代表用户執行操作的應用程式需要一個委托的 GCP 服務帳户。
什麼是服務帳户?
服務帳户是 GCP 中的一種特殊類型的帳户,它表示非人類實體,如應用程式或虛拟機,它允許他們進行身份驗證并與 Google API 進行互動。服務帳户與應用程式本身相關聯,而不是與單個最終用户相關聯。
與用户帳户不同,服務帳户不是 Google Workspace 網域的成員。它們不受 Google Workspace 管理員設定的網域策略的約束,只有在被授予全網域委托的情況下才能訪問用户的數據。
什麼是全網域委托?
全網域委托是 Google Workspace 中的一個功能,它允許 GCP 服務帳户訪問 Google Workspace 用户的數據,并代表他們在特定網域中進行操作。
當使用全網域委托功能時,應用程式可以代表 Google Workspace 網域中的用户進行操作,而不需要單個用户對應用程式進行身份驗證和委托。
只有 Google Workspace 超級管理員才能委托應用程式 ( 作為服務帳户 ) 代表網域中的用户訪問數據。這種委托稱為 " 将全網域内的權限委托給服務帳户 "。
全網域内的委托是如何工作的?
要使用全網域委托功能,需要執行以下步驟:
1. 啓用全網域委托:Google Workspace 超級管理員為服務帳户授予全網域委托,以及允許該訪問的一組 OAuth 範圍。這些範圍詳細説明了服務帳户可以訪問哪些特定服務和特定操作。
例如,如果只是 /auth/gmail.readonly 被授予,服務帳户将有權讀取用户的 Gmail 郵件,當代表該用户時,但不能讀取他們的其他工作區數據,如訪問驅動器中的檔案。
2. 請求 Google Workspace 訪問令牌:應用程式使用适當的憑據向 Google Workspace 令牌終端發送請求。這包括服務帳户的客户端 ID 和客户端秘密,以及訪問用户數據所需的範圍。如果請求是有效的,并且服務帳户已被授予必要的全網域委托特權,則令牌終端使用訪問令牌進行響應。應用程式可以使用此訪問令牌在請求的範圍内跨網域訪問用户數據。
3.API 訪問:應用程式在 API 請求中包含訪問令牌作為委托标頭,它代表服務帳户作為身份驗證和委托的證明。
全網域委托流
當被授予全網域委托時,Google Workspace 中的服務帳户可以訪問用户數據,代表用户進行操作,并驗證對 Google API 的請求。具體的功能和可訪問的數據取決于所定義的範圍。
了解全網域委托功能的風險和影響
一旦将全網域委托授予 GCP 服務帳户,具有必要權限的 GCP 标識就可以為同一項目中的委托服務帳户生成訪問令牌。然後,惡意的内部人員可以使用此訪問令牌冒充 Google Workspace 用户,授予對用户數據的未經委托的訪問權限或代表用户執行操作。
這種情況造成了全網域委托權限的敏感性與 GCP 平台上管理的權限模型之間的不匹配。
Google 文檔包含一個關于全網域委托功能的警告通知,其中概述了該功能的重要功能。Google 提到," 只有超級管理員才能管理全網域内的委托,并且他們必須指定應用程式可以訪問的每個 API 範圍。"
谷歌曾建議不要對服務帳户使用自動角色授予,這會阻止創建默認的谷歌計算引擎服務帳户。為了幫助緩解過多的權限,Google 有關于 GCP 角色推薦的手冊。
利用兩端審計日志識别可能存在的濫用攻擊
如果不分析來自兩個平台、GCP 和 Google Workspace 的審計日志,就不可能了解活動全貌,并确定全網域内委托功能的任何潛在濫用。服務帳户密鑰日志的生成将出現在 GCP 日志中,而 Google 密鑰生成和 API 調用執行日志将出現在 Google Workspace 日志中。
在下圖中,有一個來自 Cortex web 界面的 XQL 查詢,它在 GCP 審計日志中搜索服務帳户密鑰創建。
搜索服務帳户密鑰創建
Prisma Cloud RQL 語法中的等效查詢
下圖顯示了一個搜索服務帳户委托日志的 XQL 查詢。
搜索 Google Workspace 訪問令牌請求
下圖顯示了研究人員檢查了誰給了這個服務帳户全網域委托權限,以及什麼時候發生了這種情況。
搜索指示已向服務帳户授予全網域委托權限的日志
下圖顯示了在 Cortex web 界面中觸發的警報,上面顯示 Google Workspace 管理員已啓用對 GCP 服務帳户的全網域委托,并授予他訪問敏感範圍的權限。
Cortex web 界面中的全網域委托警報
緩解措施
研究人員已經确定的安全風險在于惡意内部人員濫用全網域委托功能所需的初始權限與潛在影響之間的不匹配。
具有網域委托權限的服務帳户的最佳安全實踐是将它們放置在 GCP 層次結構中的高級檔案夾中。在 GCP 層次模型中,訪問控制是分層的。
在較高級别設定的權限和策略 ( 例如,組織或檔案夾 ) 不會自動授予對較低級别檔案夾或項目的訪問權限。訪問控制在層次結構中不向下繼承,這意味着較低級别的檔案夾或項目不能自動訪問較高級别的檔案夾或項目。
GCP 資源層次樹
此策略緩解了潛在惡意内部人員破壞安全的空間,這些内部人員通常只擁有上圖所示的 GCP 層次結構中的較低級檔案夾或項目的權限。通過确保只有相同或更高級别檔案夾或項目中的實體才能生成對委托服務帳户的訪問令牌,可以阻止低級區網域中的實體獲取服務帳户的訪問令牌。這有助于防止濫用全網域委托權限,并防止對 Google Workspace 數據的訪問。
總結
自 2023 年 6 月以來,研究人員一直在通過各種方式與谷歌讨論這個問題,Axon 團隊也發現了這個問題,他們也向谷歌進行了報告。
在配置此權限時,安全防御者需要考慮與全網域委托功能相關的風險和含義。根據全網域委托授予的範圍,攻擊者可以使用該功能來冒充 Google Workspace 用户,代表他們執行操作并獲得對其數據的未經委托的訪問。
必須強調攻擊者濫用此功能所需的初始權限與可能的影響之間的不匹配。在最壞的情況下,攻擊者或惡意的内部人員可能會泄露敏感的 Google Workspace 數據,例如存儲在網域中的電子郵件、文檔和其他機密信息。
Cortex XDR 功能可以識别和警告各種異常活動,例如授予全網域委托權限或創建 GCP 服務帳户密鑰。Cortex XDR 能夠學習 GCP 和 Google Workspace 實體的攻擊,并檢測異常攻擊。
Prisma Cloud CIEM 可以通過以下方式幫助降低風險和過度權限訪問:
1. 風險權限的可見性、警報和自動補救;
2. 使用最低權限訪問補救措施自動查找未使用的權限;
3.Prisma Cloud 威脅檢測功能可以對各種與身份相關的異常活動發出警報,例如來自雲内部或雲外部的異常使用憑據。
4.Prisma Cloud 還可以執行運行時操作監控,并為與其雲環境相關的任何組件提供治理、風險和遵從性 ( GRC ) 要求。