为什么仅靠白名单无法充分保护云工作负载
作为多年从事云环境工作的专业人士,我亲眼见证了云环境的演变。云工作负载在动态环境中运行,与多样化的服务、API和第三方平台进行交互。
虽然对出站目的地进行白名单处理是一种常见的安全实践,但由于云服务、工作负载和端点的快速演变,保持白名单的最新状态在操作上具有挑战性且困难重重。管理第三方依赖增加了复杂性,即使是受信任的域名也可能被劫持或入侵,从而限制了仅依赖白名单的效果。
仅依赖白名单就像锁上前门却让窗户敞开。本文探讨了基于白名单方法的操作限制和安全漏洞,并通过真实世界的入侵场景说明了这些脆弱性。
白名单专属安全的局限性
白名单目的地可能被入侵
即使是受信任的白名单服务,如GitHub、Dropbox或Slack,也可能被攻击者滥用,用于数据外泄或命令与控制(C2)。
示例: 攻击者使用GitHub仓库或Gist作为C2通道。如果GitHub被列入白名单,恶意工作负载仍然可以“回拨”。
第三方依赖或SaaS集成可能被劫持
云工作负载经常与可能被篡改的API或服务(如NPM、PyPI、S3存储桶)通信。
示例: SolarWinds Orion入侵包括来自受信任、签名源的更新被武器化。如果SolarWinds的更新服务器被列入白名单,恶意更新仍然会通过。
允许域内的DNS隧道或域名伪装
对允许域(如*.google.com)的DNS请求可用于隧道传输数据。
示例: Cobalt Strike信标可以使用DNS隧道。即使域名被允许,通过它传输的数据也是恶意的。
云中的IP白名单脆弱
许多SaaS和云服务使用共享IP池或内容分发网络(CDN),如Cloudflare。托管在同一IP范围内的恶意服务可以绕过过滤器。
示例: 攻击者使用与白名单SaaS相同的CDN来外泄数据。
零日漏洞或供应链攻击
工作负载可能因库、容器或API中的漏洞而被入侵,然后这些工作负载可能向白名单服务发出恶意出站调用。
示例: 在Log4Shell(Log4j)漏洞中,被利用的系统可以向托管恶意负载的白名单轻量级目录访问协议(LDAP)服务器发出出站Java命名和目录接口(JNDI)查找。
白名单中的错误配置
如果像*.amazonaws.com这样的域名被列入白名单,受感染的工作负载可以访问攻击者控制的Amazon S3存储桶或弹性计算云(EC2)实例。
示例: 攻击者在区域特定的S3存储桶(malicious-bucket.s3.us-west-2.amazonaws.com)中设置恶意内容,该存储桶被广泛的白名单覆盖。
真实世界入侵示例
复杂攻击者已经开发出绕过白名单的技术,证明即使仅限于“批准”目的地的流量也可以通过合法渠道促进恶意通信。
域名伪装:利用CDN
域名伪装是一种通过CDN将恶意流量伪装成合法通信来规避白名单的有效方法。使用HTTPS加密,攻击者将对恶意目的地的流量伪装成与白名单域的交互。例如,如果工作负载被允许连接到合法的Akamai托管服务,如www.disney[.]com,它可以与同一IP上的任何域(如23.214.98.69)通信,因为防火墙在DNS和TLS协商期间只看到白名单CDN域。
像Psiphon这样的工具曾利用域名伪装绕过网络限制,使云工作负载中的恶意软件能够建立C2通道,同时看似与批准的服务交互。¹
受感染的SaaS服务:VEILDrive活动
2024年的VEILDrive活动突显了攻击者如何利用受信任的白名单SaaS平台进行持久控制。该攻击使用Microsoft服务,如Teams、SharePoint、Quick Assist和OneDrive作为C2通道,并采用独特的基于OneDrive的方法来管理恶意软件。由于Microsoft服务通常被列入白名单,此类攻击难以检测。
云存储入侵:AWS S3存储桶攻击
Amazon S3存储桶经常因业务需求被列入白名单,但在配置错误或受感染时可能成为攻击向量。攻击者可以使用它们托管恶意内容或操作C2服务器。研究表明,46%的S3存储桶可能配置错误,构成重大风险。
著名的入侵事件包括2020年的Twilio事件,攻击者访问了未受保护的S3存储桶以上传潜在有害的软件开发工具包(SDK),以及2021年的Premier Diagnostics入侵,由于公开可访问的存储桶,暴露了超过50,000条患者记录。
加强安全的最佳实践
- 使用像Infoblox Threat Defense™这样的保护性DNS解决方案来发现DNS流量中的异常。
- 利用威胁情报丰富策略,以阻止白名单类别中已知的恶意目的地。
- 应用深度包检测和行为分析来检测可疑活动。
- 实施零信任分段和最小权限访问以限制网络权限。
- 使用SIEM/SOAR工具监控云原生日志和遥测数据。
结论
白名单是云工作负载的关键安全层,但仅靠它是不够的。复杂攻击者可以利用域名伪装、受感染的SaaS服务、配置错误的云存储和实施漏洞来利用合法渠道。为了保护您的云工作负载,您需要一种分层防御,结合保护性DNS、威胁情报、行为监控和零信任原则。组织必须超越简单的允许/拒绝规则,以应对外部威胁和内部对批准路径的滥用。
脚注
- 通过域名伪装实现抗阻塞通信,Fifield, David, Lan, Chang, Hynes, Rod, Wegmann, Percy, Paxson, Vern, De Gruyter, 2015年6月8日。