Computer Security Symposium 201119-21 October 2011

マルウェア感染検知のための経年変化を考慮した特徴量評価に関する一考察
川元研治 †市田達也 †市野将嗣 ‡畑田充弘 †‡小松尚久 †† 早稲田大学理工学術院基幹理工学研究科
169-8555 東京都新宿区大久保 3-4-1{kawamoto, ichida, komatsu}@kom.comm.waseda.ac.jp‡ 電気通信大学大学院情報理工学研究科
182-8585 東京都調布調布ヶ丘 1-5-1
ichino@inf.uec.ac.jp†‡NTT コミュニケーションズ株式会社
108-8118 東京都港区芝浦 3-4-1 グランパークタワー 17F
m.hatada@ntt.com
あらまし 本研究では，マルウェア感染検知の既存研究でよく用いられている特徴量に対して，マルウェアに感染している感染トラヒックとマルウェアに感染していない正常トラヒックの識別実験により特徴量評価を行った．その際，特徴量毎にベクトル量子化で作成した正常時，感染時のコードブックとテストデータとの特徴空間上での距離を用いて識別を行った．本稿では，感染トラヒックデータとして CCCDATAset，正常トラヒックデータとして同じデータ収集日におけるあるイントラネットのトラヒックデータを使用して，年によらずマルウェア感染検知において有効である特徴量について考察した結果を報告する．

A study of feature evaluation considering eﬀects of year for
malware detection
Kenji Kawamoto†

Tatsuya Ichida†
Masatsugu Ichino‡
Naohisa Komatsu†

Mitsuhiro Hatada†‡†Graduate School of Fundamental Science and Engineering, Waseda UNIversity
3-4-1 Okubo, Shinjuku-ku, Tokyo, 169-8555, JAPAN{kawamoto, ichida, komatsu}@kom.comm.waseda.ac.jp‡Graduate School of Informatics and Engineering, The University of Electoro-Communications
1-5-1 Chofugaoka, Chofu-si, Tokyo, 182-8585, JAPANichino@inf.uec.ac.jp†‡NTT Communications Corporation
Gran Park Tower 17F, 3-4-1 Shibaura, Minato-ku, Tokyo, 108-8118 Japanm.hatada@ntt.com

Abstract In this paper, we evaluated features used in existing researches based on the experiment thatshowed how each features could discriminate anomaly traﬃc that was infected with malware from normal
traﬃc that was not infected with malware. In this evaluation, we made discriminations using the distance
between the normal or anomaly codebook made by each features using vector quantization and test data.
In this paper, we used CCCDATAset as anomaly traﬃc data, some traﬃc data on an intranet which was
the same date as anomaly traﬃc data as normal traﬃc. Then we report our consideration which features
are eﬀective for malware detection with no relation to year eﬀects.

- 277 -

本研究の背景と目的

1

以下では，既存研究で良く用いられている特徴量

昨今のインターネットの普及により，マルウェアを紹介し，本稿で評価する特徴量について述べる．の脅威が広がっている．マルウェアとは悪意のあるソ

そして，各特徴量の識別能力を評価する実験を行い，

フトウェア (Malicious Software) の略称であり，そ識別率の高い特徴量についての考察を述べる．の被害は個人情報の流出やパソコンの乗っ取りというように我々の生活を脅かす存在となっている．文2

献 [1] によると 2011 年度上半期の日本国内での被害報告数は約 4 千件にものぼっており，活動が表面化

既存のマルウェア感染検知やネットワーク異常検知に関する研究で用いられている特徴量を紹介する．

しないボットネットによる被害や Web からの感染の増加，加えて日に日に新種のマルウェアが発生しているという現状で，早急に対策を講じる必要がある．

既存の特徴量文献 [5] では，タイムスロット型の検出モジュー
ルとフローカウント型の検出モジュールを組み合わせてネットワーク異常検知を行っている．タイムスロット型とは，一定の時間間隔 (タイムスロット) で

