DROWNとは

脆弱性”DROWN“とは、”Decrypting RSA using Obsolete and Weakened Encryption(旧式暗号および弱い暗号を利用しているRSA暗号の解読)“の略です。端的に言い換えれば、ウェブサイトやメールサーバ、VPNサーバなどへのTLS接続が大規模な攻撃を受けるということです。

SSLv2は1995年に初めてリリースされ、その後すぐに提供終了とされましたが、33%のHTTPSサーバ、証明書によって信頼された22%のブラウザがいまだこの攻撃の影響を受けることが明らかになりました。ある単独実験では、1998年リリースのOpenSSLも影響を受けるそうです。中間者攻撃が行える場合、攻撃者はパッチの当てられていないバージョンのOpenSSLを利用しているサーバに対してシングルCPUで1分もかからずに、暗号化テキストを解読できます。これは現代のサーバに対する攻撃としては十分なスピードです。

すべてのHTTPSサーバの26%がこの攻撃による影響があるので、DROWNについてのより詳しい分析を知りたい方は以下のページをご覧ください。

DROWN: Breaking TLS using SSLv2(PDF)

大抵の場合、この脆弱性は、アップデートされていないサーバコンフィグレーションが単に起因するものです。数年アップデートされていない組込デバイスも同様に、影響があるものもあります。SSL/TLSプロトコル用にApacheから無償提供されているツールであるOpenSSLでは、SSLv2のciphersuites(暗号アルゴリズムとハッシュアルゴリズムの組み合わせ)を利用不可とするオプションが提供されていますが、残念ながら最近の攻撃に対して、この対策は機能しないようでした。しかし幸運なことに2016年1月、これを改善するパッチがリリースされました。

複数のSSLサーバ証明書を購入せずに1枚の証明書で運用している場合に、TLSとSSLv2プロトコル両方をサポートしているサーバは同じRSA秘密鍵を利用します。これはつまり、SSLv2から発生するどのようなバグであっても、簡単にTLSに影響しうるということになります。DROWNはまさにこの方法を用いて暗号を破ります。

頻繁に発覚するSSL/TLSの脆弱性のためか、ウェブサイト運営者は、セキュリティ問題に関して現在進行形で公表され続けるレポートに対して麻痺してきています。下記の表は過去5年間で話題になったセキュリティ脆弱性の一覧です。最新のDROWN脆弱性まで、この5年間で発生頻度は年々増加しています。

近年のSSL/TLS脆弱性と推奨される対応策

日時 名称 内容 対策
2011年9月 BEAST TLS 1.0以前のプロトコルがクライアント側で脆弱性 TLS 1.2のみをサポートするAES-GCM suitesだけを利用
2012年8月 BREACH プレーンテキスト情報が流出 HTTP圧縮を無効化
2013年2月 Lucky 13 CBCモード暗号化を含むすべてのTLS/DTLSのchiphersuitesが影響を受ける可能性あり OpenSSL、NSS、関連する暗号ライブラリをアップデート
2013年6月 CRIME プレーンテキストリカバリのための圧縮から漏れた情報を攻撃者が利用可能 TLS/SPDY圧縮を無効化
2014年4月 Heartbleed HeartBeetの脆弱性からSSL秘密鍵の漏洩に利用されるOpenSSLバグ OpenSSLをアップデート
SSLを失効して再発行
ユーザはパスワードを再設定
2014年10月 POODLE 攻撃者がSSLv3に対してフォールバックを発生可能 古いブラウザをサポートする必要がある場合はSSLv3を無効化、またはTLS_FALLBACK_SCSVを実行
2015年3月 Bar Mitzvah Attack 古いRC4暗号を悪用 RC4を無効化
2015年3月 FREAK クライアント側が強固なRSAから輸出版RSAにダウングレードされることで、ブラウザとサーバが影響 サーバコンフィグレーション内で輸出版暗号を無効化
OpenSSLにパッチを当てる
ユーザはブラウザをアップグレード
2015年5月 Logjam 過度に弱い512bit鍵にダウングレードされたセッションを保持することで、Duffie-hellman鍵交換を利用中のサーバが影響 DHE_EXPORT ciphersを無効化
クライアント側はブラウザをアップグレード
2016年3月 DROWN SSLv2をサポート、かつ、chiphersuitesをエクスポートするウェブサイトが影響 SSLv2を無効化、またはOpenSSLのアップデート
※両方の対策を推奨

これほどまでに脆弱性が頻繁に発覚しているため、ウェブサイト運営者が重く受け止めなくなってきていても不思議ではありません。IT系ニュースサイト「The Register」の報告では、どこのウェブサイトもDROWN対策は以前の脆弱性発生時より対応が遅く、発覚後の1週間ではたった5%のウェブサイトしかアップデートの動きはなかったそうです。悪意のある第三者もこの脆弱性を利用して何かをすることは難しいですが、ウェブサイト運営者はシステムにパッチを当てるプロセスをしっかりと認識して、必要不可欠なセキュリティアップデートを行うべきです。

Cloud sellers who acted on Heartbleed sink when it comes to DROWN

グローバル企業向けサイバー脅威情報の大手プロバイダであるiSIGHT Partners社は、DROWN脆弱性を危険度「中」、脅威「中」と位置づけました。その他にも、近年頻発するSSL脆弱性に関して、レポートを公表していますので、詳細はiSIGHT Partners社のページをご覧ください。DROWNの影響を受ける、パッチの充てられていない脆弱性を含んだOpenSSLが原因で、SSLv2をサポート対象外とした企業ですら、OpenSSLバグを原因としてSSLv2を特定してリクエストするクライアントに攻撃されることもありえます。

ThreatScape Media Highlights Update – Week Of March 2nd
CVE-2015-3197 Learn more at National Vulnerability Database (NVD)

サーバのコンフィグレーションをアップデートして今後の攻撃に対する安全装備を

無料ツールの活用

Mozillaが無償提供している「SSL Configuration Generator」を利用すれば、サイト訪問者に依存して古いブラウザをサポートしている場合も、最新のブラウザをサポートしている場合も、あらゆるウェブサーバのためのSSLサーバコンフィグレーションを生成することができます。chiphersuites、HTTP Strict Transport Security (HSTS)、OCSPステイプリング、セッション再開、HPKP 公開鍵Pinningなど、運営するウェブサイトのセキュリティとパフォーマンスを向上するためのあらゆる情報も、このツールには含まれています。サーバのコンフィグレーションはGlobalSignのSSL Server Testを利用してチェック可能ですので、上記に多く挙げられているインシデントレポートに影響を受けるものがないかを確認できます。

Mozilla SSL Configuration Generator
GlobalSign SSL Server Test

最新のOpenSSLと暗号化にアップデート

サーバコンフィグレーションだけでなく、最新のOpenSSL、関連する暗号ライブラリを利用しているかを確認しましょう。最低でも1週間の頻度で、アップデートされたパッチを入手できるよう常に目を配らせているべきです。

システムのパスワードとSSL証明書の鍵を更新

最後に、今後の脆弱性発覚時の被害が最小限になるように、システムのパスワード、SSL証明書の秘密鍵を定期的にアップデートすることを検討してください。

トピック関連記事

#

2021年04月06日

不正アクセス事例から学ぶ、VPN接続のセキュリティ強化

#

2020年04月15日

年々被害が増加する、ビジネスメール詐欺 (BEC) の実態

#

2016年07月21日

対策はお客様だけの責任ではない!メール送信者側が企業責任としてフィッシング詐欺対策を進めるための具体的方法とは

この記事を書きました

Doug Beattie

Doug Beattie
所属:Vice President, Product Management, GlobalSign Inc.