質問248
セキュリティ管理者のSamuelは、あるWebサーバーの設定を評価している。彼は、そのサーバーがSSLv2接続を許可しており、SSLv2接続を許可している別のサーバーで同じ秘密鍵証明書が使用されていることに気づいた。この脆弱性により、SSLv2サーバーが鍵情報を漏洩する可能性があるため、ウェブサーバーは攻撃を受けやすくなる。
上記の脆弱性を悪用して実行可能な攻撃はどれか。
DROWNは、ネット・セキュリティに不可欠な暗号プロトコルの一部であるSSLやTLSを使用するHTTPSやその他のサービスに影響を及ぼす深刻な脆弱性である。これらのプロトコルは、ネット上の誰もがネットを閲覧し、電子メールを使用し、オンラインを閲覧し、インスタント・メッセージを送信できるようにするもので、第三者が通信を閲覧することはできない。
DROWNにより、攻撃者は暗号化を破り、機密通信、パスワード、クレジットカード番号、企業秘密、財務データを読んだり盗んだりすることができる。2016年3月に公開された時点では、当社の測定によると、全HTTPSサーバーの3分の30がこの攻撃に対して脆弱でした。幸いなことに、現在ではこの脆弱性ははるかに少なくなっています。2019年現在、SSL LabsはHTTPSサーバーの1.2%が脆弱であると推定している。
攻撃者は何を得るのか?
ユーザーとサーバー間のあらゆる通信。これには一般的に、ユーザー名とパスワード、クレジットカード番号、電子メール、インスタントメッセージ、機密文書などが含まれますが、これらに限定されるものではありません。
誰が弱いのか?
ウェブサイト、メールサーバー、その他のTLS依存サービスがDROWN攻撃の危険にさらされている。公開された時点では、多くの人気サイトが影響を受けていた。私たちは、インターネット全体のスキャンを使って、どれだけのサイトが脆弱であるかを調べた:
脆弱なサーバーの運営者は対策を講じなければならない。この攻撃から身を守るために、ブラウザやエンドユーザーが自力でできる実用的なことは何もない。
私のサイトは脆弱ですか?
最近のサーバーやショッパーはTLS暗号化プロトコルを使用している。しかし、設定ミスのため、いくつかのサーバーはTLSの前身である1990年代のSSLv2もまだサポートしている。最新のクライアントでSSLv2を本当に使っているところはないので、このサポートは実際には重要ではなかった。したがって、SSLv2がひどく安全でないと考えられているにもかかわらず、これまでは、単にSSLv2をサポートするだけではセキュリティ上の問題があるとは考えられていなかった。
DROWNは、単にSSLv2をサポートするだけでは、ファッショナブルなサーバーやクライアントにとって脅威となる可能性があることを示している。このDROWNは、最新のクライアントとサーバー間のファッショナブルなTLS接続を、SSLv2をサポートし、同じ秘密鍵を使用するサーバーにプローブを送信することで実現する。
以下の場合、サーバーはDROWNに脆弱である:
SSLv2接続を許可している。これは意外とよくあることで、設定ミスや不適切なデフォルト設定によるものだ。
その秘密鍵は、別のプロトコルであっても、SSLv2接続を許可する他のサーバーで使用される。例えば、多くの企業がウェブサーバーと電子メールサーバーで同じ証明書と鍵を再利用している。この場合、電子メール・サーバーがSSLv2をサポートしており、ウェブ・サーバーがサポートしていなければ、攻撃者は電子メール・サーバーを利用してウェブ・サーバーへのTLS接続を切断することができる。
サーバーを保護するには?
DROWNから保護するために、サーバー・オペレーターは、SSLv2接続を可能にするサーバー・コンピューター・コードを使って、秘密鍵のソフトウェアがどこでも使えるようにする必要がある。これには、ネット・サーバー、SMTPサーバー、IMAPおよびPOPサーバー、SSL/TLSをサポートするその他のソフトウェアが含まれる。
SSLv2を無効にするのは難しく、特定のサーバーソフトウェアに依存する:
OpenSSL:OpenSSLは、いくつかのサーバー製品で採用されている科学ライブラリかもしれません。OpenSSLのユーザーにとって、最も簡単で推奨される解決策は、最新のOpenSSLバージョンにアップグレードすることです。OpenSSL 1.0.2 をお使いの方は、1.0.2g にアップグレードしてください。OpenSSL 1.0.1 をお使いの方は、1.0.1s にアップグレードしてください。古いバージョンのOpenSSLをお使いの方は、これらのバージョンのいずれかにアップグレードしてください。(Updated March 13th, 16:00 UTC) Microsoft IIS (Windows Server):サーバー面でのSSLv2のサポートは、IIS 7.0とIIS 7.5に対応するOSバージョン、特にWindows scene、Windows Server 2008、Windows seven、Windows Server 2008R2でのみデフォルトで有効になっています。このサポートは、KB245030に概説されているように、「Server」の適切なSSLv2サブキー内で無効にされる。SSLv2を無効にする手順をユーザーが踏んでいないとはいえ、DROWNを可能にするエクスポートグレードと56ビット暗号は、デフォルトではサポートされていないようだ。
ネットワーク・セキュリティ・サービス(NSS):NSSは、いくつかのサーバー製品に設計されている一般的な科学ライブラリである可能性があります。NSSのバージョン3.13(2012年リリース)以上は、デフォルトでSSLv2を無効にする必要がある。(SSLv2を手動で有効にしているユーザーもいるかもしれないので、無効にするための手順を踏む必要がある。)古いバージョンのユーザーは、よりモダンなバージョンにアップグレードする必要があります。我々はまだあなたの非公開秘密が他の影響を受けるソフトウェアやオペレーションシステムで公開されているかどうかをチェックすることをお勧めする傾向がある:
説明とデータApache、Postfix、Nginx、Debian、Red Hat
ブラウザと他の消費者:ネットブラウザや他のクライアントコンピュータコードがDROWNを止めることは現実的には不可能である。