浏览器中SSL加密缺陷解决方案

发表于:2018-11-26 13:16

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:roma    来源:51CTO博客

  涉及程序:
  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 BasicConstraints,也就是说这些分支证书是否有合法授权进行证书签发。
  但是不幸的是,事实并不像用户想象的那样。在实际当中,由于 IE 浏览器并没有检查CA Basic Constraints,
  这样的话,攻击者只要有任何域的合法的CA签发证书,就能生成其它任何域的合法CA签发证书。
  受影响浏览器:
  Netscape 4.x 和 Mozilla 不受影响.
  IE 5 / 5.5 / 6 受影响
  攻击方法:
  Explorer
  作为一个恶意的 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 BasicConstraintsSince ,IE就会合法接收 www.amazon.com 域的证书链。
  以上说明任何具有CA签名证书(和相应的私钥)的用户都能欺骗其它任何用户。
  为了验证此缺陷,MikeBenham / moxie@thoughtcrime.org 提供了一个他自己写的小工具sslsniff-0.1.tar.gz ,大家不妨试一试。
  解决方案:
  微软目前尚无有效补丁,建议用户随时关注微软站点。
  作为临时解决方案:
  * 暂时使用 Netscape 4.x 或 Mozilla 浏览器;
  * 对于一些非常敏感的应用,在进行SSL连接时手工检查证书链,如果发现有中间证书可以认为正在遭受中间人攻击,立即采取相应保护措施。

     上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号