半透性仮想インターネットによるマルウェアの動的解析
青木 一史 Ý川古谷 裕平 Ý

岩村 誠 ÝÞ

伊藤光恭 Ý 情報流通プラットフォーム研究所 東京都武蔵野市緑町                   早稲田大学  東京都新宿区大久保        あらまし マルウェアの挙動を解析する手法に動的解析があるが，これまでは閉環境での解析に終始していたため，十分な解析結果が得られていなかった．本稿では，外部との半透過的な通信を実現する仮想インターネット環境で動的解析を行う   を用い，  
検体の解析を行った．また，動的解析環境が，実行されるコード量にどのような影響を与えるかについて調査した．解析結果から，閉環境での解析に比べ，   での解析の方がより多くの接続先や，追加プログラムを収集できることを示した．また，ボットのような外部との通信により動作が変わるマルウェアの場合，開環境で解析した方が実行されるコード量が増加することを示した．

              Ý   Ý  ÝÞ   Ý                     ! " " # $                 %  & ' ( )  *  + """ # $             !  "   # $    "  !% !& '  (()  *     "  ) ! (" $!  +& #  $%  ! ,  #   !#  # $  # (" $ & -!      "  # ) ##   !  " #    ! ,  !# #&

 はじめに近年，ボットをはじめとするマルウェアが猛威を振るっている．これらの脅威を抑えるには，マルウェアを解析し，その挙動に応じた適切な対策を講じる必要がある．
膨大な数のマルウェアが出現している現状から，マルウェアを実際に動作させて挙動を分析

インターネットにおける動的解析システム は，実インターネット上の攻撃者からの指令に応じて挙動が変化するボットや，シーケンシャルマルウェアによる追加プログラムのダウンロードといった挙動を追跡するための動的解析システムである．  の全体概要図を図  に示す．   は

fake DNSd
fake NTPd

Agent（Windows XP SP0）

peekdaemons

fake IRCd

to InternetFW

fake HTTPd
fake SMTPd

Agent･･･

    半透性仮想GateKeeper

Agent（Windows XP SP0）･･･

する動的解析が注目されている．動的解析は，完全に隔離された環境で行われるものと，実インターネットへの接続が許可された環境で行われるものとに分けられる．前者は，実インターネットへの接続が完全に絶たれているため，解析における安全性を高く保つことができるが，ボットやシーケンシャルマルウェア ./ のように，外部との通信によってはじめて脅威が露見するようなマルウェアについては，十分な解析結果を得ることができない．一方後者は，実インターネットとの接続を許可することで，隔離環境における解析よりも多くの情報を収集できるものの，解析時の安全性には十分配慮する必要がある．
また，動的解析の場合，マルウェアのコードを逆アセンブル等により分析する静的解析とは異なり，動作した部分の挙動しか把握できない．
そのため，動的解析でマルウェアの挙動をどの程度把握できたのかは，実行されたコード量に依存すると考えられる．しかしながら，動的解析で実行されたコード量についての調査はこれまで行われていないため，動的解析自体がどの程度解析に有効であるかが明らかにされていない．
本稿では，このような事態を鑑みて，特定の通信のみ外部に通過させる，半透性仮想インターネット環境上でマルウェアの動的解析を実現する  ./ の実装を行い，  検体 ./ によりその評価を行った．
評価では，閉環境での解析と，開環境での解析とで得られる結果の違いに着目した．さらに，
ステルスデバッガ . / を利用し，動的解析における実行済みコード領域について調査を行った．

（Windows XP SP0）

Controller

図 0  概要図

