为什么仅靠白名单不足以保护云工作负载安全
作为在云环境工作多年的人员,我亲眼见证了安全形势的变化。云工作负载在动态环境中运行,与各种服务、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日。