これまでの対策研究としては，文献 [2] で整理されのトラヒック流量をカウントし，各特徴量を抽出すているが，既知のマルウェアについての対策が中心る方式である．タイムスロット型で用いられているであり，未知のマルウェアについての対策が不十分

特徴量には，TCP の各フラグの出現回数 5 種類やという問題がある．そこで本研究では，マルウェアTCP，UDP，ICMP パケット数等がある．一方，フに感染していない状態とマルウェアに感染している

ローカウント型とは，フロー毎に特徴を抽出する方状態そのものに違いがあると考え，トラヒックデー式である．フローとは，プロトコル，送信元 IP アド

タを用いた未知のマルウェア感染検知に着目する．

レスとその送信元ポート番号，宛先 IP アドレスとそ

さらに，トラヒックデータには時間的な変化があり，の宛先ポート番号が同じパケット群である．フロー

時間的な変化に着目することで感染検知の性能が向カウント型で用いられている特徴量には，パケット上する可能性がある．例えばバイオメトリクスでは，数，フラグメントされたパケット数，同一ポート番

発話時の唇動作個人認証において複数のアルゴリズ号のフロー出現回数の逆数等がある．本研究ではタムが提案されているが，時系列を使用しないアルゴイムスロット型のネットワーク観測方式を採用する．

リズムと使用するものを比較した際，後者の方が高なぜなら，実際の感染検知では，迅速なマルウェアい精度での認証が可能であることが示されている [3]．

検知が求められるため，同一フローのパケットを全本研究では，ネットワークユーザのプライバシーのて収集してからでないと各特徴量を抽出できないフ問題を考慮し，インターネットとユーザ間のトラヒッ

ローカウント型だと，リアルタイム性に欠けるためクデータのパケットペイロードは参照せずに，ヘッである．

ダ情報から様々な特徴量を抽出し，それらを識別器

文献 [6] では，ネットワークトラヒックから複数に入力することで感染の有無を判定する．しかし，の通常状態を定義するクラスタリング手法を提案しヘッダ情報から抽出する特徴量について，既存の研ている．その際に，特徴量として ICMP，SYN パ究では十分な評価が行われていない．そこで本稿でケット数，FIN パケット数，SYN,FIN 以外の TCP

は，感染トラヒックとして CCCDATAset2009, 2010,パケット数，UDP パケット数を 60 秒毎にカウント

2011[4](以下 CCC2009, CCC2010, CCC2011)，正し，それらを正規化したものを用いている．

常トラヒックとして同じデータ収集日におけるある

文献 [7] では，ボットと人間の通信挙動には差異イントラネットのトラヒックデータを用いて，各特があると考え，特定のホスト間におけるデータ送信

徴量の感染トラヒックと正常トラヒックを識別する

時間間隔を特徴量として見ることにより，正常なク能力を評価し，マルウェア感染検知に有効と思われライアントとボットクライアントの差異を確認してる特徴量について検討する．さらに，3 年間の経年いる．

変化も考慮することで，年々移り変わるマルウェア

既存研究より，特定のパケット数，到着間隔，TCPや新種のアプリケーションによるトラヒックの変化

フラグ，ポート番号に関する特徴量がよく用いられがあっても，大きな影響を受けずに，識別することていることがわかる．

ができる特徴量について考察する．

- 278 -

今回は，各特徴量を個別に評価することが目的であ

表 1: 特徴量 36 種類
番号123456789101112131415161718192021222324252627282930313233343536

