ブログトップ 記事一覧 ログイン 無料ブログ開設

piyolog RSSフィード

2016-03-01

OpenSSLの脆弱性CVE-2016-800(DROWN)やCVE-2016-0702(CacheBleed)についてまとめてみた

| 01:26 |  OpenSSLの脆弱性CVE-2016-800(DROWN)やCVE-2016-0702(CacheBleed)についてまとめてみたを含むブックマーク

2016年3月1日(現地時間)、OpenSSL プロジェクトは脆弱性の愛称「DROWN」や「CacheBleed」を含む8件の脆弱性情報を公開し、これら影響を受けるものの修正を行った最新版をリリースしました。ここでは関連情報をまとめます。

脆弱性情報概要

注意喚起
OpenSSL Projectの公開情報
2016年3月1日公開のパッチで修正された脆弱性
CVESeverityTitleFixed
CVE-2016-0800HighCross-protocol attack on TLS using SSLv2 (DROWN)1.0.1s, 1.0.2g
CVE-2016-0705LowDouble-free in DSA cod1.0.1s, 1.0.2g
CVE-2016-0798LowMemory leak in SRP database lookups1.0.1s, 1.0.2g
CVE-2016-0797LowBN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption1.0.1s, 1.0.2g
CVE-2016-0799LowFix memory issues in BIO_*printf functions1.0.1s, 1.0.2g
CVE-2016-0702LowSide channel attack on modular exponentiation(CacheBleed)1.0.1s, 1.0.2g
CVE-2016-0703HighDivide-and-conquer session key recovery in SSLv21.0.2a, 1.0.1m, 1.0.0r, 0.9.8zf
CVE-2016-0704ModerateBleichenbacher oracle in SSLv21.0.2a, 1.0.1m, 1.0.0r, 0.9.8zf
  • CVE-2016-0703/0704は2015年3月15日リリース版でCVE-2015-0293対応によるリファクタリングで修正されていた。
  • 0.9.8系、1.0.0系2015年12月31日でサポートが終了しており、もし影響を受ける場合も修正版はリリースされない。

CVE-2016-0800 DROWN Attackに関する情報

  • DROWNの由来:Decrypting RSA with Obsolete and Weakened eNcryptionの頭文字をとったもの。
  • CVSS(v2):7.1(Base)/ AV:N/AC:H/Au:N/C:C/I:C/A:N via CERT
  • 脆弱性ロゴ:(CC0)ありf:id:Kango:20160302010243p:image:w200
発見者による情報
攻撃前提条件
  • SSLv2がサーバー側で利用可能な設定となっている。(あるいはSSLv2が利用可能なサーバーと同じ秘密鍵を使用している)
  • 中間者攻撃が可能な環境に接続している。

CVE-2016-0800はOpenSSLに限定されず、SSLv2が有効な環境において影響を受ける可能性が有り、発見者の公開情報には次の製品が記載されている。

  • Microsoft IIS (IIS 7 から既定設定でSSLv2は無効化されている)
  • NSS (2012年リリースの3.13からSSLv2が無効化されている)
  • Apache
  • Postfix
  • nginx

ベンダからの情報は次の通り。

ベンダアドバイザリ等
RedhatDROWN - Cross-protocol attack on TLS using SSLv2 - CVE-2016-0800
AkamaiAkamai and the DROWN Vulnerability
AmazonCVE-2016-0800 Advisory
CloudFlarethe DROWN Attack and CloudFlare
CiscoMultiple Vulnerabilities in OpenSSL Affecting Cisco Products: March 2016
攻撃による影響
  • 秘匿された通信内容が盗聴される恐れ。
関連情報

CVE-2016-0702 CacheBleedに関する情報

発見者による情報
攻撃前提条件
  • OpenSSLの処理を行った同一CPU上で実行している
攻撃による影響

OpenSSL脆弱性影響範囲

DROWN

次のOpenSSLが影響を受ける。ただし、CVE-2016-0703/0704は2015年3月15日リリース版で影響を受けなくなっている。

  • OpenSSL 1.0.1r、およびそれ以前
  • OpenSSL 1.0.2f、およびそれ以前
CacheBleed

次のOpenSSLが影響を受ける。

  • OpenSSL 1.0.1r、およびそれ以前
  • OpenSSL 1.0.2f、およびそれ以前

発見者は0.9.7h以降の全てのバージョンが影響を受ける可能性を指摘している。

OpenSSL: Our attack code has been tested with OpenSSL 1.0.2f. We believe that all OpenSSL versions from 0.9.7h up to and including versions 1.0.1r and 1.0.2f are vulnerable.

OpenSSLのバージョン確認方法

次のコマンドを実行する。

openssl version

DROWNの影響調査

発見者のサイト上に確認ツールが設置されています。これは2016年2月時点で取得された情報に基づき結果が表示されます。

f:id:Kango:20160302012514p:image:w450

影響を受ける場合、次のように表示される。

f:id:Kango:20160302090319p:image:w450

Alexa Top 10000の内、影響を受けるサイトも列挙されている。

LibreSSLへの影響

今回公開されたOpenSSLバグに関して、LibreSSLは影響を受けないとアナウンスしている。

ただし、CacheBleedの公開情報にはLibreSSLも影響を受ける記述が存在する。

LibreSSL: We have verified that version 2.3.1 is vulnerable. We believe that all LibreSSL versions, up to and including 2.1.9, 2.2.5 and 2.3.1 are vulnerable.

対策

OpenSSLを最新版へ更新する。

回避策

CVE-2016-0800(DROWN)の回避策として、SSLv2の無効化が可能かを検討する。