OpenSSLの「Heartbleed」脆弱性は2年前から存在、「最悪のケースを想定して対処を」と専門家:チェック方法まとめ
オープンソースのSSL/TLS実装「OpenSSL」に見つかった情報漏えいにつながる脆弱性の影響が拡大。専門家は「最悪のケース、つまり秘密鍵の漏えいを想定して対処すべき」と述べている。
オープンソースのSSL/TLS実装「OpenSSL」に見つかった情報漏えいにつながる脆弱性の影響が拡大している。OSやクラウドサービス、ネットワーク機器の中には、脆弱性のあるOpenSSLを利用しているものが多数あり、ベンダー各社が確認・対応を進めている。国内でもこの脆弱性の影響を受けるサイトが確認されており、中には一時的にサービスを停止し、対処を優先したサービスもある。
この脆弱性は、OpenSSL バージョン1.0.1/1.0.2系に存在する。Heartbeat拡張の実装に見つかった致命的なバグであることから、「Heartbleed」バグと称されている。
細工を施したパケットによって脆弱性を悪用されると、SSLで通信している相手側から、メモリ上のデータをリモートから読み取られてしまう。つまり、暗号化通信に利用している秘密鍵やユーザーの情報など、サーバーのプロセス内の情報が全て読み取られてしまう可能性がある。もし盗みられた情報を悪用されれば、暗号化されているはずの通信(時にはクレジットカード情報などが含まれている)を復号されたり、セッション情報を悪用されてなりすましに使われる恐れもある。
ソフトバンク・テクノロジーの辻伸弘氏によると、「既に実証コードがリリースされているため攻撃を行うハードルはとても低い」。そのため、「悪意の有無までは分からないものの、数多くのサイトをチェックして周り、その結果をインターネットに公開している人物もいる」(同氏)という。
脆弱性の有無の確認方法
OpenSSLは、SSL/TLSによる暗号化通信を行うために、多くのWebサーバーで使われている他、VPN通信のためにさまざまなOSやソフトウェア、ネットワーク機器に利用されている。システム管理者としては、自分の管理するネットワークのどこで脆弱なOpenSSLが利用されているか即座に把握するのが難しいことも、問題の対応を困難なものにしている。
US-CERTやJVNには、影響が及ぶOSや機器に関する情報が集約されている。また、Amazon Web Services(AWS)はじめ幾つかのクラウドサービス事業者は、この脆弱性に関する情報を公開し、問題の有無や対応状況を明らかにしている(詳細は記事末尾)。
辻氏によると、自社が公開しているWebサーバーでOpenSSLを利用している場合は、以下のようなサービスやツールによってチェックが可能ということだ。
SSL Labs Server Test
米クォリスが提供している、SSLに関する総合的なチェックが行えるWebサービスで、HeartBleed脆弱性の有無だけでなく包括的なチェックができる。ただ「1つ注意事項がある。テストした結果がデフォルトで掲載されるため、脆弱だった場合はそのことを公にさらしてしまうことになる」(辻氏)。もし結果を掲載されたくない場合は「『Do not show the results on the boards』にチェックを入れることをお忘れなく!」と同氏はコメントしている。
Heartbleed test
同じくWebサービス。今回の件に関する情報もまとまっている。
OpenSSL 1.0.1f TLS Heartbeat Extension - Memory Disclosure (Multiple SSL/TLS versions)
Pythonで書かれた実証コードで、インターネットに接続されていなくても自身のコンピューターから検査が可能だ。
ssl-heartbleed.nse
ポートスキャンツール「nmap」で使える調査スクリプト(関連記事)。「IPアドレスを複数指定してスキャンが行えるため、数が多いときは便利」(辻氏)。
他、Metasploit用のモジュールもリリースされている。
この脆弱性に対して、エンドユーザー側で講じることのできる対策はあまりない。一方、もしWebサーバーの管理者だった場合は、「OpenSSLを脆弱性の影響を受けないものにアップグレードするともに、SSL証明書を失効させて、新しいものを再発行する必要がある」(辻氏)という。
辻氏によると、「この脆弱性は、さかのぼると2年前から存在していたことが確認されている。そして、この攻撃では攻撃の痕跡が残らないため、最悪のケース――つまり、秘密鍵の漏えいを想定して対処すべき」。もし、脆弱なバージョンのOpenSSLを運用していたことが判明した場合は、アップグレードや証明書の再発行といった対策を講じた後にその旨を公表し、ユーザーにパスワードの変更などを呼びかけるとなおベターだという。
■影響を受けるOS、ソフトウェア
ベンダー名など | 影響を受ける製品名、ディストリビューション名など |
---|---|
VMware | 「ESXi 5.5」「vCenter Server 5.5」「VMware Fusion 6.0.x」など |
Cisco | 「Cisco UCS B-Series」「Cisco UCS C-Series」「Cisco IOS XE」など |
Fortinet | 「FortiGate (FortiOS) 5.x」など |
Juniper Networks | 「Junos OS 13.3R1」など |
F5 Networks | 「BIG-IP LTM 11.5.0 - 11.5.1」「BIG-IP GTM 11.5.0 - 11.5.1」など |
Aruba Networks | 「ArubaOS 6.3.x、6.4.x」など |
Watchguard Technologies | 「WatchGuard XTM 11.8.x」など |
FreeBSD | FreeBSD 10.0 |
NetBSD | NetBSD 6 |
RedHat | Red Hat Enterprise Linux 6 |
Ubuntu | Ubuntu 13.10、12.10、12.04 LTS |
Android | Android 4.1.1 |
■クラウドサービス事業者の情報
事業者名 | 情報 |
---|---|
AWS | AWSからOpenSSLの脆弱性について AWS のサービスアップデート。Amazon EC2については顧客側でパッケージのアップデートを行う必要あり |
Google Services Updated to Address OpenSSL CVE-2014-0160 (the Heartbleed bug)。Google Compute Engineについては手動でOpenSSLをアップデートするか、OpenSSLを更新した新しいイメージに入れ替える必要あり | |
Microsoft(Windows Azure) | 影響なしとの情報を公開 |
■SSLサーバー証明書、再発行に関する情報
Vulnerability Note VU#720951およびSANSなどの情報を基にしました
関連記事
- OpenSSL 1.0.1/1.0.2系に脆弱性、秘密鍵漏えいの恐れも
米国時間の2014年4月7日、OpenSSLのバージョン1.0.1/1.0.2系に、秘密鍵などの漏えいにつながる恐れのある深刻な脆弱性が発見された。 - OpenSSLをビルドしてApacheで利用する
今回は、Apache HTTP Serverに追加モジュールを組み合わせてビルドしてみます。失敗したときの対策も紹介します - OpenSSLを使って公開鍵暗号でファイルを暗号化
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.