Flash Playerのゼロデイ脆弱性「CVE-2015-5119」による標的型攻撃を国内で確認

7月5日、イタリア企業「Hacking Team」から漏えいした情報からエクスプロイトコードが複数確認されたことは既に本ブログでもお伝えした通りです。トレンドマイクロでは、すでにこのエクスプロイトコードがさまざまなエクスプロイトキットに取り込まれていることなどを確認しています。そして、さらに今回トレンドマイクロでは、これらの脆弱性に含まれる「CVE-2015-5119」が日本国内において標的型攻撃の一種である水飲み場型攻撃に悪用されている実態を確認しました。

■今回確認された水飲み場型攻撃
トレンドマイクロのクラウド型セキュリティ技術的基盤「Trend Micro Smart Protection Network(SPN)」では、様々な脆弱性を利用する攻撃サイトについての情報を収集しています。その中で、日本国内の 2つの改ざんされた正規サイト上で「CVE-2015-5119」の脆弱性を利用する攻撃コードが使用されていること、その脆弱性攻撃から侵入する不正プログラムがトレンドマイクロでは「BKDR_EMDIVI」(EMDIVI)の名称で検出対応している遠隔操作ツール(RAT)であることを確認しました。EMDIVI は特に日本を狙う標的型攻撃での使用が確認されている RAT です。EMDIVI では、遠隔操作用のサーバ(C&CサーバもしくはC2サーバ)として、主に日本国内の改ざんされた正規サイトが使用される特徴があります。そして今回確認された攻撃では、侵入時の経路としても国内の 2つの非営利団体のサイトが改ざんされ、使用されました。

「CVE-2015-5119」の脆弱性は、既に7月9日公開の記事でもお伝えしている通り、遅くとも 7月1日の時点で韓国を中心とするゼロデイ攻撃が発生していたことが確認されています。今回日本国内で確認された事例では、修正プログラム公開の直前から攻撃が開始されており、こちらもゼロデイ攻撃となっていました。

■水飲み場型攻撃に使用された「CVE-2015-5119」
「CVE-2015-5119」はオブジェクト関数「valueOf」に含まれる「Use After Free(解放後使用)」の脆弱性です。脆弱性を発現させると、VirtualProtect の呼び出しを行うことで Windows の標準的な保護機構である DEP を回避しようとします。今回確認された攻撃においても ActionScript を通じて VirtualProtect のエントリポイントを特定したうえでこれ使用し、実行可能なメモリ領域を設定することで、そこにシェルコードを書き込んで実行することを確認しています(図 1)。

図1:VirtualProtect のエントリポイントを取得するための ActionScript
図1:VirtualProtect のエントリポイントを取得するための ActionScript

さらにシェルコードでは、当該脆弱性を悪用する swfファイル内に zlib で圧縮された Exeファイルを、uncompressメソッドにより展開した領域のアドレスを渡すことでファイル上に保存して実行させます(図 2)。

図2:圧縮されたExeファイルの展開と、展開先アドレスの受け渡し
図2:圧縮された Exeファイルの展開と、展開先アドレスの受け渡し

「CVE-2015-5119」はこのように ActionScript を巧妙に使用することで脆弱性を悪用し、不正プログラムを実行していました。そして今回発見された攻撃では、最終的に活動を開始する検体は、標的型攻撃での使用が確認されている遠隔操作ツール(RAT)である EMDIVI でした。

■遠隔操作ツールEMDIVIとは
国内標的型サイバー攻撃分析レポート 2015年版」で示している通り、EMDIVI は 2014年に登場し、日本を対象とした標的型サイバー攻撃において最も使用されている RAT となっています。EMDIVI の名称は、md5 を使用したハッシュ値を内部的ないくつかの処理に使用することに由来しています。たとえば、設定する Mutex名にハッシュ値を使用しています(図 3)。

図3:EMDIVIがmd5値をMutex名に指定している呼び出し箇所
図3:EMDIVI が md5値を Mutex名に指定している呼び出し箇所

ほかにも、C2サーバ から受信するコマンド名称のチェックには平文ではなく md5ハッシュ値を使用しています(図 4)。左側は EMDIVI が内部的に使用する md5ハッシュ値、右側はそのハッシュ値に該当するコマンド文字列になります。

図4:C2サーバからのコマンドをチェックするためにEMDIVIが使用するmd5ハッシュ値(一部)
図4:C2サーバからのコマンドをチェックするために EMDIVI が使用する md5ハッシュ値(一部)

このように EMDIVI は md5 を感染活動の中で内部的に使用していることから、このハッシュアルゴリズムになぞらえて命名されました。

■EMDIVIの耐解析機能
EMDIVI には解析を困難化させるための耐解析機能が実装されています。具体的には、EMDIVI は感染したホスト名を検出し、一般的な sandbox で使用されている仮想マシンのホスト名一覧と比較することにより、sandbox による解析を検出しようとします(図 5)。

図5:EMDIVIによるsandbox検出
図5:EMDIVIによるsandbox検出

他にも、感染後は一定時間が経過しないと動作を開始させないことや、一般的な動的解析ツールを検出する(図 6)ことなどにより、既存のマルウェア解析手法の回避を試みるなど、複数の耐解析機能を持っている特徴があります。

図6:EMDIVI が検出対象としている動的解析ツールの名称例
図6:EMDIVI が検出対象としている動的解析ツールの名称例

■EMDIVI の耐解析機能
「EMDIVI」が C2サーバから指令を受信することで実行することが可能な機能を以下に示します。

  • ファイルの検索
  • ファイルの削除
  • ファイルのダウンロード・アップロード・実行
  • 実行中のプロセス一覧の取得
  • Internet Explorer(IE)の認証パスワードとオートコンプリートの窃取
  • プロキシ設定の窃取(FireFox含む)

EMDIVI が実行可能な指令は、感染した PC内でのファイルの検索や削除、窃取に集中しています。また、IE の認証パスワードとオートコンプリートの窃取が、その後追加されていることを確認しています。機能追加された亜種が確認できたことは、 EMDIVI がいまも開発の途上にあり、今後さらに機能追加される蓋然性があります。

■トレンドマイクロのソリューション
トレンドマイクロのクラウド型セキュリティ基盤「Trend Micro Smart Protection Network」の機能の 1つである「ファイルレピュテーション」技術により、当該検体は「SWF_EXPLOYT」や「BKDR_EMDIVI」などとして検出対応を行っております。また、当該検体が使用する C2サーバへの通信は「Webレピュテーション」技術によりブロックします。ネットワーク挙動監視ソリューション「Trend Micro Deep Discovery(トレンドマイクロ ディープディスカバリー)」では、以下の監視ルールで「BKDR_EMDIVI」が行う通信を検知し、侵入を可視化することが可能です:

  • EMDIVI HTTP Request