JRE 1.7に存在するゼロデイ脆弱性を狙った攻撃、バックドア型不正プログラムをもたらす

2012年8月末、Oracle Java 7の “Java Runtime Environment (JRE)7 Update 6 ビルド1.7x” に存在する未修正の脆弱性「CVE-2012-4681JVNTA12-240A)」が、特定のサイトに組み込まれた不正なJARファイルにより利用されたことが確認されました。問題の不正なJARファイルによってこの脆弱性が利用されると、最終的にバックドア型不正プログラムのダウンロードに誘導されることとなります。これにより、実質上、不正リモートユーザが目的とするコマンドをこの脆弱性の被害を受けたコンピュータ上で実行することが可能になります。

このゼロデイのエクスプロイトコードは、Internet Explorer(IE)や Firefox、Opera のすべてのバージョン上で実行されます。また、Metasploitの検証によると、Google Chrome および Safari 上でも実行されると報告されています。

■問題のエクスプロイトコードおよび脆弱性利用による不正活動についての解析情報
問題の脆弱性は、2012年8月に新しくリリースされた Java 7 のクラス「classcom.sun.beans.finder.ClassFinder」に関連しています。このクラスにより、クラス「sun.awt.SunToolkit」が不正なコードを読み込み、変更および実行することが可能となります。この脅威は、不正な JavaScriptを含むHTML ファイル “index.html” (「JS_FIEROPS.A」として検出)、不正な Javaアプレット “applet.java” (「JAVA_GONDY.A」として検出)、および不正なバイナリ “FLASH_UPDATE.exe” (「BKDR_POISON.BLW」として検出)を含む HTML ページで構成されています。

ユーザは、不正な Javaアプレット「JAVA_GONDY.A」のダウンロードおよび実行をもたらす不正なWebサイトを閲覧することにより、今回の脅威に遭遇することとなります。なお、この不正なWebサイトの一つは、「http://www.<省略>s.com/public/meeting/index.html」であることが判明しています。そして「JAVA_GONDY.A」は、「BKDR_POISON.BLW」のダウンロードのために使われる複数のパラメータを送ります。

図1:改ざんされたサイトのローディングページ
図1:改ざんされたサイトのローディングページ

「TrendLabs(トレンドラボ)」による “index.html” のコード解析から、スクリプトは「Dadong’s JSXX 0.44 VIP」によって複雑に難読化および暗号化されていることがわかりました。

図2:難読化されたスクリプト
図2:難読化されたスクリプト

しかし、このスクリプトを逆コンパイルすることで、不正な Javaアプレットへ渡されるパラメータを確認することができました。図3のスクリプトが示すように、不正なバイナリ “FLASH_UPDATE.exe” をダウンロードおよび実行するために、クラス「cve2012xxxx.Gondvv.class」に渡されるパラメータが記述されています。

図3:復号されたスクリプト
図3:復号されたスクリプト

