エクスプロイトキット、DH鍵交換を悪用

トレンドマイクロは、弊社のクラウド型セキュリティ基盤「Trend Micro Smart Protection Network」のフィードバックにより、「Angler Exploit Kit(Angler EK)」と「Nuclear Exploit Kit(Nuclear EK)」の 2つのエクスプロイトキットが、Adobe Flash Player に存在する最新の脆弱性「CVE-2015-5560」を追加して更新したことを確認しました。この脆弱性は、Adobe Flash Player の「18.0.0.209」以前のバージョンに影響を与えます。なお、最新バージョン「18.0.0.232」は、この脆弱性の影響を受けません。

今回の確認は、弊社が 2015年8月に公開した「2015年第2四半期 セキュリティラウンドアップ」で言及したことと一致します。弊社は、Angler EK が最新の Adobe Flash Player の脆弱性を次々に取り入れていることに言及しました。往々にして Angler EK は、Adobe が修正プログラムを公開した直後に、その脆弱性を取り込んで更新します。今回の更新は、今年8月に確認された「malvertisement(不正広告)」を利用した攻撃とも一致します。この攻撃では、ユーザは最終的に Angler EK が埋め込まれた Webサイトに誘導されました。

Angler EK と Nuclear EK は、エクスプロイトキットとしては初めて「ディフィー・ヘルマン鍵交換(DH鍵交換)」を利用しています。これにより、自身のネットワークトラフィックをセキュリティリサーチャーから隠ぺいすることができます。また、「Packet Capture(PCAP)」を使用して取得したパケットを再生するセキュリティ対策製品からの検出も回避します。そのため、エクスプロイトに関連した不正なネットワークトラフィックは検出されません。

つまり、セキュリティリサーチャーや IT管理者が、エクスプロイトキットに関連する不正なネットワークトラフィックを検出して傍受したとしても、PCAP で取得したパケットを再生して入手したデータを復号することができません。そのデータは DH鍵交換プロトコルを介して交換された暗号鍵によって保護されていると思われるからです。なお、この DH鍵交換は、セキュリティリサーチャーの解析を困難にするためだけに利用されており、このエクスプロイトキットの被害を受けたユーザには特に影響しません。

■DH鍵交換プロトコルの仕組み
DH鍵交換プロトコルの仕組みについて、下記で簡単に説明します。

図1:DH鍵交換プロトコル
図1:DH鍵交換プロトコル

図1 では、Alice と Bob が通信しています。Alice は a、g、p、A の情報を持っています。Bob が持つ情報は b、g、p、A、B です。情報 a および b はランダムな秘密の値で、双方間で転送されません。

Alice と Bob は、DHアルゴリズムを用いて既存のパラメータを使用し、演算を実行して情報 K を入手します。K は双方とも同じ値であり、それぞれが相手に情報を安全に送信する際に使用する鍵となります。

転送された情報を入手し、「Wireshark」といったプロトコル解析ツールを利用したとしても、DH鍵交換によりデータを復号することができません。傍受して入手できる情報は g、p、A、B だけで、不完全です。a および b は転送されず、Alice と Bob の元に残ります。そのため、第三者は K を入手することができず、元のデータを復号できません。

■中間者攻撃に脆弱なDH鍵交換プロトコル
DH鍵交換プロトコルは、「Man-In-The-Middle(MitM、中間者)攻撃」に対して脆弱となる可能性があります。中間者攻撃は、図2 で示されるように、二者間の DH鍵交換を傍受します。

図2:DH鍵交換プロトコルと中間者攻撃
図2:DH鍵交換プロトコルと中間者攻撃

図1で説明したように、Alice は a、g、p、A、Bob は b、g、p、A、B を持っています。弊社が Eve と名付けた中間者攻撃を実行するプログラムは、この交換を傍受することにより、m、g、p、A、B、X を入手します。図1 と同様、a、b、m はランダムな秘密の値で、転送される情報に含まれません。

Alice と Eve は既存のパラメータを利用し、DHアルゴリズムを介した演算で情報 K1 を入手します。同様に、Bob と Eve も K2 を入手します。この 2つの情報を用いて元の情報を暗号化および復号するために必要な鍵を入手し、情報を安全に転送します。中間者攻撃を実行するプログラム Eve も、元の情報に復号することができます。

■中間者攻撃を実行するプログラム
弊社は、Microsoft のデバッグツール「Fiddler」の Customize Rules を使用して、このプログラムを実装しました。そのため、弊社は入手した SAZファイルすべてを利用して、転送された全データを再生することができました。

そして、二番目に暗号化された JSON のデータを下記のように簡単に復号することができました。

暗号化されたデータには、冒頭に「id3」が含まれています(図3)。

図3:暗号化されたデータ
図3:暗号化されたデータ

図4 は、Angler EK の 完全な SAZファイルの例です。

図4:暗号化されたデータ
図4:暗号化されたデータ

■トレンドマイクロの対策
トレンドマイクロ製品をご利用のユーザは、この脅威から守られています。弊社のネットワーク挙動監視ソリューション「Trend Micro Deep Discovery(トレンドマイクロ ディープディスカバリー)」のサンドボックスや「Script Analyzer」エンジンにより、他のエンジンやパターンの更新がなくても、この脅威をその挙動で検出することができます。ブラウザ向け脆弱性利用対策技術「ブラウザガード」を搭載する「ウイルスバスター クラウド」や「Trend Micro 脆弱性対策オプション(ウイルスバスター コーポレートエディション プラグイン製品)」、「ウイルスバスター ビジネスセキュリティ」といったネットワーク端末へのセキュリティ対策製品は、エクスプロイトコードをホストする URL にアクセスするタイミングでエクスプロイトコードをブロックします。「ブラウザガード」はまた、ブラウザや関連したプラグインを狙うエクスプロイトコードから保護します。また、Adobe Flash Player は常に最新バージョンに更新しておくことを推奨します。

今回の Adobe Flash Player のエクスプロイトに関連する SHA1ハッシュ値は以下のとおりです。

  • 38c9e213b9d762fd128f0a1b838a175555f69249
  • 2fe04527a10aa6aa5ec9e7f6ebd820fd91d94965

協力執筆者:By Brooks Li、Stanley Liu および Allen Wu

参考記事:

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