伊企業「Hacking Team」の情報漏えい事例:Flash Playerに存在する未修正の不具合を確認

2015年7月、イタリア企業「Hacking Team」が攻撃を受け、400Gバイト以上の機密情報が漏えいしたことが報道されています。この企業は、合法的に通信を傍受するためのソフトウェアを販売していることで知られ、政府や法執行機関が使用している可能性があります。なお、Hacking Team は、これまでに人権抑圧国家との取引はないと述べています。

Hacking Team から漏えいしたとされている情報は、現在インターネット上に公開されています。漏えいした情報のほとんどが Hacking Team の業務内容となっていますが、製品の販売先に関しては企業の公式発表と矛盾しているようです。また、漏えいした情報の中には、攻撃を実行するためのツールが含まれていました。そして、こうしたツールには、Adobe Flash Player や Windows に存在する脆弱性を利用したエクスプロイトコードが含まれていました。

漏えいした情報には、少なくとも 3つのエクスプロイトコードが含まれていました。そのうち 2つが Flash Player の脆弱性を利用するもので、もう 1つは Windows のカーネルに存在する脆弱性を利用するものです。両 Flash Player の脆弱性のうち1つには、CVE識別子「CVE-2015-0349」が割り当てられており、パッチもリリースされています。

Adobe Flash Player の脆弱性を利用したエクスプロイトコードの 1つについて、漏えいした情報内では、「過去4年間で最も美しい Flash Player に存在する脆弱性」と述べられています。Flash Player の脆弱性のうち1つおよび Windows のカーネルに存在する脆弱性について、CVE識別子がまだ割り当てられていません。パッチもリリースされていないため、ゼロデイ脆弱性の状態になっています。

図1:漏えいした情報内での脆弱性に関する言及
図1:漏えいした情報内での脆弱性に関する言及

■今回の脆弱性について
漏えいした情報には、Windows の電卓を起動する Flashのゼロデイ脆弱性の「Proof-of-concept(PoC、概念実証型エクスプロイト。実際に有効な攻撃ができることを実証している攻撃コード)」と、実際の攻撃のシェルコードを含む公開バージョンが含まれていました。

トレンドマイクロは、POC に今回のゼロデイ脆弱性に関する詳細を記述した「Readme」が含まれていることを確認しました(図2)。この添付文書によると、この脆弱性は、Adobe Flash Player 9 以降のバージョンに影響し、デスクトップ版およびメトロ版の Internet Explorer(IE)、Chrome、Firefox、Safari などすべてに影響を与えます。

図2:漏えいした情報内での脆弱性に関する言及
図2:漏えいした情報内での脆弱性に関する言及

■根本原因の解析
「Readme」は、この脆弱性の根本原因についても言及しています。これは、クラス「ByteArray」に存在する「Use After Free(解放後使用)」の脆弱性です。下記で簡単に説明します。

  • 「ByteArray」オブジェクト「ba」のとき、「ba[0] = object」のような割当を実行すると、このオブジェクトの関数「ValueOf」を呼び出す
  • 関数「ValueOf」は上書きすることができるため、オブジェクト関数「ValueOf」の「ba」の値を変更することが可能になる
  • 関数「ValueOf」のメモリ「ba」を再割当てした場合、関数「ValueOf」が呼び出された後、「ba[0] = object」が元のメモリを保存し、使用するため、解放後使用が生じる。

■公開バージョンのエクスプロイトコードの解析
解放後使用の脆弱性を利用した攻撃によって、Vector.<uint> の length項目を破壊し、プロセス内で任意のメモリ読み込みおよび書き込みが可能になります。これにより、エクスプロイトコードは以下を実行することができるようになります。

  • プロセス内の「kernel32.dll」のベースアドレスを検索し、その後「VirtualProtect」のアドレスを取得
  • 「ByteArray」内に含まれるシェルコードのアドレスを取得
  • 「VirtualProtect」を呼び出し、シェルコードのメモリを変更して実行可能にする
  • AS3コードには定義された「Payload」と名付けられた空の static関数がある
  • 関数オブジェクトのアドレス「Payload」を検出し、その後、関数オブジェクト「Payload」が持つ正規の関数コードのアドレスを取得
  • 正規の関数コードのアドレスをシェルコードのアドレスに書き換える
  • AS3で static関数「Payload」を呼び出す。これにより、シェルコードが呼び出される
  • シェルコード実行後、static関数のアドレスをリセットする

