パケットキャプチャーから感染種類を判定する発見的手法について
桑原 和也 †菊池 浩明 †寺田 真敏 ††

藤原 将志 ††

† 東海大学情報理工学部情報メディア学科
259-1292 神奈川県平塚市北金目 1117，mulberry，kikn@tokai.ac.jp†† 日立製作所 Hitachi Incident Response Team (HIRT)
212-8567 神奈川県川崎市幸区鹿島田 890 日立システムプラザ新川崎
あらまし 本研究では，研究用データセット CCC DATAset 2009 の攻撃通信データからマルウェアのダウンロード状況，ポートスキャンの振る舞いについて解析を行い，通信データからマルウェアの感染の有無や多重に感染する際のいくつかの特徴を発見した．これらの発見的手法とその精度について報告する.

Heuristics for Detecting Types of Infections from Captured
Packets
Kazuya Kuwabara†

Hiroaki Kikuchi†
Masashi Fujiwara††

Masato Terada†††Graduate School of Engineering， Tokai University，1117 Kitakaname，Hiratsuka，Kanagawa 259-1292††Hitachi， Ltd. Hitachi Incident Response Team (HIRT)，890 Kashimada，Saiwai-ku，Kawasaki，Kanagawa 212-8567

Abstract This paper studies the analysis on the CCC Data Set 2009 for behavior of downloads of themalware and the port-scans ．The analyses show that some new features of the single and the federated
infections．Based on the analysis， the paper proposes heuristic techniques for detection of malwares
infection and reports the accuracy of the proposed heuristics．

1

はじめにを把握することは困難である．
そこで本研究では，pcap データからボットに関す本研究では，サイバークリーンセンター（CCC）るいくつかの特徴を調査し．それらに基づいて与えから提供された，研究用データセット CCC DATAられたスロットを選別し，マルウェア名の特定と未set 2009 の攻撃通信データを解析する．攻撃通信デー
タとはハニーポットの通信を tcpdump でパケット来予測をする発見的手法を提案する．

キャプチャーした libpcap 形式のファイルである．ハ

れているが [3]，最近のボットでは機能ごとにマルウェ

ニーポットはホスト OS 上の 2 台のゲスト OS がそアが分割されていて，複数のマルウェアを連携してダれぞれインターネット接続されており，パケットキャウンロードしてから不正行為を行うことがある．それプチャーはホスト OS 上で行われている [1]．

らの特徴をはじめとして，UDP 感染，連携した感染マルウェアの感染活動に関する調査結果が報告さ

攻撃通信データは定期的にリセットされる. 本稿などのいくつかの特徴を発見した. しかし，マルウェ

では，Windows XP が送信する NTP パケットを利アの亜種が次々に作り出されるため，本発見的手法で用して，攻撃通信データを観測単位時間に分割したは種別特定に至らなかった．ボットネットには C&C（以下，スロット）[2]. 2 日間で 145 個のスロットサーバーを利用する種類があり，ハーダーの特定にが生じる. このパケットキャプチャーデータ（以下，は C&C の検出が必要であるが難しい．そこで，ボpcap データ）は情報量が膨大であり，手作業で全体

表 1: 特徴量一覧
slot
T ime
PI ，POMZ
PEDOS
win
N ，J
ip1
ip2
STDL
MW 数
MW

表 4: UDP

スロット ID(0，. . . ，145)
スロットの開始時間
総入力 (出力) パケット数 [pkt]文字列”MZ”の出現
文字列”PE”の出現“!This program cannot be run
in DOS mode.” の出現“!Windows Program” の出現文字列”NICK”かつ”JOIN”の出現“#las6 * ipscan s.s.s.s dcom2-s” の出現“#last * ipscan s.s.s.s dcom2-s” の出現
ポートスキャンの種類
感染の有無
マルウェアのダウンロード数
マルウェア名

TCP

UDP

