公開日:2016/03/02 最終更新日:2016/03/02

JVNVU#90617353
SSLv2 の暗号通信を解読可能な脆弱性 (DROWN 攻撃)

概要

SSLv2 は、十分な回数のハンドシェイクの情報を収集できる場合、暗号通信を解読される可能性があります。これは "DROWN 攻撃" という名称で報じられています。

影響を受けるシステム

SSLv2 をサポートしているサーバが本脆弱性の影響を受ける可能性があります。

詳細情報

研究者によれば、DROWN 攻撃は、Bleichenbacher のパディングオラクル攻撃の新たな手法です。攻撃者は SSLv2 をサポートしている脆弱なサーバから秘密鍵を入手し、暗号化された通信内容を解読することが可能です。TLS 通信であっても、SSLv2 の通信と同一の秘密鍵を使用していた場合、攻撃者は通信内容を解読することが可能です。

本脆弱性の影響を直接受けるのは SSLv2 のみですが、研究者のウェブサイトによると、多くのサーバが SSLv2 と TLS で共通のサーバ証明書を使用しているとのことです。なお、この攻撃では、1,000回程度の SSL ハンドシェイクの情報を取得しておく必要があります。

研究者は DROWN 攻撃の確認ツールと、更なる詳細を掲載した FAQ を公開しています。

想定される影響

遠隔の攻撃者に、SSLv2 をサポートしているサーバの秘密鍵を取得され、SSLv2 の暗号通信を解読される可能性があります。SSLv2 をサポートしており、TLS 通信で SSLv2 と同一の証明書を使用している場合、TLS の暗号通信であっても、同様の影響を受ける可能性があります。

対策方法

SSLv2 を無効化する
サーバの管理者は、サーバの SSLv2 サポートを無効化してください。研究者は、様々なサーバ製品で SSLv2 を無効化する方法について更なる情報を公開しています。

サーバが SSLv2 をサポートしているか否かは、次のコマンドで確認することが可能です。

openssl s_client -connect [ホスト名]:443 -ssl2

サーバ証明書の情報が表示された場合、SSLv2 がサポートされています。

なお、SSLv2 は 2011年から非推奨となっています (RFC 6176)。

共通の SSL 証明書を使用しない
TLS 通信自体は、本脆弱性の影響を受けません。SSLv2 のサポートが必要な場合、証明書や鍵の作成に使用する key material は SSLv2 と TLS で別のものを使用してください。

通信内容を監視し、ファイアウォールのルールを設定する
ファイアウォールの設定で、SSLv2 通信をブロックすることを推奨します。この攻撃では 1,000回程度の SSL ハンドシェイク情報の取得が必要であることから、管理者は、接続試行が繰り返し行われていないか、通信ログを監視しておくことが推奨されます。ただし、このハンドシェイクの情報は中間者攻撃 (man-in-the-middle attack) やその他の攻撃によって取得されることがあるため、攻撃者が直接接続を試行するとは限りません。

ベンダ情報

ベンダ リンク
OpenSSL OpenSSL Security Advisory [1st March 2016]

参考情報

  1. CERT/CC Vulnerability Note VU#583776
    Network traffic encrypted using RSA-based SSL certificates over SSLv2 may be decrypted by the DROWN attack
  2. The DROWN Attack
  3. RFC 6176
    Prohibiting Secure Sockets Layer (SSL) Version 2.0
  4. OpenBSD Journal
    LibreSSL not affected by DROWN attack

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

CVSS v3 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
基本値: 7.4
攻撃元区分(AV) 物理 (P) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 低 (L)
必要な特権レベル(PR) 高 (H) 低 (L) 不要 (N)
ユーザ関与レベル(UI) 要 (R) 不要 (N)
スコープ(S) 変更なし (U) 変更あり (C)
機密性への影響(C) なし (N) 低 (L) 高 (H)
完全性への影響(I) なし (N) 低 (L) 高 (H)
可用性への影響(A) なし (N) 低 (L) 高 (H)
CVSS v2 AV:N/AC:H/Au:N/C:C/I:C/A:N
基本値: 7.1
攻撃元区分(AV) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 中 (M) 低 (L)
攻撃前の認証要否(Au) 複数 (M) 単一 (S) 不要 (N)
機密性への影響(C) なし (N) 部分的 (P) 全面的 (C)
完全性への影響(I) なし (N) 部分的 (P) 全面的 (C)
可用性への影響(A) なし (N) 部分的 (P) 全面的 (C)

謝辞

関連文書

JPCERT 緊急報告 JPCERT-AT-2016-0010
OpenSSL の複数の脆弱性に関する注意喚起
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2016-0800
JVN iPedia