Internet Explorer SSL 加密缺陷

来源:梦幻罗马城 作者: 2007-12-10 出处:pcdog.com

  • 解决方案
  • ssl
  • 加密
  • 安全

  •   涉及程序:
      IE 5 / 5.5 / 6
      
      描述:
      IE SSL加密缺陷允许获得其它域的合法CA签发证书
      
      
      详细:
      Internet Explorer 在实现 SSL 加密的过程中存在一个缺陷,允许攻击者进行中间人攻击,而受害者不会得到任何提示和警告,根本无法发觉。
      
      通常情况下是,如果一个 web 站点的管理员想为自己数据通讯提供SSL加密,就需要管理员在服务器端生成一个证书并由CA证书授权中心签发。并且产生的证书的识别名(Distinguished Name)字段中的公用名(Common Name)必须和使用服务器证书的主机的全名完全相同。
      
      CA 在验证公用名(Common Name)和使用服务器证书的主机全名完全相同后,再签发证书并将证书返回。
      
      现在我们假定管理员为增强站点 www.thoughtcrime.org 的安全性,使用SSL加密的证书签发过程如下:
      
      [CERT - Issuer: VeriSign / Subject: VeriSign]
      -> [CERT - Issuer: VeriSign / Subject: www.thoughtcrime.org]
      
      当一个 web 浏览器接收到这个证书时,必须首先验证公用名(Common Name)是否和使用服务器证书的主机全名完全相同,并且是否是由已知的CA证书签名。这种情况下攻击者不可能进行中间人攻击,因为此时不可能使用合法的CN名和合法的签名来替代证书。
      
      然而,有时在一些比较复杂的情况下,为了方便进行本地授权,例如像 www.thoughtcrime.org 等站点的管理员会从本地授权中获得如下的证书链结构:
      
      [Issuer: VeriSign / Subject: VeriSign]
      -> [Issuer: VeriSign / Subject: Intermediate CA]
      -> [Issuer: Intermediate CA / Subject: www.thoughtcrime.org]
      
      当 web 浏览器接收到此信息时,它必须首先验证分支证书的公用名(Common Name)字段是否与它刚连接的那个域名匹配,该证书是否是由中间CA所签发,并且中间CA签发的证书是否由已知CA证书签发。最后,web 浏览器还应该检查所有中间证书是否有合法的CA Basic Constraints,也就是说这些分支证书是否有合法授权进行证书签发。
      
      但是不幸的是,事实并不像用户想象的那样。在实际当中,由于 IE 浏览器并没有检查 CA Basic Constraints,
      
      这样的话,攻击者只要有任何域的合法的CA签发证书,就能生成其它任何域的合法CA签发证书。
      
      
      受影响浏览器:
      
      Netscape 4.x 和 Mozilla 不受影响.
      
      IE 5 / 5.5 / 6 受影响
      
      
      攻击方法:
      Exploit
      
      作为一个恶意的 www.thoughtcrime.org 站点管理员,他能产生一个合法的证书并且从VeriSign请求获得签名:
      
      [CERT - Issuer: VeriSign / Subject: VeriSign]
      -> [CERT - Issuer: VeriSign / Subject: www.thoughtcrime.org]
      
      然后恶意管理员生成任何企图攻击的域的一个证书,并且使用自己的 CA 签名证书签名:
      
      [CERT - Issuer: VeriSign / Subject: VeriSign]
      -> [CERT - Issuer: VeriSign / Subject: www.thoughtcrime.org]
      -> [CERT - Issuer: www.thoughtcrime.org / Subject: www.amazon.com]
      
      此时由于 IE 浏览器并没有检查 www.thoughtcrime.org 证书的 CA Basic ConstraintsSince ,IE就会合法接收 www.amazon.com 域的证书链。
      
      以上说明任何具有CA签名证书(和相应的私钥)的用户都能欺骗其它任何用户。
      
      -------------------------
      为了验证此缺陷,Mike Benham / moxie@thoughtcrime.org 提供了一个他自己写的小工具sslsniff-0.1.tar.gz ,大家不妨试一试.
      
      
      
      解决方案
      微软目前尚无有效补丁,建议用户随时关注微软站点
      
      
      作为临时解决方案:
      
      * 暂时使用 Netscape 4.x 或 Mozilla 浏览器;
      
      * 对于一些非常敏感的应用,在进行SSL连接时手工检查证书链,如果发现有中间证书可以认为正在遭受中间人攻击,立即采取相应保护措施。
    更多内容请看PCdog.com--SSL技术网络加密技术专题
    上一篇:RSA加密算法介绍
    下一篇:Basic Integer Overflows