云服务的广泛使用和“以数据为中心”的应用增加导致了在大量的数据存储中包含了隐私信息。而在访问这些海量数据的时候,就会产生一个名为“影子访问”(Shadow Access)的新威胁。
从本质上说,影子访问就是对云数据、应用系统的不受监控、未经授权、不可见、不安全以及被过度许可的访问,最重要的是,它正随着云身份、应用程序和数据的增长而增长。影子访问增加了云上数据泄露的风险,并进一步引发访问合规、审计和治理方面的风险威胁。在企业组织中,任何形式的影子访问都不应该存在,其引发的后果往往会是灾难性的,并威胁到任何向云上转型发展的组织。
云身份发展的新特性
企业需要给云中运行的所有应用都赋予一个身份,这样才可以安全访问关键的云服务、供应链或数据。因此,云应用访问武器化是云计算应用发展的一个重要问题。据Verizon最新发布的《数据泄露调查报告(DBIR)》强调,80%的数据泄露与身份访问权限异常有关。数以兆计的数据被存储在云平台上,这推动了对这些数据访问的巨大需求,但是当企业组织自动创建了大量的身份访问权限时,有时却没有赋予任何治理措施。
开发人员和产品团队正在迅速将云服务与数据结合起来,以创建新的应用程序,如人工智能聊天机器人、客户数据平台、软件供应链和第三方SaaS。这就催生了不断扩大的云访问面,同时也创建了不可见和易受攻击的访问链,外部攻击者可以迅速将其武器化,以窃取敏感数据。
在很多传统企业中,普遍依赖IAM系统为身份认证提供授权和凭证,并且会和企业的HR系统进行关联。然而,随着业务上云、生态协作、多云混合等场景涌现,以及移动互联、IoT设备的普及,大量设备接入和上云让企业身份信任边界外延,传统IAM方案已经满足不了现代企业数字化发展中的身份和访问治理需求。
随着云应用日益突出,云IDP(Identity Provider,身份提供商)系统开始出现,云应用程序并不部署在企业内部。因此,企业需要将传统的本地IAM系统与新一代的云IDP(如Okta、Azure AD或Ping Identity)结合或协同运行。
云计算的出现还引入了“云IAM”的新概念,用于预置和控制对云上资源、应用程序和数据的访问和授权,并且会被部署在公共云生态系统中。云IAM和传统IAM有很大的不同,因为它主要是针对“云身份(Cloud Identities)”进行分类和检查。首先了解下“云身份”的一些关键特点:
- 企业在云中运行的所有应用都需要有一个身份,可以访问关键的云服务、供应链元素或数据。云服务提供商通过像云IAM这样的关键服务控制这些身份的提供和访问;
- 在云中,每个访问请求在被授予访问权限之前都经过身份验证和授权;
- 云身份可以是人类或非人类身份。人类身份主要是终端用户、开发人员、DevOps和云管理员。非人类身份则是由附加到云服务、API、微服务、软件供应链、云数据平台等的身份组成;
- 云的一个强大之处在于它的“可编程性”。开发人员通过编程方式组合云服务、API和数据来创建应用程序,从而释放出这种能力。现代云应用实际上是由API驱动的许多分布式服务的集合,跨越提供商及其生态系统。当开发人员结合云服务时,他们创建了具有访问数据路径的自动身份;
- 云的另一个特性是自动化。云计算团队使用基础设施即代码的自动化功能来轻松地启动和定义他们的云资源、云身份及其访问。在此过程中,一个原则是“自动化第一,治理第二”。
影子访问的产生
云计算创造了一个“以身份为中心”的世界,围绕它们的差异性导致了影子访问的根本原因。影子访问产生的根本原因不仅源于拥有云身份,还源于云驱动的身份应用复杂性和管理流程的变化。
从复杂性的角度来看,主要包括:
- 数据不再存储在单个数据存储中。云数据存储和数据共享应用程序在云和SaaS环境中激增;
- 应用程序并非单一的,而是由相互关联的身份系统、云服务和数据组成的令人眼花缭乱的组合;
- 连接云生态系统的SaaS应用程序的使用大幅增加;
- 每个云服务都有相关的权限和权利,为敏感数据和操作提供授权;
- 与传统的本地环境相比,云环境的权限和授权规模更大,复杂程度也更高;
- 组织使用多云和公共/私有云环境的组合。
而流程变化主要体现在:
- 新的身份和访问通常由开发人员使用基础设施即代码集中创建;
- 新身份的配置文件通常是从一个模板中复制的;
- 自动创建新的身份和访问,几乎没有任何治理措施;
- 身份访问的应用程序不断变化,没有完整的访问审查;
- 为了提高速度,应用程序组件经常被重用、复制或用于多个应用程序;
- 越来越多的SaaS和第三方应用程序没有正式的安全审查;
- 应用程序访问的数据存储在不断变化。
由于云应用程序是分布式且不断发展的,因此一个元素的更改就可能会对整体暴露产生意想不到的后果。正是这种应用程序的高度复杂和不断发展的性质,以及围绕云身份创建和持续审查的流程中断,导致了影子访问和其他相关威胁的大规模暴露。
影子访问的主要类型
影子访问存在多种类型,具体是由身份(即第三方、开发人员、过期账户、机器身份)与访问类型的组合创建的,例如休眠访问、链式访问(或二次访问)、未经授权的访问(通过恶意系统或IP)等。
- 不可见访问:在某些时候,云服务控制台没有显示存储桶的有效权限,导致存储桶保持打开状态;
- 意外/未授权访问:云应用系统被恶意代码植入,导致未授权的外部访问处于打开状态;
- 过度访问:管理员在只需要访问特定数据存储或云服务的情况下,提供具有完全访问权限的策略;
- 休眠访问:具有完全访问权限的策略在60天内未使用,但仍可用于分配角色;
- 跨账户访问:对于很多已经不再是客户的老旧身份,仍然启用了跨账户共享;
- 高风险访问:客户危急情况允许开发人员访问资源,但在情况解决后没有撤销权限;
- 有毒组合(TOXIC COMBINATION):通过应用程序身份以及权限管理权限对数据存储桶进行编程访问;
- 未使用的数据:类似于休眠访问,指的是数据在一定时间内没有使用,但访问权限仍然是启用状态。
影子访问的危害
影子访问的存在会给企业造成很多灾难性后果,一个代表性的事例就是CircleCI漏洞。在此事件中,未经授权的恶意行为者于2022年12月22日泄露了客户信息,其中包括第三方系统的环境变量、密钥和令牌。更糟糕的是,当企业在进行事件处置时,无法准确掌握这些被盗的密钥是否已被用来攻击他们的云账户,因为CircleCI或当前任何安全工具都无法满足这个需求。
研究人员发现,现代企业中的很多部门或人员都受到了影子访问风险的影响,其危害具体包括:
- 现有安全治理工具无法识别大量的云身份和访问路径;
- 影子访问导致的治理和可见性缺口使得IAM 防护很难实现;
- 那些无法识别的访问路径让更多漏洞被利用来破坏云数据;
- 威胁行为者可以将可编程访问武器化,造成远远超出数据泄露的伤害;
- 连接到云生态系统的第三方和SaaS应用程序会带来横向移动风险;
- 影子访问的存在造成了数据安全、审计和合规风险,并造成了政策和治理缺口。
影子访问的防护建议
为了有效应对影子访问的产生及风险,企业必须重点解决以下三个关键问题:
- 太多的警报和安全工具:很多企业使用了太多的身份认证工具,这些工具会产生太多的安全警告,但是这根本无法防止云上的数据泄露和盗窃。
- 数据分散导致的可见性确实:当前的安全工具缺乏对统一身份管理的全局可见性,因为这些数据分布在不同的工具中,包括云IAM、云IDP、基础设施即代码、数据存储和HR系统。而访问管理措施也分散在票务系统、电子邮件、电子表格和屏幕截图等各类应用中。
- 手动、静态的管理流程:很多企业所部署的IAM系统,其治理和合规管理还是手动的、静态的,甚至还是在依靠电子表格、截图和电子邮件来收集有关谁有权访问哪些数据、谁正在访问哪些数据以及访问方式的变化。
研究人员建议,企业应该立即建立以下举措来应对:
- 建立“万物访问(all things access)”的单一事实来源,通知基于风险的访问控制,以保护数据和云的治理;
- 全面整合IAM系统的各类型数据,以获得云IAM操作所需的跨身份、访问、数据状态和治理的连接上下文;
- 实现自动、准确和及时地报告数据访问,简化云访问审计流程,并使治理形成闭环,以控制跨开发和生产环境的数据盗窃访问。
参考链接:
https://stackidentity.com/wp-content/uploads/2023/05/Stack_Identity_ShadowAccess_Ebook_Final.pdf