MWS2009発表資料

2009/10/28

マルウェア解析の効率化手法の検討
情報セキュリティ大学院大学
博士前期課程 2年
山口和晃

研究背景
従来のマルウェア解析は、限られたマルウェアの解析者がおこなってきた。

問題
現在はネットワーク接続の有無、日時などの実行環境要因から処理を分岐することで、振る舞いを変化させる耐解析機能を備えたマルウェアが増えているために、解析者の負担が飛躍的に増大しており、解析精度や解析効率の低下が起きている。

研究目的
マルウェアの実行環境や実行方法の工夫による自動的解析の精度の向上や解析効率の向上に対する有効性の検討を行う。

目次
問題提起
マルウェアの解析システム
マルウェアの解析結果
考察
今後の課題問題提起

耐解析手法について①
 挙動の分岐と暗号化をあわせた技術
If(解析されているか？)

メモリー{

YES

一行ずつ実行コードの出力をする//解析されている場合
解析者を惑わす偽の処理、処理の停止；}else{

暗号化されたマルウェア

NO}//解析されていない場合
本来のマルウェアの処理;

耐解析手法について②
主に自動的なマルウェアの解析は容易性から仮想マシンやデバッガで行われているが、侵入したホストが解析されていることを検出して活動を停止するマルウェ
アが多くなっている。
If(仮想マシン上でマルウェアが実行されているか？){
YES//実行されている場合解析者を惑わす偽の処理;}else{
NO//実行されていない場合本来のマルウェアの処理;}マルウェアの解析システム

マルウェア解析システム①
 Windows XP各サービスパックの場合の比較ができる環境を構築した。
 模擬ネットワークには、マルウェアを実行する感染PCが接続され、模擬DNS、IRC、SMTP、SMB、HTTP の各サーバ群は、実際には制御PCの中に実装している。

マルウェア解析システム②
解析するには、実行環境、自動解析処理の全体制御や挙動の記録と分析、感染後のPC の復旧などの機能が必要となる。

マルウェア解析システム③
BDBの一例[HASH] マルウェアのハッシュ値の先頭６桁

環境で取得できる情報は、レジストリ改竄、システ
ムファイルの変更、プロセスリスト、Hostファイ
ルの改竄、ルートキットの有無、通信ログ、などの項目を文字列の情報として抽出し、これをBDB（Behavior Data Base）として蓄積する 。

f8c19c[REGISTRY] レジストリ改ざんc:¥windows¥u29tzwjvzhk¥command.exe
c:¥program files¥network monitor¥netmon.exe[MD5SUM] システムファイル等の変更
Created C:¥WINDOWS¥SYSTEM32¥ATMTD.DLL.TMP[PROCESS] Listen port プロセスリスト
628 winlogon 672 services 588 netmon
128 command 572 wuauclt[HOSTS] HOSTSファイル改ざん
Change Found.
[ROOT KIT] ルートキットの有無
Not Detected[TRAFFIC] 通信ログ
FQDN(13) xxx6ry3i3x3qbrkwhxhw.xxx439.com
xxxmand.xxxervs.com
PORT(13),：53(4) 80(20) 35815(3) 42613(3) 44627(3)43327(3) 45390(3) 49830(3) 58010(3)44645(3) 48717(3) 56840(3) 54267(3)マルウェアの解析結果

実行環境変化による挙動変化
実行環境においてのマルウェアの挙動の違いを比較するため、Windows XP Professional SP0（仮想マシン）、SP2の仮想マシンと実マシンの三つの実行環境を用意し、先頭ハッシュ値６桁が68ac29のマルウェアを解析した。
実行環境OS

通信ポート（Top 5+その他+ICMP）

ファイル改ざん(Top 5+他+改竄+削除）

XPSP0（仮想）0000010000000000000010

XPSP2（仮想）0000010000000000100000

XPSP2(実機)0000010000000000010000

実行環境OS

Service

RootKit

hostXPSP0（仮想）000

XPSP2（仮想）000

XPSP2(実機)010

プロセス（Top 5+その他＋削除）確率的な挙動の変化①
実行環境に依存せずに実行時刻などから確率的に動作パターンを変更するマルウェアについて考察する。
１種類の実行パターンしか持たないマルウェ
アに対して何度も実行していては無駄が多い。
複数の実行パターンを持つマルウェアにおいてはできるだけ全てのパターンを網羅したい。

確率的な挙動の変化②大数の法則より取りこぼし確率(単位[%])
試行回数[回]xパターン
11020501001001052

1220104233015634402084550251051※これが成り立つには確率が独立であり、一様分布している必要がある。

確率的な挙動の変化③
表１
hash値

解析の１０回試行結果

挙動パターン数

各出現回数

1d23f2110393f00

11068ac29

25,57190e4

11084e9c2

110cd9125

29,1(１エラー含)

d49391110df7585

29,1(１エラー含)

f8c19c110

fdf3bbc

110

表２
hash値

解析の１００回試行結果

挙動パターン数

各出現回数

1d23f21100393f00

1100

68ac294

69,23,6,2

7190e41100

84e9c21100

cd9125299,1(１エラー含)

d49391

1100

df7585299,1(１エラー含)

f8c19c1100

fdf3bbc

1100

考察考察①
実マシンのみルートキットの実行がRootkitRevealerに検出されたことがわかる。これは、仮想マシンで真の実行動作をやめてしまった可能性が高い。このことから、実マシンでの解析も併用して使用する必要があることがわかる。
ホストファイル、サービス、ルートキット有無
実行環境OS

Service

RootKit

hostXPSP0（仮想）000

XPSP2（仮想）000

XPSP2(実機)

010

考察②
マルウェアの挙動が実際に一様分布しているのか、検討すると、複数の挙動が確認された“68ac29”の出現回数に偏りがあることから、今回は一様分布であるとは言えないが、１０回の実行をして、複数のパターンが得られなければ、解析を停止することで、一定の効率化が可能と考えられる。
表１
hash値

解析の１０回試行結果

挙動パターン数

各出現回数

68ac2925,5

cd912529,1(１エラー含)

df758529,1(１エラー含)

表２
hash値

解析の１００回試行結果
挙動パターン数

各出現回数

68ac29469,23,6,2

cd9125299,1(１エラー含)

df7585299,1(１エラー含)

今後の課題今後の課題実マシンの解析の回数を低減する検討
確率的な挙動の変化の解析のための統計的なデータの取得
より一般的な使用環境に近い実行解析環
境の構築

ご清聴ありがとうございました。