野兽 / 犯罪 / 海滩袭击及其阻止

野兽 / 犯罪 / 海滩袭击及其阻止

我已经阅读了大量有关这方面的内容,但并不完全确定我理解发生了什么。

另外,这是一个、两个还是三个问题?

在我看来它有三种,但都很令人困惑:

Beast
CRIME
Beach

看来解决方案可能只是不对 HTTPS 流量使用压缩(或者只是其中之一?)

我使用 GZIP 压缩。这样可以吗?还是这也是问题的一部分?

我也使用 Ubuntu 12.04 LTS

另外,非 HTTPS 流量可以吗?

因此,在阅读完所有理论后,我只想要解决方案。我认为这可能是解决方案,但有人可以确认我已经理解了所有内容,所以我不太可能遭受这种攻击吗:

SOLUTION: Use GZIP compression on HTTP traffic, but don't use any compression on HTTPS traffic

答案1

CRIME 和 BREACH(注意其中有一个“R”)使用 TLS 级压缩来“泄露”有关加密数据的信息。简而言之:如果您可以控制部分数据流并发送不同的数据,当您发送与您无法控制的流部分相同的数据时,输出将更小(因为压缩将对它们进行重复数据删除),并且您将知道您无法控制的部分的内容。

BEAST 利用了 TLS 1.0 中 CBC 加密的一个缺陷。它基本上不切实际,但已经创建了一个演示漏洞,并且肯定有效。有两个潜在的修复方法,禁用 CBC 加密(基本上包括所有“良好”的 TLS 加密,只剩下 RC4,它本身存在漏洞,包括泄露明文)或禁用 TLS 1.0 并仅使用 TLS 1.1(或更新版本,即 1.2)。

这些攻击大多不切实际,但如果您处于高安全性环境(如 PCIDSS 或 EHR),则需要禁用 TLS 压缩和 TLS 1.0 CBC 加密。TLS 压缩与内容压缩(即 Deflate 和 GZip)完全分开。根据最新统计数据,大约 2/3 的 HTTPS 服务器“易受” BEAST 攻击,大约 1/6 易受 CRIME 攻击。从长远来看,1/3 的服务器易受攻击是因为它们运行的​​配置很愚蠢,几乎无法在任何级别正确保护数据。

编辑:
回应您的评论:通常作为“SSL 证书”销售的实际上是 x509 证书,除了被协议使用外,与 SSL 没有任何关系。获取证书时,请确保它是 2048 或 4096 位(前者非常常见)RSA 或 384+ 位 ECDSA。证书使用非对称加密,速度非常慢 - 因此它们不用于加密通过 SSL/TLS 传输的数据。它们仅用于商定流密码要使用的密钥。

常见的流密码有 RSA、RC4、Camellia 和 DES/3DES。这时,您会遇到 64 位、128 位、256 位加密 - 这是这些流密码的密钥大小。从系统管理员的角度来看,RSA 是广泛支持的密码中“最好的” - 但它受到上述 BEAST 攻击中的 CBC 问题的影响。RC4“泄露”明文。Camellia 非常棒,但并未得到普遍支持,因此您不能在公共环境中依赖它。DES/3DES 已损坏,永远不应再使用。

您实际上和数百万其他人一样,面临着同样的问题:在通用支持和功能安全之间做出选择。您现在无法同时拥有两者。在我看来,禁用 TLS 压缩是件轻而易举的事,因为内容压缩弥补了大部分差异 - 因此“修复”问题的成本很低。但流密码的选择几乎是:使用 RC4 或 AES 实现有缺陷的安全性,或者要求 TLS 1.1+ 并破坏一半互联网上的网站。

脚注:别担心,当量子处理器达到 128 位以上,破解“SSL 证书”变得轻而易举时,这一切都会变得一文不值。我们距离这个目标可能不到 10 年,目前是 4 位。

相关内容