2011 年 10 月 20 日
最近,安全研究人员在部分 AWS 服务采用的签名包装技术和高级跨站点脚本中发现了潜在安全漏洞。这些潜在漏洞已经修复,未影响客户。以下为研究成果摘要及执行适当用户验证的最佳实践提醒。全面实施 AWS 安全最佳实践的客户不会受到这些漏洞影响。
研究表明,SOAP 解析错误可能导致处理存在重复消息元素和/或缺少加密签名的特制 SOAP 请求。如果出现这种情况,可访问未加密 SOAP 消息的攻击者可能以其他有效用户的身份执行操作,并执行无效 EC2 操作。例如,如果攻击者以不当方式获取 EC2 客户之前生成的预签名 SOAP 请求或客户的公用 X.509 证书,则可能会代表其他客户生成任意 SOAP 请求。
尽管获取预签名 SOAP 请求或 X.509 证书很难,但研究人员指出,如果客户在通过 HTTP(而非可拦截的公共环境中的 HTTPS)发送 SOAP 请求,或将 SOAP 请求的所有内容留在攻击者可以访问的位置(例如,公共消息论坛),则攻击者也可执行此操作。此外,安全研究人员发现并报告了其他跨站点脚本 (XSS) 漏洞,攻击者可通过这些漏洞获取客户的公用 X.509 证书。通过这种方式获取客户公用 X.509 证书的攻击者可以代表其他客户生成任意 SOAP 请求,从而利用上述漏洞。
SOAP 和 XSS 漏洞均已修复,且通过广泛的日志分析确定未影响客户。
温馨提示,为保护客户,AWS 推荐了多种安全最佳实践:
- 仅对 AWS 服务使用可靠的 SSL/HTTPS 终端节点,并确保客户端实用工具执行适当的对等证书验证。在所有经过身份验证的 AWS API 调用中,使用非 SSL 终端节点的比例非常小,AWS 计划在将来弃用非 SSL API 终端节点。
- 为 AWS 管理控制台访问启用并使用 Multi-Factor Authentication (MFA)。
- 创建角色和责任有限的 Identity and Access Management (IAM) 账户,仅允许访问这些账户特别需要的资源。
- 通过 IAM 源 IP 策略限制,进一步限制 API 访问和交互。
- 定期轮换 AWS 凭证,包括密钥、X.509 证书和密钥对。
- 使用 AWS 管理控制台时,请尽量减少或避免访问其他网站,并遵循安全互联网浏览策略,程度可比对银行业务或类似的重要/关键在线活动。
- AWS 客户还应考虑采用除 SOAP 以外的 API 访问机制,如 REST/Query。
AWS 感谢以下人员报告上述漏洞并与我们一起致力于追求安全性:
来自德国波鸿鲁尔大学的 Juraj Somorovsky、Mario Heiderich、Meiko Jensen 和 Jörg Schwenk
来自 NEC Europe 的 Nils Gruschka
来自德国科隆应用技术大学的 Luigi Lo Iacono
保证安全性是我们的首要任务。我们始终致力于为客户提供各种功能、机制和协助,从而打造安全的 AWS 基础设施。如有安全相关问题或疑问,请通过 aws-security@amazon.com 与我们联系。