特徴量 [単位]
パケット数
パケットサイズの総数 [byte]
パケットサイズの平均 [byte]
パケットサイズの最小 [byte]
パケットサイズの最大 [byte]
パケットサイズの標準偏差 [byte]
到着間隔の平均 [秒]
到着間隔の最小 [秒]
到着間隔の最大 [秒]
到着間隔の標準偏差 [秒]SYN パケット数
FIN パケット数
PSH パケット数
ACK パケット数
RST パケット数
URG パケット数
SYN/ACK パケット数
FIN/ACK パケット数
PSH/ACK パケット数
RST/ACK パケット数
TCP パケット中の SYN パケット割合
TCP パケット中の FIN パケット割合
TCP パケット中の PSH パケット割合
TCP パケット中の ACK パケット割合
TCP パケット中の RST パケット割合
TCP パケット中の URG パケット割合
TCP パケット中の SYN/ACK パケット割合
TCP パケット中の FIN/ACK パケット割合
TCP パケット中の PSH/ACK パケット割合
TCP パケット中の RST/ACK パケット割合
ICMP 到達不能メッセージ数
UDP パケット数
送信元ポート番号が 69/UDP のパケット数
送信元ポート番号が 80/TCP のパケット数
送信元ポート番号が 110/TCP のパケット数
送信元ポート番号が 443/TCP のパケット数るので 1 次元コードブックを作成した．トラヒック
データから特徴量を抽出する際のタイムスロット幅
は，0.1 秒，1 秒，10 秒，100 秒の 4 種類とし，ベクトル量子化のアルゴリズムには，LBG+Splitting を用い，そのレベル数は 2，4，8，16，32 の 5 種類とした．そして，予め感染トラヒックか正常トラヒッ
クかのラベル付けされた各特徴量毎の 1 次元テストデータを与え，テストデータと感染，正常コードブックとの特徴空間上でのユークリッド距離を計算し，感染コードブックとの距離の方が小さければ感染，正常コードブックとの距離の方が小さければ正常と識別している．
識別結果に対する評価指標として True PositiveRate(以下 TPR) と True Negative Rate(以下 TNR)を用いる．TPR は感染トラヒックを感染トラヒックと正しく識別できた割合である．TNR は正常トラヒックを正常トラヒックと正しく識別できた割合である．各特徴量について，2009 年，2010 年，2011年のトラヒックデータを用いて，各タイムスロット毎に感染か正常か識別し，TPR，TNR をそれぞれ算出した．

3.2.2

使用したデータについて

本研究では，感染コードブック作成のための学習データに CCC2009，正常コードブック作成のための学習データに 3 月 13 日から 3 月 15 日の 2009 年のトラヒックデータを用いた．テストデータは，感染トラヒックに CCC2009, CCC2010，CCC2011，正常トラヒックに感染トラヒックと同じデータ収集日のトラヒックデータを用いた．

3

識別実験

3.1

用いる特徴量本研究では，感染トラヒックとして CCC2009, 2010,2011 の攻撃通信データを使用した．しかし，これら

本研究では既存研究をもとに，パケットのヘッダ情報から取得できる情報およびその統計値を特徴量として用いる．本研究で検討対象とする特徴量 36 種類を表 1 に示す．の攻撃通信データにはマルウェアに感染するまでのトラヒックが含まれている．今回の特徴量評価実験
では感染時のみのデータを用いる必要がある．そこで本研究では，攻撃通信データから感染以降のトラヒックのみを切り出した．その手順としてまずは，3.2

実験諸元取得環境独自の制御パケットをフィルタリングで除3.2.1

評価方法外した．次にハニーポットの OS のリセット間隔で切本研究での感染トラヒックと正常トラヒックの識り出す．そして，切り出したファイルを攻撃元デー別方法について説明する．はじめに，ベクトル量子タのログファイルの時刻と照らし合わせて，感染を化を用いて，感染トラヒックのみを用いて学習を行っ確認し，実際の感染攻撃の開始パケットを探し，そた感染コードブックと，正常トラヒックのみを用いれ以降を感染トラヒックとして抽出した．て学習を行った正常コードブックを予め作成する．

- 279 -

経年変化を考慮した特徴量評価4

表 3: パケットサイズの最小の TNR

特徴量全体の傾向としては，年を追うごとに識別タイム

量子化率が低下する特徴量が多かった．これは，年々移りスロット幅

レベル数

2009
TNR

2010
TNR

2011
TNR

変わるマルウェアや新種のアプリケーションの発生

1秒899.3%

100%

