跳转到: 导航, 搜索

OSSN/OSSN-0062


已撤销的身份令牌的潜在重用

总结

身份服务颁发的授权令牌可以被撤销,旨在立即使该令牌对未来使用无效。在使用 PKI 或 PKIZ 令牌提供程序时,攻击者有可能操纵已撤销令牌的内容,使其仍然被认为是有效的。如果攻击者截获了已撤销的令牌,这可能允许未经授权访问云资源。

受影响的服务 / 软件

Keystone, Icehouse, Juno, Kilo, Liberty

讨论

令牌撤销在 OpenStack 中用于使令牌进一步失效。在某些情况下,例如用户退出 Dashboard 时,此令牌撤销会自动发生。如果另一方获得了已撤销的令牌,则不应再能够使用它在云中执行任何操作。不幸的是,在使用 PKI 或 PKIZ 令牌提供程序时并非如此。

当验证 PKI 或 PKIZ 令牌时,身份服务会通过搜索整个令牌来检查其是否被撤销。攻击者有可能操纵被截获的 PKI 或 PKIZ 令牌中未受到密码保护的部分,这将导致撤销检查错误地认为该令牌有效。

建议的操作

我们建议不要使用 PKI 或 PKIZ 令牌提供程序。PKI 和 PKIZ 令牌提供程序与 UUID 或 Fernet 等其他令牌提供程序相比,没有提供任何显著的优势。

如果您正在使用 PKI 或 PKIZ 令牌提供程序,建议切换到使用另一个受支持的令牌提供程序,例如 UUID 提供程序。此问题可能在身份服务中 PKI 和 PKIZ 令牌提供程序的未来更新中得到修复。

要检查您正在使用的令牌提供程序,您必须查看身份服务的 'keystone.conf' 文件。下面提供了一个示例

 [token]
 #provider = keystone.token.providers.pki.Provider
 #provider = keystone.token.providers.pkiz.Provider
 provider = keystone.token.providers.uuid.Provider

在身份服务的 Liberty 版本中,令牌提供程序配置与以前的 OpenStack 版本不同。下面提供了一个来自 Liberty 版本的示例

 [token]
 #provider = pki
 #provider = pkiz
 provider = uuid

这些配置片段正在使用 UUID 令牌提供程序。如果您正在使用这些示例中注释掉的任何设置,您的云容易受到此问题的影响,您应该切换到不同的令牌提供程序。

联系方式 / 参考文献