打印

关于net/https程序库中存在的【中间人攻击】的脆弱性问题

关于net/https程序库中存在的【中间人攻击】的脆弱性问题

【问题】
发现在利用php?name=Ruby" onclick="tagshow(event)" class="t_tag">Ruby提供的标准库net/https.rb发送https协议的请求时,存在着不能检出中间人攻击的脆弱性问题。
有关该问题的详细描述,公开在<URL:http://www.isecpartners.com/advisories/2007-006-rubyssl.txt>

【影响】
在net/https.rb中进行SSL连接的时候,证明书的CN不能对用户所请求的DNS进行有效的验证,因此,
攻击者有可能冒充成用户所要请求的目标服务器来进行攻击。

【存在该问题的版本】
1.8系
  1.8.4以前的所有版本,1.8.5-p113以前版本,1.8.6-p110以前的版本
开发版(1.9系)
  2007-09-23之前的所有版本

【各版本的对应方法】
1.8系

  请更新成1.8.6-p111或者1.8.5-p114
   * <URL:ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p111.tar.gz>
   * <URL:ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.5-p114.tar.gz>
  为了让检查生效,有必要像下面的样子使用【Net::HTTP#enable_post_connection_check=】

    http = Net::HTTP.new(host, 443)
    http.use_ssl = true
    http.enable_post_connection_check = true
    http.verify_mode = OpenSSL::SSL::VERIFY_PEER
    store = OpenSSL::X509::Store.new
    store.set_default_paths
    http.cert_store = store
    http.start {
      response = http.get("/")
    }


另外,还可以从提供Ruby package的供应商那里,得到相应的修正版,详情请资讯各自的提供商。
开发版(1.9系)
  请更新成2007-09-23之后的版本。在ruby1.9中,Net::HTTP#enable_post_connection_check的默认值为true

注:在此,小生再次作了一次翻译,嗯,还是挺有成就感的,呵呵
  原文请参照【http://www.ruby-lang.org/ja/news ... m-2007-006-rubyssl/
本帖最近评分记录
  • drive2me R币 +5 很有帮助,谢谢告知大家! 2007-11-14 12:04
@--后知后觉--@

TOP

求助

谁能给解释一下什么是【证明书的CN】呀?
呵呵
@--后知后觉--@

TOP

2008-11-22 16:24 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html) @38.103.63.61