98.4%にともなう，トラヒックの複雑化，多様化が原因だ

1秒

1699.3%

100%

98.4%

10 秒

16100%

100%

100%

100 秒

8100%

99.8%

100%

100 秒

16100%

99.8%

99.8%と思われる．今後も新種のマルウェアやアプリケーションは増加すると思われるので，マルウェア感染検知では，トラヒックの変化の影響をあまり受けずに正しく識別できる特徴量を用いることが必要とされる．その点で経年変化を確認することは重要であ

表 4: テストデータの統計値 (パケットサイズの最小)ると考えられる．
感染検知に有効な特徴量について検討するため，経年変化が小さく TPR,TNR が共に高い特徴量と，経年変化が小さく TPR のみ高い特徴量を抜き出す．
なお，経年変化が小さく識別率が高い特徴量とは，あるタイムスロット幅，ベクトル量子化レベル数において，3 年間の TPR, または TNR が 90%以上で

2009

2010

2011

平均 (感染)70.3[byte]

63.8[byte]

97.0[byte]

平均 (正常)60.0[byte]

60[byte]60.7[byte]

標準偏差 (感染)36.0[byte]

2.2[byte]

50[byte]

標準偏差 (正常)0.2[byte]

0[byte]4.9[byte]

あった特徴量を指す．マルウェア感染検知の要件は，感染と正常を正しく識別できる特徴量を用いること，きくなることがわかる．すなわち，正常トラヒック

加えて，感染のみを正しく識別できる特徴量も合わ

では常にパケットサイズの最小値が 60byte に近いせて使用することである．

値を取るが，感染トラヒックではパケットサイズのTPR,TNR 共に高い特徴量4.1最小値が様々な値を取り得るという性質の違いがあ

今回の実験では，パケットサイズの最小値が唯一 3る．この性質の違いは，感染検知に有効であると思年間の経年変化が小さく，TPR,TNR が共に 90%をわれる．

超えていた特徴量であった．特徴量としてパケット4.2

サイズの最小を用いた際の，経年変化が小さくなる
タイムスロット幅と量子化レベル数の組み合わせ，および TPR,TNR をそれぞれ以下の表 2，表 3 に示す．

量子化スロット幅

経年変化が小さく，TPR が 3 年間を通して 90%以上の特徴量について，3 年間の TPR の平均が最も高くなるときの TPR の平均値，およびタイムスロッ
ト幅とベクトル量子化レベル数を以下の表 5 にまと

表 2: パケットサイズの最小の TPR
タイム

TPR のみ高い特徴量

レベル数

2009
TPR

2010
TPR

2011
TPR

1秒

899.3%

99.8%

91.5%

1秒

1698.9%

100%

91.5%

める．特徴量番号は表 1 の番号に従う．
表 5 の特徴量を大別すると，パケット数，パケッ
ト割合，ポート番号に関するパケット数に分けることができる．

4.2.1

パケット数10 秒

1699.1%

100%

94.6%

表 5 より，タイムスロット幅 0.1 秒，量子化レベル

100 秒

898.4%

98.7%

93.8%

数 2，特徴量として RST/ACK パケット数を用いる

100 秒

1698.7%98.9%

95.5%と 2009 年,2010 年,2011 年の TPR が 100%となっている．しかし，タイムスロット幅を 0.1 秒としたときのテストデータを見ると，感染トラヒック，正常次に，タイムスロット幅 1 秒における，パケットトラヒック共に全てのタイムスロットで RST/ACKサイズの最小値についてのテストデータの平均と標パケットが 0 個か 1 個しかないことがわかる．しか準偏差を以下の表 4 に示す．

し，感染コードブックは正常コードブックより小さ

表 4 より，感染トラヒックの方が正常トラヒックい値をとっているため，テストデータとコードブッよりパケットサイズの最小値と，最小値の変動が大クとの距離を計算すると，感染コードブックとの距- 280 -

のパケット数に大きく差があるという問題が存在す
表 5: TPR が高い特徴量の最大 TPR とその条件
特徴量
番号414151718
1920212425
2728
2930
3132
343536