% 1 23( 1    により構成される．以下，各々について説明する．

 

% は，マルウェアを実際に動作させるための環境である． % は 45./ 上で動作しており，67 として #  89（パッチ未適用）をインストールしている．マルウェア
によっては，仮想マシン上での動作を検知し，正しく動作しなくなるものが存在する．そこで，
% には多くのマルウェアが利用する仮想 67検知手法である，下記手法を回避するための仕組みを組み込んだ．

+#  '16 ポートアクセス . / 45 固有の 5 アドレス . / 仮想環境と実環境での 7' 命令などの戻り値の差異 .:/  23( は，% と実インターネットとの間の通信を仲介するモジュールである．2
3( では，% で実行されたマルウェアからの通信を終端し，実インターネットに通信させるか否かの判断を行う．% からの通信は，まず (+ #  で受け取り，ペイロードを解析し，プロトコルの識別を行う．プロトコル識別では，;9 1 759 1 '- 1  7 1 9 のいずれかであるかを調べている．23( 内にはこれらのプロトコル毎に処理するための擬めのシステムである．なお，5  
似サーバが用意されており，プロトコルの識別には種々の擬似サーバを用意しているが，9ができた場合には，対応する擬似サーバで外部に通信させるか否かの判断を行う．< サーバの通信についてはセッションを確立した後，そとの通信や，;9 によるファイルダウンローの通信に対する応答は行っていない．
ドの通信であると判断された場合，擬似サーバ
5   及び   では，は % から受け取ったデータを実インター つの検体につき  分間動作させて挙動解析を行ネットに送信し，実インターネットから受信しった．なお，   については，たデータはそのまま % に転送する．外部へ
年  月  日に解析を行った．の通信が許可されない場合，擬似応答を生成し，% に送信する．プロトコルの識別ができな実行済みコード領域の分析
かった場合には，その旨をログに出力し，%
動的解析時に実行されたコード領域について，に対してレスポンスは送信しない．
  と 5   の二つの動的解析環境で調査した．実行済みコード領域
  は，% をステルスデバッガ上で動作させ，
   は，% 及び 23( の管 ='9 をトレースすることで取得した．ステルス
デバッガは，仮想マシンを利用してゲスト 67
理を行う．% に対しては，主に解析対象検体の外側からデバッグ機能を提供するツールであの送信と，解析完了時にシステムを解析前の状る．これにより，マルウェアが持つ種々のアン態にロールバックする作業を行う．また，23( に対しては，解析完了時にシステムの チデバッグ機能を回避しながらトレースを行うことができる．また，単純にマルウェアにデバッロールバック作業と，挙動解析ログの収集を行ガでアタッチしてトレースする場合，コンテキう．なお，   では，複数の % 及びストスイッチが多発することで動作が重くなっ
23( の操作が可能である．てしまうが，ステルスデバッガの場合は一命令毎に例外をハンドリングする必要がないため，実験高速なトレースを実現することができる．また，実行されたコード領域がオリジナルコードに占 実験環境める割合を求めるにあたり，. / の手法によりオリジナルコードを取得した．
前述した，   の評価を行うにあ

たり，研究用データセット   
検体を利用した．実験では，データセットとして提供された  検体の挙動解析と，解析時に実行されたコード領域について分析した．以下，検体挙動解析と実行済みコード領域分析の実験環境について説明する．

検体挙動解析

挙動解析は，外部から完全に隔離された閉環境での動的解析と，   による挙動解析を行い，両者の結果を比較した．閉環境での動的解析は，5  ./ により行った．5   は，隔離環境に構築した仮想インターネット空間内で動的解析を行うた

検体解析結果

5   及び   で得られたプロトコル別接続先数について，表  に示す．表中のかっこ内の数字は， 7 の列では，問い合わせた >? の数を表しており，その他の列では，'9 アドレスを直接指定してアクセスしたホストの数を表している．また，各検体を識別するために，' として検体の 7; ハッシュの先頭から 文字目まで用いた．
;9 での通信を行ったものについて，，  の検体が '9 アドレスを直接指定して行った通信については，いずれも "4 へのアクセスを試みるスキャンであった．それ以外の

表 00  及び 5   の解析で得られた接続先数（50 5  ，）．

9@9'-;9 @ 3 6 7
9@ 3 6' 5  5  5
 5  5  5  
:ABA:B AB AB > 
 :)  A:) B AB AB    AB ABA B A B:   )  A) B AB AB=)
A ) B AB AB  
:

:

A B A:B A B A:BAB  AB AB
>:    

AB AB> 
AB AB>> 





