Raccoon是TLS规范中的计时漏洞,会影响HTTPS和其他依赖SSL和TLS的服务。这些协议允许Internet上的每个人浏览Web、使用电子邮件、在线购物和发送即时消息,而无需第三方能够读取通信内容。
浣熊允许攻击者在一定条件下破解加密并读取敏感通信。该漏洞确实很难利用,并且依赖于非常精确的计时测量和可利用的特定服务器配置。
Diffie-Hellman(DH)密钥交换是在TLS连接中交换密钥的成熟方法。当使用Diffie-Hellman时,两个TLS对等体随机生成私钥(a和b)并计算它们的公钥:gamodp和gbmodp。这些公钥在TLS密钥交换消息中发送。一旦接收到两个密钥,客户端和服务器都可以计算共享密钥GABmodp-称为预主秘密-该密钥用于导出具有特定密钥导出函数的所有TLS会话密钥。
我们的浣熊攻击利用了TLS规范的侧通道;TLS 1.2(和所有以前的版本)规定在进一步的计算中使用前主密钥中的所有前导零字节都被剥离。由于所得到的预主秘密被用作密钥导出函数的输入,该密钥导出函数基于具有不同定时简档的散列函数,因此精确的定时测量可以使攻击者能够从TLS服务器构造预言机。此预言告诉攻击者计算的预主密码是否从零开始。例如,攻击者可以窃听客户端发送的Ga,将其重新发送到服务器,并确定结果预主密码是否从零开始。
从预主密码中了解一个字节对攻击者帮助不大。然而,在这里,攻击变得有趣起来。假设攻击者截获了包含值g a的ClientKeyExchange消息。攻击者现在可以构造与g a相关的值,并在不同的TLS握手中将它们发送到服务器。更具体地说,攻击者构造值gri*ga,其导致预主秘密gri*b*gab。根据服务器计时行为,攻击者可以找到导致预主密码从零开始的值。最后,这有助于攻击者构造一组方程,并使用隐数问题(HNP)的解算器来计算在客户端和服务器之间建立的原始预主密钥。
浣熊攻击:在TLS-DH(E)中查找和利用最高有效位的预言。罗伯特·梅杰、马库斯·布林克曼、尼姆罗德·阿维拉姆、朱拉伊·索莫罗夫斯基、约翰尼斯·米特曼和约尔格·施文克。
大概不会吧。浣熊是一种复杂的定时攻击,很难利用。要解密一个真实的TLS会话,需要很多明星对齐。然而,也有例外。在满足(极少数)情况下,raccoon允许攻击者解密用户和服务器之间的连接。这通常包括但不限于用户名和密码、信用卡号、电子邮件、即时消息和敏感文档。
该攻击通常以TLS 1.2及更低版本中的Diffie-Hellman密钥交换为目标。攻击有两个先决条件:服务器在TLS握手中重复使用公共DH密钥。如果服务器配置为使用静态TLS-DH密码套件,或者服务器使用临时密码套件(TLS-DHE)并将临时密钥重复用于多个连接,则会出现这种情况。幸运的是,这在攻击之前就已经被认为是不好的做法,因为它不提供前向保密性。
攻击者可以执行精确的计时测量,这允许他/她查明DH共享密钥的第一个字节是否从零开始。
这是一个很好的问题,可能没有令人满意的答案。加密(!)。据我们所知,针对TLS的攻击通常不会被现实世界的攻击者大量使用。攻击者需要特殊的环境才能使浣熊攻击起作用。他需要靠近目标服务器才能执行高精度定时测量。他需要受害者连接才能使用DH(E),服务器才能重复使用临时密钥。最后,攻击者需要观察原始连接。对于一个真正的攻击者来说,这是一个很高的要求。然而,与攻击者破解现代密码原语(如AES)所需的操作相比,攻击看起来不再复杂。但尽管如此,现实世界中的攻击者可能会使用比此攻击更简单、更可靠的其他攻击载体。
可能是。您可以使用以下工具进行检查:www.ssllabs.com,如果";DH public server param(Ys)reuse";表示";yes";,则您的服务器可能易受攻击。
该漏洞不是真正的客户端漏洞。客户端对此无能为力,除了不支持DH(E)密码套件。现代浏览器应该不再支持这些密码套件。据我们所知,Firefox是最后一个支持DHE的主要浏览器,并于2020年6月在Firefox 78中放弃了对它的支持(到目前为止,大多数客户端应该至少运行该版本,如果不是更高版本的话)。您可以在此处检查您的浏览器是否仍然支持DH(E),但重申一下,没有任何实际意义。
不需要,您必须针对要攻击的每个单独连接执行攻击。
不是的。在TLS1.3中,前导零字节为DHE密码套件(以及ECDHE密码套件)保留,密钥不应重复使用。但是,TLS 1.3存在一个变体,它显式地允许(甚至鼓励)密钥重用,称为ETS或eTLS。如果在任一变体中重用临时键,则它们可能导致微体系结构侧通道,这可能会被利用,尽管保留了前导零字节。我们建议不要使用这些变体。
一般不会。在TLS中,PMS的前导零字节保留在用于ECDH的所有版本的TLS中。因此,安全、无泄漏的实现应该是可能的。在其他协议中,情况可能并非如此。据我们所知,即使存在旁信道,目前最知名的算法仍然需要