MW 名
PE_VIRUT.AV
PE_BOBAX.AK
PE_VIRUT.AT
BKDR_POEBOT.GN
TROJ_AGENT.ARWZ
TROJ_BUZUS.AGB
WORM_ALLAPLE.IK
WORM_POEBOT.AX
WORM_SWTYMLAI.CD
WORM_AUTORUN.CZU
WORM_IRCBOT.CHZ
UNKNOWNBKDR_MYBOT.AH
BKDR_RBOT.ASA

MW 数
914130624112731515

値は 24 種類，ユニークなマルウェアは 13 種類であっット通信検出を行うための snort[4]，BotHunter[5]，BotSniﬀer[6] というツールの利用を検討する．
最後に，提案手法を実験データに適用した精度を報告する．

た．表 2 に整理した．(攻撃元データより抽出した数値である．)

2.3

ボット通信検出の検討

ボット通信の検出においては、snort、BotHunter、

2

解析方法

2.1

特徴量抽出

BotSniﬀer を利用する．snort はネットワーク型 IDSである. ホスト型 IDS では対応できない攻撃も検出

文字列検索によって感染特定を考え，Network Grepを使い MZ，PE，DOS という文字列を抽出した．

することが可能である．snort の活用例としては抽出したホスト名とブラックリストを照らし合わせることが出来る [7]．

BotHunter はマルウェアに感染したコンピュータ“!This program cannot be run in DOS mode.”は exe ファイルをダウンロードするときに現れる．

“!Windows Program” は tftp でファイルをダウンロードするときに現れる．MZ，PE はマルウェアの通信パターンを認識し，ボットトラフィックを発見でき，ボット感染 PC を特定することができるな
ど，様々な機能を持ち合わせているツールである．

BotSnifer はボットネットの C&C 検出システムでをダウンロードするときに現れる．NICK は接続時，このコマンドでニックネームを申請するときのコマンド，JOIN はチャンネルに入るためのコマンド，ipscan はスキャンをする命令である．
ポートスキャンのタイプを第 4 オクテットが 1 つずつ変化するものを s4 とした．スロット内における感染判定のための特徴を抽出するための項目を表1 に整理する．

2.2

攻撃通信データ内のマルウェアとハッシュ値あり，ボットネット C&C の相関関係と類似性の特性を利用する．コンポーネントには無関係の通信を遮断するもの，怪しい HTTP と IRC 通信の検出をするものがある．IP とポートの宛先に従って，クライアントをグループに分類し，時間と空間の相関関係と類似性を調べるためのグループ分析を行い，C&Cを検出する．

3

解析結果
解析して得られた各スロットの特徴を表 3 に示す．

攻撃通信データ 2 日分の解析結果から得た総マル

また，全 145 のスロットの中で，マルウェアをダ

ウェア数は 200 個あり，そのうちユニークハッシュ

ウンロードしている 58 のスロットがあり，UDP を使った tftp での感染は 6 スロットあった．

表 2: MW リスト
MW 名ラベル

PE_VIRUT.AV
PE_BOBAX.AK
PE_VIRUT.AT
BKDR_MYBOT.AH
BKDR_POEBOT.GN
BKDR_RBOT.ASA
TROJ_AGENT.ARWZ
TROJ_BUZUS.AGB
WORM_ALLAPLE.IK
WORM_POEBOT.AX
WORM_SWTYMLAI.CD
WORM_AUTORUN.CZU
WORM_IRCBOT.CHZ
UNKNOWN

PE1PE2PE3BK1BK2BK3TR1TR2WO1WO2WO3WO4WO5UK

ユニークハッシュ数81111411111111DL 数

スキャン数(s4)
18491
41130
5624
1
127
3
1
56プロトコル

通信方式

TCP
TCP
TCP
UDP
TCP
UDP
TCP
TCP
TCP
TCP
TCP
TCP
TCP
TCP

PULL
PULL
PULL
PULL
PULL
PULL
PULL
PULL
PUSH
PULL
PULL
PULL
PULL
PULL

表 3: スロットと各種特徴量
slot

PI

PO

MZ

PE

DOS

0
1
2
3
4
5
14
46
83
139
total
ave

276
61
7488
350
2
5354
379
571
450
44452
306.5717774
352
1784912401485559135725
791
74286
96211
3038276
20953.63

