摘要
谷歌根据协调漏洞披露(CVD)向微软报告了一个可能影响使用Azure存储SDK(支持Python、.NET、Java)客户端加密功能的填充预言漏洞(CVE-2022-30187)。为缓解此漏洞,微软于2022年7月12日发布了Azure存储SDK客户端加密功能的新正式版(v2)。
微软尚未发现任何针对Azure服务的该漏洞利用报告。建议需要客户端加密的受影响客户迁移至v2版本以保持安全。更多详情请参阅Azure存储博客或下文“参考资料”部分。
客户影响
如前所述,使用Azure存储SDK(支持Python、.NET、Java)客户端加密功能的应用程序可能受到影响,必须更新以尽可能保持安全。若不确定是否受影响,请参阅Azure存储博客中的“如何验证是否使用客户端加密功能”部分。
迁移至v2的指南请参阅Azure存储博客的“修复此漏洞所需的操作”部分。迁移需要:a) 更新代码以使用客户端加密v2;b) 将之前使用客户端加密v1加密的数据迁移至v2。
作为客户端加密的替代方案,受影响客户可考虑使用Azure存储服务端加密来保护静态数据。有关服务端加密的信息,请参阅Azure存储博客的“Azure存储服务端加密”部分。
技术细节
Azure存储.NET、Java和Python SDK支持使用客户在Azure Key Vault或其他密钥库中管理的密钥进行客户端加密。之前发布的Azure存储SDK版本使用密码块链接(CBC)模式进行客户端加密(称为“v1”)。CBC块模式的v1实现存在填充预言攻击漏洞,前提是攻击者具有对Blob的写入权限并能观察到解密失败。我们的调查显示,攻击者需要对每个明文字节执行大量密钥操作才能解密Blob内容。再次强调,微软尚未发现任何针对Azure服务的该漏洞利用报告。
我们感谢谷歌报告此漏洞,并与微软安全响应中心(MSRC)在协调漏洞披露(CVD)框架下合作,帮助保护微软客户的安全。
参考资料
- Azure存储博客
- CVE-2022-30187
- 如有疑问,请通过Azure门户提交支持案例:aka.ms/azsupt