意图弃用和删除:不安全的TLS版本回退

https://p0.ssl.qhimg.com/t016db7f607fc48b5d5.jpg

概要:

 TLS(TLS:安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性)中有一个版本协商机制,用来确保推出的新版本不会破坏兼容性。

然而,在一些有bug的服务器中,由于版本不兼容等原因,就会出现TLS不安全的问题,因而使得浏览器被迫增加一个不安全回退机制,来解决这个问题。在连接失败之后,我们使用了广告成本更低的浏览器版本,进行再次连接。

去年,由于Google发现了POODLE漏洞(POODLEPadding Oracle On Downloaded Legacy Encryption vulnerability),可被攻击者用来窃取采用SSL3.0版加密通信过程中的内容,又被称为“贵宾犬攻击”),所以SSL3.0版本的回退脚本机制被删除了,之后不久,整个SSL 3.0版本就被删除了。之后,在Chrome 45 中,我们也以类似的方法进行了试验,删除了另一个脚本机制,观察浏览器的运行情况,来逐步删除整个版本。我们很快就能完成这项工作,彻底清除其中的不安全性。

在此过程中,并不会删除TLS1.0或1.1的支持机制。虽然服务器的要求是要将TLS升级到1.2版本,但Chrome仍能继续支持TLS1.0和1.1版本,可以不必急着更新。到目前为止,只有那些无法正常使用TLS的漏洞服务器会受到影响。

动机:

这个回退机制是通过绕过TLS的降级保护来实现。尽管浏览器客户端和服务器都支持新的,更安全的协议版本,但攻击者还是可以强制越过所有网站(不只是那些有bug的网站)的安全保护,像攻击安全机制落后的旧版本一样,对其发起攻击。当他们对旧版本的协议发起攻击时,类似于POODLE漏洞之类的问题就暴露出来了。FALLBACK_SCSV( RFC 7507 能修正这一问题,但它需要客户端和服务器的支持

TLS的回退机制同时也会修正一些执行错误。要是没有这个回退机制,我们将会看到,在很多供应商提供的新的服务器软件中,都会出现一些或大或小的错误。

兼容性风险:

现在,任何不兼容TLS 1.2的网站都将处在被攻击的危险之中。在Chrome仅保留了TLS 1.1回退机制,而将其余机制删除之后,我们发现,那些其实都是1.2的兼容版而并非1.1兼容版。我们并没有意识到有这样的服务器存在(正是由于这已经是自SSL 3.0发布以来,出现的第三个版本漏洞了,所以用户迫切希望能够尽快修复这一bug)FireFox(火狐)在Mozilla(Mozilla FireFox Browser:火狐公司推出的一款网页浏览器)已经将TLS 1.1的回退机制删除了,并将浏览器版本退回至FireFox 37,任何不兼容TLS 1.2回退的网页,火狐浏览器都无法加载。

同时,还有一个额外的风险存在,即当一些无关的服务器bug出现时,它们会被回退机制所掩盖,浏览器也不会进行提示。值得注意的是,我们还意识到一个问题,在使用Chrome要进行网页浏览时,与基于windows的服务器创建的连接中,有一小部分会受到影响,这会影响用户正常使用浏览器。这个问题比之前设想的那些似乎要更为普遍。

给管理员的操作建议:

受到影响的网站将会无法加载,同时会出现一个专用的网络错误代码:ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION。(这个页面在以前的迭代网页中就已经出现过)

为此,我们会将这个错误页面重定向到帮助中心的一篇文章上,里面有提供给服务器管理员的,关于这一问题的解决办法。

服务器管理员首先应确保他们的软件是及时更新的。若问题还没解决,那么就可以联系软件供应商,让他们来帮助解决。供应商发现bug之后,应该立即进行修复,并按照协议要求,对服务器进行调试。确认无误之后,再交付用户来使用。在基于Windows的服务器中,出现的问题大多都是用KB3042058来解决的。请注意:在安装KB3042058之前,对其进行相应的性能描述,是非常必要的。

我们以企业网络管理举例,这可能不具有很强的代表性。但我们想说的是,当出现问题时,企业网络中的SSL回退机制管理策略,应该可以给管理员提供更多机会,来修复服务器。

从UMA获得的使用信息:

在使用SSL回退机制的HTTP请求中,都应该具备回退机制。但经过我们的调查,在过去的一周时间里,只有0.0017%的HTTP请求提出了回退的请求。

在之前的几个版本中,比如在Chrome 45中,该比例只有0.015%。这原先被认为是Windows漏洞所导致,但实际上,远远没这么简单。现在,它已经是一个涉及到SSL 和TLS的复杂问题了。(我们对这一bug进行了测试,发现这一比例是在下降的。之后,根据实验结果,仍然排除不了是因为DHE(DHE:加密协议连接。用于防范BT协议过滤。)出错而导致bug的这一可能性,我们无奈地停止了测试,将测试数据保留了下来。之后,我们还对一个具体的DHE问题进行了研究,它同样也受到TLS的影响。最后,我们发现,这其实是源协议出了问题。)

OWP推出的追踪bug:

https://crbug.com/583787 

获取相关特性:

https://www.chromestatus.com/feature/5685183936200704 

同意撤销吗?

撤销机制已经被定为一项额外的预防措施,安装在了测试程序中。如果在测试过程中,发生任何的意外情况,我们可以对当前步骤进行撤销,退回到之前的步骤。这样,在对Chrome 50的监测过程中,我们可以实时地掌握各项参数,以达到最好的测试要求。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