90
10
1200
9015
13691
4.77

13
4
16
1000
100
15
18
966
6.66

30
34003053219
1.51

N ICK/JOIN
3ip1/ip233

ip2*1
ip2*1113

ip1*3

1330.2311280.19

11600.41

ST(s4)
1

感染MW

101100111158
0.4

PE1，TR2，WO3
WO1，PE1TR2，WO3
PE1，TR2，WO3，PE1

BK1，TR2，WO3
BK2
PE1*2，TR2，WO3
PE2，WO4，WO3
200
1.38

そのうちマルウェア名は 5 スロットが BKDR_RB

OT.ASA で，残り 1 スロットは BKDR_MYBOT.AH であった．ダウンロードごとに表 4 にまとめた．また，exe80

ファイルは全て同じであった．UDP を使った tftp で70の感染の場合，TCP で exe ファイルをダウンロード

in DOS mode.” という文字列はなく，“!Windows Program” という文字列が現れる．

Inbound [packets]する時に現れる，“!This program cannot be run

6050403020

図 1 は TFTP でのダウンロードのスロットの出力10パケット数を表している．UDP では TCP に比べダ

0030

60

90120

150time [s]ウンロード時の 1 秒間あたりののパケット数が少な
く，長い時間をかけてダウンロードする傾向がある．

図 1: 入力パケット数 (UDP)

これらの解析結果から発見的手法の Rule を導き出した．

3.1

ポートスキャンに関する発見的手法

発見的手法の Rule は感染判定のための解析から発見した規則であり，感染判定，マルウェア名同定，未来予測に用いる.

60

表 7: DL とスキャンの IP
slot
0231629例

50

relative time [s]403020

DL の発信元 IP
124.86.C1.D1124.86.C2.D2
124.86.C2.D2
114.145.C3.D3
114.164.C4.D4
A.B.C.D

スキャンあて先 IP
124.86.E1.F1
124.86.E2.F2
124.86.E2.F2
114.145.E3.F3
114.164.E4.F4
A.B.E.F

10join
scan
0010

20

30
relative time [s]405060

図 2: JOIN とスキャン開始時間の遅延

Rule 2a. PE_VIRUT.AV をダウンロードしたあとに WORM_SWTYMLAI.CD と TROJ_BUZUS.AGB を同時刻にダウンロードを開始する．
Rule 2b. WORM_SWTYMLAI.CD と TROJ_BUZUS.AGB のあて先 IP は同じ．

表 5: 連携感染パターン
パターン
PE1 → TR2，WO3
BK1 → TR2，WO3
PE2 → WO4，WO3スロット数17/58
5/58
4/58

Rule 2c. WORM_SWTYMLAI.CD と TROJ_BUZUS.AGB は 80 番を使い，PE_VIRUT.AV は 5 桁のポート番号使う．

Rule 2d. PE_VIRUT.AV の第 1，2 オクテットが同コマンド”JOIN”が送られてからポートスキャン

じあて先 IP でポートスキャンを開始する．

が起きるまでの時間差を図 2 に示す．X 軸は JOINの時間，Y 軸は JOIN とポートスキャンのタイムラ

1 つ目のマルウェアをダウンロードしたあとに，グ (時差) を表している．この場合のポートスキャン

次にマルウェアをダウンロードするまでの時間をのタイプは第 4 オクテットを１ずつ増加させる s4 タ時差とした．このダウンロードの時差をパターンイプであった．発見した s4 のポートスキャン 26 のごとに表 8 にまとめた．また，PE_VIRUT.AV のダ

すべてで JOIN に対しスキャン開始時間が正確に遅ウンロード時，あて先 IP は異なるものが多いが，延している事が分かる．開始時間の分だけを取り出

WORM_SWTYMLAI.CD と TROJ_BUZUS.AGB のあて先

し，時間は無視して 2 つのイベントの差を可視化し

IP は全てのスロットで同じであった．PE_VIRUT.AV
をダウンロードする時のあて先 IP の関係を表 7 にている．