弊社では、このエクスプロイトコードが利用する手法により、static関数コードのアドレスを上書きすることで Microsoft のセキュリティ機能「Control Flow Guard」を回避することを確認しました。

■トレンドマイクロの対策
この脆弱性を利用した攻撃はまだ確認されていないため、ユーザは過度に懸念する必要はないでしょう。弊社では、必要に応じて今後も引き続き情報を提供していきます。

弊社のネットワーク挙動監視ソリューション「Trend Micro Deep Discovery(トレンドマイクロ ディープディスカバリー)」をご利用のユーザは、サンドボックスや「Script Analyzer」エンジンによりこの攻撃を検知することが可能です。また、ブラウザ向け脆弱性利用対策技術「ブラウザガード」は、弊社のネットワーク端末向けセキュリティ対策製品に搭載されています。また、弊社のクラウド型セキュリティ基盤「Trend Micro Smart Protection Network」の「Webレピュテーション」技術により、このエクスプロイトコードを拡散させる不正URL へのアクセスをブロックします。

参考記事:

【更新情報】

2015/07/07 22:58 その後の解析の結果、CVE番号が割り当てられていない脆弱性は、2つの Flash Player のうち 1つの脆弱性および、Windows のカーネルに存在する脆弱性であることが判明し、本文中を更新しました。

【更新情報】

2015/07/08 11:00 弊社では現在調査を進めていますが、今回の漏えい事例で確認されたゼロデイ脆弱性は、弊社が最近調査した攻撃で利用されたものだと考えています。この件に関しては、本ブログで追ってご報告いたします。

トレンドマイクロのサーバ向け総合セキュリティ製品「Trend Micro Deep Security(トレンドマイクロ ディープセキュリティ)」および「Trend Micro 脆弱性対策オプション(ウイルスバスター コーポレートエディション プラグイン製品)」をご利用のお客様は、以下のフィルタを適用することにより、問題のゼロデイ脆弱性を利用した攻撃から保護されます。

  • 1006824 – Adobe Flash ActionScript3 ByteArray Use After Free Vulnerability

Hacking Team 関連の記事一覧

日付 更新
7月5日 伊企業「Hacking Team」が攻撃を受け、400Gバイト以上の企業の機密情報がインターネットに公開される。
7月7日 3つの脆弱性 – Adobe Flash Player の脆弱性 2つと Windowsカーネルの脆弱性 1つが漏えいした情報から確認される。そのうちの 1つ「CVE-2015-5119」は Flashのゼロデイ脆弱性。

Windowsカーネルに存在する脆弱性「CVE-2015-2387」は、Open Typeフォントマネージャのモジュール(ATMDF.dll)に存在し、サンドボックスを使ったセキュリティ対策を回避するために利用される。

Flash のゼロデイ脆弱性「CVE-2015-5119」が、「Angler Exploit Kit」や「Nuclear Exploit Kit」に追加される。韓国および日本に限定した攻撃も確認。

7月11日 2つの Flashゼロデイ脆弱性「CVE-2015-5122」および「CVE-2015-5123」が漏えいした情報から新たに確認される。
7月13日 Hacking Team が自社製品「Remote Control System (RCS)」のエージェントを対象とする PC に常駐させるための UEFI および BIOS に感染するルートキットが漏えいした情報から確認される。
7月14日 IEゼロデイ脆弱性「CVE-2015-2425」が新たに確認される。
7月16日 「Google Play」のフィルタを回避する偽のニュースアプリが確認される。
7月20日 Windowsに存在する新たなゼロデイ脆弱性「CVE-2015-2426」が確認され、Microsoft は定例外の更新プログラムを公開。
7月21日 不正プログラム「RCSAndroid」を解析した結果、Hacking Team が対象とするモバイル端末を監視していたことが判明。

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