さらにこの不正な Javaアプレットを解析したところ、以下のクラスが確認されました。

  • cve2012xxxx/Gondzz.class – メインとなるコードおよびクラス「classcom.sun.beans.finder.ClassFinder」によってJAVA 7を実行するコードを含む
  • cve2012xxxx/Gondvv.class – 不正なバイナリのダウンロードおよび実行を担うメソッドを含む
  • 「JAVA_GONDY.A」は、実行中、SecurityManagerを無効にする命令を作成するメソッド「disableSecurity()」を呼び出し、これにより、不正なコードが実行されます。また「JAVA_GONDY.A」は、コンピュータが Windows であるかを確認し、HTMLから渡されるパラメータを認識します。このHTMLは、不正なバイナリが関連するURLへと誘導するものです。

    図4:Javaアプレットのメインコード
    図4:Javaアプレットのメインコード

    また「JAVA_GONDY.A」は、不正なHTMLファイル「JS_FIEROPS.A」を用いて「BKDR_POISON.BLW」をダウンロードし、ファイル名を “update.exe” として <TEMPフォルダ> に保存します。そして「BKDR_POISON.BLW」が実行されると、「JAVA_GONDY.A」は、「BKDR_POISON.BLW」を削除します。

    図5:メソッド「cve2012xxxx/Gondzz.xrun()」
    図5:メソッド「cve2012xxxx/Gondzz.xrun()」

    トレンドラボの解析から、「BKDR_POISON.BLW」は、コンピュータに他の不正プログラムをダウンロードし、実行することが判明しています。つまり、「BKDR_POISON.BLW」に感染したコンピュータは、さらなる感染の被害に遭うこととなります。また、このバックドア型不正プログラムは、感染コンピュータから、スクリーンショットやWebカメラの画像を取得したり、また音声を録音したりする機能も備えています。問題のゼロデイ脆弱性を狙うエクスプロイトは、Mac OS X上でも実行されるという報告もされていることから、Macユーザも今回の攻撃に対して注意を払う必要があります。

    問題のゼロデイ脆弱性が、標的型攻撃に利用される可能性を指摘する見方を伝える報告もあるようですが、トレンドラボの解析結果では、この見解の裏付けが確認されていません。この脆弱性を利用するコードが組み込まれているWebサイトは、さまざまな不正プログラムを拡散させることで知られており、また「BKDR_POISON.BLW」が接続するサーバは、不正プログラムによって利用されることで知られているコマンド&コントロール(C&C)サーバです。標的型攻撃では、攻撃遂行のために、攻撃行動を隠ぺいすることで知られています。このことから今回のゼロデイ攻撃で利用されるドメインや IPアドレスを検証する限り、「隠ぺいしよう」とする意図があるとは考えられません。

    ■トレンドマイクロ製品による保護
    トレンドマイクロでは、今回の攻撃がEメールが発端となるという報告を受けています。Eメールは、ファイル共有ツールに誘導するように見せかけたリンクを含んでいるようです。しかし、実際は、このリンク先が問題のゼロデイ脆弱性を狙うエクスプロイトにつながることになります。トレンドマイクロ製品をご利用のユーザは、トレンドマイクロのクラウド型セキュリティ基盤「Trend Micro Smart Protection Network」」によりこの脅威から守られています。特に、「E-mailレピュテーション」技術により、この脅威に関連するEメールを検出、ブロックします。そして「Webレピュテーション」技術により、感染の発端となる改ざんされたWebサイトへのアクセスをブロックします。また「ファイルレピュテーション」技術により、今回の脅威に関連する不正なファイルを検出し、削除します。トレンドマイクロのサーバ向け総合セキュリティ製品「Trend Micro Deep Security」および「Trend Micro 脆弱性対策オプション」をご利用のお客様は、以下のフィルタを適用することにより、今回の脆弱性の被害から守られます。

  • 1004870 – Identified Suspicious Jar File
  • 1005170 – Java Applet Remote Code Execution Vulnerability
  • トレンドマイクロのネットワーク監視ソリューション製品「Deep Discovery」によって、「BKDR_POISON.BLW」が行う不正なネットワーク活動を検知することが可能です。

    なお、Oracleは、2012年8月30日(米国時間)、今回の脆弱性に対する定例外セキュリティ更新を公開しました。この更新により、最新版のJREを使用していたユーザは、”Vesion 7 Update 7″ に更新されることとなります。一方、JRE version 6 を使用していたユーザもまた、この更新通知を受け取り、この更新により、”Vesion 6 Update 35″ に更新されることとなります。この脅威を防ぐためにも、この定例外セキュリティ更新をただちに適用してください。

    参考記事:

  • Java Runtime Environment 1.7 Zero-Day Exploit Delivers Backdoor
     by Manuel Gatbunton (Threat Response Engineer)
  •  翻訳:宮越 ちひろ(Core Technology Marketing, TrendLabs)