2009-8
高危
重新协商的漏洞在于新旧TLS连接之间没有连续性,即使这两个连接发生在同一个TCP连接上。也就是说,服务器并不会验证新旧两条TLS连接的另外一端是同一个。当重新协商发生在HTTP请求中时,上层应用是得不到通知的。此外,web服务器有时会缓存重新协商之前的数据,并将这些数据和重新协商后的数据一并发送给上层应用。
一个中间人攻击者可以通过下面三个步骤来利用这个漏洞
第一步:拦截一个受害客户端到服务器的TCP连接。
第二步:新建一个到服务器的TLS连接,包含攻击负载。
第三步:在受害客户端和服务器之间扮演透明代理。对于客户端,开始了一个新的TLS握手;对于服务端,将会将客户端的TLS握手理解为进行重新协商。一旦重新协商完成,客户端和服务器便开始交换应用层数据。攻击者的攻击数据和客户端的正常数据会被服务器合并处理,从而使得攻击成功。
临时方案:服务器禁用客户端重新协商功能
升级协议以支持安全的重新协商,2010年,在协议层引入了Renegotiation Indication扩展以便解决不安全的重新协商。
Copyright © 1998 - Gworg, Inc. All Rights Reserved. 江苏光网数字认证有限公司版权所有
苏ICP备15058404号 苏公网安备32058202010008号