AB AB;9 による通信は，実行プログラムのダウンロードや別サイトへの転送，バイナリデータの受信といった通信に利用されていた．
'- での通信を行ったものについて，:  の検体は，   での解析時に実際に< サーバに接続し，近接に対するスキャンを行う命令を受けていた．これにより，5  での解析時には見られていなかった
9 通信が多数発生している．
また，問い合わせた >? の数について比較すると，5   の解析結果に比べ，  での解析結果の方が多数取得しているのがわかる．同様に，;9 や '- での通信先数についても，ほとんどの場合，  の方が多く取得できている．図  は，  での解析で得られたマルウェ
アと問い合わせがあった >? との関係を表している．， >， = の検体について
は，共通の >? に対する問い合わせが行われている．共通する問い合わせ先に対するアクセスを詳細に分析したところ，同一のホストから同一のファイルをダウンロードし，実行していた．つまり，これらのマルウェアにはダウンローダとして共通の挙動が存在するといえる．
なお，共通してダウンロードしたファイルを静的解析したところ，実行すると ((.(/& にアクセスするプログラムであった．
，: ， = ，  の検体に見られるプロトコル判別ができなかった 9 通信について，宛て先ポートが  番， 番， 図 0 マルウェアと問い合わせた >?
わせた >? ）の関係（四角：マルウェアのハッシュ値，楕円：問い合番であったことから，これらの通信はいずれもマルウェアの感染活動によるものだと考えられる．また，プロトコル判別ができなかった @9通信のうち，  の検体についてはデータ長が  バイトで，全く同じデータを送出していた．プロトコル判別ができなかった通信については，外部に透過させていないため，今回の動的解析では  バイトの @9 の通信がどのような意図で行われたものかを特定することはできなかった．
以上の結果から，   での解析
では，閉環境での解析に比べ，多くの通信先を収集でき，また，シーケンシャルマルウェアがダウンロードする追加ファイルのダウンロードを行うことができている．一方で，プロトコルの判別ができなかった通信については，安全性とのトレードオフから，外部に透過させていないため，実インターネットからどのような応答が返ってくるかを把握できなかった．このように，外部に通過させる通信の選び方は，解析精度に直結するため，外部との通信を許可すべき通信の選び方には課題があるといえる．

実行済みコード領域

   検体を，5   及び   で動的解析した際70.00） 60.00（合% 50.00
割ド 40.00
ーコ 30.00
行実20.00

MDBW

10.00
0.00

1D23 393F 68AC 7190 84E9 CD91 D493 DF75 F8C1 FDF3

MD 61.8 32.6 23.0 19.3 34.1 53.4 9.19 16.9 11.7 21.5
BW 61.5 41.0 20.8 39.9 34.2 53.4 9.19 17.5 11.7 21.5

図 0 オリジナルコードに対する実行済みコード領域の割合（50 5  ) 0 ）に実行されたコード領域のオリジナルコードに占める割合を図  に示す．
図  より， > や :  の検体では，5  での解析で実行されたコード量に比べ，   での解析で実行されたコード量が増加しているのがわかる．これは，外部との通信が成功した場合に実行される領域があるためと考えられる．:  の検体は，表  の結果から，'- を利用するボットであると考えられるが，   での解析では， <サーバに接続し，指令を受け取ることで感染活動を開始している．この挙動をつかさどるコー

ド領域は，外部からの指令を契機として実行されるので，閉環境での解析だけでは実行するのは難しい．
一方で，  の検体のように，閉環境・開環境のどちらで解析しても実行されるコード領域に差が見られないものが存在する．実行されるコード量に大きな差が見られない原因としては，感染活動が主としてみられるワームや，ダウンロードの機能しか具備していないような検体では，外部からの応答を期待した動作がコーディングされていないことが挙げられる．そのため，表  の結果でワームのような挙動が閉環境・開環境の両方で得られていた   の検体
では，5   で解析した場合と，   で解析した場合とで，実行済みコード領域の差が見られなかった．ただし，  が外部へ許可していない通信でマルウェアが外部からの応答を期待しているようなものが存在する場合にも，5   で実行した場合と差が出ない可能性もある．
また，  の検体のように，閉環境の方が実行される領域が大きくなる場合も存在する．
この理由としては，外部に通信できない場合の挙動が別途コーディングされているためだと考えられる．
以上のように，外部との通信により挙動が変化する検体の場合には，   のような環境で動的解析することで，検体のより多くの部分について解析結果を得られることがわかる．

 まとめ本稿では，    検体により，開環境動的解析システムである  の評価を行った．検体解析に関して，閉環境での動的解析では困難であったボットやシーケンシャルマルウェアの挙動を追跡できることを確認し，さらに， 7 で問い合わせが行われる複数のドメインを閉環境での解析よりも多く収集できることを確認した．また，動的解析時に実行されるコード領域について，閉環境及び開環境で調査を行い，環境によりどの程度実行されるコード領域に差が現れるのかを明らかにした．

参考文献./ 独立行政法人 情報処理推進機構セキュリティセンター& 近年の標的型攻撃に関する調査研究&     ) &./ 青木一史) 岩村誠) 伊藤光恭& 半透性仮想ネットワークを用いたボットの動的解析手法の提案& 電子情報通信学会  総合大会) &./ 畑田充弘) 仲津留勇) 寺田真敏) 篠田陽一& マルウェア対策のための研究用データセットとワークショップを通じた研究成果の共有&
マルウェア対策研究人材育成ワークショップ )  &. / 川古谷裕平) 岩村誠) 伊藤光恭& ステルス
デバッガを利用したマルウェア解析手法の提案& マルウェア対策研究人材育成ワークショップ ) &./ 45& 4  !#  (!% $!* ) % ) $!  <$&    )  &. / 6!#  C!&  !% + #(  D!&  )  &.:/ E  -!+ +&-# (&&&    # $ !% A B  (! ! &      )  &./ 青木一史) 川古谷裕平) 秋山満昭) 岩村誠) 針生剛男) 伊藤光恭& 能動的攻撃と受動的攻撃に関する調査および考察& 情報処理学会論文誌) 4 & )& )  &. / 岩村誠) 伊藤光恭) 村岡洋一& 隠れマルコフ
モデルに基づく新規逆アセンブル手法& 電子情報通信学会  総合大会) &