まとめた．

Rule 1a. NICK，JOIN は NICK が 3 回現れた後，JOIN も 3 回現れる．
Rule 1b. 1 つめの JOIN から約 5 秒後にポートスキャンを開始する．

Rule 1c. ポートスキャンは 1 秒間に 256 パケットの通信を連続して行う．

Rule2c は，表 6 に示すポート番号の関係から裏づけられる．
Rule2d は，表 7 に示すダウンロードとポートスキャンの関係に見られる振る舞いである．ダウンロー
ド後に PE_VIRUT.AV の第 1，2 オクテットが同じあて先 IP でポートスキャンを開始している．

3.33.2

連携感染に関する発見的手法

マルウェアの種類に関する発見的手法

通信方向には 2 種類あり，PULL では，脆弱性にスロット内に複数のマルウェアを感染する時に特対する攻撃成立後に，ハニーポットからダウンロー徴があった．全 145 のスロットの中で，マルウェアドホストにマルウェア検体を要求する．PUSH では，をダウンロードしている 58 のスロットがあり，共通したダウンロードパターンがあった結果を表 5 にC&C サーバからの命令によりポートを開き，ダウンロードホストからマルウェア検体が転送されるのを待示す．MW 名は表 2 を元にしている．

つ．攻撃通信データには PUSH でのマルウェアのダ

表 6 に各パターンの代表的なスロットを示す．

ウンロードは Windows XP で 1 スロット，Windows表 6: 連携感染例
スロット
00
0
2
2
2
3
3
3
16
16
16

時間
0:02:11
0:03:48
0:03:48
0:36:46
0:36:52
0:36:52
0:46:56
0:48:52
0:48:52
5:17:25
5:18:37
5:18:38srcIP
124.86.A1.B1
67.215.C1.D1
72.10.E1.F1
124.86.A2.B2
72.10.E1.F1
67.215.C1.D1
124.86.A2.B2
67.215.C1.D1
72.10.E1.F1
114.145.A3.B3
67.215.C1.D1
72.10.E1.F1dstP ort
47556
808033258
808033258
8080152248080

MW 名
PE_VIRUT.AV
TROJ_BUZUS.AGB
WORM_SWTYMLAI.CD
PE_VIRUT.AV
WORM_SWTYMLAI.CD
TROJ_BUZUS.AGB
PE_VIRUT.AV
TROJ_BUZUS.AGB
WORM_SWTYMLAI.CD
PE_VIRUT.AV
TROJ_BUZUS.AGB
WORM_SWTYMLAI.CD

表 8: 多重感染パターン
パターン 1パターン２
パターン３

PE1 → TR2，WO3
BK1 → TR2，WO3
PE2 → WO4，WO3

スロット例
0，2，3，16，29，30，50...
14，55，56，125，126
66，139，140，141

スロット回数1754

平均時差127.24176.4
253.25

標準偏差158.75147.36176.252000 で 1 スロットの 2 スロットあり，マルウェアをダウンロード後，図 3 のように一定の割合で通信を続ける特長があった．図 3 では 1 秒間に 20 から 3090パケットの通信を 5 秒間行った後，通信を止めまた，80

1 秒間に 20 から 30 パケットの通信を 5 秒間行うとわれた. この特徴から，PULL と PUSH を判別できる.

Inbound [packets]いう特徴が見られた. 平均 8.34 パケットの通信が行

706050403020Rule 3a. PUSH でのマルウェアのダウンロードは，一定の割合で行う．

Rule 3b. 文字列”MZ”かつ”PE”を含むならば TCP

1000200

400600time [s]80010001200

図 3: 入力パケット数 (PUSH)

による感染である．

Rule 3c. PUSH のダウンロードは，WORM_ALLAPLEである．

場合左に分岐する，Rule 3b，DOS，Rule 3d の分岐
では文字列”MZ”，”PE”，”DOS”，”win”有無を見る．文字列”MZ”かつ”PE”がある場合は 96.8%の確Rule 3d. UDP で win という文字列があれば，TF
TP のダウンロードである．

