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訪問令牌請求
Prisma Cloud RQL語法中的等效查詢
下圖顯示了研究人員檢查了誰給了這個服務帳戶全域委託權限,以及什麼時候發生了這種情況。
搜索指示已向服務帳戶授予全域委託權限的日誌
Prisma Cloud RQL語法中的等效查詢
下圖顯示了在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)要求。
Recommended Comments