最大TPR
98.0%
99.4%
99.8%
99.9%
99.9%
96.1%
100%
98.7%
97.9%
99.8%
99.3%
98.1%
98.5%
99.4%
99.7%
99.9%
100%
100%
100%

タイム
スロット幅
100 秒
1秒
10 秒
0.1 秒
1秒
100 秒
0.1 秒
0.1 秒
0.1 秒
0.1 秒
0.1 秒
1秒
0.1 秒
1秒
1秒
0.1 秒
0.1 秒
0.1,1,10,100 秒
0.1,1,100 秒

量子化
レベル数
32
88
2
42,82
1684
8
32
816
32
4162,4,8,16,32
2,4,8,16,32

るからである．一例として，2011 年のテストデータ
における感染トラヒックと正常トラヒックのパケッ
ト数の平均を以下の表 6 に示す．
表 6: 1 タイムスロットにおけるパケット数の平均
タイムスロット幅 感染
正常0.1 秒

2.4

53.5

1秒

6.2

252.8

10 秒

21.8

3051.6

100 秒

549.1

8724.6

今回の実験におけるテストデータの 1 つのサンプ
ルは，1 つのタイムスロットと対応している．そのため，1 つのタイムスロットにおいて，感染トラヒックと正常トラヒックにパケット数の差があり過ぎるとそれが特徴となり，感染トラヒックと正常トラヒッ
クに違いが現れてしまい，特徴量を正しく評価できない場合がある．そこで，パケットの数自体に関する特徴量の有効性を補完するための手段として割合離の方が小さくなってしまう．よって，RST/ACKパケット数が 0 か 1 しかないタイムスロットを全て感染トラヒックと判断してしまったため，TPR がを考える．
パケット割合4.2.2100%になったと考えられる．このように，今回の識例えば，ACK パケット数に関して，タイムスロッ別方法では，ほとんどのタイムスロットで特徴が似ト幅を 10 秒とすると，経年変化が小さく TPR が高ているが，特徴の違いが現れる頻度が少ない特徴量かった．次に，TCP パケット中の ACK パケット割を正しく識別できていないことがわかった．

合について見てみる．タイムスロット幅を 10 秒とし同様の問題が SYN パケット数にも当てはまる．

SYN パケット数は既存研究でよく用いられている特徴量である．ポートスキャンや SYN フラッド攻たときの，2011 年の感染トラヒックと正常トラヒッ
クの TCP パケット中の ACK パケット割合のヒストグラムを以下図 1, 図 2 に示す．
350

撃の際には，SYN パケットが大量に流れるが，それ300以外のときでは感染トラヒック，正常トラヒック共頻度
サン
プル数250(にほとんど流れていない．しかし，学習にポートス
キャンや SYN フラッド攻撃などを含んだトラヒッ
クを用いると，感染コードブックの方が正常コード200150100)ブックより大きな値をとってしまう．そして，SYN50パケット数が少ないタイムスロットを全て正常トラ00ヒックと判断してしまう．このような特徴量は，今わせて用いることで，感染検知に有効な特徴量にな

0.2

0.4

0.60.81

TCPパケット
パケット中パケット割合
パケット中の ACKパケット
パケット割合回の識別方法では感染トラヒックと正常トラヒックを正しく識別できていないが，他の特徴量と組み合

0.1

図 1: TCP パケット中の ACK パケット割合 (感染)り得ると思われる．
図 1, 図 2 より，感染トラヒックでは ACK パケッ

さらに，今回の実験においてある特定のパケットの数を特徴量とすることには問題がある．感染トラヒックと正常トラヒックには，1 タイムスロット中ト割合が低く，正常トラヒックでは ACK パケット割合が高いことが確認できた．正常トラヒックではサイズの大きいデータのやり取りが多く，データ通- 281 -

低下しているという傾向があり，さらに，今回の識300

