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証明書の秘密鍵を定期的にアップデートすることを検討してください。
関連記事