SSL/TLS高危不安全重新协商漏洞

发布时间:2018/1/24 20:58:24 打印 字号:

tls2.jpg

发现时间

      2009-8

漏洞等级

      高危

漏洞原理

      重新协商的漏洞在于新旧TLS连接之间没有连续性,即使这两个连接发生在同一个TCP连接上。也就是说,服务器并不会验证新旧两条TLS连接的另外一端是同一个。当重新协商发生在HTTP请求中时,上层应用是得不到通知的。此外,web服务器有时会缓存重新协商之前的数据,并将这些数据和重新协商后的数据一并发送给上层应用。

      一个中间人攻击者可以通过下面三个步骤来利用这个漏洞

      第一步:拦截一个受害客户端到服务器的TCP连接。

      第二步:新建一个到服务器的TLS连接,包含攻击负载。

      第三步:在受害客户端和服务器之间扮演透明代理。对于客户端,开始了一个新的TLS握手;对于服务端,将会将客户端的TLS握手理解为进行重新协商。一旦重新协商完成,客户端和服务器便开始交换应用层数据。攻击者的攻击数据和客户端的正常数据会被服务器合并处理,从而使得攻击成功。

修复方案

      临时方案:服务器禁用客户端重新协商功能

      升级协议以支持安全的重新协商,2010年,在协议层引入了Renegotiation Indication扩展以便解决不安全的重新协商。