CRIME & BEAST 攻击的原理会影响 VPN 吗?

信息安全 tls 开发 虚拟专用网
2021-08-12 16:39:19

我最近在阅读有关 CRIME 和 BEAST 能够通过攻击安全会话中的压缩来利用的 SSL/TLS 攻击。阅读本文后,我记得 OpenVPN 在 VPN 服务器配置中具有压缩选项。我想知道是否可以对 OpenVPN 和其他使用压缩的 VPN 连接使用对 TLS 的相同类型的攻击。

4个回答

不,它根本不适用。

需要明确的是,这两种攻击都涉及恶意攻击者通过协议创建大量连接并检查密文以确定有关明文的内容。唯一可行的方法是让恶意行为者在您的计算机上、在您的浏览器中进行攻击。他们通过 java/javascript 执行此操作,假设您可以通过访问危险网站偷偷运行恶意代码,即使您的机器没有受到其他方面的损害。

这个概念并不真正适用于奇怪的网络浏览器世界之外。浏览器具有在受限环境中安全运行已知恶意代码的不同寻常的任务。如果您直接在可以通过 VPN 连接的计算机上运行恶意代码,那么您已经拥有了。

特别是在 VPN 中,会话管理是不同的。使用 HTTPS 时,通常会在客户端和服务器之间创建数十个连接,而使用 VPN,您只需创建一个带有单个会话的加密隧道,所有单独的网络连接都将通过该会话进行加密。

所以不,这是一个完全不同的世界。

BEAST 和 CRIME可能适用。这取决于您在 VPN 中执行的操作。

两种攻击都是选择明文类型:它们在以下情况下起作用:

  • 攻击者可以观察到加密流。
  • 流中发送了一个秘密数据元素,攻击者对此非常感兴趣。
  • 攻击者还可以随意触发该元素的发送,在秘密元素附近注入他自己的额外数据。

BEAST 和 CRIME 应该工作的场景是,如果VPN 处于活动状态,您使用 Web 浏览器执行以下操作:

  1. 使用“基本身份验证”或 cookie 访问纯 HTTP 内部站点(位于 VPN 出口点附近),攻击者对您的密码或 cookie 感兴趣。

  2. 还可以查看外部网站,包括攻击者可以放置恶意 Javascript 的网站。

在这些条件下,BEAST 和 CRIME 的概念适用。BEAST 很难成功,因为攻击者必须与外部 SSL 记录很好地同步,并且能够以位到位的精度发送任意二进制数据;允许这样做的已知漏洞已在浏览器中修复。犯罪更容易。攻击者的一个(次要)复杂情况是 OpenVPN 维护单个流,因此压缩“记住”先前的请求;攻击者必须定期注入随机垃圾以填充压缩窗口并将其放回 CRIME 运行良好的条件下。

当然,如果你使用 TLS 1.1 或 1.2,BEAST 就不起作用;OpenVPN 使用的 TLS 实现可能包括 TLS 1.0 的保护机制(“ 1/n-1拆分”)。如果您与内部站点的连接受到 SSL 保护,那么 CRIME 也将不起作用,因为 OpenVPN 级别的压缩只会看到它无法压缩的加密数据。相反,如果内部 SSL 使用压缩,CRIME 应该仍然可以工作,尽管有 VPN。

如果出现以下任何情况,BEAST 将被阻止:

  • TLS 协议版本为 1.1 或更高版本。
  • 对称加密算法不是 CBC 模式中的分组密码。
  • SSL/TLS 库系统地应用1/n-1拆分或类似的变体。

如果不应用压缩,CRIME 将被阻止,压缩包括攻击者所针对的秘密值和攻击者选择的明文。

综上所述,如果您在连接到 VPN 服务器周围的本地网络中的某些服务时使用您的 VPN 作为 SSL/TLS 的替代品,那么像 BEAST 和 CRIME 这样的 HTTPS 攻击至少在理论上是可行的。事实上,BEAST 和 CRIME 将 HTTPS 视为使用纯 HTTP 的专用 SSL 驱动的 VPN。如果您使用实际的 SSL 驱动的 VPN 复制相同的模型,那么它们仍然应该适用。另一方面,如果您仅将 VPN 用于路由(因此您的连接似乎从 VPN 服务器退出),并且仍然使用普通 HTTPS 来处理任何敏感问题,那么 VPN 实施的变幻莫测对安全性无关紧要。

VORACLE,“攻击向量与 CRIME 和 BREACH 攻击有相似之处,尤其是基于 HTTPS 的连接”:https ://community.openvpn.net/openvpn/wiki/VORACLE

由于跨域请求,CRIME 和 BEAST 适用于浏览器。您可以在一个选项卡中浏览trustedsite.com,在另一个选项卡中浏览 evilsite.com。evilsite.com 可以向trustedsite.com 发起跨域请求,并且您的身份验证cookie 附加到这些请求。如果 evilsite.com 也在嗅探您的加密流,那么他们在这里有很多工作要做;这被称为“自适应选择明文攻击”。即便如此,这些攻击也很复杂,而且在开发实际攻击之前很长一段时间就知道一般问题。

在 VPN 上,您可能在同一加密流上混合了不受信任的私有数据。但是,它不会像跨域请求那样以可预测的方式混合。似乎极不可能有人为此开发出实际的攻击。然而,极不可能并不等于不可能,所以我希望 OpenVPN 的创建者正在考虑他们可能包含的解决方法(比如在流中填充一些随机数据)——就像浏览器已经为 BEAST 和 CRIME 实现了解决方法一样。