- トレンドマイクロ セキュリティブログ - https://blog.trendmicro.co.jp -

「OpenSSL」に深刻な脆弱性「Heartbleed」が発覚、拡張機能「Heartbeat」に存在

ソフトウエアには脆弱性が存在します。これは受け入れなければならない現実です。しかし、真面目で運が良ければ、サイバー犯罪者が脆弱性を利用する前に更新プログラムを適用することができます。しかし、すべての事例がそうであるとは限りません。例外もありますが、幸いなことにそうしたものは異例と言えるでしょう。

しかし、2014年4月7日(米国時間)、「OpenSSL」の拡張機能「Heartbeat」に脆弱性が存在することが発覚しました。OpenSSL は、Webサイトの統括者や開発者がトランザクションをより安全に行うためのオープンソースのツールキットです。万が一この脆弱性が利用されると、OpenSSL を利用している Webサイトやアプリケーション上の多くの情報が漏えいしていることを意味します。しかし、この脆弱性の性質上、サイバー犯罪者がこの脆弱性を利用したかどうかを知る方法がありません。

■「OpenSSL」の拡張機能「Heartbeat」とは
OpenSSL は、2011年12月頃に Heartbeat と呼ばれる拡張機能を導入し、「RFC 6520 TLS/DTLS Heartbeat拡張 [1]」で定義された 1.0.1バージョンを公開しました。この拡張機能は、セッションの再構築を避け、SSL のセッションをより長く保持することができます。RFC では、「HeartbeatRequest」は「HeartbeatResponse」のメッセージが返される必要があるとしています。その結果、ネットワークリソース間の既存の接続は保持されます。リソースは通常フルセッションの再交渉に利用されます。

留意すべきなのは、OpenSSL は多くの Webサイトやソフトウエアで利用されていることです。「Apache」や「nginx」などのオープンソースのサーバから、Eメールサーバやチャットサーバ、仮想プライベートネットワーク(VPN)、またはネットワークアプライアンスまで幅広く利用されています。

このように、Heartbeat拡張はとても幅広く利用されているため、この脆弱性の影響が広範囲に広がると推測しても不思議はありません。

■OpenSSL に存在する脆弱性「Heartbleed」とは
Heartbleed [2]」と名付けられたこの脆弱性は、Heartbeat拡張を利用するすべての OpenSSL実装に存在します。脆弱性を抱えるサーバが攻撃を受けると、攻撃者は、痕跡をまったく残さず、PC のメモリから一度に 64KB までの情報を読み出すことが可能になります。

メモリ内のこの少量の情報の中に、ユーザの重要な個人情報が含まれている可能性があります。例えば、秘密鍵や、ユーザ名、パスワード(多くの場合、暗号化されていない)、クレジットカード情報、また機密書類などです。また、攻撃者はできるだけ多くの情報を得るために、何度も情報を収集する可能性があります。そしてこの脆弱性は、インターネット上の誰でも、どこからでも利用できるのです。

ある主要なインターネット・コンテンツ・プロバイダーも、この脆弱性による影響を受けていました。その企業は、迅速に更新しましたが、更新されたのは、悪意を持った人物がすでに重要な情報を収集した後でした。

基本的に、Heartbleed は単純で一般的なプログラミングのエラーですが、セキュリティ上の問題を引き起こす恐れがあります。簡単に言うと、この脆弱性は、どれだけ読み出して返したかを確認することなく、メモリ上のコンテンツを返します。

このように、Heartbleed の脆弱性を利用することで、情報をより多く取得しようとした場合、情報を閲覧する権限が実際にあるかどうかを確認することなく、情報を求めたユーザにメモリの情報を渡します。図1 は、サーバを不正に操作して、メモリの情報を入手するために利用されたペイロード長の記述です。

図1:「Heartbleed」のペイロード長 [3]
図1:「Heartbleed」のペイロード長

この脆弱性は、「CVE-2014-0160 [4]」に割り当てられました。

コード上のバグを利用したこの攻撃は、まったく痕跡を残さないため、この脆弱性を利用した攻撃が実際に行なわれているかどうかは、はっきりわかりません。トレンドマイクロは、本脆弱性を監視していきます。

■影響を受ける OpenSSL のバージョンと確認方法
OpenSSL のアドバイザリ [5]によると、以下のバージョンが影響を受けます。

上記以外の OpenSSL のバージョンは本脆弱性の影響を受けません。上記のいずれかのバージョンでアプリケーションをコンパイルしていた場合は、影響を受ける可能性があります。

またユーザは、サーバが Heartbleed の影響を受けるかどうかを、以下の Webサイトで確認することができます。

また、修正済みバージョン 1.0.1g は、2014年4月7日(米国時間)に公開されています。

■どのような対策を取るべきか

■トレンドマイクロの対策
トレンドマイクロのサーバ向け総合セキュリティ製品「Trend Micro Deep Security(トレンドマイクロ ディープセキュリティ) [7]」をご利用のユーザは、「DSRU-14-009」に更新し、以下のフィルタを適用して下さい。それにより、問題となった脆弱性を利用した攻撃から保護されます。

参考記事:

  • Skipping a Heartbeat: The Analysis of the Heartbleed OpenSSL Vulnerability [8]
    by Pawan Kinger [9] (Vulnerability Research Manager)
  • 【更新情報】

    2014/04/15 11:10
    1. Webサイト運営者、一般のインターネット利用者およびモバイルアプリを含むアプリケーション開発者への対策について更新しました。
    2. クライアント端末上のアプリケーションも問題の Heartbleed に対して脆弱です。万が一こうしたアプリケーションが不正なサーバに接続した場合、Heartbleedの脆弱性が利用され、クライアント端末上のメモリ情報が読み出される恐れがあります。弊社は、2014年4月11日、問題の脆弱性を利用した攻撃から保護するために、「Trend Micro 脆弱性対策オプション(ウイルスバスター コーポレートエディション プラグイン製品) [10]」を提供しました。同製品をご利用のお客様は、以下のフィルタをただちに適用してください。
      • 1006016 – OpenSSL TLS/DTLS Heartbeat Message Information Disclosure Vulnerability
      • 1006017 – Restrict OpenSSL TLS/DTLS Heartbeat Message

     翻訳:品川 暁子(Core Technology Marketing, TrendLabs)