近期,备受瞩目的Circle CI、Okta和Slack SaaS供应链漏洞反映了攻击者瞄准企业SaaS工具以渗透其客户环境的趋势。对于安全团队来说,这种趋势令人担忧。
然而,更糟糕的是,SaaS供应链只是整个SaaS攻击面的一部分。可以说,SaaS攻击面已经扩展到了组织中使用的每个SaaS应用程序、帐户、用户凭据、OAuth授权、API和SaaS供应商(托管或非托管)。监视这个攻击面感觉像是一项不可能完成的任务,因为任何拥有信用卡甚至只是一个公司电子邮件地址的用户,都有能力在几次点击中扩展组织的攻击面。
数据说话:SaaS攻击面到底有多大?
为了帮助组织更好地了解SaaS攻击面,SaaS安全公司Nudge Security凭借其威胁研究专业知识,创建了一个SaaS攻击仪表盘,其中包含SaaS暴露情况、高价值目标以及SaaS网络和供应链风险等,这些都是网络安全团队优先考虑的领域。
SaaS暴露情况
Nudge Security查看的第一个数据是面向公众的资产,或者可以在互联网上被攻击者发现并与目标组织相关联的资产,从而产生风险暴露。平均而言,组织的资产暴露情况如下所示:
- 13个面向公众的SaaS应用;
- 23个注册域名(剔除异常值);
- 122个社交媒体账号(剔除异常值);
高价值目标
接下来,研究人员考虑了不一定面向公众,但确实处理企业知识产权和敏感数据的SaaS资产。其中包括云基础设施、处理源代码和工件的SaaS应用程序、财务和人力资源SaaS应用程序、文件共享服务以及包含客户数据的SaaS应用程序(如CRM)。
分析结果表明,当涉及到源代码存储库和托管SaaS应用程序的工件时,组织通常使用大约3个不同的提供商(中位数为3.5个)。然而,这些几乎并非孤立的环境,因为组织通常会通过OAuth授权将无数其他SaaS应用程序连接到这些环境中,我们将在下文中讨论这一点。
OAuth风险因素
接下来,研究分析了组织在使用现代SaaS应用程序的复杂网络(通过OAuth授权相互连接)时所面临的风险。要解决“其他哪些应用程序可以访问我的数据”这一基本问题,了解应用程序之间存在哪些OAuth授权和作用域非常重要。
结果发现了以下关于OAuth授权和风险的数据:
- 平均来说,OAuth授权包含三个不同的作用域。
- 10%的OAuth授权被认为是高风险的。
- 以下SaaS应用程序拥有最多的OAuth授权:Google Workspace:平均45个授权;Microsoft 365:平均42个授权;Slack:平均20个授权;Github:平均10个授权;Zoom:平均6个授权;
SaaS供应链漏洞
最后,研究发现在过去的12个月中,组织在其SaaS供应链中平均发生了6次数据泄露。2022年是SaaS供应链遭受攻击最严重的一年,包括Okta、Github、MailChimp、Digital Ocean、Signal在内的许多公司均受到重创。
像Lapsus$这样的威胁行为者组织已经证明了攻击者有能力在SaaS供应链中横向移动,以获取高价值目标。考虑到SaaS供应链的复杂性以及传统上较低的安全可见性,这种趋势可能会持续下去。
不断扩展的SaaS攻击面还只是一方面,另一方面,威胁行为者的SaaS攻击技术也在不断演进,进一步加剧了威胁形势。下面,我们将介绍一些最常见的SaaS攻击技术。
最常见的SaaS攻击技术
要驾驭SaaS安全的复杂格局,需要对网络犯罪分子部署的各种攻击技术有细致的了解。从通过凭据填充或网络钓鱼等策略获得访问权限的初始阶段,到涉及SaaS应用程序内部横向移动的高级策略,威胁是多方面的,并且仍在不断发展。
本节将深入研究这些技术的机制,为组织提供识别错误配置等漏洞的知识,并加强SaaS环境以抵御每个阶段的攻击。
1. 侦察和情报收集
在这部分中,我们将探讨攻击者如何收集有关SaaS环境的初始情报(侦察)以发现潜在漏洞。与传统系统不同,SaaS平台为防御者和攻击者都带来了一系列不同的挑战和机遇。
常见的技术
- 租户发现:识别组织使用的特定SaaS租户可以为攻击者提供重点目标。
- 用户枚举:通过利用注册或登录页面,攻击者通常可以确定特定的电子邮件地址是否与服务相关联。
- API端点探测:攻击者经常探测API端点,以了解体系结构并找到潜在的缺陷。
缓解策略
- 定期审计:进行安全审计,以识别SaaS应用程序中的潜在弱点。
- 速率限制:在API和用户端点上实现速率限制,以阻止自动扫描尝试。
- 多因素身份验证(MFA):始终启用MFA以添加额外的安全层,特别是在初始登录阶段。
2. 初始访问和渗透战术
在这部分中,我们将解析攻击者用于获取对SaaS应用程序的初始访问权的方法。SaaS服务通常可以通过互联网访问,这使得它们成为攻击者绕过传统网络防御的诱人目标。
常见的技术
- 愿者上钩式网络钓鱼(Consent Phishing):攻击者诱骗用户授予恶意应用程序访问敏感数据或功能的权限。
- 凭据填充:使用泄露或被盗的凭据来获得对帐户的未经授权访问。有效监控此类凭据泄露是关键。
- 投毒租户:渗透到共享或多租户环境中,从而全面危及安全性。
缓解策略
- 用户培训:教育用户关于SaaS的网络钓鱼风险,以及不要跨服务重用密码的重要性。
- 强大的访问控制:实现严格的权限并使用“最小权限原则”来限制未经授权访问的风险。尝试遵循访问控制的最佳实践。
- 定期监控:采用实时监控和警报机制,以快速识别和防止未经授权的访问尝试。
3. SaaS环境中的执行策略
在该部分中,我们将探讨攻击者用于在受损的SaaS应用程序中执行恶意活动的方法。
常见的技术
- 影子工作流:自动工作流可以被恶意设置以泄露或操纵数据。
- OAuth令牌:攻击者滥用OAuth令牌来代表合法用户进行操作。
- 客户端应用程序欺骗:恶意客户端应用程序用于欺骗用户并执行未经授权的活动。
缓解策略
- 审查和审计工作流:确保只有经过批准的工作流是有效的。
- OAuth监控:定期审查和验证给予OAuth令牌访问的第三方应用程序。
- 软件防护:采用能够识别和阻止恶意客户端应用程序的解决方案。
4. 特权升级和持久化
本部分将重点讨论攻击者如何在SaaS应用程序中提升特权并维护持久访问。
常见的技术
- API密钥:攻击者窃取或滥用API密钥以获得更高的权限。
- 邪恶孪生(Evil Twin)集成:创建看起来像合法服务的恶意集成。
- 链路后门:修改共享链接以包含恶意负载或重定向。
缓解策略
- API密钥管理:定期轮换和妥善保护API密钥。
- 集成审核:定期审核第三方集成是否有任何不寻常的活动或权限。
- 链路验证:实现链路验证方案,验证共享链路的真实性。
5. 凭证和数据泄露:破解SaaS Vault
谈到SaaS安全性,最令人担忧的一个方面是攻击者可能未经授权访问敏感数据。即使在初始访问和建立持久性之后,最终目标通常还是围绕着窃取或操纵有价值的信息。本节重点介绍攻击者用于破坏凭据和数据的一些最常用方法。
常见的技术
- 密码抓取:这是一种最直接却又非常有效的方法。攻击者会使用各种工具来抓取可能存储在不太安全位置的密码,例如文本文件甚至电子邮件。
- API机密盗窃:API是将许多SaaS应用程序粘合在一起的粘合剂,允许它们无缝地相互通信。然而,API机密(本质上是这些数字锁的钥匙)有时存储并不安全。攻击者可以定位并窃取这些机密,以获得对多个服务的不受限制的访问。
- 帐户恢复漏洞:众所周知,攻击者会利用帐户恢复过程,欺骗系统向他们控制的电子邮件地址或电话号码发送重置链接。这可能涉及社会工程、利用薄弱的安全问题或利用以前被盗的数据。
缓解策略
- 强密码策略:执行复杂的密码要求和定期更改。
- 安全API管理:利用工具保持API密钥及机密加密和安全。
- 用于恢复的多因素身份验证:甚至为帐户恢复过程实现MFA过程,以增加额外的安全层。
结语
随着SaaS应用程序继续成为业务操作的组成部分,采取主动的安全方法至关重要。从识别侦察活动到监视基于凭据的攻击,保护SaaS环境是一项多方面的挑战。希望上述缓解建议可以帮助组织更好地应对此类威胁。
参考链接:
https://www.nudgesecurity.com/post/the-saas-attack-surface-by-the-numbers
https://www.resmo.com/blog/saas-attack-techniques