Copyright© 2009 NTT. All Rights Reserved.

半透性仮想インターネットによるマルウェアの動的解析○青木 一史† 川古谷 裕平† 岩村 誠†‡ 伊藤 光恭†† NTT情報流通プラットフォーム研究所‡ 早稲田大学

マルウェア対策研究人材育成ワークショップ2009© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

目次

• 背景
• アプローチ–Botnet Watcher：半透性仮想インターネットにおける動的解析
システム–実行済みコード領域の分析• CCC DataSet2009検体を用いた実験• まとめ2© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

背景• ボットをはじめとするマルウェアは、日々新種・亜種が出現し、脅威をもたらしている。
– マルウェアの挙動に応じた対策を講じるには、マルウェアの解析が必須。
– 多数のマルウェアを短時間で解析するには、動的解析が効果的。

静的解析

動的解析【Pros】
プログラムに記述された全ての挙動を把握できる。

【Pros】
比較的容易に解析結果を取得できる。

【Cons】
高い専門性が必要であり、また解析に時間がかかる。

3【Cons】
実行されない部分の挙動を調べるのが難しい。

© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

動的解析の課題• 動的解析環境ごとの長所/短所– 閉環境（実インターネットから完全隔離）【Pros 】 安全に解析可能【Cons】 ボットやシーケンシャルマルウェアが実インターネットでどのような振る舞いを見せるのかを解析するのは困難– 開環境（実インターネットと接続可能）【Pros 】 ボットやシーケンシャルマルウェアの解析を可能【Cons】 適切なフィルタリングをしないと外部に攻撃をしてしまう可能性がある

ボットやシーケンシャルマルウェアを安全に解析する手法が必要• 動的解析結果の評価における課題– 動的解析では、解析時に実行された領域の解析結果しか得られない– 解析時に実行されるコード量が多いほど、その検体の挙動を多く把握できるようになると考えられる。
解析環境の違いにより、実行されるコード量がどの程度変化するのか不明
4© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

アプローチ
【課題①】
ボットやシーケンシャルマルウェアを安全に解析する手法の確立
Botnet Watcher：
半透性仮想インターネットによる動的解析【課題②】
解析環境の違いと実行済みコード量の分析
閉環境・開環境における動的解析時に実行されたコード領域の比較評価

5© 2009 NTT Information Sharing Platform Laboratories

Botnet Watcher：
半透性仮想インターネットによる動的解析

Copyright© 2009 NTT. All Rights Reserved.

• Agent：– マルウェア実行環境（Anti-VM対策済み）• GateKeeper：– 半透性仮想インターネット環境• 半透性仮想インターネット：ペイロードからプロトコルを識別し、マルウェアの通信を実インターネットに通過させるか、擬似的な応答を返す仮想インターネットで対応するかを識別する。

• Controller：– Agent/GateKeeper管理（マルウェアインストール・ロールバック等）
Agent（Windows XP SP0）Agent（Windows XP SP0）GateKeeper

fake DNSd
fake NTPd･･･

peekdaemon

fake IRCd

FWInternet

fake HTTPd

Agent（Windows XP SP0）

fake SMTPd

Controller

6© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

実行済みコード領域の分析• 閉/開の動的解析環境でマルウェアを動作させる。
– 解析中に、ステルスデバッガ*1でマルウェアの実行トレースを取得。
• Anti-Debug対策• 高速なトレースを実現• 取得した実行トレース結果と、アンパック済みのオリジナルコード*2から、実行済みコード割合を取得。
GateKeeper

AgentInternet

ステルスデバッガ

実行トレース取得

アンパック済みオリジナルコード

実行済みコード割合取得*1…川古谷ら：ステルスデバッガを利用したマルウェア解析手法の提案 （MWS2008）*2…岩村ら：コンパイラ出力コードモデルの尤度に基づくアンパッキング手法 （MWS2008）7© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

実験環境• 閉/開環境における動的解析– 解析対象検体• CCC DataSet 2009検体 （10検体）– 解析時間• 1検体につき3分間動作– 解析環境• 閉環境：Matrix Daeomns– 隔離環境における動的解析システム» TCP・・・セッション確立まで応答» UDP・・・NTP/DNSに対して擬似応答• 開環境：Botnet Watcher– 半透性仮想インターネットによる動的解析システム» TCP・・・HTTP/IRC/SMTPをプロトコル判別し、実インターネットor仮想インターネットが応答» UDP・・・NTP/DNSに対して、実インターネットと同様の値で応答

8© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

動的解析結果（接続先IP数）
TCP
IRC

UDP

HTTP

UNKNOWN

DNS閉開閉開閉開1D23（W32.Mancsyn）

33417211393F（Trojan.Horse）

3

57,451

1

184E9（Downloader）

3

54,566

1

13,39511hash

閉7190（W32.Spybot.Worm）

1開

1Downloader
IRCボット

閉環境時には見られなかった外部へのスキャンを開環境での解
析で観測問い合わせFQDN数

9ボットやシーケンシャルマルウェ
アの活動観測を実現© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

問い合わせFQDN• 閉環境での解析では、３つの検体が３種類の同一FQDNの名前解決を実施。
• 開環境で解析したときに各検体から追加で得られた接続先は必ずしも一致していない。
シーケンシャルマルウェアの場合、実際の脅威を分析するためには開環境での解析が効果的
閉環境での解析で検出

開環境での解析で新たに検出検体と問い合わせFQDNの関係

10© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

動的解析結果（接続先IP数）TCPIRChash

閉

閉

開68AC（Trojan.Peacomm）

1

1CD91（W32.Spybot.Worm）

4473

D493（W32.Virut.B）

開HTTP

1

UDP
UNK

閉
93

開

DNS

UNK

閉

開

閉

開

閉

開

11

1

1145

114

87

6
1

1DF75（Trojan.Hose）

12

11

F8C1（Spyware.ISearch）

2

11

1

FDF3（Trojan.Horse）

11

1

1

開環境では、IRCの接続先FQDNの名前解決ができなかったため。
（2009/8/19時点）

NTP

Botnet Watcherで許可していない通信のため、閉/開環境で大きな差が出ない。

安全性と解析精度のトレードオフについて、まだ課題がある
11© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

実行済みコード領域の実験結果• 閉環境でも開環境でも、動的解析中に全てのコードが実行されていない。
– CCC DataSet2009検体の場合、10～60%程度のコードが実行されている
12© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

実行済みコード領域の実験結果• ボットのように、外部からの指令に応じて挙動が変化するマルウェアの場合は、開環境の方が実行されるコード量が増加。

13© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

実行済みコード領域の実験結果• ワームのように、外部からの指令を特に必要としない検体は、閉環境でも開環境でも、実行されるコード量に変化はない。

14© 2009 NTT Information Sharing Platform Laboratories

Copyright© 2009 NTT. All Rights Reserved.

まとめ• 開環境での動的解析手法として、Botnet Watcherを提案– CCC DataSet 2009検体を使った実験より、ボットやシーケンシャルマルウェアの実インターネットにおける挙動を分析した。
– 安全性と解析精度を両立させるために、外部との通信の許可方式については更なる検討が必要である。

• 動的解析時に実行されるコード領域の差異を追跡– ボットのような、外部からの指令に起因して挙動が変化するような検体の解析では、開環境がより多くのコード領域が実行される。
– 単純なワームのように、外部からの通信を必要としない検体については、
解析環境の違いで、実行されるコード領域は変化しない。

15© 2009 NTT Information Sharing Platform Laboratories