率でスロット内にマルウェアを感染している．DOSの数とマルウェアの数は 95.5%の確率で一致する．

Win の数とマルウェアの数は 100%一致，また tftp
での UDP 感染である．
（UDP 感染の場合，tftp で3.4

感染判定のアルゴリズム

スロット表の特徴と発見的手法の Rule から，図4 に示す感染判定のアルゴリズムを提案する．
初めにスロット内に総出力パケットが 85 パケット以上かどうかで分岐する．85 パケットはマルウェアをダウンロードしているスロットの中で最も総出力パケット数の少ない値である．85 パケット以上ある

DL が始まる前に同じあて先 IP に TCP で連続して通信している特徴がある）感染の可能性にたどり着いた場合，NICK，JOIN が３回づつ現れる場合は100%感染である．アルゴリズムは 2009 年の攻撃通信データのみを使い作成したものであり，このアルゴリズムの精度を表 9 にまとめた．

total_inpkt≥ 85 pkt結論

4< 85 pktRule 4b
No infection

NYDOS
YNYした．そのなかで UDP 感染，連携感染などのいく

Inpkt& Rule 1c
Y& Rule 1c

NYYN

Rule1aRule 2aRule1aN

Rule1aInpkt& Rule 1c
HTTPHTTPinfection

infection≥ 50pkt/s& port scan

YN

≥ 50pkt/sinfection

UDPUDP

infection

infection< 50pkt/sNoinfection& port scan

NUDP

infec tion

infection

つかの特徴を発見した. マルウェアをダウンロードにもいくつか種類が存在し，Rule としてまとめた.
その中で 3.3 の連携感染のように特徴が分かりやす< 50 pkt/s
infection NoUDP

本論文では，CCC DATAset 2009 攻撃通信デー
タにおける，感染種類を判定する発見的手法を研究

Rule 2aいものもあれば，判断が難しいものも存在した．こinfection& port scanの研究ではマルウェアのダウンロードにおいて文字

図 4: 感染を判定するアルゴリズム

列検索に重点をおいて行ったが，文字列だけでは通常の通信を含めた場合の感染判定は難しい. 今後は，判定結果 \ 真
感染あり
感染なし
total slot

2.3 で述べたツールを活用して新たな特徴を検出す

表 9: 精度
感染あり
58058

感染なし
08787

total slot
5887
145

る事により，感染判定の精度を上げていきたいと考えている．

謝辞

3.5

その他の規則マルウェアのダウンロードに関する技術について同じマルウェアで同じ IP からスロットをまたいでダウンロードが行われる特徴が見られた．IRC セッ助言を頂いた日立製作所の仲小路博史氏，鬼頭哲郎氏に感謝する．

ションが成功し，ポートスキャンが行われるとダウンロードがとまった．この特徴を図 5 に示す．
同じ IP からのダウンロード間隔に特徴が見られ，

IP122.18.A1.A2 のダウンロードは 289 秒と 384 秒の交互の間隔で繰り返された．想定外な事に最後のダウンロード間隔のみ大きく変化し，ポートスキャンを開始した．

参考文献[1] 畑田，中津留，寺田，篠田，“マルウェア対策のための研究用データセットとワークショップを通じた研究成果の共有”，MWS2008，2008[2] 小堀，菊池，寺田，“マルウェアの通信履歴と定点観測の相関について”，MWS2008，pp.67-74，

2008
700
122.18.A1.A2
650

Inter-arrival time [s]

600
550

[3] 藤原，寺田，安部，菊池 “マルウェアの感染動作に基づく分類に関する検討”，情報処理学会，
pp 177-182，2008

500[4] snort，http://www.snort.org/

450
400

[5] BotHunter，http://www.bothunter.net/

350
300
250
12:05

18:29

23:18

29:43
34:33
time [s]図 5: DL パターン

40:58

[6] BotSniﬀer，http://www.networkworld.com/community/node/25105[7] 東角，鳥居，“DNS 通信の挙動からみたボット
感染検知方式の検討”，MWS2008，pp.13-18，

2008