今天小编分享的互联网经验:分析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 ) 要求。