別方法と使用したデータでは，識別率を正しく評価250
頻度 200
サン 150プ
ル 100
数50

できない特徴量があることもわかった．しかし，特(徴量として特定のパケット数を用いる場合，その割合も同時に使用することで感染トラヒックと正常ト)ラヒックの違いが明らかになることを確認した．そして，パケットサイズの最小と ACK パケット数お

000.1

0.2

0.4

0.6

0.8

よび TCP パケット中の ACK パケット割合が，感1染検知に有効である特徴量として使用できる可能性

TCPパケット
パケット中パケット割合
パケット中の ACKパケット
パケット割合図 2: TCP パケット中の ACK パケット割合 (正常)
信の際の制御パケットが多く流れているため, ACKパケット割合が高くなっていると考えられる．
このように，特徴量としてある特定のパケット数を用いる場合，パケット数だけではなく，その割合があることを示した．
今後は，識別率の妥当性を検証できなかった特徴量に対して，マルウェア感染検知に対して有効であるか調査し，特徴量を組み合わせたマルウェア感染検知手法について検討していく．

参考文献も確認することで，感染トラヒックと正常トラヒッ
クの明らかな違いを確認することができた．そして，

ACK パケット数，および TCP パケット中の ACK
パケット割合は，感染検知に有効な特徴量であることがわかった．しかし，その他の TCP パケット割合[1] インターネット脅威マンスリーレポート
年 5 月度

http://jp.trendmicro.com/jp/threat/security news/monthlyreport/article/
20110602082147.html

は，感染トラヒック，正常トラヒック共に割合が低く，割合がほとんどのタイムスロットで 0.1 より低2011かった．すなわち，感染トラヒックと正常トラヒッ[2] 藤原将志，寺田真敏，安部哲哉，菊池浩明，”マルウェアの感染方式に基づく分類に関する検討”，クの全パケット数が同じになった場合，パケット数

情報処理学会 CSEC 研究報告，No.21，p177-では感染トラヒックと正常トラヒックに違いが現れ182，2008 年 3 月ない可能性があると思われる．

4.2.3[3] 市 野 将 嗣 ，坂 野 鋭 ，小 松 尚 久 ，”核 非 線 形 相互部分空間法による話者認識”，”信学論 (D-

ポート番号に関するパケット数

ポート番号に関するパケット数を特徴量とした場)”,vol.J88,no.8,pp.1331-1338,2005.

合，TPR が 100%となる場合が多い．しかし，送信元ポート番号が 80/TCP のパケット数は，4.2.1 節で挙げた感染トラヒックと正常トラヒックのパケッ[4] 畑田充弘，中津留勇，秋山満昭，”マルウェア対策のための研究用データセット〜MWS 2011
Datasets〜，”マルウェア対策研究人材育成ワー
クショップ 2011(MWS2011),October 2011.

ト数の差の影響を大きく受け，正しく評価できていない可能性がある．さらに，送信元ポート番号が110/TCP,443/TCP のパケット数にも，4.2.1 節で挙げた RST/ACK パケット数の評価の際の誤識別の問題がある．このような感染トラヒックと正常ト[5] 佐藤陽平，和泉勇治，根元義章，”複数の検出モジュールの組み合わせによるネットワーク異常検出の高精度化”，電子情報通信学会，信学技報，

ラヒックで特徴の違いが現れる頻度の少ない特徴量

2004 年を正しく評価するためには，別の識別方法を用いる[6] 平松尚利，和泉勇治，角田裕，根元義章，”複数必要があると考えられる．

5の通常状態を用いたネットワーク異常検出”，電まとめ

子情報通信学会，信学技報，2006 年

本稿ではマルウェア感染検知で用いる特徴量について，その識別能力を調査し，マルウェア感染検知に有効な特徴量について検討した．今回の識別実験から，特徴量全体として，識別率が年を追うごとに[7] 釘崎祐司，笠原義晃，堀良彰，櫻井幸一，”データ送信間隔に着目した挙動の観測に基づくボット検知手法”，SCIS2009- 282 -